Skip to contentSkip to conversation

Layerscape uprev to lf-6.12.3-1.0.0, initial LX2160A-RDB support

PATCH Applied Vladimir Oltean 4 participants 48 messages Mar 28, 2025 – May 18, 2025

v2 of 3 Applied Latest is v3 →

lore
Share & tools
lore
#0 lore raw

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
#1 lore raw

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
index 52d8f0cc07bb..a138234a1423 100644
@@ -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
#2 lore raw

Re: [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.

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

#3 lore raw

PATCH v2 2/18 configs/ls1046a-rdb: enable the fmc package and dependencies

In reply to 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.

---
v1->v2: increase rootfs size

 configs/ls1046a-rdb_defconfig | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
configs/ls1046a-rdb_defconfig +5 -1
index 441d461298d7..dd03d59993ef 100644
@@ -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
#4 lore raw

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.

Applied to master, thanks.
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot

#5 lore raw

PATCH v2 3/18 configs/ls1043a-rdb: enable the fmc package and dependencies

In reply to 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.

---
v1->v2: increase rootfs size

 configs/ls1043a-rdb_defconfig | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
configs/ls1043a-rdb_defconfig +5 -1
index d70e8692abe1..7073d6343cbe 100644
@@ -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
#6 lore raw

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.

Applied to master, thanks.
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot

#7 lore raw

PATCH v2 4/18 package/qoriq-cadence-dp-firmware: sync with NXP Yocto download site

In reply to 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.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
index 6e5c761463d9..eb6579b919c9 100644
@@ -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
index 4f75287269a3..04e3a2a6d9ee 100644
@@ -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
#8 lore raw

Re: [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.bb

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

#9 lore raw

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.bb

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

#10 lore raw

PATCH v2 5/18 configs/ls1028ardb: update to lf-6.12.3-1.0.0 tag

In reply to Vladimir Oltean

Update 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
index f9af28ab3cf5..41c7ad4068a4 100644
@@ -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
index e038c2286237..43dbe074c2ec 100644
@@ -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
index a5ccd82b2b0d..5e36d9348789 100644
@@ -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
index 6633d60b9013..8be720a80390 100644
@@ -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
index 0d1843bf5fce..5ee2911cc0f0 100644
@@ -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
#11 lore raw

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.

Applied to master, thanks.
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot

#12 lore raw

PATCH v2 6/18 configs/ls1046a-frwy: bump BSP tag to lf-6.12.3-1.0.0

In reply to 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.

---
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
index 344a6299d88d..41c7ad4068a4 100644
@@ -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
index fa38fb1f75b1..43dbe074c2ec 100644
@@ -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
index a1e3b693768d..5e36d9348789 100644
@@ -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
index fb1c82067ce5..8c83a4eac94d 100644
@@ -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
index a138234a1423..7d7e1b5686e5 100644
@@ -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
#13 lore raw

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.

Applied to master, thanks.
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot

#14 lore raw

PATCH v2 7/18 configs/ls1046a-rdb: bump BSP tag to lf-6.12.3-1.0.0

In reply to 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.

---
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
index 344a6299d88d..41c7ad4068a4 100644
@@ -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
index fa38fb1f75b1..43dbe074c2ec 100644
@@ -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
index a1e3b693768d..5e36d9348789 100644
@@ -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
index 1dc419d3b15d..72005b20d93b 100644
@@ -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
index dd03d59993ef..1528dfdd8152 100644
@@ -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
#15 lore raw

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.

Applied to master, thanks.
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot

#16 lore raw

PATCH v2 8/18 configs/ls1043a-rdb: bump BSP tag to lf-6.12.3-1.0.0

In reply to 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.

---
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
index 344a6299d88d..41c7ad4068a4 100644
@@ -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
index fa38fb1f75b1..43dbe074c2ec 100644
@@ -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
index a1e3b693768d..5e36d9348789 100644
@@ -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
index 2770cc55734a..1b6f25904ae1 100644
@@ -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
index 7073d6343cbe..e0168e2368e3 100644
@@ -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
#17 lore raw

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.

Applied to master, thanks.
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot

#18 lore raw

PATCH v2 9/18 package/qoriq-rcw: bump to lf-6.12.3-1.0.0

In reply to Vladimir Oltean

Technically, 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
index b9316582ffc6..5c1898551bb2 100644
@@ -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
index c536a12373fc..c44832737f62 100644
@@ -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
#19 lore raw

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:

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]/

Applied to master, thanks.
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot

#20 lore raw

PATCH v2 10/18 package/fmlib: uprev to lf-6.12.3-1.0.0

In reply to Vladimir Oltean

This 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
deleted file mode 100644
index e38b36128f17..000000000000
@@ -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
index edf87426dfb0..b0396b939127 100644
@@ -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
index 601a3e16efb0..38683523d343 100644
@@ -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
#21 lore raw

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:

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.

Applied to master, thanks.
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot

#22 lore raw

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:

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()

Quoted 5 lines
Quoted 3 lines

The build fix patch from Buildroot is no longer necessary, remove it.

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

#23 lore raw

PATCH v2 11/18 package/fmc: uprev to lf-6.12

In reply to Vladimir Oltean

Concretely, 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
index 8f59c94e6a52..c3197fa1af28 100644
@@ -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
index c6d36f14a00b..26282313ba73 100644
@@ -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
#25 lore raw

PATCH v2 12/18 package/qoriq-fm-ucode: uprev to lf-6.12.3-1.0.0

In reply to Vladimir Oltean

Concretely, 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
index bf494b177bb0..dfad7affe050 100644
@@ -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
index 71904e5b1376..6df0839be32e 100644
@@ -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
#27 lore raw

PATCH v2 13/18 package/qoriq-ddr-phy-binary: new package

In reply to 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]/

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
index 44f7684c974c..a1c7f867808e 100644
@@ -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
index d8751fc19f54..b6aecf7d7707 100644
@@ -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
new file mode 100644
index 000000000000..301a2c197421
@@ -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
new file mode 100644
index 000000000000..7a689d42a5ad
@@ -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
new file mode 100644
index 000000000000..5ce990b75b76
@@ -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
#28 lore raw

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.

Applied to master, thanks.
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot

#29 lore raw

PATCH v2 14/18 package/qoriq-mc-binary: new package

In reply to Vladimir Oltean

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).

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
index a1c7f867808e..a76c7eeee6fd 100644
@@ -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
index b6aecf7d7707..c37c5382fe62 100644
@@ -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
new file mode 100644
index 000000000000..ccddff28cdd1
@@ -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
new file mode 100644
index 000000000000..e554a98fec9a
@@ -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
#30 lore raw

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
#31 lore raw

PATCH v2 15/18 package/qoriq-mc-utils: new package

In reply to Vladimir Oltean

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 _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
index a76c7eeee6fd..cd67a04b2961 100644
@@ -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
index c37c5382fe62..754c9e76c26c 100644
@@ -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
new file mode 100644
index 000000000000..f0234b9d1ff8
@@ -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
#32 lore raw

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 _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.

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
#33 lore raw

PATCH v2 16/18 package/qoriq-restool: new package

In reply to Vladimir Oltean

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.

---
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
index cd67a04b2961..4288172e8670 100644
@@ -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
index 754c9e76c26c..40b4bb5307ce 100644
@@ -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
new file mode 100644
index 000000000000..dbe0934d4dd3
@@ -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
new file mode 100644
index 000000000000..1081be2f5b1f
@@ -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
new file mode 100644
index 000000000000..23ea9c7e310f
@@ -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
#34 lore raw

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

---
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
#35 lore raw

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

---
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)

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

#36 lore raw

PATCH v2 17/18 package/qoriq-firmware-inphi: new package

In reply to Vladimir Oltean

The 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
index 4288172e8670..22f5e527471c 100644
@@ -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
index 40b4bb5307ce..b3212cb0fe9d 100644
@@ -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
new file mode 100644
index 000000000000..88ae96c07531
@@ -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
new file mode 100644
index 000000000000..df860e47a004
@@ -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
new file mode 100644
index 000000000000..630c6634fd6b
@@ -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
#37 lore raw

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.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.

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.

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
#38 lore raw

PATCH v2 18/18 board/lx2160ardb: new platform

In reply to 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.

---
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
new file mode 100644
index 000000000000..2a1109ab1a4d
@@ -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
new file mode 100644
index 000000000000..df0b69649ab6
@@ -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
new file mode 120000
index 000000000000..5808d92afe89
@@ -0,0 +1 @@
+../linux/linux.hash
\ No newline at end of file
board/freescale/lx2160ardb/patches/linux/linux.hash new file +2 -0
new file mode 100644
index 000000000000..43dbe074c2ec
@@ -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
new file mode 100644
index 000000000000..5e36d9348789
@@ -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
new file mode 100755
index 000000000000..4042bf9c7e24
@@ -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
new file mode 100644
index 000000000000..e14d800193eb
@@ -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
#39 lore raw

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 8708fc95844d020f79b87f954f29073ae9b230de3e41117e7fb379294da946ac u-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.txt

board/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.txt

board/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

#40 lore raw

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:
#ifdef CONFIG_SD_BOOT
#define IN112525_FW_ADDR 0x980000
#else
#define IN112525_FW_ADDR 0x20980000
#endif
#define IN112525_FW_LENGTH 0x40000

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.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.

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.0

Which 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,38400n8

Is 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

#41 lore raw

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:
#ifdef CONFIG_SD_BOOT
#define IN112525_FW_ADDR 0x980000
#else
#define IN112525_FW_ADDR 0x20980000
#endif
#define IN112525_FW_LENGTH 0x40000

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 ))
0x980000

What'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.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.

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.0

Which 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,38400n8

Is 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

#42 lore raw

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

Reviewed-by
#43 lore raw

Re: [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

#44 lore raw

Re: [Buildroot] [PATCH v2 18/18] board/lx2160ardb: new platform

In reply to Vincent Jardin

Hello 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
#45 lore raw

Re: [Buildroot] [PATCH v2 18/18] board/lx2160ardb: new platform

In reply to Vladimir Oltean

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.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
new file mode 100644
index 000000000000..ad1e5882dd9e

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
#46 lore raw

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.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
new file mode 100644
index 000000000000..ad1e5882dd9e

I 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

#47 lore raw

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.0

So 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 -0
new file mode 100644
index 000000000000..ad1e5882dd9e

I 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_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?

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