Message ID | 20230412073830.13928-1-matt@traverse.com.au |
---|---|
Headers | show |
Series | Synchronise LS1088A/Ten64 device tree with Linux | expand |
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@nxp.com> Tested-by: Ioana Ciornei <ioana.ciornei@nxp.com> # on LS1088A-RDB Ioana