Layerscape uprev to lf-6.12.3-1.0.0, initial LX2160A-RDB support
v2 cover Layerscape uprev to lf-6.12.3-1.0.0, initial LX2160A-RDB support
Hello,
This is logically a continuation of "[PATCH v2 00/11] Initial support for SolidRun LX2160A-CEX7":
https://lore.kernel.org/buildroot/[email protected]/
where I was requested to split out the Layerscape BSP uprev and initial LX2160A support from the more problematic Solidrun board support. But as with any splitting of a larger series, the version counter reset at v1 (which can be found here):
https://lore.kernel.org/buildroot/[email protected]/
I have tried to integrate all feedback from v1, but I did not. Yet I am submitting v2 for review as it currently is, since the amount of changes is not small, and we can take it from here.
Major change log, more details in individual patches:
- Bump Linux Factory tag to lf-6.12.3-1.0.0
- Merge pull requests submitted to fmlib, rcw, restool through Github and include them into this submission
- Support the NXP LX2160A-RDB as a vehicle for pushing this patch set forward (v1 had none)
Overview of the set:
LX2160A needs:
- qoriq-ddr-phy-binary: LX2160A-specific package added by patch 13/18
- qoriq-mc-binary: DPAA2 (Layerscape sub-architecture) specific package added by patch 14/18
- qoriq-mc-utils: DPAA2-specific package added by patch 15/18
- qoriq-restool: DPAA2-specific package added by patch 16/18
- qoriq-rcw: Layerscape-specific package, updated to latest Linux Factory BSP by patch 09/18
On top of the basic SoC support, the RDB needs:
- a package for 25GbE retimer firmware, added by patch 17/18
- board files, added by patch 18/18
Because I updated the common RCW package to the latest BSP tag, I couldn't leave the other Layerscape platforms (LS1028A, LS1043A, LS1046A) not completely updated as well. So in addition, we have:
LS1028A, which needs:
- qoriq-cadence-dp-firmware: BSP tag updated in patch 04/18
- other components (linux, u-boot, atf) updated in patch 05/18 LS1043A/LS1046A, which need:
- fmlib: DPAA1 (Layerscape sub-architecture) specific package updated by patch 10/18 to the latest BSP
- fmc: DPAA1-specific package updated by patch 11/18 to the latest BSP
- qoriq-fm-ucode: DPAA1-specific package updated by patch 12/18 to the latest BSP
- other components (linux, u-boot, atf) updated in patches 06,07,08/18
In addition to the last point. I noticed, while performing the fmc uprev, that no DPAA1 board defconfig defines it by default. To that end, I created patches 01,02,03/18 which enable it for LS1043A and LS1046A.
Disclaimer copied from original cover letter:
Although I also work at NXP, I am submitting this in a personal capacity, and for personal use.
Vladimir Oltean (18):
configs/ls1046a-frwy: enable the fmc package and dependencies configs/ls1046a-rdb: enable the fmc package and dependencies configs/ls1043a-rdb: enable the fmc package and dependencies package/qoriq-cadence-dp-firmware: sync with NXP Yocto download site configs/ls1028ardb: update to lf-6.12.3-1.0.0 tag configs/ls1046a-frwy: bump BSP tag to lf-6.12.3-1.0.0 configs/ls1046a-rdb: bump BSP tag to lf-6.12.3-1.0.0 configs/ls1043a-rdb: bump BSP tag to lf-6.12.3-1.0.0 package/qoriq-rcw: bump to lf-6.12.3-1.0.0
package/fmlib: uprev to lf-6.12.3-1.0.0
package/fmc: uprev to lf-6.12
package/qoriq-fm-ucode: uprev to lf-6.12.3-1.0.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 package/qoriq-firmware-inphi: new package board/lx2160ardb: new platform
DEVELOPERS | 7 + .../arm-trusted-firmware.hash | 2 +- .../ls1028ardb/patches/linux/linux.hash | 2 +- .../ls1028ardb/patches/uboot/uboot.hash | 2 +- board/freescale/ls1028ardb/readme.txt | 28 ++-- .../arm-trusted-firmware.hash | 2 +- .../ls1043a-rdb/patches/linux/linux.hash | 2 +- .../ls1043a-rdb/patches/uboot/uboot.hash | 2 +- board/freescale/ls1043a-rdb/readme.txt | 28 ++-- .../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 | 30 +++-- .../arm-trusted-firmware.hash | 2 +- .../ls1046a-rdb/patches/linux/linux.hash | 2 +- .../ls1046a-rdb/patches/uboot/uboot.hash | 2 +- board/freescale/ls1046a-rdb/readme.txt | 28 ++-- board/freescale/lx2160ardb/extlinux.conf | 4 + board/freescale/lx2160ardb/genimage.cfg | 47 +++++++ .../arm-trusted-firmware.hash | 2 + .../patches/linux-headers/linux-headers.hash | 1 + .../lx2160ardb/patches/linux/linux.hash | 2 + .../lx2160ardb/patches/uboot/uboot.hash | 2 + board/freescale/lx2160ardb/post-build.sh | 11 ++ .../rcw_2200_750_3200_19_5_2_sd.rcw | 67 ++++++++++ board/freescale/lx2160ardb/readme.txt | 124 ++++++++++++++++++ .../udev/rules.d/74-dpaa2-networking.rules | 29 ++++ board/freescale/lx2160ardb/uboot-env.txt | 77 +++++++++++ configs/ls1028ardb_defconfig | 8 +- configs/ls1043a-rdb_defconfig | 14 +- configs/ls1046a-frwy_defconfig | 14 +- configs/ls1046a-rdb_defconfig | 14 +- configs/lx2160ardb_defconfig | 57 ++++++++ package/Config.in | 5 + package/fmc/fmc.hash | 2 +- package/fmc/fmc.mk | 2 +- ...conversion-error-and-enum-compare-wa.patch | 79 ----------- 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-firmware-inphi/Config.in | 7 + .../qoriq-firmware-inphi.hash | 3 + .../qoriq-firmware-inphi.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 | 55 ++++++++ package/qoriq-mc-binary/qoriq-mc-binary.hash | 3 + package/qoriq-mc-binary/qoriq-mc-binary.mk | 29 ++++ package/qoriq-mc-utils/Config.in | 76 +++++++++++ package/qoriq-mc-utils/qoriq-mc-utils.hash | 3 + package/qoriq-mc-utils/qoriq-mc-utils.mk | 41 ++++++ package/qoriq-rcw/qoriq-rcw.hash | 2 +- package/qoriq-rcw/qoriq-rcw.mk | 2 +- package/qoriq-restool/Config.in | 22 ++++ package/qoriq-restool/qoriq-restool.hash | 3 + package/qoriq-restool/qoriq-restool.mk | 25 ++++ 60 files changed, 880 insertions(+), 162 deletions(-) create mode 100644 board/freescale/lx2160ardb/extlinux.conf create mode 100644 board/freescale/lx2160ardb/genimage.cfg create mode 100644 board/freescale/lx2160ardb/patches/arm-trusted-firmware/arm-trusted-firmware.hash create mode 120000 board/freescale/lx2160ardb/patches/linux-headers/linux-headers.hash create mode 100644 board/freescale/lx2160ardb/patches/linux/linux.hash create mode 100644 board/freescale/lx2160ardb/patches/uboot/uboot.hash create mode 100755 board/freescale/lx2160ardb/post-build.sh create mode 100644 board/freescale/lx2160ardb/rcw_2200_750_3200_19_5_2_sd.rcw create mode 100644 board/freescale/lx2160ardb/readme.txt create mode 100644 board/freescale/lx2160ardb/rootfs_overlay/etc/udev/rules.d/74-dpaa2-networking.rules create mode 100644 board/freescale/lx2160ardb/uboot-env.txt create mode 100644 configs/lx2160ardb_defconfig delete mode 100644 package/fmlib/0001-Fix-the-integer-conversion-error-and-enum-compare-wa.patch 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-firmware-inphi/Config.in create mode 100644 package/qoriq-firmware-inphi/qoriq-firmware-inphi.hash create mode 100644 package/qoriq-firmware-inphi/qoriq-firmware-inphi.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
Signature · 6 lines
2.43.0 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
PATCH v2 1/18 configs/ls1046a-frwy: enable the fmc package and dependencies
Since LS1046A-FRWY uses the Linux Factory-supplied lsdk.config, it disables the upstream DPAA1 kernel networking drivers and enables their SDK counterparts. These SDK kernel drivers are configured using the fmc tool to do basic things such as apply a default PCD, so it seems a reasonable idea to enable this package by default.
Since fmc uses C++, we need to add the standard library for that, which also seems to increase the rootfs size.
---v1->v2: increase rootfs size
configs/ls1046a-frwy_defconfig | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
configs/ls1046a-frwy_defconfig +5 -1
@@ -21,7 +21,7 @@ BR2_LINUX_KERNEL_INSTALL_TARGET=y BR2_PACKAGE_QORIQ_FM_UCODE=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y -BR2_TARGET_ROOTFS_EXT2_SIZE="128M" +BR2_TARGET_ROOTFS_EXT2_SIZE="200M" # BR2_TARGET_ROOTFS_TAR is not set BR2_TARGET_ARM_TRUSTED_FIRMWARE=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y
@@ -41,3 +41,7 @@ BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_QORIQ_RCW=y BR2_PACKAGE_HOST_QORIQ_RCW_INTREE="ls1046afrwy/NN_NNQNNPNP_3040_0506/rcw_1600_sdboot.bin" +BR2_TOOLCHAIN_BUILDROOT_CXX=y +BR2_FMLIB_QORIQ_FAMILY_ARM=y +BR2_PACKAGE_FMLIB=y +BR2_PACKAGE_FMC=y
Signature · 6 lines
2.43.0 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
Julien Olivain
AppliedRe: [Buildroot] [PATCH v2 01/18] configs/ls1046a-frwy: enable the fmc package and dependencies
Hi Vladimir,
Since this series is a bit big, I'll review and apply patches in smaller chunks.
Quoted 10 lines · Vladimir Oltean
Since LS1046A-FRWY uses the Linux Factory-supplied lsdk.config, it disables the upstream DPAA1 kernel networking drivers and enables their SDK counterparts. These SDK kernel drivers are configured using the fmc tool to do basic things such as apply a default PCD, so it seems a reasonable idea to enable this package by default.
Since fmc uses C++, we need to add the standard library for that, which also seems to increase the rootfs size.
Signed-off-by Vladimir Oltean <[email protected]>
Applied to master, thanks.
Note that I regenerated the patch with the "make savedefconfig" command, in order to keep a minimal defconfig.
Best regards,
Julien.
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
PATCH v2 2/18 configs/ls1046a-rdb: enable the fmc package and dependencies
In reply to Vladimir OlteanSince LS1046A-RDB uses the Linux Factory-supplied lsdk.config, it disables the upstream DPAA1 kernel networking drivers and enables their SDK counterparts. These SDK kernel drivers are configured using the fmc tool to do basic things such as apply a default PCD, so it seems a reasonable idea to enable this package by default.
Since fmc uses C++, we need to add the standard library for that, which also seems to increase the rootfs size.
---v1->v2: increase rootfs size
configs/ls1046a-rdb_defconfig | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
configs/ls1046a-rdb_defconfig +5 -1
@@ -21,7 +21,7 @@ BR2_LINUX_KERNEL_INSTALL_TARGET=y BR2_PACKAGE_QORIQ_FM_UCODE=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y -BR2_TARGET_ROOTFS_EXT2_SIZE="128M" +BR2_TARGET_ROOTFS_EXT2_SIZE="200M" # BR2_TARGET_ROOTFS_TAR is not set BR2_TARGET_ARM_TRUSTED_FIRMWARE=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y
@@ -41,3 +41,7 @@ BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_QORIQ_RCW=y BR2_PACKAGE_HOST_QORIQ_RCW_INTREE="ls1046ardb/RR_FFSSPPPH_1133_5559/rcw_1800_sdboot.rcw" +BR2_TOOLCHAIN_BUILDROOT_CXX=y +BR2_FMLIB_QORIQ_FAMILY_ARM=y +BR2_PACKAGE_FMLIB=y +BR2_PACKAGE_FMC=y
Signature · 6 lines
2.43.0 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
Re: [Buildroot] [PATCH v2 02/18] configs/ls1046a-rdb: enable the fmc package and dependencies
Quoted 10 lines · Vladimir Oltean
Since LS1046A-RDB uses the Linux Factory-supplied lsdk.config, it disables the upstream DPAA1 kernel networking drivers and enables their SDK counterparts. These SDK kernel drivers are configured using the fmc tool to do basic things such as apply a default PCD, so it seems a reasonable idea to enable this package by default.
Since fmc uses C++, we need to add the standard library for that, which also seems to increase the rootfs size.
Signed-off-by Vladimir Oltean <[email protected]>
Applied to master, thanks.
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
PATCH v2 3/18 configs/ls1043a-rdb: enable the fmc package and dependencies
In reply to Vladimir OlteanSince LS1043A-RDB uses the Linux Factory-supplied lsdk.config, it disables the upstream DPAA1 kernel networking drivers and enables their SDK counterparts. These SDK kernel drivers are configured using the fmc tool to do basic things such as apply a default PCD, so it seems a reasonable idea to enable this package by default.
Since fmc uses C++, we need to add the standard library for that, which also seems to increase the rootfs size.
---v1->v2: increase rootfs size
configs/ls1043a-rdb_defconfig | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
configs/ls1043a-rdb_defconfig +5 -1
@@ -21,7 +21,7 @@ BR2_PACKAGE_QORIQ_FM_UCODE=y BR2_PACKAGE_QORIQ_FM_UCODE_PLATFORM="ls1043" BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y -BR2_TARGET_ROOTFS_EXT2_SIZE="128M" +BR2_TARGET_ROOTFS_EXT2_SIZE="200M" # BR2_TARGET_ROOTFS_TAR is not set BR2_TARGET_ARM_TRUSTED_FIRMWARE=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y
@@ -41,3 +41,7 @@ BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_QORIQ_RCW=y BR2_PACKAGE_HOST_QORIQ_RCW_INTREE="ls1043ardb/RR_FQPP_1455/rcw_1600_sdboot.bin" +BR2_TOOLCHAIN_BUILDROOT_CXX=y +BR2_FMLIB_QORIQ_FAMILY_ARM=y +BR2_PACKAGE_FMLIB=y +BR2_PACKAGE_FMC=y
Signature · 6 lines
2.43.0 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
Re: [Buildroot] [PATCH v2 03/18] configs/ls1043a-rdb: enable the fmc package and dependencies
Quoted 10 lines · Vladimir Oltean
Since LS1043A-RDB uses the Linux Factory-supplied lsdk.config, it disables the upstream DPAA1 kernel networking drivers and enables their SDK counterparts. These SDK kernel drivers are configured using the fmc tool to do basic things such as apply a default PCD, so it seems a reasonable idea to enable this package by default.
Since fmc uses C++, we need to add the standard library for that, which also seems to increase the rootfs size.
Signed-off-by Vladimir Oltean <[email protected]>
Applied to master, thanks.
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
PATCH v2 4/18 package/qoriq-cadence-dp-firmware: sync with NXP Yocto download site
In reply to Vladimir OlteanThe updated download path was taken from the Yocto BSP at
https://github.com/nxp-qoriq/yocto-sdk.
The recipe is here:
https://github.com/Freescale/meta-freescale/blob/master/recipes-bsp/dp-firmware-cadence/dp-firmware-cadence_22.04.bb
---v1->v2: none
.../qoriq-cadence-dp-firmware.hash | 2 +- .../qoriq-cadence-dp-firmware.mk | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-)
package/qoriq-cadence-dp-firmware/qoriq-cadence-dp-firmware.hash +1 -1
@@ -1,5 +1,5 @@ # Locally calculated -sha256 e267655a47fbe118f6960bca7994bd6b8986ef955344fe006a424be96f868602 firmware-cadence-lsdk2012.bin +sha256 65f829a9e2597bffc58a680aaefa638122144a083633d1ae09b3aec1d9f8ab84 firmware-imx-8.16.bin sha256 9c16421e7c702f56756650b8ac954d34556327e598a8666e6e8f4eb3a1aa95f1 COPYING sha256 72edc2072c86d93aa1993d15d4d19d96270af3749b0108995ad50c81d1461f52 EULA sha256 53e3eb0b2bd81c171fa04c17514e20b39b7bb1fe1224c593f7717f615fb9d52b EULA.txt
package/qoriq-cadence-dp-firmware/qoriq-cadence-dp-firmware.mk +5 -5
@@ -4,9 +4,9 @@ # ################################################################################ -QORIQ_CADENCE_DP_FIRMWARE_VERSION = lsdk2012 -QORIQ_CADENCE_DP_FIRMWARE_SITE = http://www.nxp.com/lgfiles/sdk/$(QORIQ_CADENCE_DP_FIRMWARE_VERSION) -QORIQ_CADENCE_DP_FIRMWARE_SOURCE = firmware-cadence-$(QORIQ_CADENCE_DP_FIRMWARE_VERSION).bin +QORIQ_CADENCE_DP_FIRMWARE_VERSION = 8.16 +QORIQ_CADENCE_DP_FIRMWARE_SITE = https://www.nxp.com/lgfiles/NMG/MAD/YOCTO +QORIQ_CADENCE_DP_FIRMWARE_SOURCE = firmware-imx-$(QORIQ_CADENCE_DP_FIRMWARE_VERSION).bin QORIQ_CADENCE_DP_FIRMWARE_LICENSE = NXP Semiconductor Software License Agreement QORIQ_CADENCE_DP_FIRMWARE_LICENSE_FILES = COPYING EULA EULA.txt QORIQ_CADENCE_DP_FIRMWARE_REDISTRIBUTE = NO
@@ -20,11 +20,11 @@ define QORIQ_CADENCE_DP_FIRMWARE_EXTRACT_CMDS endef define QORIQ_CADENCE_DP_FIRMWARE_INSTALL_TARGET_CMDS - $(INSTALL) -D -m 0644 $(@D)/dp/ls1028a-dp-fw.bin $(TARGET_DIR)/boot/ls1028a-dp-fw.bin + $(INSTALL) -D -m 0644 $(@D)/firmware/hdmi/cadence/dp_ls1028a.bin $(TARGET_DIR)/boot/ls1028a-dp-fw.bin endef define QORIQ_CADENCE_DP_FIRMWARE_INSTALL_IMAGES_CMDS - $(INSTALL) -D -m 0644 $(@D)/dp/ls1028a-dp-fw.bin $(BINARIES_DIR)/ls1028a-dp-fw.bin + $(INSTALL) -D -m 0644 $(@D)/firmware/hdmi/cadence/dp_ls1028a.bin $(BINARIES_DIR)/ls1028a-dp-fw.bin endef $(eval $(generic-package))
Signature · 6 lines
2.43.0 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
Julien Olivain
AppliedRe: [Buildroot] [PATCH v2 04/18] package/qoriq-cadence-dp-firmware: sync with NXP Yocto download site
Hi Vladimir,
Quoted 7 lines · Vladimir Oltean
The updated download path was taken from the Yocto BSP at
https://github.com/nxp-qoriq/yocto-sdk.The recipe is here:
https://github.com/Freescale/meta-freescale/blob/master/recipes-bsp/dp-firmware-cadence/dp-firmware-cadence_22.04.bbSigned-off-by Vladimir Oltean <[email protected]>
I applied a second bacth of this series, which bumps existing QorIQ packages and defconfigs to the lf-6.12.3-1.0.0 BSP.
I slightly changed the commit order, to bump package version first and all the defconfigs after. I also reworked few patches to add extra info in the commit log and fix few things.
Applied to master, thanks.
Best regards,
Julien.
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
Re: [Buildroot] [PATCH v2 04/18] package/qoriq-cadence-dp-firmware: sync with NXP Yocto download site
Quoted 18 lines · Julien Olivain
Hi Vladimir,
Quoted 7 lines · Vladimir Oltean
The updated download path was taken from the Yocto BSP at
https://github.com/nxp-qoriq/yocto-sdk.The recipe is here:
https://github.com/Freescale/meta-freescale/blob/master/recipes-bsp/dp-firmware-cadence/dp-firmware-cadence_22.04.bbSigned-off-by Vladimir Oltean <[email protected]>I applied a second bacth of this series, which bumps existing QorIQ packages and defconfigs to the lf-6.12.3-1.0.0 BSP.
I slightly changed the commit order, to bump package version first and all the defconfigs after. I also reworked few patches to add extra info in the commit log and fix few things.
Quoted 5 lines
Applied to master, thanks.
Best regards,
Julien.
You rewrote the commit message quite consistently, thanks :)
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
PATCH v2 5/18 configs/ls1028ardb: update to lf-6.12.3-1.0.0 tag
In reply to Vladimir OlteanUpdate the kernel, U-Boot, ATF tags, as well as documentation, used by the LS1028A-RDB to the latest Linux Factory release.
---v1->v2: update to the now newest BSP tag
.../arm-trusted-firmware.hash | 2 +- .../ls1028ardb/patches/linux/linux.hash | 2 +- .../ls1028ardb/patches/uboot/uboot.hash | 2 +- board/freescale/ls1028ardb/readme.txt | 28 ++++++++++++------- configs/ls1028ardb_defconfig | 8 +++--- 5 files changed, 25 insertions(+), 17 deletions(-)
board/freescale/ls1028ardb/patches/arm-trusted-firmware/arm-trusted-firmware.hash +1 -1
@@ -1,2 +1,2 @@ # Locally calculated -sha256 4f4dc78bfb5b7391a65ae0f83856661071f666ac2bf6a9380fddbe376a8bdaaa atf-lf-6.6.23-2.0.0.tar.gz +sha256 2751fcd3eb9080c34531f68ca2e1f571a60f4220853df53a5ebed9835abf8c13 atf-lf-6.12.3-1.0.0.tar.gz
board/freescale/ls1028ardb/patches/linux/linux.hash +1 -1
@@ -1,2 +1,2 @@ # Locally computed -sha256 6d592722e004516309f8ce33e654f1322e4d1f0f33567acb86ca19229176fd9e linux-lf-6.6.23-2.0.0.tar.gz +sha256 9e2fff1014f1b196be8149c63a6054e40b1b36b222e53db3f445c96c856066e0 linux-lf-6.12.3-1.0.0.tar.gz
board/freescale/ls1028ardb/patches/uboot/uboot.hash +1 -1
@@ -1,2 +1,2 @@ # Locally computed -sha256 a2bcd7a34d4908ffbadfea731d0f0fd20f19a31cff6ff6310980e7f6743ceb24 u-boot-lf-6.6.23-2.0.0.tar.gz +sha256 8708fc95844d020f79b87f954f29073ae9b230de3e41117e7fb379294da946ac u-boot-lf-6.12.3-1.0.0.tar.gz
board/freescale/ls1028ardb/readme.txt +18 -10
@@ -4,19 +4,27 @@ NXP LS1028ARDB This file documents the Buildroot support for the LS1028A Reference Design Board. -for more details about the board and the QorIQ Layerscape SoC, see the following pages: +For more details about the board and the QorIQ Layerscape SoC, see the following pages: - https://www.nxp.com/design/qoriq-developer-resources/layerscape-ls1028a-reference-design-board:LS1028ARDB - https://www.nxp.com/LS1028A -for the software NXP LSDK (Layerscape Software Development Kit), see - - https://www.nxp.com/docs/en/user-guide/LSDKUG_Rev21.08.pdf - -the components from NXP are: - - rcw, lf-6.6.23-2.0.0 - - atf (fork), lf-6.6.23-2.0.0 - - uboot (fork), lf-6.6.23-2.0.0 - - cadence-dp-firmware (blob), LSDK 20.12 - - linux (fork), lf-6.6.23-2.0.0 +Layerscape platforms are officially supported by NXP under the Layerscape +Debian Linux SDK (LDLSDK). This uses components from Linux Factory (project +common with i.MX), currently tag lf-6.6.36-2.1.0, two releases behind the +latest lf-6.12.3-1.0.0. In Buildroot, the latest Linux Factory release tag +is used, which may be considered pre-release software, as it may contain +features which are not yet documented, and it generally undergoes less testing. + +For the software Layerscape Debian Linux SDK User Guide, see: + - https://docs.nxp.com/bundle/UG10143/page/topics/about_this_document.html + - https://www.nxp.com/docs/en/user-guide/UG10143.pdf + +The components from NXP are: + - rcw, lf-6.12.3-1.0.0 + - atf (fork), lf-6.12.3-1.0.0 + - uboot (fork), lf-6.12.3-1.0.0 + - cadence-dp-firmware (blob), 8.16 + - linux (fork), lf-6.12.3-1.0.0 Build =====
configs/ls1028ardb_defconfig +4 -4
@@ -1,6 +1,6 @@ BR2_aarch64=y BR2_cortex_a72=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y BR2_GLOBAL_PATCH_DIR="board/freescale/ls1028ardb/patches" BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_TARGET_GENERIC_HOSTNAME="ls1028a"
@@ -12,7 +12,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/freescale/ls1028ardb/genimage.cfg" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,nxp-qoriq,linux,lf-6.6.23-2.0.0)/linux-lf-6.6.23-2.0.0.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,nxp-qoriq,linux,lf-6.12.3-1.0.0)/linux-lf-6.12.3-1.0.0.tar.gz" BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(LINUX_DIR)/arch/arm64/configs/lsdk.config" BR2_LINUX_KERNEL_DTS_SUPPORT=y
@@ -25,7 +25,7 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="128M" # BR2_TARGET_ROOTFS_TAR is not set BR2_TARGET_ARM_TRUSTED_FIRMWARE=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,nxp-qoriq,atf,lf-6.6.23-2.0.0)/atf-lf-6.6.23-2.0.0.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,nxp-qoriq,atf,lf-6.12.3-1.0.0)/atf-lf-6.12.3-1.0.0.tar.gz" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="ls1028ardb" BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y
@@ -35,7 +35,7 @@ BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="fip.bin bl2_sd.pbl" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_TARBALL=y -BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-qoriq,u-boot,lf-6.6.23-2.0.0)/u-boot-lf-6.6.23-2.0.0.tar.gz" +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-qoriq,u-boot,lf-6.12.3-1.0.0)/u-boot-lf-6.12.3-1.0.0.tar.gz" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="ls1028ardb_tfa" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_PACKAGE_HOST_GENIMAGE=y
Signature · 6 lines
2.43.0 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
Re: [Buildroot] [PATCH v2 05/18] configs/ls1028ardb: update to lf-6.12.3-1.0.0 tag
Quoted 4 lines · Vladimir Oltean
Update the kernel, U-Boot, ATF tags, as well as documentation, used by the LS1028A-RDB to the latest Linux Factory release.
Signed-off-by Vladimir Oltean <[email protected]>
Applied to master, thanks.
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
PATCH v2 6/18 configs/ls1046a-frwy: bump BSP tag to lf-6.12.3-1.0.0
In reply to Vladimir OlteanThe latest Linux Factory tag is lf-6.12.3-1.0.0 (Q1 2025), update to that.
The LS1046A-FRWY board is currently supported by NXP through a BSP called LDLSDK. That isn't what we use, so update the documentation to reflect that for awareness, and provide a link.
---v1->v2: update to the now newest BSP tag
.../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 | 30 ++++++++++++------- configs/ls1046a-frwy_defconfig | 8 ++--- 5 files changed, 27 insertions(+), 17 deletions(-)
board/freescale/ls1046a-frwy/patches/arm-trusted-firmware/arm-trusted-firmware.hash +1 -1
@@ -1,2 +1,2 @@ # Locally calculated -sha256 f03dad74e5c3df8059554def03e9298b6fbd4ffdd3e940a18b7e84a60b12a37a atf-lf-6.6.52-2.2.0.tar.gz +sha256 2751fcd3eb9080c34531f68ca2e1f571a60f4220853df53a5ebed9835abf8c13 atf-lf-6.12.3-1.0.0.tar.gz
board/freescale/ls1046a-frwy/patches/linux/linux.hash +1 -1
@@ -1,2 +1,2 @@ # Locally computed -sha256 5665b927616a7e27e69f3f8fface6dd693b01f35d42ae4f9a0f0a10be3621487 linux-lf-6.6.52-2.2.0.tar.gz +sha256 9e2fff1014f1b196be8149c63a6054e40b1b36b222e53db3f445c96c856066e0 linux-lf-6.12.3-1.0.0.tar.gz
board/freescale/ls1046a-frwy/patches/uboot/uboot.hash +1 -1
@@ -1,2 +1,2 @@ # Locally computed -sha256 00fc7bd053de19d02c990b3aa214a27c6103f4306e756f3f6d4afb12314556e4 u-boot-lf-6.6.52-2.2.0.tar.gz +sha256 8708fc95844d020f79b87f954f29073ae9b230de3e41117e7fb379294da946ac u-boot-lf-6.12.3-1.0.0.tar.gz
board/freescale/ls1046a-frwy/readme.txt +20 -10
@@ -4,20 +4,30 @@ NXP LS1046A-FRWY This file documents the Buildroot support for the LS1046A Freeway Board. -for more details about the board and the QorIQ Layerscape SoC, see the following pages: +For more details about the board and the QorIQ Layerscape SoC, see the following pages: - https://www.nxp.com/design/software/qoriq-developer-resources/ls1046a-freeway-board:FRWY-LS1046A - https://www.nxp.com/FRWY-LS1046A - https://www.nxp.com/docs/en/quick-reference-guide/FRWY-LS1046AGSG.pdf -for the software NXP LSDK (Layerscape Software Development Kit), see - - https://www.nxp.com/docs/en/user-guide/LSDKUG_Rev21.08.pdf - -the components from NXP are: - - rcw, lf-6.6.52-2.2.0 - - atf (fork), lf-6.6.52-2.2.0 - - uboot (fork), lf-6.6.52-2.2.0 - - qoriq-fm-ucode (blob), lf-6.6.52-2.2.0 - - linux (fork), lf-6.6.52-2.2.0 +Layerscape platforms are officially supported by NXP under the Layerscape +Debian Linux SDK (LDLSDK). This uses components from Linux Factory (project +common with i.MX), currently tag lf-6.6.36-2.1.0, two releases behind the +latest lf-6.12.3-1.0.0. In Buildroot, the latest Linux Factory release tag +is used, which may be considered pre-release software, as it may contain +features which are not yet documented, and it generally undergoes less testing. + +For the software Layerscape Debian Linux SDK User Guide, see: + - https://docs.nxp.com/bundle/UG10143/page/topics/about_this_document.html + - https://www.nxp.com/docs/en/user-guide/UG10143.pdf + +The components from NXP are: + - rcw, lf-6.12.3-1.0.0 + - atf (fork), lf-6.12.3-1.0.0 + - uboot (fork), lf-6.12.3-1.0.0 + - qoriq-fm-ucode (blob), lf-6.12.3-1.0.0 + - linux (fork), lf-6.12.3-1.0.0 + - fmlib, lf-6.12.3-1.0.0 + - fmc, lf-6.12.3-1.0.0 Build =====
configs/ls1046a-frwy_defconfig +4 -4
@@ -1,6 +1,6 @@ BR2_aarch64=y BR2_cortex_a72=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y BR2_GLOBAL_PATCH_DIR="board/freescale/ls1046a-frwy/patches" BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_TARGET_GENERIC_HOSTNAME="ls1046afrwy"
@@ -12,7 +12,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/freescale/ls1046a-frwy/genimage.cfg" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,nxp-qoriq,linux,lf-6.6.52-2.2.0)/linux-lf-6.6.52-2.2.0.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,nxp-qoriq,linux,lf-6.12.3-1.0.0)/linux-lf-6.12.3-1.0.0.tar.gz" BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(LINUX_DIR)/arch/arm64/configs/lsdk.config" BR2_LINUX_KERNEL_DTS_SUPPORT=y
@@ -25,7 +25,7 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="200M" # BR2_TARGET_ROOTFS_TAR is not set BR2_TARGET_ARM_TRUSTED_FIRMWARE=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,nxp-qoriq,atf,lf-6.6.52-2.2.0)/atf-lf-6.6.52-2.2.0.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,nxp-qoriq,atf,lf-6.12.3-1.0.0)/atf-lf-6.12.3-1.0.0.tar.gz" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="ls1046afrwy" BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y
@@ -35,7 +35,7 @@ BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="fip.bin bl2_sd.pbl" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_TARBALL=y -BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-qoriq,u-boot,lf-6.6.52-2.2.0)/u-boot-lf-6.6.52-2.2.0.tar.gz" +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-qoriq,u-boot,lf-6.12.3-1.0.0)/u-boot-lf-6.12.3-1.0.0.tar.gz" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="ls1046afrwy_tfa" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_PACKAGE_HOST_GENIMAGE=y
Signature · 6 lines
2.43.0 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
Re: [Buildroot] [PATCH v2 06/18] configs/ls1046a-frwy: bump BSP tag to lf-6.12.3-1.0.0
Quoted 8 lines · Vladimir Oltean
The latest Linux Factory tag is lf-6.12.3-1.0.0 (Q1 2025), update to that.
The LS1046A-FRWY board is currently supported by NXP through a BSP called LDLSDK. That isn't what we use, so update the documentation to reflect that for awareness, and provide a link.
Signed-off-by Vladimir Oltean <[email protected]>
Applied to master, thanks.
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
PATCH v2 7/18 configs/ls1046a-rdb: bump BSP tag to lf-6.12.3-1.0.0
In reply to Vladimir OlteanThe latest Linux Factory tag is lf-6.12.3-1.0.0 (Q1 2025), update to that.
The LS1046A-RDB board is currently supported by NXP through a BSP called LDLSDK. That isn't what we use, so update the documentation to reflect that for awareness, and provide a link.
---v1->v2: patch is new
.../arm-trusted-firmware.hash | 2 +- .../ls1046a-rdb/patches/linux/linux.hash | 2 +- .../ls1046a-rdb/patches/uboot/uboot.hash | 2 +- board/freescale/ls1046a-rdb/readme.txt | 28 +++++++++++++------ configs/ls1046a-rdb_defconfig | 8 +++--- 5 files changed, 26 insertions(+), 16 deletions(-)
board/freescale/ls1046a-rdb/patches/arm-trusted-firmware/arm-trusted-firmware.hash +1 -1
@@ -1,2 +1,2 @@ # Locally calculated -sha256 f03dad74e5c3df8059554def03e9298b6fbd4ffdd3e940a18b7e84a60b12a37a atf-lf-6.6.52-2.2.0.tar.gz +sha256 2751fcd3eb9080c34531f68ca2e1f571a60f4220853df53a5ebed9835abf8c13 atf-lf-6.12.3-1.0.0.tar.gz
board/freescale/ls1046a-rdb/patches/linux/linux.hash +1 -1
@@ -1,2 +1,2 @@ # Locally computed -sha256 5665b927616a7e27e69f3f8fface6dd693b01f35d42ae4f9a0f0a10be3621487 linux-lf-6.6.52-2.2.0.tar.gz +sha256 9e2fff1014f1b196be8149c63a6054e40b1b36b222e53db3f445c96c856066e0 linux-lf-6.12.3-1.0.0.tar.gz
board/freescale/ls1046a-rdb/patches/uboot/uboot.hash +1 -1
@@ -1,2 +1,2 @@ # Locally computed -sha256 00fc7bd053de19d02c990b3aa214a27c6103f4306e756f3f6d4afb12314556e4 u-boot-lf-6.6.52-2.2.0.tar.gz +sha256 8708fc95844d020f79b87f954f29073ae9b230de3e41117e7fb379294da946ac u-boot-lf-6.12.3-1.0.0.tar.gz
board/freescale/ls1046a-rdb/readme.txt +19 -9
@@ -8,15 +8,25 @@ for more details about the board and the QorIQ Layerscape SoC, see the following - https://www.nxp.com/design/design-center/development-boards-and-designs/LS1046A-RDB - https://www.nxp.com/products/LS1046A -for the NXP LDP (Linux Distribution POC), see - - https://www.nxp.com/design/design-center/software/embedded-software/linux-software-and-development-tools/layerscape-linux-distribution-poc:LAYERSCAPE-SDK - -the components provided by NXP are: - - rcw, lf-6.6.52-2.2.0 - - atf (fork), lf-6.6.52-2.2.0 - - uboot (fork), lf-6.6.52-2.2.0 - - qoriq-fm-ucode (blob), lf-6.6.52-2.2.0 - - linux (fork), lf-6.6.52-2.2.0 +Layerscape platforms are officially supported by NXP under the Layerscape +Debian Linux SDK (LDLSDK). This uses components from Linux Factory (project +common with i.MX), currently tag lf-6.6.36-2.1.0, two releases behind the +latest lf-6.12.3-1.0.0. In Buildroot, the latest Linux Factory release tag +is used, which may be considered pre-release software, as it may contain +features which are not yet documented, and it generally undergoes less testing. + +For the software Layerscape Debian Linux SDK User Guide, see: + - https://docs.nxp.com/bundle/UG10143/page/topics/about_this_document.html + - https://www.nxp.com/docs/en/user-guide/UG10143.pdf + +The components from NXP are: + - rcw, lf-6.12.3-1.0.0 + - atf (fork), lf-6.12.3-1.0.0 + - uboot (fork), lf-6.12.3-1.0.0 + - qoriq-fm-ucode (blob), lf-6.12.3-1.0.0 + - linux (fork), lf-6.12.3-1.0.0 + - fmlib, lf-6.12.3-1.0.0 + - fmc, lf-6.12.3-1.0.0 Build =====
configs/ls1046a-rdb_defconfig +4 -4
@@ -1,6 +1,6 @@ BR2_aarch64=y BR2_cortex_a72=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y BR2_GLOBAL_PATCH_DIR="board/freescale/ls1046a-rdb/patches" BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_TARGET_GENERIC_HOSTNAME="ls1046ardb"
@@ -12,7 +12,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/freescale/ls1046a-rdb/genimage.cfg" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,nxp-qoriq,linux,lf-6.6.52-2.2.0)/linux-lf-6.6.52-2.2.0.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,nxp-qoriq,linux,lf-6.12.3-1.0.0)/linux-lf-6.12.3-1.0.0.tar.gz" BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(LINUX_DIR)/arch/arm64/configs/lsdk.config" BR2_LINUX_KERNEL_DTS_SUPPORT=y
@@ -25,7 +25,7 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="200M" # BR2_TARGET_ROOTFS_TAR is not set BR2_TARGET_ARM_TRUSTED_FIRMWARE=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,nxp-qoriq,atf,lf-6.6.52-2.2.0)/atf-lf-6.6.52-2.2.0.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,nxp-qoriq,atf,lf-6.12.3-1.0.0)/atf-lf-6.12.3-1.0.0.tar.gz" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="ls1046ardb" BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y
@@ -35,7 +35,7 @@ BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="fip.bin bl2_sd.pbl" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_TARBALL=y -BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-qoriq,u-boot,lf-6.6.52-2.2.0)/u-boot-lf-6.6.52-2.2.0.tar.gz" +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-qoriq,u-boot,lf-6.12.3-1.0.0)/u-boot-lf-6.12.3-1.0.0.tar.gz" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="ls1046ardb_tfa" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_PACKAGE_HOST_GENIMAGE=y
Signature · 6 lines
2.43.0 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
Re: [Buildroot] [PATCH v2 07/18] configs/ls1046a-rdb: bump BSP tag to lf-6.12.3-1.0.0
Quoted 8 lines · Vladimir Oltean
The latest Linux Factory tag is lf-6.12.3-1.0.0 (Q1 2025), update to that.
The LS1046A-RDB board is currently supported by NXP through a BSP called LDLSDK. That isn't what we use, so update the documentation to reflect that for awareness, and provide a link.
Signed-off-by Vladimir Oltean <[email protected]>
Applied to master, thanks.
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
PATCH v2 8/18 configs/ls1043a-rdb: bump BSP tag to lf-6.12.3-1.0.0
In reply to Vladimir OlteanThe latest Linux Factory tag is lf-6.12.3-1.0.0 (Q1 2025), update to that.
The LS1043A-RDB board is currently supported by NXP through a BSP called LDLSDK. That isn't what we use, so update the documentation to reflect that for awareness, and provide a link.
---v1->v2: patch is new
.../arm-trusted-firmware.hash | 2 +- .../ls1043a-rdb/patches/linux/linux.hash | 2 +- .../ls1043a-rdb/patches/uboot/uboot.hash | 2 +- board/freescale/ls1043a-rdb/readme.txt | 28 +++++++++++++------ configs/ls1043a-rdb_defconfig | 8 +++--- 5 files changed, 26 insertions(+), 16 deletions(-)
board/freescale/ls1043a-rdb/patches/arm-trusted-firmware/arm-trusted-firmware.hash +1 -1
@@ -1,2 +1,2 @@ # Locally calculated -sha256 f03dad74e5c3df8059554def03e9298b6fbd4ffdd3e940a18b7e84a60b12a37a atf-lf-6.6.52-2.2.0.tar.gz +sha256 2751fcd3eb9080c34531f68ca2e1f571a60f4220853df53a5ebed9835abf8c13 atf-lf-6.12.3-1.0.0.tar.gz
board/freescale/ls1043a-rdb/patches/linux/linux.hash +1 -1
@@ -1,2 +1,2 @@ # Locally computed -sha256 5665b927616a7e27e69f3f8fface6dd693b01f35d42ae4f9a0f0a10be3621487 linux-lf-6.6.52-2.2.0.tar.gz +sha256 9e2fff1014f1b196be8149c63a6054e40b1b36b222e53db3f445c96c856066e0 linux-lf-6.12.3-1.0.0.tar.gz
board/freescale/ls1043a-rdb/patches/uboot/uboot.hash +1 -1
@@ -1,2 +1,2 @@ # Locally computed -sha256 00fc7bd053de19d02c990b3aa214a27c6103f4306e756f3f6d4afb12314556e4 u-boot-lf-6.6.52-2.2.0.tar.gz +sha256 8708fc95844d020f79b87f954f29073ae9b230de3e41117e7fb379294da946ac u-boot-lf-6.12.3-1.0.0.tar.gz
board/freescale/ls1043a-rdb/readme.txt +19 -9
@@ -8,15 +8,25 @@ for more details about the board and the QorIQ Layerscape SoC, see the following - https://www.nxp.com/design/design-center/development-boards-and-designs/LS1043A-RDB - https://www.nxp.com/products/LS1043A -for the NXP LDP (Linux Distribution POC), see - - https://www.nxp.com/design/design-center/software/embedded-software/linux-software-and-development-tools/layerscape-linux-distribution-poc:LAYERSCAPE-SDK - -the components provided by NXP are: - - rcw, lf-6.6.52-2.2.0 - - atf (fork), lf-6.6.52-2.2.0 - - uboot (fork), lf-6.6.52-2.2.0 - - qoriq-fm-ucode (blob), lf-6.6.52-2.2.0 - - linux (fork), lf-6.6.52-2.2.0 +Layerscape platforms are officially supported by NXP under the Layerscape +Debian Linux SDK (LDLSDK). This uses components from Linux Factory (project +common with i.MX), currently tag lf-6.6.36-2.1.0, two releases behind the +latest lf-6.12.3-1.0.0. In Buildroot, the latest Linux Factory release tag +is used, which may be considered pre-release software, as it may contain +features which are not yet documented, and it generally undergoes less testing. + +For the software Layerscape Debian Linux SDK User Guide, see: + - https://docs.nxp.com/bundle/UG10143/page/topics/about_this_document.html + - https://www.nxp.com/docs/en/user-guide/UG10143.pdf + +The components from NXP are: + - rcw, lf-6.12.3-1.0.0 + - atf (fork), lf-6.12.3-1.0.0 + - uboot (fork), lf-6.12.3-1.0.0 + - qoriq-fm-ucode (blob), lf-6.12.3-1.0.0 + - linux (fork), lf-6.12.3-1.0.0 + - fmlib, lf-6.12.3-1.0.0 + - fmc, lf-6.12.3-1.0.0 Build =====
configs/ls1043a-rdb_defconfig +4 -4
@@ -1,5 +1,5 @@ BR2_aarch64=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y BR2_GLOBAL_PATCH_DIR="board/freescale/ls1043a-rdb/patches" BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_TARGET_GENERIC_HOSTNAME="ls1043ardb"
@@ -11,7 +11,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/freescale/ls1043a-rdb/genimage.cfg" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,nxp-qoriq,linux,lf-6.6.52-2.2.0)/linux-lf-6.6.52-2.2.0.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,nxp-qoriq,linux,lf-6.12.3-1.0.0)/linux-lf-6.12.3-1.0.0.tar.gz" BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(LINUX_DIR)/arch/arm64/configs/lsdk.config" BR2_LINUX_KERNEL_DTS_SUPPORT=y
@@ -25,7 +25,7 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="200M" # BR2_TARGET_ROOTFS_TAR is not set BR2_TARGET_ARM_TRUSTED_FIRMWARE=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,nxp-qoriq,atf,lf-6.6.52-2.2.0)/atf-lf-6.6.52-2.2.0.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,nxp-qoriq,atf,lf-6.12.3-1.0.0)/atf-lf-6.12.3-1.0.0.tar.gz" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="ls1043ardb" BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y
@@ -35,7 +35,7 @@ BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="fip.bin bl2_sd.pbl" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_TARBALL=y -BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-qoriq,u-boot,lf-6.6.52-2.2.0)/u-boot-lf-6.6.52-2.2.0.tar.gz" +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-qoriq,u-boot,lf-6.12.3-1.0.0)/u-boot-lf-6.12.3-1.0.0.tar.gz" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="ls1043ardb_tfa" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_PACKAGE_HOST_GENIMAGE=y
Signature · 6 lines
2.43.0 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
Re: [Buildroot] [PATCH v2 08/18] configs/ls1043a-rdb: bump BSP tag to lf-6.12.3-1.0.0
Quoted 8 lines · Vladimir Oltean
The latest Linux Factory tag is lf-6.12.3-1.0.0 (Q1 2025), update to that.
The LS1043A-RDB board is currently supported by NXP through a BSP called LDLSDK. That isn't what we use, so update the documentation to reflect that for awareness, and provide a link.
Signed-off-by Vladimir Oltean <[email protected]>
Applied to master, thanks.
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
PATCH v2 9/18 package/qoriq-rcw: bump to lf-6.12.3-1.0.0
In reply to Vladimir OlteanTechnically, this is lf-6.12.3-1.0.0 plus a few patches on top (the current master branch). Change log:
45e692536904 rcw: ls1028a: Add configuration for audio codec usage 3c51083d0cdf lx2160asi: e100g1_split.rcw: fix parse error
The second patch is necessary to fix a build error which was signalled previously here on the lists:
https://lore.kernel.org/buildroot/[email protected]/
---v1->v2: update to what is now the newest BSP tag
package/qoriq-rcw/qoriq-rcw.hash | 2 +- package/qoriq-rcw/qoriq-rcw.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
package/qoriq-rcw/qoriq-rcw.hash +1 -1
@@ -1,3 +1,3 @@ # Locally calculated -sha256 bfb992fcb396894874143257b53d14394ada48df0771f7edb55324fa932bbcdc qoriq-rcw-lf-6.6.52-2.2.0.tar.gz +sha256 f99ef0620dc49c6a0b9d03958cdb8a3e559907351fccd4814fd37b80d1324e97 qoriq-rcw-45e69253690452656a4dfe933c4c9f55e1eb0f5f.tar.gz sha256 68f4b15ecc085729419bc60ca6eeadca5af0237bbfec791e8a79da9c943d42e9 LICENSE
package/qoriq-rcw/qoriq-rcw.mk +1 -1
@@ -4,7 +4,7 @@ # ################################################################################ -QORIQ_RCW_VERSION = lf-6.6.52-2.2.0 +QORIQ_RCW_VERSION = 45e69253690452656a4dfe933c4c9f55e1eb0f5f QORIQ_RCW_SITE = $(call github,nxp-qoriq,rcw,$(QORIQ_RCW_VERSION)) QORIQ_RCW_LICENSE = BSD-3-Clause QORIQ_RCW_LICENSE_FILES = LICENSE
Signature · 6 lines
2.43.0 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
Re: [Buildroot] [PATCH v2 09/18] package/qoriq-rcw: bump to lf-6.12.3-1.0.0
Quoted 11 lines · Vladimir Oltean
Technically, this is lf-6.12.3-1.0.0 plus a few patches on top (the current master branch). Change log:
45e692536904rcw: ls1028a: Add configuration for audio codec usage3c51083d0cdflx2160asi: e100g1_split.rcw: fix parse errorThe second patch is necessary to fix a build error which was signalled previously here on the lists:
https://lore.kernel.org/buildroot/[email protected]/Signed-off-by Vladimir Oltean <[email protected]>
Applied to master, thanks.
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
PATCH v2 10/18 package/fmlib: uprev to lf-6.12.3-1.0.0
In reply to Vladimir OlteanThis is technically the master branch, a few commits post release tag. Change log:
7a58ecaf0d90 fm_lib: explicit conversion to ioc_fm_pcd_exceptions in FM_PCD_SetException() 22a0d3f1867e fm_lib: make REPORT_ERROR() definition more function-like 08ac8b3112a8 fm_lib: fix conversion warnings between e_FmPcdEngine and enum ioc_fm_pcd_engine 168eae74fd8a fm_lib: fix integer-to-pointer conversion build warning in GetDeviceId()
The build fix patch from Buildroot is no longer necessary, remove it.
---v1->v2: update to what is now the latest BSP tag
...conversion-error-and-enum-compare-wa.patch | 79 ------------------- package/fmlib/fmlib.hash | 2 +- package/fmlib/fmlib.mk | 2 +- 3 files changed, 2 insertions(+), 81 deletions(-) delete mode 100644 package/fmlib/0001-Fix-the-integer-conversion-error-and-enum-compare-wa.patch
package/fmlib/0001-Fix-the-integer-conversion-error-and-enum-compare-wa.patch deleted +0 -79
@@ -1,79 +0,0 @@ -From 3a1962a70cec74b3dac979e52a2cbcaa8897b9c8 Mon Sep 17 00:00:00 2001 -From: Akhilesh Nema <[email protected]> -Date: Fri, 10 Jan 2025 20:20:50 -0800 -Subject: [PATCH] Fix the integer conversion error and enum compare - warnings on build under gcc-14 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Error: -src/fm_lib.c: In function ‘GetDeviceId’: -src/fm_lib.c:139:21: error: returning ‘uintptr_t’ {aka ‘long unsigned int’} from a function with return type ‘t_Handle’ {aka ‘void *’} makes pointer from integer without a cast [-Wint-conversion] - 139 | return p_Dev->id; - | ~~~~~^~~~ - -Warnings: - -src/fm_lib.c: In function ‘FM_PCD_CcRootModifyNextEngine’: -src/fm_lib.c:997:51: warning: comparison between ‘e_FmPcdEngine’ and ‘enum ioc_fm_pcd_engine’ [-Wenum-compare] - 997 | if (p_FmPcdCcNextEngineParams->nextEngine == e_IOC_FM_PCD_FR) { - | ^~ -src/fm_lib.c: In function ‘FM_PCD_MatchTableAddKey’: -src/fm_lib.c:1103:57: warning: comparison between ‘e_FmPcdEngine’ and ‘enum ioc_fm_pcd_engine’ [-Wenum-compare] - 1103 | else if (p_KeyParams->ccNextEngineParams.nextEngine == e_IOC_FM_PCD_FR) { - | ^~ -src/fm_lib.c: In function ‘FM_PCD_MatchTableModifyKeyAndNextEngine’: -src/fm_lib.c:1174:57: warning: comparison between ‘e_FmPcdEngine’ and ‘enum ioc_fm_pcd_engine’ [-Wenum-compare] - 1174 | else if (p_KeyParams->ccNextEngineParams.nextEngine == e_IOC_FM_PCD_FR) { - -Upstream: https://github.com/nxp-qoriq/fmlib/pull/1 - -Signed-off-by: Akhilesh Nema <[email protected]> ---- - src/fm_lib.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/src/fm_lib.c b/src/fm_lib.c -index 4ea40ff..85b4a66 100644 ---- a/src/fm_lib.c -+++ b/src/fm_lib.c -@@ -136,7 +136,7 @@ t_Handle GetDeviceId(t_Handle h_Dev) - { - t_Device *p_Dev = (t_Device*)h_Dev; - -- return p_Dev->id; -+ return (t_Handle) p_Dev->id; - } - - -@@ -994,7 +994,7 @@ t_Error FM_PCD_CcRootModifyNextEngine(t_Handle h_CcTree, - } - - #if (DPAA_VERSION >= 11) -- if (p_FmPcdCcNextEngineParams->nextEngine == e_IOC_FM_PCD_FR) { -+ if (p_FmPcdCcNextEngineParams->nextEngine == e_FM_PCD_FR) { - t_Device *p_NextDev = (t_Device*) p_FmPcdCcNextEngineParams->params.frParams.h_FrmReplic; - params.cc_next_engine_params.params.fr_params.frm_replic_id = UINT_TO_PTR(p_NextDev->id); - } -@@ -1100,7 +1100,7 @@ t_Error FM_PCD_MatchTableAddKey(t_Handle h_CcNode, - params.key_params.cc_next_engine_params.params.kg_params.p_direct_scheme = UINT_TO_PTR(p_NextDev->id); - } - #if (DPAA_VERSION >= 11) -- else if (p_KeyParams->ccNextEngineParams.nextEngine == e_IOC_FM_PCD_FR) { -+ else if (p_KeyParams->ccNextEngineParams.nextEngine == e_FM_PCD_FR) { - t_Device *p_NextDev = (t_Device*) p_KeyParams->ccNextEngineParams.params.frParams.h_FrmReplic; - params.key_params.cc_next_engine_params.params.fr_params.frm_replic_id = UINT_TO_PTR(p_NextDev->id); - } -@@ -1171,7 +1171,7 @@ t_Error FM_PCD_MatchTableModifyKeyAndNextEngine(t_Handle h_CcNode, - params.key_params.cc_next_engine_params.params.kg_params.p_direct_scheme = UINT_TO_PTR(p_NextDev->id); - } - #if (DPAA_VERSION >= 11) -- else if (p_KeyParams->ccNextEngineParams.nextEngine == e_IOC_FM_PCD_FR) { -+ else if (p_KeyParams->ccNextEngineParams.nextEngine == e_FM_PCD_FR) { - t_Device *p_NextDev = (t_Device*) p_KeyParams->ccNextEngineParams.params.frParams.h_FrmReplic; - params.key_params.cc_next_engine_params.params.fr_params.frm_replic_id = UINT_TO_PTR(p_NextDev->id); - } --- -2.25.1 -
package/fmlib/fmlib.hash +1 -1
@@ -1,3 +1,3 @@ # Locally computed -sha256 173f1c41207e50dd3908c7dad192962240fd1a9269bca6e368f401134b3503bf fmlib-lf-6.6.52-2.2.0.tar.gz +sha256 087e1be3584a390cf0a75fa3730589edf76aa9a4832fa012a67c381cbf5b57a3 fmlib-7a58ecaf0d90d71d6b78d3ac7998282a472c4394.tar.gz sha256 5d7770fa9f70f0c6f0b4784bbca8401811259a4b1e03455dbd863ffd0d34d2ca LICENSE
package/fmlib/fmlib.mk +1 -1
@@ -4,7 +4,7 @@ # ################################################################################ -FMLIB_VERSION = lf-6.6.52-2.2.0 +FMLIB_VERSION = 7a58ecaf0d90d71d6b78d3ac7998282a472c4394 FMLIB_SITE = $(call github,nxp-qoriq,fmlib,$(FMLIB_VERSION)) FMLIB_LICENSE = BSD-3-Clause FMLIB_LICENSE_FILES = LICENSE
Signature · 6 lines
2.43.0 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
Re: [Buildroot] [PATCH v2 10/18] package/fmlib: uprev to lf-6.12.3-1.0.0
Quoted 11 lines · Vladimir Oltean
This is technically the master branch, a few commits post release tag. Change log:
7a58ecaf0d90fm_lib: explicit conversion toioc_fm_pcd_exceptionsinFM_PCD_SetException()22a0d3f1867efm_lib: makeREPORT_ERROR()definition more function-like08ac8b3112a8fm_lib: fix conversion warnings betweene_FmPcdEngineand enumioc_fm_pcd_engine168eae74fd8afm_lib: fix integer-to-pointer conversion build warning inGetDeviceId()The build fix patch from Buildroot is no longer necessary, remove it.
Signed-off-by Vladimir Oltean <[email protected]>
Applied to master, thanks.
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
Re: [Buildroot] [PATCH v2 10/18] package/fmlib: uprev to lf-6.12.3-1.0.0
Quoted 12 lines · Julien Olivain
Quoted 11 lines · Vladimir Oltean
This is technically the master branch, a few commits post release tag. Change log:
7a58ecaf0d90fm_lib: explicit conversion toioc_fm_pcd_exceptionsinFM_PCD_SetException()22a0d3f1867efm_lib: makeREPORT_ERROR()definition more function-like08ac8b3112a8fm_lib: fix conversion warnings betweene_FmPcdEngineand enumioc_fm_pcd_engine168eae74fd8afm_lib: fix integer-to-pointer conversion build warning inGetDeviceId()
Quoted 5 lines
Quoted 3 lines
The build fix patch from Buildroot is no longer necessary, remove it.
Signed-off-by Vladimir Oltean <[email protected]>Applied to master, thanks.
I didn't know that Github supports "git describe" syntax, thanks for reworking the version bump to fetch "fmlib-lf-6.12.3-1.0.0-3-g7a58eca.tar.gz". I'll keep that in mind.
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
PATCH v2 11/18 package/fmc: uprev to lf-6.12
In reply to Vladimir OlteanConcretely, no change. But prevents people from going to Github and checking whether the package is up to date.
---v1->v2: update to what is now the latest BSP tag
package/fmc/fmc.hash | 2 +- package/fmc/fmc.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
package/fmc/fmc.hash +1 -1
@@ -1,3 +1,3 @@ # Locally calculated -sha256 13a5e327ef1d727946187fbd021513194981e42681c73e56933109af8a5889e7 fmc-lf-6.6.52-2.2.0.tar.gz +sha256 fa16eaece5744af1523e563dc1cc5af6cd1c448aa828bdfd86137be555760abc fmc-lf-6.12.3-1.0.0.tar.gz sha256 f92862ceb95db5492f50a59d7c799c9395b714db88db92d11891dc0233e2ac42 LICENSE
package/fmc/fmc.mk +1 -1
@@ -4,7 +4,7 @@ # ################################################################################ -FMC_VERSION = lf-6.6.52-2.2.0 +FMC_VERSION = lf-6.12.3-1.0.0 FMC_SITE = $(call github,nxp-qoriq,fmc,$(FMC_VERSION)) FMC_LICENSE = MIT FMC_LICENSE_FILES = LICENSE
Signature · 6 lines
2.43.0 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
Re: [Buildroot] [PATCH v2 11/18] package/fmc: uprev to lf-6.12
Quoted 4 lines · Vladimir Oltean
Concretely, no change. But prevents people from going to Github and checking whether the package is up to date.
Signed-off-by Vladimir Oltean <[email protected]>
Applied to master, thanks.
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
PATCH v2 12/18 package/qoriq-fm-ucode: uprev to lf-6.12.3-1.0.0
In reply to Vladimir OlteanConcretely, no change. But saves people the hassle of checking whether any updates have been missed.
---v1->v2: update to the latest BSP tag
package/qoriq-fm-ucode/qoriq-fm-ucode.hash | 2 +- package/qoriq-fm-ucode/qoriq-fm-ucode.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
package/qoriq-fm-ucode/qoriq-fm-ucode.hash +1 -1
@@ -1,3 +1,3 @@ # Locally calculated -sha256 6b9e2a5c383fb9288db1459821fc696f3abfeddd080b04c11cf9f712f0d36470 qoriq-fm-ucode-lf-6.6.52-2.2.0.tar.gz +sha256 18824746f144ff8f39a5f2f62f7777de7c6cb8ab1a3303a5cad5beadd8aac9fd qoriq-fm-ucode-lf-6.12.3-1.0.0.tar.gz sha256 7a223031d76339df0e4e5a94d193a270fb9963d42b577aa42fe130a4657f3e17 LICENSE
package/qoriq-fm-ucode/qoriq-fm-ucode.mk +1 -1
@@ -4,7 +4,7 @@ # ################################################################################ -QORIQ_FM_UCODE_VERSION = lf-6.6.52-2.2.0 +QORIQ_FM_UCODE_VERSION = lf-6.12.3-1.0.0 QORIQ_FM_UCODE_SITE = $(call github,nxp-qoriq,qoriq-fm-ucode,$(QORIQ_FM_UCODE_VERSION)) QORIQ_FM_UCODE_LICENSE = NXP Binary EULA QORIQ_FM_UCODE_LICENSE_FILES = LICENSE
Signature · 6 lines
2.43.0 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
Re: [Buildroot] [PATCH v2 12/18] package/qoriq-fm-ucode: uprev to lf-6.12.3-1.0.0
Quoted 4 lines · Vladimir Oltean
Concretely, no change. But saves people the hassle of checking whether any updates have been missed.
Signed-off-by Vladimir Oltean <[email protected]>
Applied to master, thanks.
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
PATCH v2 13/18 package/qoriq-ddr-phy-binary: new package
In reply to Vladimir OlteanThe DDR PHY on the NXP LX2160A SoC needs firmware. This is distributed as prebuilt binaries by NXP through GitHub.
There have been discussions and other opinions on previous revisions of the patch on how it should be integrated:
https://lore.kernel.org/buildroot/[email protected]/
But I haven't integrated any of that feedback. It is a simple package which copies the pre-built FIP image containing DDR PHY firmware files to the images/ folder, to be used by post-image scripts.
---v1->v2: add one paragraph to the commit message
DEVELOPERS | 3 +++ package/Config.in | 1 + package/qoriq-ddr-phy-binary/Config.in | 6 ++++++ .../qoriq-ddr-phy-binary.hash | 3 +++ .../qoriq-ddr-phy-binary.mk | 18 ++++++++++++++++++ 5 files changed, 31 insertions(+) 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
DEVELOPERS +3 -0
@@ -3369,6 +3369,9 @@ N: Vivien Didelot <[email protected]> F: board/technologic/ts5500/ F: configs/ts5500_defconfig +N: Vladimir Oltean <[email protected]> +F: package/qoriq-ddr-phy-binary/ + N: Volkov Viacheslav <[email protected]> F: package/v4l2grab/ F: package/zbar/
package/Config.in +1 -0
@@ -448,6 +448,7 @@ menu "Firmware" source "package/odroidc2-firmware/Config.in" source "package/panel-mipi-dbi-firmware/Config.in" source "package/qcom-db410c-firmware/Config.in" + source "package/qoriq-ddr-phy-binary/Config.in" source "package/qoriq-fm-ucode/Config.in" source "package/rcw-smarc-sal28/Config.in" source "package/rpi-firmware/Config.in"
package/qoriq-ddr-phy-binary/Config.in new file +6 -0
@@ -0,0 +1,6 @@ +config BR2_PACKAGE_QORIQ_DDR_PHY_BINARY + bool "qoriq-ddr-phy-binary" + help + Firmware binary for DDR PHY of NXP LX2160A family of SoCs. + + https://github.com/nxp-qoriq/ddr-phy-binary
package/qoriq-ddr-phy-binary/qoriq-ddr-phy-binary.hash new file +3 -0
@@ -0,0 +1,3 @@ +# Locally calculated +sha256 475bca55d8b05463e75f6d47a8ea7e3def8505a614170b0a3976bd342ca3d759 qoriq-ddr-phy-binary-lf-6.12.3-1.0.0.tar.gz +sha256 e7e5f4949f7ac9f9a5d4d68b8f835f3ddc93ad47b594a11de699d90b9175413f NXP-Binary-EULA.txt
package/qoriq-ddr-phy-binary/qoriq-ddr-phy-binary.mk new file +18 -0
@@ -0,0 +1,18 @@ +################################################################################ +# +# qoriq-ddr-phy-binary +# +################################################################################ + +QORIQ_DDR_PHY_BINARY_VERSION = lf-6.12.3-1.0.0 +QORIQ_DDR_PHY_BINARY_SITE = $(call github,nxp-qoriq,ddr-phy-binary,$(QORIQ_DDR_PHY_BINARY_VERSION)) +QORIQ_DDR_PHY_BINARY_LICENSE = NXP Binary EULA +QORIQ_DDR_PHY_BINARY_LICENSE_FILES = NXP-Binary-EULA.txt +QORIQ_DDR_PHY_BINARY_INSTALL_IMAGES = YES +QORIQ_DDR_PHY_BINARY_INSTALL_TARGET = NO + +define QORIQ_DDR_PHY_BINARY_INSTALL_IMAGES_CMDS + $(INSTALL) -D $(@D)/lx2160a/fip_ddr.bin $(BINARIES_DIR)/fip_ddr.bin +endef + +$(eval $(generic-package))
Signature · 6 lines
2.43.0 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
Re: [Buildroot] [PATCH v2 13/18] package/qoriq-ddr-phy-binary: new package
Quoted 7 lines · Vladimir Oltean
The DDR PHY on the NXP LX2160A SoC needs firmware. This is distributed as prebuilt binaries by NXP through GitHub.
There have been discussions and other opinions on previous revisions of the patch on how it should be integrated:
https://lore.kernel.org/buildroot/[email protected]/
Quoted 7 lines
But I haven't integrated any of that feedback. It is a simple package which copies the pre-built FIP image containing DDR PHY firmware files to the images/ folder, to be used by post-image scripts.
Signed-off-by Vladimir Oltean <[email protected]>Reviewed-by Romain Naour <[email protected]>Reviewed-by Vincent Jardin <[email protected]>
Applied to master, thanks.
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
PATCH v2 14/18 package/qoriq-mc-binary: new package
In reply to Vladimir OlteanAdd a package which deploys the NXP MC (Management Complex) firmware to the target. This is necessary for NXP DPAA2 SoCs (LS1088A, LS2080A, LS2088A, LX2160A).
The MC firmware is deployed by default to the $O/images/ folder, where it can be used by post-build scripts. Additionally, if BR2_PACKAGE_QORIQ_MC_BINARY_TARGET_INSTALL_PATH is specified and if the board mcinitcmd is written as such as to pick it up, it is optionally deployed to the filesystem.
The API exposed by the MC firmware respects backwards compatibility principles, which means that the latest firmware version can always be (and should always be) used on a platform, irrespective of the Linux, U-Boot, RCW and restool versions, even though the latest features might not be used by older API consumers.
In terms of forwards compatibility, old MC firmware versions can be used as long as the qoriq-restool package is built with a MC_VERSION_COMPATIBLE variable (located in its Makefile, signifying "minimum compatible version") older than, or equal to it.
If the use of qoriq-restool is not desired (networking objects are statically created by the DPL), old MC firmware versions are supported by U-Boot and the Linux kernel with a limited feature set. Thus, it is still possible to an extent to use firmware versions older than MC_VERSION_COMPATIBLE.
According to the upstream maintainer, the latest MC firmware version is identified by the fact that it is always located at the HEAD of the "master" branch:
https://lore.kernel.org/buildroot/[email protected]/T/#m62c3ec04ba546ac9b0a194d13bc35fedeaa9deb0
Currently, the latest MC firmware version is 10.39.0. This version should be in sync with the qoriq-mc-utils package.
At this stage, the latest lf-6.12.3-1.0.0 NXP BSP has qoriq-restool with an MC_VERSION_COMPATIBLE='10.32.0', which means that it supports this MC firmware version.
https://github.com/nxp-qoriq/restool/blob/lf-6.12.3-1.0.0/Makefile#L23
Note that the MC firmware also used to be distributed through linux-firmware:
https://web.git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/dpaa2/mc?h=20250311
I don't know what was the reason for doing that, but it stopped being updated and the versions there are quite old.
---v1->v2:
- more info in the commit message
- add the option of deploying the firmware to the filesystem
DEVELOPERS | 1 + package/Config.in | 1 + package/qoriq-mc-binary/Config.in | 55 ++++++++++++++++++++ package/qoriq-mc-binary/qoriq-mc-binary.hash | 3 ++ package/qoriq-mc-binary/qoriq-mc-binary.mk | 29 +++++++++++ 5 files changed, 89 insertions(+) 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
DEVELOPERS +1 -0
@@ -3371,6 +3371,7 @@ F: configs/ts5500_defconfig N: Vladimir Oltean <[email protected]> F: package/qoriq-ddr-phy-binary/ +F: package/qoriq-mc-binary/ N: Volkov Viacheslav <[email protected]> F: package/v4l2grab/
package/Config.in +1 -0
@@ -450,6 +450,7 @@ menu "Firmware" source "package/qcom-db410c-firmware/Config.in" source "package/qoriq-ddr-phy-binary/Config.in" source "package/qoriq-fm-ucode/Config.in" + source "package/qoriq-mc-binary/Config.in" source "package/rcw-smarc-sal28/Config.in" source "package/rpi-firmware/Config.in" source "package/sunxi-boards/Config.in"
package/qoriq-mc-binary/Config.in new file +55 -0
55 lines not on this page · raw message
package/qoriq-mc-binary/qoriq-mc-binary.hash new file +3 -0
@@ -0,0 +1,3 @@ +# Locally calculated +sha256 912ad8effd5c7b08eb277719b1e021b8b1fe4022dc3d961b419562e1d2d7a860 qoriq-mc-binary-10.39.0.tar.gz +sha256 7733839334c6c820f01f76bff7ee9b60411effdcee8b6017e1d5bcacbdb432f6 LICENSE
package/qoriq-mc-binary/qoriq-mc-binary.mk new file +29 -0
@@ -0,0 +1,29 @@ +################################################################################ +# +# qoriq-mc-binary +# +################################################################################ + +QORIQ_MC_BINARY_VERSION = 10.39.0 +QORIQ_MC_BINARY_SITE = $(call github,nxp-qoriq,qoriq-mc-binary,mc_release_$(QORIQ_MC_BINARY_VERSION)) +QORIQ_MC_BINARY_LICENSE = NXP Binary EULA +QORIQ_MC_BINARY_LICENSE_FILES = LICENSE +QORIQ_MC_BINARY_INSTALL_IMAGES = YES +ifeq ($(BR2_PACKAGE_QORIQ_MC_BINARY_TARGET_INSTALL_PATH),) +QORIQ_MC_BINARY_INSTALL_TARGET = NO +endif + +QORIQ_MC_BINARY_PLATFORM = $(call qstrip,$(BR2_QORIQ_MC_BINARY_PLATFORM)) +QORIQ_MC_BINARY_SUBDIR = $(call qstrip,$(BR2_QORIQ_MC_BINARY_SUBDIR)) +QORIQ_MC_BINARY_BIN = mc_$(QORIQ_MC_BINARY_PLATFORM)_$(QORIQ_MC_BINARY_VERSION).itb +QORIQ_MC_BINARY_INSTALL_PATH = $(call qstrip,$(BR2_PACKAGE_QORIQ_MC_BINARY_TARGET_INSTALL_PATH)) + +define QORIQ_MC_BINARY_INSTALL_IMAGES_CMDS + $(INSTALL) -D $(@D)/$(QORIQ_MC_BINARY_SUBDIR)/$(QORIQ_MC_BINARY_BIN) $(BINARIES_DIR)/mc.itb +endef + +define QORIQ_MC_BINARY_INSTALL_TARGET_CMDS + $(INSTALL) -D $(@D)/$(QORIQ_MC_BINARY_SUBDIR)/$(QORIQ_MC_BINARY_BIN) $(TARGET_DIR)/$(QORIQ_MC_BINARY_INSTALL_PATH)/mc.itb +endef + +$(eval $(generic-package))
Signature · 6 lines
2.43.0 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
Re: [Buildroot] [PATCH v2 14/18] package/qoriq-mc-binary: new package
Hello Vladimir,
Quoted 3 lines · On Fri, 28 Mar 2025 20:04:22 +0200 Vladimir Oltean <[email protected]> wrote:
Add a package which deploys the NXP MC (Management Complex) firmware to the target. This is necessary for NXP DPAA2 SoCs (LS1088A, LS2080A, LS2088A, LX2160A).
[...]
Thanks for the patch, which I have applied, after doing one small change, see below.
package/qoriq-mc-binary/qoriq-mc-binary.mk line 14
Quoted 8 lines
package/qoriq-mc-binary/qoriq-mc-binary.mk new file +8
-0+QORIQ_MC_BINARY_VERSION = 10.39.0 +QORIQ_MC_BINARY_SITE = $(call github,nxp-qoriq,qoriq-mc-binary,mc_release_$(QORIQ_MC_BINARY_VERSION)) +QORIQ_MC_BINARY_LICENSE = NXP Binary EULA +QORIQ_MC_BINARY_LICENSE_FILES = LICENSE +QORIQ_MC_BINARY_INSTALL_IMAGES = YES +ifeq ($(BR2_PACKAGE_QORIQ_MC_BINARY_TARGET_INSTALL_PATH),) +QORIQ_MC_BINARY_INSTALL_TARGET = NO +endif
This condition would never be true, because $(BR2_PACKAGE_QORIQ_MC_BINARY_TARGET_INSTALL_PATH) is never empty. Even when the Kconfig option is left empty, $(BR2_PACKAGE_QORIQ_MC_BINARY_TARGET_INSTALL_PATH) value is "", which is why we have qstrip.
package/qoriq-mc-binary/qoriq-mc-binary.mk line 19
Quoted 4 lines
package/qoriq-mc-binary/qoriq-mc-binary.mk new file +4
-0+QORIQ_MC_BINARY_PLATFORM = $(call qstrip,$(BR2_QORIQ_MC_BINARY_PLATFORM)) +QORIQ_MC_BINARY_SUBDIR = $(call qstrip,$(BR2_QORIQ_MC_BINARY_SUBDIR)) +QORIQ_MC_BINARY_BIN = mc_$(QORIQ_MC_BINARY_PLATFORM)_$(QORIQ_MC_BINARY_VERSION).itb +QORIQ_MC_BINARY_INSTALL_PATH = $(call qstrip,$(BR2_PACKAGE_QORIQ_MC_BINARY_TARGET_INSTALL_PATH))
So I moved this condition here, testing on QORIQ_MC_BINARY_INSTALL_PATH instead, which achieves correct behavior.
Thanks a lot!
Thomas
Signature · 7 lines
Thomas Petazzoni, co-owner and CEO, Bootlin Embedded Linux and Kernel engineering and training https://bootlin.com _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
PATCH v2 15/18 package/qoriq-mc-utils: new package
In reply to Vladimir OlteanThe configuration files for the MC firmware binary are distributed through a separate repository on GitHub, and need a different package. They are licensed differently than the firmware itself, and unlike the firmware, they are customizable.
There are two ways for a board to use this package - similar to qoriq-rcw. If it is an NXP reference board or if the example files otherwise work fine with it, it is recommended to set the _INTREE variables to select a pre-existing DPL and DPC. Otherwise, if it is a custom board, the best solution is to just provide the DPL and DPC dts files in board/, and set the _CUSTOM_PATH variables to point to them.
There are also two ways to deploy to the target.
Traditionally in NXP BSPs, U-Boot loads the MC firmware, DPL and DPC from given offsets in the storage medium (outside of the filesystem). But this is not hardcoded and it doesn't have to be the case - the mcinitcmd U-Boot environment variable is freely customizable. What can also be done, and is done for the LX2160A-RDB, is to deploy multiple DPL and DPC files (all the files available for a board) to a folder of the rootfs, and just have two symlinks: dpl.dtb and dpc.dtb which point to the currently active files. This makes easier the processes of upgrading, downgrading and keeping multiple file versions.
Nonetheless, the "traditional" method of deploying to the target is also possible. The selected DPL and DPC files are deployed to the "images" folder and are freely usable with genimage or other post-image scripts.
---v1->v2:
- more info in the commit message
- add the option to specify the DPL and DPC files in the board/ folder instead of patching mc-utils
- add the option of deploying the files to the filesystem
DEVELOPERS | 1 + package/Config.in | 1 + package/qoriq-mc-utils/Config.in | 76 ++++++++++++++++++++++ package/qoriq-mc-utils/qoriq-mc-utils.hash | 3 + package/qoriq-mc-utils/qoriq-mc-utils.mk | 41 ++++++++++++ 5 files changed, 122 insertions(+) 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
DEVELOPERS +1 -0
@@ -3372,6 +3372,7 @@ F: configs/ts5500_defconfig N: Vladimir Oltean <[email protected]> F: package/qoriq-ddr-phy-binary/ F: package/qoriq-mc-binary/ +F: package/qoriq-mc-utils/ N: Volkov Viacheslav <[email protected]> F: package/v4l2grab/
package/Config.in +1 -0
@@ -451,6 +451,7 @@ menu "Firmware" source "package/qoriq-ddr-phy-binary/Config.in" source "package/qoriq-fm-ucode/Config.in" source "package/qoriq-mc-binary/Config.in" + source "package/qoriq-mc-utils/Config.in" source "package/rcw-smarc-sal28/Config.in" source "package/rpi-firmware/Config.in" source "package/sunxi-boards/Config.in"
package/qoriq-mc-utils/Config.in new file +76 -0
76 lines not on this page · raw message
package/qoriq-mc-utils/qoriq-mc-utils.hash new file +3 -0
@@ -0,0 +1,3 @@ +# Locally calculated +sha256 1d3f4a6b2661cff9cfb5d4fcba3b181eb6febdd88a127fa069e306f51d778fc5 qoriq-mc-utils-10.39.0.tar.gz +sha256 7a223031d76339df0e4e5a94d193a270fb9963d42b577aa42fe130a4657f3e17 LICENSE
package/qoriq-mc-utils/qoriq-mc-utils.mk new file +41 -0
41 lines not on this page · raw message
Signature · 6 lines
2.43.0 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
Re: [Buildroot] [PATCH v2 15/18] package/qoriq-mc-utils: new package
Hello Vlad,
Thanks for the v2, which I have applied. I have some comments below, though.
Quoted 24 lines · On Fri, 28 Mar 2025 20:04:23 +0200 Vladimir Oltean <[email protected]> wrote:
The configuration files for the MC firmware binary are distributed through a separate repository on GitHub, and need a different package. They are licensed differently than the firmware itself, and unlike the firmware, they are customizable.
There are two ways for a board to use this package - similar to qoriq-rcw. If it is an NXP reference board or if the example files otherwise work fine with it, it is recommended to set the
_INTREEvariables to select a pre-existing DPL and DPC. Otherwise, if it is a custom board, the best solution is to just provide the DPL and DPC dts files in board/, and set the_CUSTOM_PATHvariables to point to them.There are also two ways to deploy to the target.
Traditionally in NXP BSPs, U-Boot loads the MC firmware, DPL and DPC from given offsets in the storage medium (outside of the filesystem). But this is not hardcoded and it doesn't have to be the case - the mcinitcmd U-Boot environment variable is freely customizable. What can also be done, and is done for the LX2160A-RDB, is to deploy multiple DPL and DPC files (all the files available for a board) to a folder of the rootfs, and just have two symlinks: dpl.dtb and dpc.dtb which point to the currently active files. This makes easier the processes of upgrading, downgrading and keeping multiple file versions.
Quoted 3 lines
Nonetheless, the "traditional" method of deploying to the target is also possible. The selected DPL and DPC files are deployed to the "images" folder and are freely usable with genimage or other post-image scripts.
Very nice commit log, really. It does help people like me, who are not familiar with the details of QorIQ platforms, understand why the package is done like this. So clearly thanks a lot for this commit log (the one on qoriq-mc-binary was equally useful).
package/qoriq-mc-utils/qoriq-mc-utils.mk line 13
Quoted 7 lines
package/qoriq-mc-utils/qoriq-mc-utils.mk new file +7
-0+QORIQ_MC_UTILS_VERSION = 10.39.0 +QORIQ_MC_UTILS_SITE = $(call github,nxp-qoriq,mc-utils,mc_release_$(QORIQ_MC_UTILS_VERSION)) +QORIQ_MC_UTILS_LICENSE = BSD-3-Clause +QORIQ_MC_UTILS_INSTALL_IMAGES = YES +ifeq ($(BR2_PACKAGE_QORIQ_MC_UTILS_TARGET_INSTALL_PATH),) +QORIQ_MC_UTILS_INSTALL_TARGET = NO +endif
For the same reason as for qoriq-mc-binary, this couldn't work as $(BR2_PACKAGE_QORIQ_MC_UTILS_TARGET_INSTALL_PATH) is never empty.
package/qoriq-mc-utils/qoriq-mc-utils.mk line 26
Quoted 13 lines
package/qoriq-mc-utils/qoriq-mc-utils.mk new file +13
-0+QORIQ_MC_UTILS_DEPENDENCIES = host-dtc + +QORIQ_MC_UTILS_DPC_FILES = $(call qstrip,$(BR2_PACKAGE_QORIQ_MC_UTILS_DPC_CUSTOM_PATH)) +QORIQ_MC_UTILS_DPC_INTREE = $(call qstrip,$(BR2_PACKAGE_QORIQ_MC_UTILS_DPC_INTREE)) +QORIQ_MC_UTILS_DPL_FILES = $(call qstrip,$(BR2_PACKAGE_QORIQ_MC_UTILS_DPL_CUSTOM_PATH)) +QORIQ_MC_UTILS_DPL_INTREE = $(call qstrip,$(BR2_PACKAGE_QORIQ_MC_UTILS_DPL_INTREE)) +QORIQ_MC_UTILS_INSTALL_PATH = $(call qstrip,$(BR2_PACKAGE_QORIQ_MC_UTILS_TARGET_INSTALL_PATH)) + +define QORIQ_MC_UTILS_INSTALL_FILES + $(foreach file, $(QORIQ_MC_UTILS_DPC_FILES) $(QORIQ_MC_UTILS_DPL_FILES), \ + PATH=$(BR_PATH) dtc -I dts -O dtb $(file).dts -o $(1)/$(notdir $(file)).dtb; ) + $(foreach file, $(QORIQ_MC_UTILS_DPC_INTREE) $(QORIQ_MC_UTILS_DPL_INTREE), \ + $(INSTALL) -D $(@D)/config/$(file).dtb $(1)/$(notdir $(file)).dtb; )
Nit: I dropped the ; and moved the parenthesis to the next line, as this is usually how we format such loops in Buildroot.
However, initially I was confused: you were not doing anything with the external DPC/DPL files, so I was wondering how the BUILD_CMDS could do something with them. Turns out you can actually build them "manually" with dtc at install time.
So I was initially a bit hesitant: I think it would have made more sense to actually build those files in the build step, and only do the installation at the install step. Right now, you might be building them twice (once when installing to images, once when installing to target). Sure thing, a dtc run isn't long, so performance-wise not a problem. But if we imagine that DTC was stored a timestamp in the .dtb, then the .dtb in images/ and target/ would be different. Not super nice, but overall I decided that it was a bit bike-shedding, so I applied your patch as-is. But I thought it was worth sharing my thoughts nevertheless.
Thanks!
Thomas
Signature · 7 lines
Thomas Petazzoni, co-owner and CEO, Bootlin Embedded Linux and Kernel engineering and training https://bootlin.com _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
PATCH v2 16/18 package/qoriq-restool: new package
In reply to Vladimir OlteanIntroduce a package for the restool program, which permits the user to modify the network configuration of the DPAA2 subsystem and create one that is adequate to their use case.
We integrate the master branch, which is the lf-6.12.3-1.0.0 tag plus commit 14a9058c772b ("manpage: it should be optional"). It was pointed out on previous patch submissions that the "make install" target also converts man pages from Markdown to groff using pandoc, and apart from the fact that Buildroot doesn't want manpages, pandoc is also too heavy to drag into the build system. So that feedback was considered valid and the patch is included here via upstream.
---v1->v2: integrate a patch from Vincent
DEVELOPERS | 1 + package/Config.in | 1 + package/qoriq-restool/Config.in | 22 +++++++++++++++++++++ package/qoriq-restool/qoriq-restool.hash | 3 +++ package/qoriq-restool/qoriq-restool.mk | 25 ++++++++++++++++++++++++ 5 files changed, 52 insertions(+) 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
DEVELOPERS +1 -0
@@ -3373,6 +3373,7 @@ N: Vladimir Oltean <[email protected]> F: package/qoriq-ddr-phy-binary/ F: package/qoriq-mc-binary/ F: package/qoriq-mc-utils/ +F: package/qoriq-restool/ N: Volkov Viacheslav <[email protected]> F: package/v4l2grab/
package/Config.in +1 -0
@@ -593,6 +593,7 @@ endmenu source "package/pru-software-support/Config.in" source "package/pulseview/Config.in" source "package/qoriq-cadence-dp-firmware/Config.in" + source "package/qoriq-restool/Config.in" source "package/raspi-gpio/Config.in" source "package/rdma-core/Config.in" source "package/read-edid/Config.in"
package/qoriq-restool/Config.in new file +22 -0
@@ -0,0 +1,22 @@ +config BR2_PACKAGE_QORIQ_RESTOOL + bool "qoriq-restool" + help + The DPAA2 architecture in Layerscape SoCs consists of + networking resources that can be assembled into various + nuggets of functionality, called "objects" (DPMAC, DPNI, + DPDMUX, DPSW etc), by the Management Complex (MC) firmware. + + The MC firmware reads a file called Data Path Layout (DPL) + which describes the set of networking objects it should + create statically, at boot time. + + The restool program is able to talk to the Management + Complex at runtime and permits the dynamic reconfiguration + of networking objects, as well as saving the current + configuration into a new DPL file. Without the restool + program, the only possible networking configuration is + that specified in the boot-time DPL file. + + https://github.com/nxp-qoriq/restool + # sign in required + https://www.nxp.com/webapp/Download?colCode=DPAA2UM
package/qoriq-restool/qoriq-restool.hash new file +3 -0
@@ -0,0 +1,3 @@ +# Locally calculated +sha256 75c8cf7192eb54f50ff59047931a9b3210aade5d25d25c027a11eb7e659e8b21 qoriq-restool-14a9058c772b7b556e756ad8fd62a6762cde58df.tar.gz +sha256 68f4b15ecc085729419bc60ca6eeadca5af0237bbfec791e8a79da9c943d42e9 LICENSE
package/qoriq-restool/qoriq-restool.mk new file +25 -0
@@ -0,0 +1,25 @@ +################################################################################ +# +# qoriq-restool +# +################################################################################ + +QORIQ_RESTOOL_VERSION = 14a9058c772b7b556e756ad8fd62a6762cde58df +QORIQ_RESTOOL_SITE = $(call github,nxp-qoriq,restool,$(QORIQ_RESTOOL_VERSION)) +QORIQ_RESTOOL_LICENSE = BSD-3-Clause or GPL-2.0-or-later +QORIQ_RESTOOL_LICENSE_FILES = COPYING + +QORIQ_RESTOOL_MAKE_OPTS = \ + CC="$(TARGET_CC)" \ + CROSS_COMPILE="$(TARGET_CROSS)" + +define QORIQ_RESTOOL_BUILD_CMDS + cd $(@D) && $(TARGET_MAKE_ENV) $(MAKE) $(QORIQ_RESTOOL_MAKE_OPTS) +endef + +define QORIQ_RESTOOL_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) MANPAGE="" $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) \ + prefix=/usr install +endef + +$(eval $(generic-package))
Signature · 6 lines
2.43.0 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
Re: [Buildroot] [PATCH v2 16/18] package/qoriq-restool: new package
Hello Vlad,
Quoted 12 lines · On Fri, 28 Mar 2025 20:04:24 +0200 Vladimir Oltean <[email protected]> wrote:
Introduce a package for the restool program, which permits the user to modify the network configuration of the DPAA2 subsystem and create one that is adequate to their use case.
We integrate the master branch, which is the lf-6.12.3-1.0.0 tag plus commit
14a9058c772b("manpage: it should be optional"). It was pointed out on previous patch submissions that the "make install" target also converts man pages from Markdown to groff using pandoc, and apart from the fact that Buildroot doesn't want manpages, pandoc is also too heavy to drag into the build system. So that feedback was considered valid and the patch is included here via upstream.
Quoted 4 lines
Signed-off-by Vladimir Oltean <[email protected]>Reviewed-by Vincent Jardin <[email protected]>---
v1->v2: integrate a patch from Vincent
I wanted to apply this, but unfortunately, the C code fails badly to compile on ARM 32-bit:
mc_v10/fsl_mc_cmd.h:56:42: error: right shift count >= width of type [-Werror=shift-count-overflow]
56 | (((~0UL) << (l)) & (~0UL >> (BITS_PER_LONG - 1 - (h))))
| ^~
(lots of similar issues)
dpmac_commands.c: In function ‘print_dpmac_counters’:
dpmac_commands.c:330:31: error: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘uint64_t’ {aka ‘long long unsigned int’} [-Werror=format=]
330 | printf("%s: %lu\n", dpaa2_mac_counters[i].name, counter_value);
Seems like it's probably never been built for 32-bit targets. If you only use it on ARM64, one option is "depends on BR2_aarch64". Otherwise, those issues need to be addressed.
Minimal reproducer:
BR2_arm=y
BR2_cortex_a9=y
BR2_ARM_ENABLE_VFP=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
BR2_INIT_NONE=y
BR2_SYSTEM_BIN_SH_NONE=y
# BR2_PACKAGE_BUSYBOX is not set
BR2_PACKAGE_QORIQ_RESTOOL=y
# BR2_TARGET_ROOTFS_TAR is not set
Thanks!
Thomas
Signature · 7 lines
Thomas Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
Re: [Buildroot] [PATCH v2 16/18] package/qoriq-restool: new package
Hi Thomas,
Quoted 31 lines · Thomas Petazzoni
Hello Vlad,
Quoted 12 lines · On Fri, 28 Mar 2025 20:04:24 +0200 Vladimir Oltean <[email protected]> wrote:
Introduce a package for the restool program, which permits the user to modify the network configuration of the DPAA2 subsystem and create one that is adequate to their use case.
We integrate the master branch, which is the lf-6.12.3-1.0.0 tag plus commit
14a9058c772b("manpage: it should be optional"). It was pointed out on previous patch submissions that the "make install" target also converts man pages from Markdown to groff using pandoc, and apart from the fact that Buildroot doesn't want manpages, pandoc is also too heavy to drag into the build system. So that feedback was considered valid and the patch is included here via upstream.Quoted 4 lines
Signed-off-by Vladimir Oltean <[email protected]>Reviewed-by Vincent Jardin <[email protected]>---
v1->v2: integrate a patch from VincentI wanted to apply this, but unfortunately, the C code fails badly to compile on ARM 32-bit:
mc_v10/fsl_mc_cmd.h:56:42: error: right shift count >= width of type [-Werror=shift-count-overflow]
56 | (((~0UL) << (l)) & (~0UL >> (BITS_PER_LONG- 1 - (h))))
| ^~(lots of similar issues)
Quoted 7 lines
dpmac_commands.c: In function ‘print_dpmac_counters’:
dpmac_commands.c:330:31: error: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘uint64_t’ {aka ‘long long unsigned int’} [-Werror=format=]
330 |printf("%s: %lu\n", dpaa2_mac_counters[i].name, counter_value);Seems like it's probably never been built for 32-bit targets. If you only use it on ARM64, one option is "depends on
BR2_aarch64". Otherwise, those issues need to be addressed.
Thank you for pointing this out and for the review.
I have created an internal pull request to fix 32-bit restool builds. I will send an updated pull request to Buildroot when these patches become available on Github.
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
PATCH v2 17/18 package/qoriq-firmware-inphi: new package
In reply to Vladimir OlteanThe NXP BSPs have custom support for a 25G Ethernet retimer (drivers/net/phy/in112525.c in U-Boot) for the LX2160A-RDB board. That driver requires a text file to be located at a given offset in the same storage device as U-Boot itself. The text file contains a list of register addresses and values which are programmed into the retimer.
All in all, a pretty convoluted mechanism, but the driver is non-upstreamable, and to support the board we need this "firmware" file deployed.
---v1->v2: patch is new
DEVELOPERS | 1 + package/Config.in | 1 + package/qoriq-firmware-inphi/Config.in | 7 +++++++ .../qoriq-firmware-inphi.hash | 3 +++ .../qoriq-firmware-inphi.mk | 18 ++++++++++++++++++ 5 files changed, 30 insertions(+) create mode 100644 package/qoriq-firmware-inphi/Config.in create mode 100644 package/qoriq-firmware-inphi/qoriq-firmware-inphi.hash create mode 100644 package/qoriq-firmware-inphi/qoriq-firmware-inphi.mk
DEVELOPERS +1 -0
@@ -3371,6 +3371,7 @@ F: configs/ts5500_defconfig N: Vladimir Oltean <[email protected]> F: package/qoriq-ddr-phy-binary/ +F: package/qoriq-firmware-inphi/ F: package/qoriq-mc-binary/ F: package/qoriq-mc-utils/ F: package/qoriq-restool/
package/Config.in +1 -0
@@ -449,6 +449,7 @@ menu "Firmware" source "package/panel-mipi-dbi-firmware/Config.in" source "package/qcom-db410c-firmware/Config.in" source "package/qoriq-ddr-phy-binary/Config.in" + source "package/qoriq-firmware-inphi/Config.in" source "package/qoriq-fm-ucode/Config.in" source "package/qoriq-mc-binary/Config.in" source "package/qoriq-mc-utils/Config.in"
package/qoriq-firmware-inphi/Config.in new file +7 -0
@@ -0,0 +1,7 @@ +config BR2_PACKAGE_QORIQ_FIRMWARE_INPHI + bool "qoriq-firmware-inphi" + help + Firmware image for the Inphi IN112525 2x 25GbE SFP+ + retimer, exclusively for use on the NXP LX2160A-RDB. + + https://github.com/nxp-qoriq/qoriq-firmware-inphi
package/qoriq-firmware-inphi/qoriq-firmware-inphi.hash new file +3 -0
@@ -0,0 +1,3 @@ +# Locally calculated +sha256 bc04d6b7ca578ad4bba053a8ec3929af305f296f23c32557dc290540cb49ac18 qoriq-firmware-inphi-f22e9ff3bfed8342da6efb699e473b11fbad5695.tar.gz +sha256 53e3eb0b2bd81c171fa04c17514e20b39b7bb1fe1224c593f7717f615fb9d52b EULA.txt
package/qoriq-firmware-inphi/qoriq-firmware-inphi.mk new file +18 -0
@@ -0,0 +1,18 @@ +################################################################################ +# +# qoriq-firmware-inphi +# +################################################################################ + +# Unlikely to ever be updated, keep a fixed version instead of following BSP tags +QORIQ_FIRMWARE_INPHI_VERSION = f22e9ff3bfed8342da6efb699e473b11fbad5695 +QORIQ_FIRMWARE_INPHI_SITE = $(call github,nxp,qoriq-firmware-inphi,$(QORIQ_FIRMWARE_INPHI_VERSION)) +QORIQ_FIRMWARE_INPHI_LICENSE = NXP Binary EULA +QORIQ_FIRMWARE_INPHI_LICENSE_FILES = EULA.txt +QORIQ_FIRMWARE_INPHI_INSTALL_IMAGES = YES + +define QORIQ_FIRMWARE_INPHI_INSTALL_IMAGES_CMDS + $(INSTALL) -D $(@D)/in112525-phy-ucode.txt $(BINARIES_DIR)/in112525-phy-ucode.txt +endef + +$(eval $(generic-package))
Signature · 6 lines
2.43.0 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
Re: [Buildroot] [PATCH v2 17/18] package/qoriq-firmware-inphi: new package
Hello Vlad,
Quoted 5 lines · On Fri, 28 Mar 2025 20:04:25 +0200 Vladimir Oltean <[email protected]> wrote:
The NXP BSPs have custom support for a 25G Ethernet retimer (
drivers/net/phy/in112525.cin U-Boot) for the LX2160A-RDB board. That driver requires a text file to be located at a given offset in the same storage device as U-Boot itself. The text file contains a list of register addresses and values which are programmed into the retimer.
Yurk.
Quoted 5 lines
All in all, a pretty convoluted mechanism, but the driver is non-upstreamable, and to support the board we need this "firmware" file deployed.
Signed-off-by Vladimir Oltean <[email protected]>
But despite the uglyness/non-upstream-ness of the thing, it looks good from a Buildroot packaging point of view, so: applied, thanks!
Thomas
Signature · 7 lines
Thomas Petazzoni, co-owner and CEO, Bootlin Embedded Linux and Kernel engineering and training https://bootlin.com _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
PATCH v2 18/18 board/lx2160ardb: new platform
In reply to Vladimir OlteanAdd Buildroot support for the NXP LX2160A-RDB (reference design board). This is configured here to boot from the SD card. To my surprise, NXP RCWs for LX2160A rev2 silicon don't have a pre-existing example for SD boot, so until one is available, include the RCW through board files.
---v1->v2: patch is new
board/freescale/lx2160ardb/extlinux.conf | 4 + board/freescale/lx2160ardb/genimage.cfg | 47 +++++++ .../arm-trusted-firmware.hash | 2 + .../patches/linux-headers/linux-headers.hash | 1 + .../lx2160ardb/patches/linux/linux.hash | 2 + .../lx2160ardb/patches/uboot/uboot.hash | 2 + board/freescale/lx2160ardb/post-build.sh | 11 ++ .../rcw_2200_750_3200_19_5_2_sd.rcw | 67 ++++++++++ board/freescale/lx2160ardb/readme.txt | 124 ++++++++++++++++++ .../udev/rules.d/74-dpaa2-networking.rules | 29 ++++ board/freescale/lx2160ardb/uboot-env.txt | 77 +++++++++++ configs/lx2160ardb_defconfig | 57 ++++++++ 12 files changed, 423 insertions(+) create mode 100644 board/freescale/lx2160ardb/extlinux.conf create mode 100644 board/freescale/lx2160ardb/genimage.cfg create mode 100644 board/freescale/lx2160ardb/patches/arm-trusted-firmware/arm-trusted-firmware.hash create mode 120000 board/freescale/lx2160ardb/patches/linux-headers/linux-headers.hash create mode 100644 board/freescale/lx2160ardb/patches/linux/linux.hash create mode 100644 board/freescale/lx2160ardb/patches/uboot/uboot.hash create mode 100755 board/freescale/lx2160ardb/post-build.sh create mode 100644 board/freescale/lx2160ardb/rcw_2200_750_3200_19_5_2_sd.rcw create mode 100644 board/freescale/lx2160ardb/readme.txt create mode 100644 board/freescale/lx2160ardb/rootfs_overlay/etc/udev/rules.d/74-dpaa2-networking.rules create mode 100644 board/freescale/lx2160ardb/uboot-env.txt create mode 100644 configs/lx2160ardb_defconfig
board/freescale/lx2160ardb/extlinux.conf new file +4 -0
@@ -0,0 +1,4 @@ +label NXP LX2160A Reference Design Board + kernel /boot/Image + devicetree /boot/fsl-lx2160a-rdb.dtb + append root=PARTUUID=%PARTUUID% rw rootwait cma=256M
board/freescale/lx2160ardb/genimage.cfg new file +47 -0
47 lines not on this page · raw message
board/freescale/lx2160ardb/patches/arm-trusted-firmware/arm-trusted-firmware.hash new file +2 -0
@@ -0,0 +1,2 @@ +# Locally computed +sha256 2751fcd3eb9080c34531f68ca2e1f571a60f4220853df53a5ebed9835abf8c13 atf-lf-6.12.3-1.0.0.tar.gz
board/freescale/lx2160ardb/patches/linux-headers/linux-headers.hash new file +1 -0
@@ -0,0 +1 @@ +../linux/linux.hash
board/freescale/lx2160ardb/patches/linux/linux.hash new file +2 -0
@@ -0,0 +1,2 @@ +# Locally computed +sha256 9e2fff1014f1b196be8149c63a6054e40b1b36b222e53db3f445c96c856066e0 linux-lf-6.12.3-1.0.0.tar.gz
board/freescale/lx2160ardb/patches/uboot/uboot.hash new file +2 -0
@@ -0,0 +1,2 @@ +# Locally computed +sha256 8708fc95844d020f79b87f954f29073ae9b230de3e41117e7fb379294da946ac u-boot-lf-6.12.3-1.0.0.tar.gz
board/freescale/lx2160ardb/post-build.sh new file +11 -0
@@ -0,0 +1,11 @@ +#!/bin/sh + +BOARD_DIR="$(dirname "$0")" +PARTUUID="$("$HOST_DIR/bin/uuidgen")" + +install -d "$TARGET_DIR/boot/extlinux/" +# Default DPL and DPC selections for mcinitcmd +ln -sf dpc-usxgmii.dtb "$TARGET_DIR/boot/dpc.dtb" +ln -sf dpl-eth.19.dtb "$TARGET_DIR/boot/dpl.dtb" +sed "s/%PARTUUID%/$PARTUUID/g" "$BOARD_DIR/extlinux.conf" > "$TARGET_DIR/boot/extlinux/extlinux.conf" +sed "s/%PARTUUID%/$PARTUUID/g" "$BOARD_DIR/genimage.cfg" > "$BINARIES_DIR/genimage.cfg"
board/freescale/lx2160ardb/rcw_2200_750_3200_19_5_2_sd.rcw new file +67 -0
67 lines not on this page · raw message
board/freescale/lx2160ardb/readme.txt new file +124 -0
124 lines not on this page · raw message
board/freescale/lx2160ardb/rootfs_overlay/etc/udev/rules.d/74-dpaa2-networking.rules new file +29 -0
@@ -0,0 +1,29 @@ +SUBSYSTEM!="net", GOTO="fsl_dpaa2_rules_end" +ACTION!="add|change|online|offline|change", GOTO="fsl_dpaa2_rules_end" + +# Rules that match on objects connected to DPMACs have priority, and are named +# after those DPMACs. +DRIVERS=="fsl_dpaa2_eth|fsl_dpaa2_switch", ENV{OF_FULLNAME}=="/soc/fsl-mc@80c000000/dpmacs/ethernet@1", NAME="endpmac1", GOTO="fsl_dpaa2_rules_end" +DRIVERS=="fsl_dpaa2_eth|fsl_dpaa2_switch", ENV{OF_FULLNAME}=="/soc/fsl-mc@80c000000/dpmacs/ethernet@2", NAME="endpmac2", GOTO="fsl_dpaa2_rules_end" +DRIVERS=="fsl_dpaa2_eth|fsl_dpaa2_switch", ENV{OF_FULLNAME}=="/soc/fsl-mc@80c000000/dpmacs/ethernet@3", NAME="endpmac3", GOTO="fsl_dpaa2_rules_end" +DRIVERS=="fsl_dpaa2_eth|fsl_dpaa2_switch", ENV{OF_FULLNAME}=="/soc/fsl-mc@80c000000/dpmacs/ethernet@4", NAME="endpmac4", GOTO="fsl_dpaa2_rules_end" +DRIVERS=="fsl_dpaa2_eth|fsl_dpaa2_switch", ENV{OF_FULLNAME}=="/soc/fsl-mc@80c000000/dpmacs/ethernet@5", NAME="endpmac5", GOTO="fsl_dpaa2_rules_end" +DRIVERS=="fsl_dpaa2_eth|fsl_dpaa2_switch", ENV{OF_FULLNAME}=="/soc/fsl-mc@80c000000/dpmacs/ethernet@6", NAME="endpmac6", GOTO="fsl_dpaa2_rules_end" +DRIVERS=="fsl_dpaa2_eth|fsl_dpaa2_switch", ENV{OF_FULLNAME}=="/soc/fsl-mc@80c000000/dpmacs/ethernet@7", NAME="endpmac7", GOTO="fsl_dpaa2_rules_end" +DRIVERS=="fsl_dpaa2_eth|fsl_dpaa2_switch", ENV{OF_FULLNAME}=="/soc/fsl-mc@80c000000/dpmacs/ethernet@8", NAME="endpmac8", GOTO="fsl_dpaa2_rules_end" +DRIVERS=="fsl_dpaa2_eth|fsl_dpaa2_switch", ENV{OF_FULLNAME}=="/soc/fsl-mc@80c000000/dpmacs/ethernet@9", NAME="endpmac9", GOTO="fsl_dpaa2_rules_end" +DRIVERS=="fsl_dpaa2_eth|fsl_dpaa2_switch", ENV{OF_FULLNAME}=="/soc/fsl-mc@80c000000/dpmacs/ethernet@a", NAME="endpmac10", GOTO="fsl_dpaa2_rules_end" +DRIVERS=="fsl_dpaa2_eth|fsl_dpaa2_switch", ENV{OF_FULLNAME}=="/soc/fsl-mc@80c000000/dpmacs/ethernet@11", NAME="endpmac17", GOTO="fsl_dpaa2_rules_end" +DRIVERS=="fsl_dpaa2_eth|fsl_dpaa2_switch", ENV{OF_FULLNAME}=="/soc/fsl-mc@80c000000/dpmacs/ethernet@12", NAME="endpmac18", GOTO="fsl_dpaa2_rules_end" + +# Rules that match on DPNI objects which are not connected to DPMACs, but to +# other DPNIs, DPSW ports, DPDMUX etc. Below is an example to set up a +# persistent MAC address, which can be extended beyond dpni.0. +# DRIVERS=="fsl_dpaa2_eth", DEVPATH=="/devices/platform/soc/80c000000.fsl-mc/dprc.[0-9]*/dpni.0/net/*", NAME="endpni0", PROGRAM="/sbin/ip link set %k address 00:01:02:03:04:05" + +# Rules that match on DPSW ports not connected to a DPMAC. +# Below is an example to set up a persistent MAC address, which can be extended +# beyond dpsw.0. +# DRIVERS=="fsl_dpaa2_switch", DEVPATH=="/devices/platform/soc/80c000000.fsl-mc/dprc.[0-9]*/dpsw.0/net/*", NAME="endpsw0%s{phys_port_name}", PROGRAM="/sbin/ip link set %k address 00:1f:7b:a0:27:00" + +LABEL="fsl_dpaa2_rules_end"
board/freescale/lx2160ardb/uboot-env.txt new file +77 -0
77 lines not on this page · raw message
configs/lx2160ardb_defconfig new file +57 -0
57 lines not on this page · raw message
Signature · 6 lines
2.43.0 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
Re: [Buildroot] [PATCH v2 18/18] board/lx2160ardb: new platform
Hi Vladimir,
see inline
board/freescale/lx2160ardb/genimage.cfg line 1
Quoted 10 lines · Vladimir Oltean
Add Buildroot support for the NXP LX2160A-RDB (reference design board). This is configured here to boot from the SD card. To my surprise, NXP RCWs for LX2160A rev2 silicon don't have a pre-existing example for SD boot, so until one is available, include the RCW through board files.
board/freescale/lx2160ardb/genimage.cfg new file +1
-0@@ -0,0 +1,47 @@ +image sdcard.img {
Those offsets for a sdcard are valide, but when they are used for a SD card, the documentation seems to recommend the usage with Block# while the offset is rather for the Flash.
https://github.com/NXP/flexbuild/blob/main/docs/memory_layout.txt
I believe that matters in order to keep it reasily readable/reviewable from the documentation. Moreover, it matters for the ucode because:
#ifdef CONFIG_SD_BOOT
#define IN112525_FW_ADDR 0x980000
#else
#define IN112525_FW_ADDR 0x20980000
#endif
#define IN112525_FW_LENGTH 0x40000
which by the way seems to be a mistake from the NXP documentation:
|Ethernet PHY firmware | 256KB | 0x00980000 | 0x04C00 |
printf "%x" $(( $(printf "%d" 0x04C00 ) * 512 ))0x980000
Quoted 38 lines
board/freescale/lx2160ardb/genimage.cfg new file +38
-0+ /* Primary GPT table needs to be moved to a region which does + * not collide with the RCW/PBI location + */ + hdimage { + partition-table-type = "gpt" + gpt-location = 6M + } + + partition rcw { + offset = 4K + in-partition-table = "no" + image = "bl2_sd.pbl" + } + + partition u-boot { + offset = 1M + in-partition-table = "no" + image = "fip.bin" + } + + partition u-boot-environment { + in-partition-table = "no" + image = "uboot-env.bin" + offset = 5M + } + + /* Offset must match PLAT_DDR_FIP_OFFSET from ATF */ + partition ddr-phy { + in-partition-table = "no" + image = "fip_ddr.bin" + offset = 8M + } + + /* Offset must match IN112525_FW_ADDR from U-Boot */ + partition 25ge-retimer-ucode { + in-partition-table = "no" + image = "in112525-phy-ucode.txt" + offset = 0x980000
board/freescale/lx2160ardb/genimage.cfg
Quoted 10 lines
board/freescale/lx2160ardb/genimage.cfg new file +9
-0+ } + + partition rootfs { + bootable = "true" + image = "rootfs.ext4" + partition-uuid = %PARTUUID% + } +} +sha256 2751fcd3eb9080c34531f68ca2e1f571a60f4220853df53a5ebed9835abf8c13 atf-lf-6.12.3-1.0.0.tar.gz
Why not using the upstream ATF ? The more we use some vendor branches, the less we get from the updates of the upstreams such as CVEs.
Does it really make sense to follow NXP's documentation ?
Quoted 1 line
+sha256
8708fc95844d020f79b87f954f29073ae9b230de3e41117e7fb379294da946acu-boot-lf-6.12.3-1.0.0.tar.gz
Same arguemnt for uboot, why not the upstream one ?
Quoted 20 lines
+++
b/board/freescale/lx2160ardb/readme.txtboard/freescale/lx2160ardb/genimage.cfg new file +18
-0@@ -0,0 +1,124 @@ +************** +NXP LX2160ARDB +************** + +This file documents the Buildroot support for the LX2160A Reference Design Board. + +For more details about the board and the QorIQ Layerscape SoC, see the +following pages (notably the "LX2160A Reference Design Board Getting Started +Guide", for which this guide serves as an addition, not a replacement): + - https://www.nxp.com/design/design-center/software/qoriq-developer-resources/layerscape-lx2160a-reference-design-board:LX2160A-RDB + - https://www.nxp.com/LX2160A + +Layerscape platforms are officially supported by NXP under the Layerscape +Debian Linux SDK (LDLSDK). This uses components from Linux Factory (project +common with i.MX), currently tag lf-6.6.36-2.1.0, two releases behind the +latest lf-6.12.3-1.0.0. In Buildroot, the latest Linux Factory release tag +is used, which may be considered pre-release software, as it may contain +features which are not yet documented, and it generally undergoes less testing.
board/freescale/lx2160ardb/genimage.cfg line 28
Quoted 10 lines
board/freescale/lx2160ardb/genimage.cfg new file +10
-0+ +For the software Layerscape Debian Linux SDK User Guide, see: + - https://docs.nxp.com/bundle/UG10143/page/topics/about_this_document.html + - https://www.nxp.com/docs/en/user-guide/UG10143.pdf + +The components from NXP are: + - rcw, lf-6.12.3-1.0.0 + - atf (fork), lf-6.12.3-1.0.0 + - uboot (fork), lf-6.12.3-1.0.0 + - cadence-dp-firmware (blob), lf-6.12.3-1.0.0
Which cadence blob is used ? From the output/images, you do not have any references.
board/freescale/lx2160ardb/genimage.cfg line 29
Quoted 1 line
board/freescale/lx2160ardb/genimage.cfg new file +1
-0+ - linux (fork), lf-6.12.3-1.0.0
See my comments, what's wrong with using upstream instead of the forks ?
Quoted 16 lines
board/freescale/lx2160ardb/genimage.cfg new file +16
-0+You will find in output/images/ the following files: + - bl2_sd.pbl - RCW + ATF BL2 stage + - dpc-usxgmii.dtb - the default DPC file + - dpc-warn.dtb + - dpl-2dpni.dtb + - dpl-eth.19.dtb - the default DPL file + - fip_ddr.bin - DDR PHY firmware + - fip.bin - U-Boot packaged as ATF payload + - fsl-lx2160a-rdb.dtb + - Image + - in112525-phy-ucode.txt - Firmware file for 25GbE SFP+ retimer + - mc.itb - MC firmware + - PBL.bin + - rootfs.ext2 + - rootfs.ext4 + - sdcard.img
board/freescale/lx2160ardb/genimage.cfg
Quoted 10 lines
board/freescale/lx2160ardb/genimage.cfg new file +9
-0+ - u-boot.bin + - uboot-env.bin + +- put a DB9F cable into the UART1 Port and connect using a terminal + emulator at 115200 bps, 8n1; +$ restool dprc generate-dpl > dpl-new.dts + +Using the device tree compiler (dtc), the new DPL can be transformed into a +.dtb file and deployed as a custom networking configuration upon the next boot.
Thanks, it is the best handson documentation I ever read on this board.
Quoted 18 lines
+++
b/board/freescale/lx2160ardb/uboot-env.txtboard/freescale/lx2160ardb/genimage.cfg new file +16
-0@@ -0,0 +1,77 @@ +BOARD=lx2160ardb +arch=arm +baudrate=115200 +board=lx2160a +board_name=lx2160a +boot_a_script=load ${devtype} ${devnum}:${distro_bootpart} ${scriptaddr} ${prefix}${script}; env exists secureboot && load ${devtype} ${devnum}:${distro_bootpart} ${scripthdraddr} ${prefix}${boot_script_hdr} && esbc_validate ${scripthdraddr};source ${scriptaddr} +boot_efi_binary=load ${devtype} ${devnum}:${distro_bootpart} ${kernel_addr_r} efi/boot/bootaa64.efi; if fdt addr -q ${fdt_addr_r}; then bootefi ${kernel_addr_r} ${fdt_addr_r};else bootefi ${kernel_addr_r} ${fdtcontroladdr};fi +boot_efi_bootmgr=if fdt addr -q ${fdt_addr_r}; then bootefi bootmgr ${fdt_addr_r};else bootefi bootmgr;fi +boot_extlinux=sysboot ${devtype} ${devnum}:${distro_bootpart} any ${scriptaddr} ${prefix}${boot_syslinux_conf} +boot_net_usb_start=usb start +boot_pci_enum=pci enum +boot_prefixes=/ /boot/ +boot_script_dhcp=boot.scr.uimg +boot_script_hdr=hdr_lx2160ardb_bs.out +boot_scripts=lx2160ardb_boot.scr +boot_syslinux_conf=extlinux/extlinux.conf
board/freescale/lx2160ardb/genimage.cfg line 26
Quoted 10 lines
board/freescale/lx2160ardb/genimage.cfg new file +10
-0+boot_targets=usb0 mmc0 mmc1 scsi0 dhcp +bootargs=console=ttyAMA0,115200 root=/dev/ram0 earlycon=pl011,mmio32,0x21c0000 ramdisk_size=0x2000000 default_hugepagesz=1024m hugepagesz=1024m hugepages=2 pci=pcie_bus_perf +bootcmd=run distro_bootcmd +bootcmd_dhcp=devtype=dhcp; run boot_net_usb_start; run boot_pci_enum; if dhcp ${scriptaddr} ${boot_script_dhcp}; then source ${scriptaddr}; fi;setenv efi_fdtfile ${fdtfile}; setenv efi_old_vci ${bootp_vci};setenv efi_old_arch ${bootp_arch};setenv bootp_vci PXEClient:Arch:00011:UNDI:003000;setenv bootp_arch 0xb;if dhcp ${kernel_addr_r}; then tftpboot ${fdt_addr_r} dtb/${efi_fdtfile};if fdt addr -q ${fdt_addr_r}; then bootefi ${kernel_addr_r} ${fdt_addr_r}; else bootefi ${kernel_addr_r} ${fdtcontroladdr};fi;fi;setenv bootp_vci ${efi_old_vci};setenv bootp_arch ${efi_old_arch};setenv efi_fdtfile;setenv efi_old_arch;setenv efi_old_vci; +bootcmd_mmc0=devnum=0; run mmc_boot +bootcmd_mmc1=devnum=1; run mmc_boot +bootcmd_scsi0=devnum=0; run scsi_boot +bootcmd_usb0=devnum=0; run usb_boot +bootdelay=10 +console=ttyAMA0,38400n8
Is it on will ? Shouldn't it be 115200 ?
Quoted 41 lines
board/freescale/lx2160ardb/genimage.cfg new file +41
-0+cpu=armv8 +distro_bootcmd=scsi_need_init=; setenv nvme_need_init; for target in ${boot_targets}; do run bootcmd_${target}; done +efi_dtb_prefixes=/ /dtb/ /dtb/current/ +ethprime=DPMAC1@xgmii +fdt_addr=0x90000000 +fdt_addr_r=0x90000000 +fdt_high=0xa0000000 +fdtheader_addr_r=0x80100000 +hwconfig=fsl_ddr:bank_intlv=auto +initrd_high=0xffffffffffffffff +kernel_addr_r=0x81000000 +kernel_addr_sd=0x8000 +kernel_size=0x2800000 +kernel_size_sd=0x14000 +kernel_start=0x1000000 +kernelhdr_addr_sd=0x3000 +kernelhdr_size_sd=0x20 +kernelheader_addr_r=0x80200000 +kernelheader_size=0x40000 +kernelheader_start=0x600000 +load_addr=0xa0000000 +load_efi_dtb=load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} ${prefix}${efi_fdtfile} +loadaddr=0x90000000 +dpl_addr_r=0x80d00000 +mc_fw_addr_r=0x80a00000 +dpc_addr_r=0x80e00000 +mcinitcmd=mmc dev 0 && load mmc 0:1 $mc_fw_addr_r /boot/mc.itb && load mmc 0:1 $dpc_addr_r /boot/dpc.dtb && load mmc 0:1 $dpl_addr_r /boot/dpl.dtb && fsl_mc start mc $mc_fw_addr_r $dpc_addr_r && fsl_mc lazyapply dpl $dpl_addr_r +mcmemsize=0x70000000 +fsl_bootcmd_mcinitcmd_set=y +mcmemsize=0x70000000 +mmc_boot=if mmc dev ${devnum}; then devtype=mmc; run scan_dev_for_boot_part; fi +nvme_boot=run boot_pci_enum; run nvme_init; if nvme dev ${devnum}; then devtype=nvme; run scan_dev_for_boot_part; fi +nvme_init=if ${nvme_need_init}; then setenv nvme_need_init false; nvme scan; fi +ramdisk_addr=0x800000 +ramdisk_size=0x2000000 +sata_boot=if sata dev ${devnum}; then devtype=sata; run scan_dev_for_boot_part; fi +scan_dev_for_boot=echo Scanning ${devtype} ${devnum}:${distro_bootpart}...; for prefix in ${boot_prefixes}; do run scan_dev_for_extlinux; run scan_dev_for_scripts; done;run scan_dev_for_efi; +scan_dev_for_boot_part=part list ${devtype} ${devnum} devplist; env exists devplist || setenv devplist 1; for distro_bootpart in ${devplist}; do if fstype ${devtype} ${devnum}:${distro_bootpart} bootfstype; then run scan_dev_for_boot; fi; done +scan_dev_for_efi=setenv efi_fdtfile ${fdtfile}; for prefix in ${efi_dtb_prefixes}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${efi_fdtfile}; then run load_efi_dtb; fi;done;run boot_efi_bootmgr;if test -e ${devtype} ${devnum}:${distro_bootpart} efi/boot/bootaa64.efi; then echo Found EFI removable media binary efi/boot/bootaa64.efi; run boot_efi_binary; echo EFI LOAD FAILED: continuing...; fi; setenv efi_fdtfile +scan_dev_for_extlinux=if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${boot_syslinux_conf}; then echo Found ${prefix}${boot_syslinux_conf}; run boot_extlinux; echo EXTLINUX FAILED: continuing...; fi +scan_dev_for_scripts=for script in ${boot_scripts}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${script}; then echo Found U-Boot script ${prefix}${script}; run boot_a_script; echo SCRIPT FAILED: continuing...; fi; done
board/freescale/lx2160ardb/genimage.cfg line 77
Quoted 10 lines
board/freescale/lx2160ardb/genimage.cfg new file +10
-0+scriptaddr=0x80000000 +scripthdraddr=0x80080000 +scsi_boot=run boot_pci_enum; run scsi_init; if scsi dev ${devnum}; then devtype=scsi; run scan_dev_for_boot_part; fi +scsi_init=if ${scsi_need_init}; then scsi_need_init=false; scsi scan; fi +sd2_bootcmd=echo Trying load from emmc card..;mmc dev 1; mmcinfo; mmc read $load_addr $kernel_addr_sd $kernel_size_sd ;env exists secureboot && mmc read $kernelheader_addr_r $kernelhdr_addr_sd $kernelhdr_size_sd && esbc_validate ${kernelheader_addr_r};bootm $load_addr#$BOARD +sd_bootcmd=echo Trying load from sd card..;mmc dev 0; mmcinfo; mmc read $load_addr $kernel_addr_sd $kernel_size_sd ;env exists secureboot && mmc read $kernelheader_addr_r $kernelhdr_addr_sd $kernelhdr_size_sd && esbc_validate ${kernelheader_addr_r};bootm $load_addr#$BOARD +soc=fsl-layerscape +usb_boot=usb start; if usb dev ${devnum}; then devtype=usb; run scan_dev_for_boot_part; fi +vendor=freescale +xspi_bootcmd=echo Trying load from flexspi..;sf probe 0:0 && sf read $load_addr $kernel_start $kernel_size ; env exists secureboot &&sf read $kernelheader_addr_r $kernelheader_start $kernelheader_size && esbc_validate ${kernelheader_addr_r}; bootm $load_addr#$BOARD
It is a quite complex uboot env. Are they really needed ? Can't you minimize it since with Buildroot we should start from the small version ?, moreover a small env would better match the specific use case of running with the SD card you described ?
Quoted 1 line
+BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,nxp-qoriq,linux,lf-6.12.3-1.0.0)/linux-lf-6.12.3-1.0.0.tar.gz"
Same question, why not the upstream one ?
Quoted 1 line
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,nxp-qoriq,atf,lf-6.12.3-1.0.0)/atf-lf-6.12.3-1.0.0.tar.gz"
Same question, why not the upstream one ?
Quoted 1 line
+BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-qoriq,u-boot,lf-6.12.3-1.0.0)/u-boot-lf-6.12.3-1.0.0.tar.gz"
Same question, why not the upstream one ?
Best regards,
Vincent
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
Re: [Buildroot] [PATCH v2 18/18] board/lx2160ardb: new platform
Hi Vincent,
Quoted 19 lines · Vincent Jardin
board/freescale/lx2160ardb/genimage.cfg line 1
Quoted 3 lines
+++ b/board/freescale/lx2160ardb/genimage.cfg
board/freescale/lx2160ardb/genimage.cfg new file +1
-0@@ -0,0 +1,47 @@ +image sdcard.img {Those offsets for a sdcard are valide, but when they are used for a SD card, the documentation seems to recommend the usage with Block# while the offset is rather for the Flash.
https://github.com/NXP/flexbuild/blob/main/docs/memory_layout.txt
I believe that matters in order to keep it reasily readable/reviewable from the documentation. Moreover, it matters for the ucode because:
#ifdefCONFIG_SD_BOOT
#defineIN112525_FW_ADDR0x980000
#else
#defineIN112525_FW_ADDR0x20980000
#endif
#defineIN112525_FW_LENGTH0x40000
Quoted 5 lines
which by the way seems to be a mistake from the NXP documentation:
|Ethernet PHY firmware | 256KB |0x00980000|0x04C00|printf "%x" $(( $(printf "%d"
0x04C00) * 512 ))0x980000
What's the problem and your recommendation? I don't understand. The genimage "offset" is in bytes, see https://github.com/pengutronix/genimage.
Quoted 4 lines
board/freescale/lx2160ardb/patches/arm-trusted-firmware/arm-trusted-firmware.hash line 2
Quoted 1 line
board/freescale/lx2160ardb/patches/arm-trusted-firmware/arm-trusted-firmware.hash new file +1
-0+sha256 2751fcd3eb9080c34531f68ca2e1f571a60f4220853df53a5ebed9835abf8c13 atf-lf-6.12.3-1.0.0.tar.gzWhy not using the upstream ATF ? The more we use some vendor branches, the less we get from the updates of the upstreams such as CVEs.
Answering here generally for all NXP components: the reason is pragmatic. The LX2160A-RDB is a board officially supported by the NXP BSP, any bug in these components is the direct responsibility of NXP to fix, and not mine as an individual integrator with limited free time. Additionally, the BSP provides the most feature-complete experience for this board. Upstreaming is desirable and is also in the best interest of NXP engineers, but development constraints are such that not all features are upstream.
This doesn't have to be the case for custom boards based on the LX2160A, and anybody is free to maintain software based on upstream, but for the RDB, I don't see why not.
I don't know if you are talking about any specific CVE for ATF, but the Linux Factory process does track upstream and periodically rebase. An argument can perhaps be made about the pace of updates, but the trees are not disconnected from upstream.
Quoted 1 line
Does it really make sense to follow NXP's documentation ?
I don't understand this question?
Quoted 10 lines
board/freescale/lx2160ardb/readme.txt line 5
Quoted 7 lines
board/freescale/lx2160ardb/readme.txt new file +6
-0+++ b/board/freescale/lx2160ardb/readme.txt@@ -0,0 +1,124 @@ +The components from NXP are: + - rcw, lf-6.12.3-1.0.0 + - atf (fork), lf-6.12.3-1.0.0 + - uboot (fork), lf-6.12.3-1.0.0 + - cadence-dp-firmware (blob), lf-6.12.3-1.0.0Which cadence blob is used ? From the output/images, you do not have any references.
It is a mistake, I took the README from the LS1028A-RDB and adapted it, there is no Cadence DisplayPort firmware, this line should be removed.
Quoted 22 lines
Quoted 22 lines
board/freescale/lx2160ardb/uboot-env.txt new file +21
-0+++ b/board/freescale/lx2160ardb/uboot-env.txt@@ -0,0 +1,77 @@ +BOARD=lx2160ardb +arch=arm +baudrate=115200 +board=lx2160a +board_name=lx2160a +boot_a_script=load ${devtype} ${devnum}:${distro_bootpart} ${scriptaddr} ${prefix}${script}; env exists secureboot && load ${devtype} ${devnum}:${distro_bootpart} ${scripthdraddr} ${prefix}${boot_script_hdr} && esbc_validate ${scripthdraddr};source ${scriptaddr} +boot_efi_binary=load ${devtype} ${devnum}:${distro_bootpart} ${kernel_addr_r} efi/boot/bootaa64.efi; if fdt addr -q ${fdt_addr_r}; then bootefi ${kernel_addr_r} ${fdt_addr_r};else bootefi ${kernel_addr_r} ${fdtcontroladdr};fi +boot_efi_bootmgr=if fdt addr -q ${fdt_addr_r}; then bootefi bootmgr ${fdt_addr_r};else bootefi bootmgr;fi +boot_extlinux=sysboot ${devtype} ${devnum}:${distro_bootpart} any ${scriptaddr} ${prefix}${boot_syslinux_conf} +boot_net_usb_start=usb start +boot_pci_enum=pci enum +boot_prefixes=/ /boot/ +boot_script_dhcp=boot.scr.uimg +boot_script_hdr=hdr_lx2160ardb_bs.out +boot_scripts=lx2160ardb_boot.scr +boot_syslinux_conf=extlinux/extlinux.conf +boot_targets=usb0 mmc0 mmc1 scsi0 dhcp +bootargs=console=ttyAMA0,115200 root=/dev/ram0 earlycon=pl011,mmio32,0x21c0000 ramdisk_size=0x2000000 default_hugepagesz=1024m hugepagesz=1024m hugepages=2 pci=pcie_bus_perf +bootcmd=run distro_bootcmd +bootcmd_dhcp=devtype=dhcp; run boot_net_usb_start; run boot_pci_enum; if dhcp ${scriptaddr} ${boot_script_dhcp}; then source ${scriptaddr}; fi;setenv efi_fdtfile ${fdtfile}; setenv efi_old_vci ${bootp_vci};setenv efi_old_arch ${bootp_arch};setenv bootp_vci PXEClient:Arch:00011:UNDI:003000;setenv bootp_arch 0xb;if dhcp ${kernel_addr_r}; then tftpboot ${fdt_addr_r} dtb/${efi_fdtfile};if fdt addr -q ${fdt_addr_r}; then bootefi ${kernel_addr_r} ${fdt_addr_r}; else bootefi ${kernel_addr_r} ${fdtcontroladdr};fi;fi;setenv bootp_vci ${efi_old_vci};setenv bootp_arch ${efi_old_arch};setenv efi_fdtfile;setenv efi_old_arch;setenv efi_old_vci;
Quoted 8 lines
board/freescale/lx2160ardb/uboot-env.txt line 26
Quoted 6 lines
board/freescale/lx2160ardb/uboot-env.txt new file +6
-0+bootcmd_mmc0=devnum=0; run mmc_boot +bootcmd_mmc1=devnum=1; run mmc_boot +bootcmd_scsi0=devnum=0; run scsi_boot +bootcmd_usb0=devnum=0; run usb_boot +bootdelay=10 +console=ttyAMA0,38400n8Is it on will ? Shouldn't it be 115200 ?
This is from "env default -a". It seems unused - bootargs sets a different (and correct) "console" variable.
Quoted 4 lines
It is a quite complex uboot env. Are they really needed ? Can't you minimize it since with Buildroot we should start from the small version ?, moreover a small env would better match the specific use case of running with the SD card you described ?
The idea is, as explained in configs/lx2160ardb_defconfig, that this is:
# Obtained from "env default -a" plus a custom mcinitcmd Perhaps this is not the most maintainable way, but I wanted to patch the existing default environment, and the only way I saw how to do that was to copy it in its entirety.
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
Re: [Buildroot] [PATCH v2 18/18] board/lx2160ardb: new platform
Hi Vladimir,
Quoted 22 lines · Vladimir Oltean
Hi Vincent,
Quoted 19 lines · Vincent Jardin
board/freescale/lx2160ardb/genimage.cfg line 1
Quoted 3 lines
+++ b/board/freescale/lx2160ardb/genimage.cfg
board/freescale/lx2160ardb/genimage.cfg new file +1
-0@@ -0,0 +1,47 @@ +image sdcard.img {Those offsets for a sdcard are valide, but when they are used for a SD card, the documentation seems to recommend the usage with Block# while the offset is rather for the Flash.
https://github.com/NXP/flexbuild/blob/main/docs/memory_layout.txt
I believe that matters in order to keep it reasily readable/reviewable from the documentation. Moreover, it matters for the ucode because:
#ifdefCONFIG_SD_BOOT
#defineIN112525_FW_ADDR0x980000
#else
#defineIN112525_FW_ADDR0x20980000
#endif
#defineIN112525_FW_LENGTH0x40000
Quoted 8 lines
Quoted 5 lines
which by the way seems to be a mistake from the NXP documentation:
|Ethernet PHY firmware | 256KB |0x00980000|0x04C00|printf "%x" $(( $(printf "%d"
0x04C00) * 512 ))0x980000What's the problem and your recommendation? I don't understand. The genimage "offset" is in bytes, see https://github.com/pengutronix/genimage.
I should not do any review so late ;) right, there is no problem.
Your genimage are offset in bytes, which is valid, NXP documentation was recommending offset in block count, but both are the same.
My confusions, no problem.
Quoted 14 lines
Quoted 4 lines
board/freescale/lx2160ardb/patches/arm-trusted-firmware/arm-trusted-firmware.hash line 2
Quoted 1 line
board/freescale/lx2160ardb/patches/arm-trusted-firmware/arm-trusted-firmware.hash new file +1
-0+sha256 2751fcd3eb9080c34531f68ca2e1f571a60f4220853df53a5ebed9835abf8c13 atf-lf-6.12.3-1.0.0.tar.gzWhy not using the upstream ATF ? The more we use some vendor branches, the less we get from the updates of the upstreams such as CVEs.
Answering here generally for all NXP components: the reason is pragmatic. The LX2160A-RDB is a board officially supported by the NXP BSP, any bug in these components is the direct responsibility of NXP to fix, and not mine as an individual integrator with limited free time. Additionally, the BSP provides the most feature-complete experience for this board. Upstreaming is desirable and is also in the best interest of NXP engineers, but development constraints are such that not all features are upstream.
Quoted 8 lines
This doesn't have to be the case for custom boards based on the LX2160A, and anybody is free to maintain software based on upstream, but for the RDB, I don't see why not.
I don't know if you are talking about any specific CVE for ATF, but the Linux Factory process does track upstream and periodically rebase. An argument can perhaps be made about the pace of updates, but the trees are not disconnected from upstream.
Just because I'd do support an upstream first instead of a NXP first. The purpose of an upstream first is to make sure that any other boards, including RDB, Silicom, etc... are all based on a same build infrastructure instead of a respective "fork".
Then, yes CVE is a topic because it means that only 1 mainstream of SBOM has to be handled.
Of course, I do understand NXP willingness to control theirs, but here it is about Buildroot, not NXP's Flexbuild. I'd like to read the views of Buildroot's maintainers since I am a novice with Buildroot.
Quoted 3 lines
Quoted 1 line
Does it really make sense to follow NXP's documentation ?
I don't understand this question?
I meant: use lf instead of mainstreams.
Quoted 11 lines
Quoted 10 lines
board/freescale/lx2160ardb/readme.txt line 5
Quoted 7 lines
board/freescale/lx2160ardb/readme.txt new file +6
-0+++ b/board/freescale/lx2160ardb/readme.txt@@ -0,0 +1,124 @@ +The components from NXP are: + - rcw, lf-6.12.3-1.0.0 + - atf (fork), lf-6.12.3-1.0.0 + - uboot (fork), lf-6.12.3-1.0.0 + - cadence-dp-firmware (blob), lf-6.12.3-1.0.0Which cadence blob is used ? From the output/images, you do not have any references.
Quoted 2 lines
It is a mistake, I took the README from the LS1028A-RDB and adapted it, there is no Cadence DisplayPort firmware, this line should be removed.
ok, thanks
Quoted 31 lines
Quoted 22 lines
Quoted 22 lines
board/freescale/lx2160ardb/uboot-env.txt new file +21
-0+++ b/board/freescale/lx2160ardb/uboot-env.txt@@ -0,0 +1,77 @@ +BOARD=lx2160ardb +arch=arm +baudrate=115200 +board=lx2160a +board_name=lx2160a +boot_a_script=load ${devtype} ${devnum}:${distro_bootpart} ${scriptaddr} ${prefix}${script}; env exists secureboot && load ${devtype} ${devnum}:${distro_bootpart} ${scripthdraddr} ${prefix}${boot_script_hdr} && esbc_validate ${scripthdraddr};source ${scriptaddr} +boot_efi_binary=load ${devtype} ${devnum}:${distro_bootpart} ${kernel_addr_r} efi/boot/bootaa64.efi; if fdt addr -q ${fdt_addr_r}; then bootefi ${kernel_addr_r} ${fdt_addr_r};else bootefi ${kernel_addr_r} ${fdtcontroladdr};fi +boot_efi_bootmgr=if fdt addr -q ${fdt_addr_r}; then bootefi bootmgr ${fdt_addr_r};else bootefi bootmgr;fi +boot_extlinux=sysboot ${devtype} ${devnum}:${distro_bootpart} any ${scriptaddr} ${prefix}${boot_syslinux_conf} +boot_net_usb_start=usb start +boot_pci_enum=pci enum +boot_prefixes=/ /boot/ +boot_script_dhcp=boot.scr.uimg +boot_script_hdr=hdr_lx2160ardb_bs.out +boot_scripts=lx2160ardb_boot.scr +boot_syslinux_conf=extlinux/extlinux.conf +boot_targets=usb0 mmc0 mmc1 scsi0 dhcp +bootargs=console=ttyAMA0,115200 root=/dev/ram0 earlycon=pl011,mmio32,0x21c0000 ramdisk_size=0x2000000 default_hugepagesz=1024m hugepagesz=1024m hugepages=2 pci=pcie_bus_perf +bootcmd=run distro_bootcmd +bootcmd_dhcp=devtype=dhcp; run boot_net_usb_start; run boot_pci_enum; if dhcp ${scriptaddr} ${boot_script_dhcp}; then source ${scriptaddr}; fi;setenv efi_fdtfile ${fdtfile}; setenv efi_old_vci ${bootp_vci};setenv efi_old_arch ${bootp_arch};setenv bootp_vci PXEClient:Arch:00011:UNDI:003000;setenv bootp_arch 0xb;if dhcp ${kernel_addr_r}; then tftpboot ${fdt_addr_r} dtb/${efi_fdtfile};if fdt addr -q ${fdt_addr_r}; then bootefi ${kernel_addr_r} ${fdt_addr_r}; else bootefi ${kernel_addr_r} ${fdtcontroladdr};fi;fi;setenv bootp_vci ${efi_old_vci};setenv bootp_arch ${efi_old_arch};setenv efi_fdtfile;setenv efi_old_arch;setenv efi_old_vci;Quoted 8 lines
board/freescale/lx2160ardb/uboot-env.txt line 26
Quoted 6 lines
board/freescale/lx2160ardb/uboot-env.txt new file +6
-0+bootcmd_mmc0=devnum=0; run mmc_boot +bootcmd_mmc1=devnum=1; run mmc_boot +bootcmd_scsi0=devnum=0; run scsi_boot +bootcmd_usb0=devnum=0; run usb_boot +bootdelay=10 +console=ttyAMA0,38400n8Is it on will ? Shouldn't it be 115200 ?
Quoted 2 lines
This is from "env default -a". It seems unused - bootargs sets a different (and correct) "console" variable.
OK, it was confusing.
Quoted 10 lines
Quoted 4 lines
It is a quite complex uboot env. Are they really needed ? Can't you minimize it since with Buildroot we should start from the small version ?, moreover a small env would better match the specific use case of running with the SD card you described ?
The idea is, as explained in configs/lx2160ardb_defconfig, that this is:
# Obtained from "env default -a" plus a custom mcinitcmd Perhaps this is not the most maintainable way, but I wanted to patch the existing default environment, and the only way I saw how to do that was to copy it in its entirety.
OK, I feel that small if beautiful: same, let's check the feedbacks of some Buildroot's maintainers.
Thanks Vladimir. Except this minor comment on Cadence DP, I hope that most of your serie can be merged asap.
best regards,
Vincent
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
Re: [Buildroot] [PATCH v2 18/18] board/lx2160ardb: new platform
Quoted 4 lines · Vincent Jardin
Just because I'd do support an upstream first instead of a NXP first. The purpose of an upstream first is to make sure that any other boards, including RDB, Silicom, etc... are all based on a same build infrastructure instead of a respective "fork".
But even with downstream components, they still are based on the same build infrastructure.
With the "forks" you get access to more feature-complete DPDK networking, thanks to some non-upstreamable components such as dpaa2-mac-standalone. The upstream network community favors fast path technologies such as XDP more, and does not make it a priority to support DPDK. This is just an example which you might care about.
Quoted 3 lines
Of course, I do understand NXP willingness to control theirs, but here it is about Buildroot, not NXP's Flexbuild. I'd like to read the views of Buildroot's maintainers since I am a novice with Buildroot.
I don't know if I am reading this as intended or not, but you seem to be making the undestandable confusion that it is me with an NXP engineer hat who insists on using components from LF.
There has been a disclaimer in the cover letter of this patch set and of its previous versions that explains I am not submitting these changes as a work duty, but simply to serve my best personal interests on how to make the most use of the platform as a simple user.
The other Layerscape design boards in Buildroot also use LF kernels, U-Boot, ATF, and to my knowledge, that didn't happen due to NXP's willingness to control the software on their platform either. Non-NXP Layerscape boards (arcturus_ucls1012a_defconfig, kontron_smarc_sal28_defconfig) use their own versions of these components and don't seem to be hindered by the integration choices made for the RDBs.
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
Vincent Jardin
Reviewed-byRe: [Buildroot] [PATCH v2 18/18] board/lx2160ardb: new platform
Hi Vladimir,
Quoted 6 lines · Vladimir Oltean
Quoted 4 lines · Vincent Jardin
Just because I'd do support an upstream first instead of a NXP first. The purpose of an upstream first is to make sure that any other boards, including RDB, Silicom, etc... are all based on a same build infrastructure instead of a respective "fork".
Quoted 8 lines
But even with downstream components, they still are based on the same build infrastructure.
With the "forks" you get access to more feature-complete DPDK networking, thanks to some non-upstreamable components such as dpaa2-mac-standalone. The upstream network community favors fast path technologies such as XDP more, and does not make it a priority to support DPDK. This is just an example which you might care about.
OK, I'll analyze deeper the differences.
Quoted 4 lines
Quoted 3 lines
Of course, I do understand NXP willingness to control theirs, but here it is about Buildroot, not NXP's Flexbuild. I'd like to read the views of Buildroot's maintainers since I am a novice with Buildroot.
Quoted 8 lines
I don't know if I am reading this as intended or not, but you seem to be making the undestandable confusion that it is me with an NXP engineer hat who insists on using components from LF.
There has been a disclaimer in the cover letter of this patch set and of its previous versions that explains I am not submitting these changes as a work duty, but simply to serve my best personal interests on how to make the most use of the platform as a simple user.
Yes, I did review and comments based on your cover letter, "personal contribution".
Quoted 6 lines
The other Layerscape design boards in Buildroot also use LF kernels, U-Boot, ATF, and to my knowledge, that didn't happen due to NXP's willingness to control the software on their platform either. Non-NXP Layerscape boards (
arcturus_ucls1012a_defconfig,kontron_smarc_sal28_defconfig) use their own versions of these components and don't seem to be hindered by the integration choices made for the RDBs.
OK, I have been checking many other boards of buildroot, and yes, I just noticed that many are using some custom versions.
so, beside 2 minor comments:
- the cadence DP
- (maybe, but your arguments make sense) the consutions of console=ttyAMA0,38400n8
on a 115200 case.
It is ok for me.
Best regards,
Vincent
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
Re: [Buildroot] [PATCH v2 18/18] board/lx2160ardb: new platform
In reply to Vincent JardinHello Vincent,
Quoted 3 lines · On Mon, 31 Mar 2025 23:11:41 +0200 Vincent Jardin <[email protected]> wrote:
Of course, I do understand NXP willingness to control theirs, but here it is about Buildroot, not NXP's Flexbuild. I'd like to read the views of Buildroot's maintainers since I am a novice with Buildroot.
Of course, we do care about upstream, but we also want defconfigs that are "useful", which sometimes means we have to use vendor trees. For example all the configs/freescale_* configurations use the NXP vendor trees. On the other hand, the configs/imx_* configurations, sometimes for the same platforms, use upstream trees.
In another case, for STM32MP platforms, Buildroot has defconfigs that use upstream trees, and a separate BR2_EXTERNAL
(https://github.com/bootlin/buildroot-external-st) has defconfigs that use ST vendor trees, because some people want to use what's supported by the vendor, to get vendor's support.
So I'm not shocked by Vlad's defconfig using NXP's vendor tree overall.
Best regards,
Thomas
Signature · 7 lines
Thomas Petazzoni, co-owner and CEO, Bootlin Embedded Linux and Kernel engineering and training https://bootlin.com _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
Re: [Buildroot] [PATCH v2 18/18] board/lx2160ardb: new platform
In reply to Vladimir OlteanHello Vlad,
board/freescale/lx2160ardb/readme.txt line 28
Quoted 5 lines · On Fri, 28 Mar 2025 20:04:26 +0200 Vladimir Oltean <[email protected]> wrote:
board/freescale/lx2160ardb/readme.txt new file +5
-0+The components from NXP are: + - rcw, lf-6.12.3-1.0.0 + - atf (fork), lf-6.12.3-1.0.0 + - uboot (fork), lf-6.12.3-1.0.0 + - cadence-dp-firmware (blob), lf-6.12.3-1.0.0
So this line should be dropped, if I understand correctly?
board/freescale/lx2160ardb/uboot-env.txt
Quoted 5 lines
board/freescale/lx2160ardb/uboot-env.txt new file +0
-0
I agree with Vincent that it would be nice to have a simpler U-Boot environment if possible.
Quoted 1 line
+BR2_PACKAGE_QORIQ_RESTOOL=y
Due to restool not being applied (build issues), I can't apply this defconfig just yet. Can you send a v3 with restool fixed? Thanks!
Best regards,
Thomas
Signature · 7 lines
Thomas Petazzoni, co-owner and CEO, Bootlin Embedded Linux and Kernel engineering and training https://bootlin.com _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
Re: [Buildroot] [PATCH v2 18/18] board/lx2160ardb: new platform
Hello Thomas,
Quoted 23 lines · Thomas Petazzoni
Hello Vlad,
board/freescale/lx2160ardb/readme.txt line 28
Quoted 5 lines · On Fri, 28 Mar 2025 20:04:26 +0200 Vladimir Oltean <[email protected]> wrote:
board/freescale/lx2160ardb/readme.txt new file +5
-0+The components from NXP are: + - rcw, lf-6.12.3-1.0.0 + - atf (fork), lf-6.12.3-1.0.0 + - uboot (fork), lf-6.12.3-1.0.0 + - cadence-dp-firmware (blob), lf-6.12.3-1.0.0So this line should be dropped, if I understand correctly?
board/freescale/lx2160ardb/uboot-env.txt
Quoted 5 lines
board/freescale/lx2160ardb/uboot-env.txt new file +0
-0I agree with Vincent that it would be nice to have a simpler U-Boot environment if possible.
Quoted 4 lines
Quoted 1 line
+BR2_PACKAGE_QORIQ_RESTOOL=y
Due to restool not being applied (build issues), I can't apply this defconfig just yet. Can you send a v3 with restool fixed? Thanks!
The upstream restool is now fixed to support 32-bit builds and I am preparing for a v3.
I want to understand the request for a simpler U-Boot environment better.
Is it that the U-Boot distro boot environment variables (which form a majority of the contents of this env) are not welcome in general in upstream Buildroot, or is it just that the environment file itself is too large to maintain for a board instance, and contains many board-unspecific things (which I agree with)?
I want to make sure it's the latter and not the former, because BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE_SOURCE supports specifying multiple input files, and I can move the distro boot portion to a generic location like package/uboot-tools/env-distro-boot.txt, to be potentially reused by other boards, and simplify the lx2160ardb env. Does that sound acceptable?
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
Re: [Buildroot] [PATCH v2 18/18] board/lx2160ardb: new platform
Hi Vladimir, Thomas,
Quoted 7 lines
Quoted 7 lines
board/freescale/lx2160ardb/readme.txt line 28
Quoted 5 lines
board/freescale/lx2160ardb/readme.txt new file +5
-0+The components from NXP are: + - rcw, lf-6.12.3-1.0.0 + - atf (fork), lf-6.12.3-1.0.0 + - uboot (fork), lf-6.12.3-1.0.0 + - cadence-dp-firmware (blob), lf-6.12.3-1.0.0So this line should be dropped, if I understand correctly?
For me, yes. Let's focus on componenets which are needed for this board to start with.
Quoted 9 lines
Quoted 9 lines
board/freescale/lx2160ardb/uboot-env.txt
Quoted 5 lines
board/freescale/lx2160ardb/uboot-env.txt new file +0
-0I agree with Vincent that it would be nice to have a simpler U-Boot environment if possible.
Quoted 7 lines
Quoted 4 lines
Quoted 1 line
+BR2_PACKAGE_QORIQ_RESTOOL=y
Due to restool not being applied (build issues), I can't apply this defconfig just yet. Can you send a v3 with restool fixed? Thanks!
The upstream restool is now fixed to support 32-bit builds and I am preparing for a v3.
I tested your HEAD, it works fine, I keep using 64-bit only. Thanks for the updates of qoriq-restool, I hope that it can be integrated soon within Buildroot.
Quoted 5 lines
Is it that the U-Boot distro boot environment variables (which form a majority of the contents of this env) are not welcome in general in upstream Buildroot, or is it just that the environment file itself is too large to maintain for a board instance, and contains many board-unspecific things (which I agree with)?
Let's wait for Thomas' comments ; the root of my coments was this latest (too many board-unspecific).
Quoted 6 lines
I want to make sure it's the latter and not the former, because
BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE_SOURCEsupports specifying multiple input files, and I can move the distro boot portion to a generic location likepackage/uboot-tools/env-distro-boot.txt, to be potentially reused by other boards, and simplify the lx2160ardb env. Does that sound acceptable?
What would the content of env-distro-boot.txt look like ? Do you mean that it would be generic for any NXP/Freescale boards ?
Then, each specific board would just be adding its "remaining" env setting ? If so, you are right, it becomes an even better solution than a minimal set of uboot env for lx2160ardb as I suggested.
best regards,
Vincent
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot