| Message ID | 20241208143802.1048266-1-olteanv@gmail.com |
|---|---|
| Headers | show |
| Series | Initial support for SolidRun LX2160A-CEX7 | expand |
Hi Vladimir, Romain, On Sun, Dec 08, 2024 at 04:37:51PM +0100, Vladimir Oltean wrote: > This series aims to introduce basic initial support for the CX LX2 > and HoneyComb LX2 boards by SolidRun (both of which are based on the > LX2160A-CEX7 SoM): > https://shop.solid-run.com/product/SRLX216S00D00GE064C08CH/ > https://shop.solid-run.com/product/SRLX216S00D00GE064H09CH/ I believe that you should break this serie with 2 series: 1- a generic serie for the LX2 packages, without any specific additional board specific patches 2- a proper board support with its related set of patches. I believe that this board support should be pushed upstream first into the ATF, uboot, etc... whenever possible and then your patches should point to the ongoing upstream contributions. The purpose of the patches is to buy some times until they'll be merged. or Create a new upstream project (on github/gitlab, etc...) for your specific SolidRun and related cex7 drivers and tools ; then those projetcs can be referenced as a set of new packages for Buildroot. Combine it with a BR2_EXTERNAL for some very specific cases ; but your BR2_EXTERNAL should minimize the patches (so do some upstreams) if you still want to keep it easy to maintain along with the Buildroot upgrades. Best regards, Vincent
Hello, This series aims to introduce basic initial support for the CX LX2 and HoneyComb LX2 boards by SolidRun (both of which are based on the LX2160A-CEX7 SoM): https://shop.solid-run.com/product/SRLX216S00D00GE064C08CH/ https://shop.solid-run.com/product/SRLX216S00D00GE064H09CH/ Although I also work at NXP, I am submitting this in a personal capacity, and for personal use. Patch 1/11 performs an uprev of existing NXP Layerscape BSP packages to the latest tag. This is necessary because packages such as the RCW do not permit versioning per board defconfig like Linux/U-Boot/ATF do, instead the version is global. I've tested the uprev on an LS1028A-RDB. Patches 2-5/11 add extra packages which are critical for the operation of the NXP LX2160A SoC. Patch 6/11 introduces the board files for the new platform, excepting patches for the firmware components, which are separated out to 7-10/11 (for mailing list filtering reasons). In my use case, Buildroot makes the firmware and recovery Linux rootfs for the main Debian operating system. Note that the platform doesn't achieve everything that I wish just yet. For example, U-Boot doesn't boot properly from a USB stick with a Debian installer on it. To launch the Debian installer, U-Boot attempts to push its own device tree to Linux (and that doesn't go very well, because they have partially incompatible formats). Thus, one would need to uprev the bootloader to the current upstream master branch, rather than continue developing on top of NXP Linux Factory tags, then sync the U-Boot device trees with Linux, and upstream that work. For this reason, the entire effort should be considered WIP, though in itself, it is bootable and usable. I am submitting relatively early because the speed of development in Buildroot appears fast, and the existing work would go out of sync quickly. I intend to work with Josua Mayer for developing further U-Boot/ATF patches, and including them in Buildroot only once they are available through https://github.com/SolidRun/lx2160a_build/, rather than Buildroot behaving as its own upstream of sorts. Finally, patch 11/11 is a cleanup made as I noticed that board/freescale/common/patches has become a leftover since I started working on the LX2160ACEX7 support. Change logs are in individual patches. Vladimir Oltean (11): platform/layerscape: bump Linux Factory tag to lf-6.6.36-2.1.0 package/qoriq-ddr-phy-binary: new package package/qoriq-mc-binary: new package package/qoriq-mc-utils: new package package/qoriq-restool: new package board/lx2160acex7: new platform board/lx2160acex7: add Arm Trusted Firmware patches board/lx2160acex7: Add qoriq-mc-utils patches board/lx2160acex7: add qoriq-rcw patches board/lx2160acex7: add u-boot patches board/freescale: get rid of common patch folder DEVELOPERS | 6 + ...Makefile-Suppress-array-bounds-error.patch | 51 - .../arm-trusted-firmware.hash | 2 +- .../ls1028ardb/patches/linux/linux.hash | 2 +- .../ls1028ardb/patches/uboot/uboot.hash | 2 +- board/freescale/ls1028ardb/readme.txt | 27 +- .../arm-trusted-firmware.hash | 2 +- .../ls1046a-frwy/patches/linux/linux.hash | 2 +- .../ls1046a-frwy/patches/uboot/uboot.hash | 2 +- board/freescale/ls1046a-frwy/readme.txt | 31 +- board/solidrun/lx2160acex7/extlinux.conf | 4 + board/solidrun/lx2160acex7/genimage.cfg | 54 + board/solidrun/lx2160acex7/linux.config | 5 + .../0001-plat-nxp-lx2160a-auto-boot.patch | 219 + ...ccount-MEM_PLL_CFG_SHIFT-for-ddr-fre.patch | 85 + ...sert-SUS_S5-GPIO-to-poweroff-the-COM.patch | 29 + ...assert-IRQ0-GPIO-to-poweroff-the-EVB.patch | 29 + ...ptional-S5-gpio-from-Makefile-consta.patch | 63 + ...te-platform-for-solidrun-cex7-module.patch | 418 ++ ...flexible-value-for-CONFIG_DDR_NODIMM.patch | 33 + ...tform-for-solidrun-internal-cex6-eva.patch | 544 +++ ...ort-flushing-i2c-bus-before-ddr-init.patch | 365 ++ ...h-i2c-bus-with-spd-eeprom-before-ddr.patch | 30 + ...h-i2c-bus-with-spd-eeprom-before-ddr.patch | 30 + ...-building-without-NXP_NV_SW_MAINT_LA.patch | 49 + ...-boot-without-spi-flash-disable-non-.patch | 33 + ...te-platform-for-solidrun-lx2162a-som.patch | 597 +++ ...ddr-configuration-for-pcb-v1.2-with-.patch | 127 + ...g-output-for-dimm-parameters-parsed-.patch | 83 + ...dq-mapping-and-remove-invalid-spd-ee.patch | 36 + ...d-support-for-new-binutils-versions.patch} | 0 .../arm-trusted-firmware.hash | 2 + .../patches/linux-headers/linux-headers.hash | 1 + .../lx2160acex7/patches/linux/linux.hash | 2 + ...x2160-cex7-based-clearfog-cx-dpl-dpc.patch | 937 +++++ ...160-cex6-based-evaluation-board-dpl-.patch | 1454 +++++++ ...n-for-lx2162a-som-and-clearfog-board.patch | 3622 +++++++++++++++++ ...som-clearfog-enable-dpni-connections.patch | 188 + ...rfog-cx-configure-qsfp-ports-type-ph.patch | 52 + ...n-solidrun-lx2160a-cex-7-on-clearfog.patch | 950 +++++ ...-MEM_PLL_CFG-into-ddr-speed-specific.patch | 112 + ...separate-configurations-for-flexspi-.patch | 894 ++++ ...me-sdhc1-config-to-generic-sdhc-for-.patch | 149 + ...c-jumpc-and-jump-to-pbi-instructions.patch | 55 + ...add-configuration-for-both-sdhc-xspi.patch | 836 ++++ ...ootlocptr-reduce-size-of-pbi-section.patch | 90 + ...ge-2.2GHz-configuration-platform-clo.patch | 475 +++ ...configuration-for-fraction-ddr-speed.patch | 420 ++ ...n-solidrun-internal-lx2160a-cex6-eva.patch | 220 + ...le-A-050426-workaround-for-silicon-o.patch | 35 + ...le-pci-errata-workarounds-for-all-ac.patch | 87 + ...-configuration-for-2.2GHz-binned-soc.patch | 42 + .../0014-lx2162aqds-re-enable-dpmac11.patch | 27 + ...n-for-lx2162a-som-and-clearfog-evalu.patch | 532 +++ ...rfog-cx-add-configuration-for-serdes.patch | 2000 +++++++++ ...configuration-for-serdes-1-protocol-.patch | 49 + ...ipt-generating-configs-from-template.patch | 1476 +++++++ ...rfog-cx-add-configuration-for-serdes.patch | 1611 ++++++++ ...add-configuration-for-each-ddr-speed.patch | 285 ++ ...d-solidrun-lx2160-cex7-board-support.patch | 1342 ++++++ ...ait-100ms-for-Link-Up-in-ls_pcie_g4_.patch | 65 + ...t-100ms-for-Link-Up-in-ls_pcie_probe.patch | 64 + ...-calculation-of-ddr-clock-rate-to-in.patch | 63 + ...able-workaround-for-SPI-erratum-A-05.patch | 102 + ...x2160-cex7-enable-additional-drivers.patch | 96 + ...on-t-fail-boot-when-reading-eeprom-f.patch | 32 + ...x2160-cex7-fixup-u-boot-dts-dpmac-by.patch | 389 ++ ...x2160acex7-enable-reading-tlv-eeprom.patch | 40 + ...x2160acex7-disable-second-usb-on-lx2.patch | 32 + ...x2160acex7-allocate-memory-before-pa.patch | 39 + ...upport-specifying-tlv-eeprom-in-DT-a.patch | 58 + ...x2160acex7-use-dt-alias-for-tlv-eepr.patch | 90 + ...om-fix-alias-access-to-second-eeprom.patch | 32 + .../lx2160acex7/patches/uboot/uboot.hash | 2 + board/solidrun/lx2160acex7/post-build.sh | 8 + board/solidrun/lx2160acex7/readme.txt | 112 + .../udev/rules.d/74-dpaa2-networking.rules | 12 + .../lx2160acex7/u-boot-environment-sd.txt | 96 + configs/ls1028ardb_defconfig | 6 +- configs/ls1046a-frwy_defconfig | 6 +- configs/solidrun_lx2160acex7_defconfig | 53 + package/Config.in | 4 + package/fmc/fmc.hash | 2 +- package/fmc/fmc.mk | 2 +- package/fmlib/fmlib.hash | 2 +- package/fmlib/fmlib.mk | 2 +- .../qoriq-cadence-dp-firmware.hash | 2 +- .../qoriq-cadence-dp-firmware.mk | 10 +- package/qoriq-ddr-phy-binary/Config.in | 6 + .../qoriq-ddr-phy-binary.hash | 3 + .../qoriq-ddr-phy-binary.mk | 18 + package/qoriq-fm-ucode/qoriq-fm-ucode.hash | 2 +- package/qoriq-fm-ucode/qoriq-fm-ucode.mk | 2 +- package/qoriq-mc-binary/Config.in | 48 + package/qoriq-mc-binary/qoriq-mc-binary.hash | 3 + package/qoriq-mc-binary/qoriq-mc-binary.mk | 22 + package/qoriq-mc-utils/Config.in | 35 + package/qoriq-mc-utils/qoriq-mc-utils.hash | 3 + package/qoriq-mc-utils/qoriq-mc-utils.mk | 22 + package/qoriq-rcw/qoriq-rcw.hash | 2 +- package/qoriq-rcw/qoriq-rcw.mk | 2 +- package/qoriq-restool/Config.in | 21 + package/qoriq-restool/qoriq-restool.hash | 3 + package/qoriq-restool/qoriq-restool.mk | 24 + 104 files changed, 22446 insertions(+), 96 deletions(-) delete mode 100644 board/freescale/common/patches/arm-trusted-firmware/0002-LF-7968-01-fix-Makefile-Suppress-array-bounds-error.patch create mode 100644 board/solidrun/lx2160acex7/extlinux.conf create mode 100644 board/solidrun/lx2160acex7/genimage.cfg create mode 100644 board/solidrun/lx2160acex7/linux.config create mode 100644 board/solidrun/lx2160acex7/patches/arm-trusted-firmware/0001-plat-nxp-lx2160a-auto-boot.patch create mode 100644 board/solidrun/lx2160acex7/patches/arm-trusted-firmware/0002-dcfg-Take-into-account-MEM_PLL_CFG_SHIFT-for-ddr-fre.patch create mode 100644 board/solidrun/lx2160acex7/patches/arm-trusted-firmware/0003-lx2160acex7-assert-SUS_S5-GPIO-to-poweroff-the-COM.patch create mode 100644 board/solidrun/lx2160acex7/patches/arm-trusted-firmware/0004-lx2160acex6-assert-IRQ0-GPIO-to-poweroff-the-EVB.patch create mode 100644 board/solidrun/lx2160acex7/patches/arm-trusted-firmware/0005-lx2160a-assert-optional-S5-gpio-from-Makefile-consta.patch create mode 100644 board/solidrun/lx2160acex7/patches/arm-trusted-firmware/0006-add-separate-platform-for-solidrun-cex7-module.patch create mode 100644 board/solidrun/lx2160acex7/patches/arm-trusted-firmware/0007-lx2160a-support-flexible-value-for-CONFIG_DDR_NODIMM.patch create mode 100644 board/solidrun/lx2160acex7/patches/arm-trusted-firmware/0008-add-separate-platform-for-solidrun-internal-cex6-eva.patch create mode 100644 board/solidrun/lx2160acex7/patches/arm-trusted-firmware/0009-lx2160a-support-flushing-i2c-bus-before-ddr-init.patch create mode 100644 board/solidrun/lx2160acex7/patches/arm-trusted-firmware/0010-lx2160acex6-flush-i2c-bus-with-spd-eeprom-before-ddr.patch create mode 100644 board/solidrun/lx2160acex7/patches/arm-trusted-firmware/0011-lx2160acex7-flush-i2c-bus-with-spd-eeprom-before-ddr.patch create mode 100644 board/solidrun/lx2160acex7/patches/arm-trusted-firmware/0012-plat-lx2160a-fix-building-without-NXP_NV_SW_MAINT_LA.patch create mode 100644 board/solidrun/lx2160acex7/patches/arm-trusted-firmware/0013-plat-lx2160a-fix-boot-without-spi-flash-disable-non-.patch create mode 100644 board/solidrun/lx2160acex7/patches/arm-trusted-firmware/0014-add-separate-platform-for-solidrun-lx2162a-som.patch create mode 100644 board/solidrun/lx2160acex7/patches/arm-trusted-firmware/0015-lx2160acex6-add-ddr-configuration-for-pcb-v1.2-with-.patch create mode 100644 board/solidrun/lx2160acex7/patches/arm-trusted-firmware/0016-nxp-ddr-add-debug-output-for-dimm-parameters-parsed-.patch create mode 100644 board/solidrun/lx2160acex7/patches/arm-trusted-firmware/0017-lx2160acex6-fix-dq-mapping-and-remove-invalid-spd-ee.patch rename board/{freescale/common/patches/arm-trusted-firmware/0001-feat-build-add-support-for-new-binutils-versions.patch => solidrun/lx2160acex7/patches/arm-trusted-firmware/0018-feat-build-add-support-for-new-binutils-versions.patch} (100%) create mode 100644 board/solidrun/lx2160acex7/patches/arm-trusted-firmware/arm-trusted-firmware.hash create mode 120000 board/solidrun/lx2160acex7/patches/linux-headers/linux-headers.hash create mode 100644 board/solidrun/lx2160acex7/patches/linux/linux.hash create mode 100644 board/solidrun/lx2160acex7/patches/qoriq-mc-utils/0001-add-solidrun-lx2160-cex7-based-clearfog-cx-dpl-dpc.patch create mode 100644 board/solidrun/lx2160acex7/patches/qoriq-mc-utils/0002-add-solidrun-lx2160-cex6-based-evaluation-board-dpl-.patch create mode 100644 board/solidrun/lx2160acex7/patches/qoriq-mc-utils/0003-add-configuration-for-lx2162a-som-and-clearfog-board.patch create mode 100644 board/solidrun/lx2160acex7/patches/qoriq-mc-utils/0004-lx2162-som-clearfog-enable-dpni-connections.patch create mode 100644 board/solidrun/lx2160acex7/patches/qoriq-mc-utils/0005-lx2160acex7-clearfog-cx-configure-qsfp-ports-type-ph.patch create mode 100644 board/solidrun/lx2160acex7/patches/qoriq-rcw/0001-add-configuration-solidrun-lx2160a-cex-7-on-clearfog.patch create mode 100644 board/solidrun/lx2160acex7/patches/qoriq-rcw/0002-lx2160acex7-move-MEM_PLL_CFG-into-ddr-speed-specific.patch create mode 100644 board/solidrun/lx2160acex7/patches/qoriq-rcw/0003-lx2160acex7-add-separate-configurations-for-flexspi-.patch create mode 100644 board/solidrun/lx2160acex7/patches/qoriq-rcw/0004-lx2160acex7-rename-sdhc1-config-to-generic-sdhc-for-.patch create mode 100644 board/solidrun/lx2160acex7/patches/qoriq-rcw/0005-add-loadc-jumpc-and-jump-to-pbi-instructions.patch create mode 100644 board/solidrun/lx2160acex7/patches/qoriq-rcw/0006-lx2160acex7-add-configuration-for-both-sdhc-xspi.patch create mode 100644 board/solidrun/lx2160acex7/patches/qoriq-rcw/0007-bootlocptr-reduce-size-of-pbi-section.patch create mode 100644 board/solidrun/lx2160acex7/patches/qoriq-rcw/0008-lx2160acex7-change-2.2GHz-configuration-platform-clo.patch create mode 100644 board/solidrun/lx2160acex7/patches/qoriq-rcw/0009-lx2160acex7-add-configuration-for-fraction-ddr-speed.patch create mode 100644 board/solidrun/lx2160acex7/patches/qoriq-rcw/0010-add-configuration-solidrun-internal-lx2160a-cex6-eva.patch create mode 100644 board/solidrun/lx2160acex7/patches/qoriq-rcw/0011-lx2160acex7-enable-A-050426-workaround-for-silicon-o.patch create mode 100644 board/solidrun/lx2160acex7/patches/qoriq-rcw/0012-lx2160acex6-enable-pci-errata-workarounds-for-all-ac.patch create mode 100644 board/solidrun/lx2160acex7/patches/qoriq-rcw/0013-lx2160acex6-add-configuration-for-2.2GHz-binned-soc.patch create mode 100644 board/solidrun/lx2160acex7/patches/qoriq-rcw/0014-lx2162aqds-re-enable-dpmac11.patch create mode 100644 board/solidrun/lx2160acex7/patches/qoriq-rcw/0015-add-configuration-for-lx2162a-som-and-clearfog-evalu.patch create mode 100644 board/solidrun/lx2160acex7/patches/qoriq-rcw/0016-lx2160acex7-clearfog-cx-add-configuration-for-serdes.patch create mode 100644 board/solidrun/lx2160acex7/patches/qoriq-rcw/0017-lx2160acex7-add-configuration-for-serdes-1-protocol-.patch create mode 100644 board/solidrun/lx2160acex7/patches/qoriq-rcw/0018-solidrun-add-script-generating-configs-from-template.patch create mode 100644 board/solidrun/lx2160acex7/patches/qoriq-rcw/0019-lx2160acex7-clearfog-cx-add-configuration-for-serdes.patch create mode 100644 board/solidrun/lx2160acex7/patches/qoriq-rcw/0020-lx2160acex6-add-configuration-for-each-ddr-speed.patch create mode 100644 board/solidrun/lx2160acex7/patches/uboot/0001-add-solidrun-lx2160-cex7-board-support.patch create mode 100644 board/solidrun/lx2160acex7/patches/uboot/0002-pci-ls_pcie_g4-Wait-100ms-for-Link-Up-in-ls_pcie_g4_.patch create mode 100644 board/solidrun/lx2160acex7/patches/uboot/0003-pci-ls_pcie-Wait-100ms-for-Link-Up-in-ls_pcie_probe.patch create mode 100644 board/solidrun/lx2160acex7/patches/uboot/0004-fsl-lsch3-update-calculation-of-ddr-clock-rate-to-in.patch create mode 100644 board/solidrun/lx2160acex7/patches/uboot/0005-armv8-lx2160a-enable-workaround-for-SPI-erratum-A-05.patch create mode 100644 board/solidrun/lx2160acex7/patches/uboot/0006-configs-lx2160-cex7-enable-additional-drivers.patch create mode 100644 board/solidrun/lx2160acex7/patches/uboot/0007-cmd-tlv_eeprom-don-t-fail-boot-when-reading-eeprom-f.patch create mode 100644 board/solidrun/lx2160acex7/patches/uboot/0008-board-solidrun-lx2160-cex7-fixup-u-boot-dts-dpmac-by.patch create mode 100644 board/solidrun/lx2160acex7/patches/uboot/0009-board-solidrun-lx2160acex7-enable-reading-tlv-eeprom.patch create mode 100644 board/solidrun/lx2160acex7/patches/uboot/0010-board-solidrun-lx2160acex7-disable-second-usb-on-lx2.patch create mode 100644 board/solidrun/lx2160acex7/patches/uboot/0011-board-solidrun-lx2160acex7-allocate-memory-before-pa.patch create mode 100644 board/solidrun/lx2160acex7/patches/uboot/0012-cmd-tlv_eeprom-support-specifying-tlv-eeprom-in-DT-a.patch create mode 100644 board/solidrun/lx2160acex7/patches/uboot/0013-board-solidrun-lx2160acex7-use-dt-alias-for-tlv-eepr.patch create mode 100644 board/solidrun/lx2160acex7/patches/uboot/0014-cmd-tlv_eeprom-fix-alias-access-to-second-eeprom.patch create mode 100644 board/solidrun/lx2160acex7/patches/uboot/uboot.hash create mode 100755 board/solidrun/lx2160acex7/post-build.sh create mode 100644 board/solidrun/lx2160acex7/readme.txt create mode 100644 board/solidrun/lx2160acex7/rootfs_overlay/etc/udev/rules.d/74-dpaa2-networking.rules create mode 100644 board/solidrun/lx2160acex7/u-boot-environment-sd.txt create mode 100644 configs/solidrun_lx2160acex7_defconfig create mode 100644 package/qoriq-ddr-phy-binary/Config.in create mode 100644 package/qoriq-ddr-phy-binary/qoriq-ddr-phy-binary.hash create mode 100644 package/qoriq-ddr-phy-binary/qoriq-ddr-phy-binary.mk create mode 100644 package/qoriq-mc-binary/Config.in create mode 100644 package/qoriq-mc-binary/qoriq-mc-binary.hash create mode 100644 package/qoriq-mc-binary/qoriq-mc-binary.mk create mode 100644 package/qoriq-mc-utils/Config.in create mode 100644 package/qoriq-mc-utils/qoriq-mc-utils.hash create mode 100644 package/qoriq-mc-utils/qoriq-mc-utils.mk create mode 100644 package/qoriq-restool/Config.in create mode 100644 package/qoriq-restool/qoriq-restool.hash create mode 100644 package/qoriq-restool/qoriq-restool.mk