[PATCH 00/18] Synchronise LS1088A/Ten64 device tree with Linux
Ioana Ciornei
ioana.ciornei at nxp.com
Fri Apr 28 14:41:07 CEST 2023
On Wed, Apr 12, 2023 at 07:38:12AM +0000, Mathew McBride wrote:
> I am intensively working on updating the current
> "production" Ten64 (NXP LS1088A) firmware from v2020.07 to
> the latest U-Boot, with the hope of taking advantage of
> bootstd/bootflow and other improvements.
>
> One desire I have is to have U-Boot "supply" the device tree
> which is used for EFI boot, rather than our current method of
> reading the DTB from a flash partition with commands (sf read etc.)
> and plugging that into the distroboot process.
>
> Indeed, once we syncronise the U-Boot FDT with the Linux
> one, the bootflow method "Just Works" with the control
> FDT, without us having to plug an external FDT into the
> process.
>
> (Note: the bootstd conversion for Ten64 will be coming in
> a later commit. The DTS on it's own is only one part of
> the puzzle)
>
> The flow of this series is:
> - Fix a crash I found in the U-Boot FDT fixup for Layerscape
>
> The previous U-Boot copy of the fsl-ls1088a.dts did not
> have direct alias to the "crypto" node, triggering a crash
> when FDT fixup tried to operate on it.
>
> - Enable DM_SERIAL for Ten64 (mirrors how it was enabled for
> LS1088A-RDB and LS1088A-QDS recently)
>
> - Move all U-Boot "tweaks" into a -u-boot.dtsi file.
> Each board will have it's own <boardname>-u-boot.dtsi,
> which includs the SoC-specific fsl-ls1088a-u-boot.dtsi.
>
> - For all hardware that was in U-Boot's fsl-ls1088a.dtsi,
> and not in the "correct" place (under /soc), move them
> into /soc and adopt the Linux kernel definition.
>
> PCIe needed special treatment as it's U-Boot binding was
> slightly different, as well as different compatible strings
> (match a different U-Boot driver) for MDIO, USB and fsl-mc
> among others.
>
> At this point, Linux is able to boot on the Ten64
> using U-Boot's FDT (passed to it via EFI) with
> major hardware (Ethernet, USB, PCIe) functional.
>
> - Finally, copy over the U-Boot fsl-ls1088a.dtsi with the
> Linux kernel version.
> They are now bit-for-bit identical, with the U-Boot tweaks
> contained externally.
>
> - Similarly for the Ten64 DTS - fsl-ls1088a-ten64.dts
> is now identical to the kernel version.
>
> This builds upon the recent conversion of the LS1088A
> to DM_SERIAL[1]. I used a similar syncronisation for the LS1028A[2]
> as a guide.
>
> [1] - "Convert LS1088A and LX2160 to DM_SERIAL" patch series
> https://patchwork.ozlabs.org/project/uboot/list/?series=346392&state=%2A&archive=both
>
> [2] - "arm: dts: ls1028a: sync device tree with linux" patch series
> https://patchwork.ozlabs.org/project/uboot/list/?series=265457&state=%2A&archive=both
>
Thanks a lot, Mathew!
I really appreciate the work that you put into this series.
For the entire series:
Reviewed-by: Ioana Ciornei <ioana.ciornei at nxp.com>
Tested-by: Ioana Ciornei <ioana.ciornei at nxp.com> # on LS1088A-RDB
Ioana
More information about the U-Boot
mailing list