[U-Boot] [PATCH 2/2] ARM: omap3_logic: Enable SPL booting device tree

Adam Ford aford173 at gmail.com
Sat Feb 16 21:23:38 UTC 2019


On Sat, Feb 16, 2019 at 3:08 PM Derald D. Woods
<woods.technical at gmail.com> wrote:
>
> On Sat, Feb 16, 2019 at 03:49:01PM -0500, Tom Rini wrote:
> > On Sat, Feb 16, 2019 at 01:31:24PM -0600, Adam Ford wrote:
> >
> > > With the generic omap3-u-boot.dtsi file available, this patch
> > > increased the memory of the various incarnations of the omap3_logic
> > > board, and points their respective u-boot.dtsi files to the newly
> > > created generic one, and removes the PLATDATA from the board file.
> > >
> > > These are all done at once because the're all utilizing the same
> > > omap3logic.c board file.
> > >
> > > Signed-off-by: Adam Ford <aford173 at gmail.com>
> >
> > Ah-haha!  Thank you!  I also needed to delete the platform data and then
> > beagleboard is also booting.
> >
>
> Can we get a quick summary of the conversion steps? My omap3-evm did not
> get a serial console when applying patch[1] and using example
> modifications from patch[2].

Patch 1 tells the system what nodes to generate in SPL.  Without the
extra entries, the SPL device tree is blank.

Once the individual board file included the generic omap3-u-boot.dtsi
file, I was able to verify the device tree was bring the correct SPL
required nodes with:
dtc -I dtb -O dts spl/u-boot-spl.dtb

It's at this stage, were you might have to add 'u-boot,dm-spl;'  to
the nodes you need.

Once I verified the nodes were made, I needed to increase the memory
allocation to handle reading the device tree, make sure a few
additional flags were set:

These two reduce the code, but I am not 100% certain they were needed.
These were done at the recommendation of Tom Rini.
+# CONFIG_SPL_USE_ARCH_MEMCPY is not set
+# CONFIG_SPL_USE_ARCH_MEMSET is not set

Increase available memory
CONFIG_SYS_MALLOC_F_LEN=0x4000

Give BSS some room to breath:
CONFIG_SPL_SEPARATE_BSS=y

Specify the FDT:
CONFIG_DEFAULT_FDT_FILE="logicpd-torpedo-35xx-devkit.dtb"

Enable the Device Tree support in SPL:
CONFIG_SPL_OF_CONTROL=y
(make sure SPL_OF_PLATDATA is NOT set or it won't boot)

These effectively give SPL the same DT support as what's in the main U-Boot:
CONFIG_SPL_DM_SEQ_ALIAS=y
CONFIG_SPL_OF_TRANSLATE=y

For the omap3_logic boards, they have a config option to relocate
SPL_TEXT_BASE to earlier SRAM which gives us a bit more available
space in SPL.  I don't know if these are set for your boards or not.
#undef CONFIG_SPL_TEXT_BASE
#define CONFIG_SPL_TEXT_BASE 0x40200000

You'll also want to make sure the DM is enabled in SPL.

I was able to verify an OMAP3530 and DM3730 both booted and I tested
both Logic PD Torpedo and SOM-LV boards, but I am having issues
getting the AM3517_evm to build with the same configuration.

I am not sure what's wrong with the AM3517, but any attempts to enable
DM in SPL fail on AM3517 even without SPL_OF_CONTROL.

adam
>
> Derald
>


More information about the U-Boot mailing list