[PATCH v2 2/2] board: traverse: add initial Ten64 support

Tom Rini trini at konsulko.com
Wed Nov 17 23:29:50 CET 2021


On Thu, Nov 18, 2021 at 09:09:44AM +1100, Mathew McBride wrote:
> Hi Tom,
> 
> On Fri, Nov 12, 2021, at 5:20 AM, Tom Rini wrote:
> > On Wed, Nov 10, 2021 at 04:46:39AM +0000, Mathew McBride wrote:
> > 
> > > Signed-off-by: Mathew McBride <matt at traverse.com.au>
> > > ---
> > >  arch/arm/Kconfig                   |  16 ++
> > >  arch/arm/dts/Makefile              |   2 +
> > >  arch/arm/dts/fsl-ls1088a-ten64.dts | 377 +++++++++++++++++++++++++
> > 
> > What is the status of this dts with upstream Linux?
> It's been in Linux since v5.15, though there is going to be some flux between U-Boot and Linux for a short while as some devices will be introduced into one or the other other first.
> e.g traverse,ten64-controller does not and will not have a Linux (kernel) counterpart but I'll try and get it added to the dt yaml's for validation.
> 
> (The upstream DTS intentionally left out some I2C devices that don't have Linux drivers or formal DT bindings yet)

Bindings need to be upstreamed and reviewed, and the dts here kept in
sync with the kernel, as it will be dropped in for updates.  You also
should at this point be able to get nodes (so long as there is a binding
of course) that aren't strictly used in the kernel in the dts that's in
the kernel.

> > [snip]
> > 
> > 
> > > +#define QSPI_NOR_BOOTCOMMAND "run distro_bootcmd"
> > > +#define SD_BOOTCOMMAND "run distro_bootcmd"
> > 
> > You should just set CONFIG_USE_BOOTCOMMAND and then CONFIG_BOOTCOMMAND
> > will be "run distro_bootcmd".  Thanks!
> This actually comes about from fsl_setenv_bootcmd:
> https://elixir.bootlin.com/u-boot/latest/source/arch/arm/cpu/armv8/fsl-layerscape/soc.c#L800
> Which gets hooked into board_late_init
> https://elixir.bootlin.com/u-boot/latest/source/arch/arm/cpu/armv8/fsl-layerscape/soc.c#L961
> 
> The main reason I understand that exists is because the secure boot (FSL trust architecture) setup differs a depending on where the board has booted from:
> https://elixir.bootlin.com/u-boot/latest/source/include/configs/ls1088ardb.h#L448
> (There is also a similar issue with mcinitcmd which does affect us)
> 
> Since trust architecture isn't supported on our board yet, it just collapses down to "run distro_bootcmd" regardless of where the board started from.
> 
> I guess this behaviour could be hidden behind a Kconfig so it's opt-in?

Thanks for explaining.  That's...interesting.  And something that might
be able to be cleaned up a bit in -next now that we've added some more
flexibility to how environment is constructed at build time.  But, not a
job for someone submitting a board that follows the best practices of
the rest of the family, even if those best practices aren't always so
great.

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20211117/d5082363/attachment.sig>


More information about the U-Boot mailing list