Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v2 00/18] Layerscape uprev to lf-6.12.3-1.0.0, initial LX2160A-RDB support
@ 2025-03-28 18:04 Vladimir Oltean
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 01/18] configs/ls1046a-frwy: enable the fmc package and dependencies Vladimir Oltean
                   ` (17 more replies)
  0 siblings, 18 replies; 48+ messages in thread
From: Vladimir Oltean @ 2025-03-28 18:04 UTC (permalink / raw)
  To: buildroot
  Cc: Ioana Ciornei, Brandon Maier, Vincent Jardin, Julien Olivain,
	Romain Naour, Akhilesh Nema

Hello,

This is logically a continuation of "[PATCH v2 00/11] Initial support
for SolidRun LX2160A-CEX7":
https://lore.kernel.org/buildroot/20241208143802.1048266-1-olteanv@gmail.com/

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/20250302215219.1276480-1-olteanv@gmail.com/

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

-- 
2.43.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 48+ messages in thread

* [Buildroot] [PATCH v2 01/18] configs/ls1046a-frwy: enable the fmc package and dependencies
  2025-03-28 18:04 [Buildroot] [PATCH v2 00/18] Layerscape uprev to lf-6.12.3-1.0.0, initial LX2160A-RDB support Vladimir Oltean
@ 2025-03-28 18:04 ` Vladimir Oltean
  2025-04-12 14:21   ` Julien Olivain
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 02/18] configs/ls1046a-rdb: " Vladimir Oltean
                   ` (16 subsequent siblings)
  17 siblings, 1 reply; 48+ messages in thread
From: Vladimir Oltean @ 2025-03-28 18:04 UTC (permalink / raw)
  To: buildroot
  Cc: Ioana Ciornei, Brandon Maier, Vincent Jardin, Julien Olivain,
	Romain Naour, Akhilesh Nema

Since LS1046A-FRWY uses the Linux Factory-supplied lsdk.config, it
disables the upstream DPAA1 kernel networking drivers and enables their
SDK counterparts. These SDK kernel drivers are configured using the fmc
tool to do basic things such as apply a default PCD, so it seems a
reasonable idea to enable this package by default.

Since fmc uses C++, we need to add the standard library for that, which
also seems to increase the rootfs size.

Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
---
v1->v2: increase rootfs size

 configs/ls1046a-frwy_defconfig | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/configs/ls1046a-frwy_defconfig b/configs/ls1046a-frwy_defconfig
index 52d8f0cc07bb..a138234a1423 100644
--- a/configs/ls1046a-frwy_defconfig
+++ b/configs/ls1046a-frwy_defconfig
@@ -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
-- 
2.43.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 48+ messages in thread

* [Buildroot] [PATCH v2 02/18] configs/ls1046a-rdb: enable the fmc package and dependencies
  2025-03-28 18:04 [Buildroot] [PATCH v2 00/18] Layerscape uprev to lf-6.12.3-1.0.0, initial LX2160A-RDB support Vladimir Oltean
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 01/18] configs/ls1046a-frwy: enable the fmc package and dependencies Vladimir Oltean
@ 2025-03-28 18:04 ` Vladimir Oltean
  2025-04-12 14:21   ` Julien Olivain
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 03/18] configs/ls1043a-rdb: " Vladimir Oltean
                   ` (15 subsequent siblings)
  17 siblings, 1 reply; 48+ messages in thread
From: Vladimir Oltean @ 2025-03-28 18:04 UTC (permalink / raw)
  To: buildroot
  Cc: Ioana Ciornei, Brandon Maier, Vincent Jardin, Julien Olivain,
	Romain Naour, Akhilesh Nema

Since LS1046A-RDB uses the Linux Factory-supplied lsdk.config, it
disables the upstream DPAA1 kernel networking drivers and enables their
SDK counterparts. These SDK kernel drivers are configured using the fmc
tool to do basic things such as apply a default PCD, so it seems a
reasonable idea to enable this package by default.

Since fmc uses C++, we need to add the standard library for that, which
also seems to increase the rootfs size.

Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
---
v1->v2: increase rootfs size

 configs/ls1046a-rdb_defconfig | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/configs/ls1046a-rdb_defconfig b/configs/ls1046a-rdb_defconfig
index 441d461298d7..dd03d59993ef 100644
--- a/configs/ls1046a-rdb_defconfig
+++ b/configs/ls1046a-rdb_defconfig
@@ -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
-- 
2.43.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 48+ messages in thread

* [Buildroot] [PATCH v2 03/18] configs/ls1043a-rdb: enable the fmc package and dependencies
  2025-03-28 18:04 [Buildroot] [PATCH v2 00/18] Layerscape uprev to lf-6.12.3-1.0.0, initial LX2160A-RDB support Vladimir Oltean
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 01/18] configs/ls1046a-frwy: enable the fmc package and dependencies Vladimir Oltean
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 02/18] configs/ls1046a-rdb: " Vladimir Oltean
@ 2025-03-28 18:04 ` Vladimir Oltean
  2025-04-12 14:22   ` Julien Olivain
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 04/18] package/qoriq-cadence-dp-firmware: sync with NXP Yocto download site Vladimir Oltean
                   ` (14 subsequent siblings)
  17 siblings, 1 reply; 48+ messages in thread
From: Vladimir Oltean @ 2025-03-28 18:04 UTC (permalink / raw)
  To: buildroot
  Cc: Ioana Ciornei, Brandon Maier, Vincent Jardin, Julien Olivain,
	Romain Naour, Akhilesh Nema

Since LS1043A-RDB uses the Linux Factory-supplied lsdk.config, it
disables the upstream DPAA1 kernel networking drivers and enables their
SDK counterparts. These SDK kernel drivers are configured using the fmc
tool to do basic things such as apply a default PCD, so it seems a
reasonable idea to enable this package by default.

Since fmc uses C++, we need to add the standard library for that, which
also seems to increase the rootfs size.

Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
---
v1->v2: increase rootfs size

 configs/ls1043a-rdb_defconfig | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/configs/ls1043a-rdb_defconfig b/configs/ls1043a-rdb_defconfig
index d70e8692abe1..7073d6343cbe 100644
--- a/configs/ls1043a-rdb_defconfig
+++ b/configs/ls1043a-rdb_defconfig
@@ -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
-- 
2.43.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 48+ messages in thread

* [Buildroot] [PATCH v2 04/18] package/qoriq-cadence-dp-firmware: sync with NXP Yocto download site
  2025-03-28 18:04 [Buildroot] [PATCH v2 00/18] Layerscape uprev to lf-6.12.3-1.0.0, initial LX2160A-RDB support Vladimir Oltean
                   ` (2 preceding siblings ...)
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 03/18] configs/ls1043a-rdb: " Vladimir Oltean
@ 2025-03-28 18:04 ` Vladimir Oltean
  2025-04-13  9:44   ` Julien Olivain
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 05/18] configs/ls1028ardb: update to lf-6.12.3-1.0.0 tag Vladimir Oltean
                   ` (13 subsequent siblings)
  17 siblings, 1 reply; 48+ messages in thread
From: Vladimir Oltean @ 2025-03-28 18:04 UTC (permalink / raw)
  To: buildroot
  Cc: Ioana Ciornei, Brandon Maier, Vincent Jardin, Julien Olivain,
	Romain Naour, Akhilesh Nema

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

Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
---
v1->v2: none

 .../qoriq-cadence-dp-firmware.hash                     |  2 +-
 .../qoriq-cadence-dp-firmware.mk                       | 10 +++++-----
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/package/qoriq-cadence-dp-firmware/qoriq-cadence-dp-firmware.hash b/package/qoriq-cadence-dp-firmware/qoriq-cadence-dp-firmware.hash
index 6e5c761463d9..eb6579b919c9 100644
--- a/package/qoriq-cadence-dp-firmware/qoriq-cadence-dp-firmware.hash
+++ b/package/qoriq-cadence-dp-firmware/qoriq-cadence-dp-firmware.hash
@@ -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
diff --git a/package/qoriq-cadence-dp-firmware/qoriq-cadence-dp-firmware.mk b/package/qoriq-cadence-dp-firmware/qoriq-cadence-dp-firmware.mk
index 4f75287269a3..04e3a2a6d9ee 100644
--- a/package/qoriq-cadence-dp-firmware/qoriq-cadence-dp-firmware.mk
+++ b/package/qoriq-cadence-dp-firmware/qoriq-cadence-dp-firmware.mk
@@ -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))
-- 
2.43.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 48+ messages in thread

* [Buildroot] [PATCH v2 05/18] configs/ls1028ardb: update to lf-6.12.3-1.0.0 tag
  2025-03-28 18:04 [Buildroot] [PATCH v2 00/18] Layerscape uprev to lf-6.12.3-1.0.0, initial LX2160A-RDB support Vladimir Oltean
                   ` (3 preceding siblings ...)
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 04/18] package/qoriq-cadence-dp-firmware: sync with NXP Yocto download site Vladimir Oltean
@ 2025-03-28 18:04 ` Vladimir Oltean
  2025-04-13  9:45   ` Julien Olivain
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 06/18] configs/ls1046a-frwy: bump BSP tag to lf-6.12.3-1.0.0 Vladimir Oltean
                   ` (12 subsequent siblings)
  17 siblings, 1 reply; 48+ messages in thread
From: Vladimir Oltean @ 2025-03-28 18:04 UTC (permalink / raw)
  To: buildroot
  Cc: Ioana Ciornei, Brandon Maier, Vincent Jardin, Julien Olivain,
	Romain Naour, Akhilesh Nema

Update the kernel, U-Boot, ATF tags, as well as documentation, used by
the LS1028A-RDB to the latest Linux Factory release.

Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
---
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(-)

diff --git a/board/freescale/ls1028ardb/patches/arm-trusted-firmware/arm-trusted-firmware.hash b/board/freescale/ls1028ardb/patches/arm-trusted-firmware/arm-trusted-firmware.hash
index f9af28ab3cf5..41c7ad4068a4 100644
--- a/board/freescale/ls1028ardb/patches/arm-trusted-firmware/arm-trusted-firmware.hash
+++ b/board/freescale/ls1028ardb/patches/arm-trusted-firmware/arm-trusted-firmware.hash
@@ -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
diff --git a/board/freescale/ls1028ardb/patches/linux/linux.hash b/board/freescale/ls1028ardb/patches/linux/linux.hash
index e038c2286237..43dbe074c2ec 100644
--- a/board/freescale/ls1028ardb/patches/linux/linux.hash
+++ b/board/freescale/ls1028ardb/patches/linux/linux.hash
@@ -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
diff --git a/board/freescale/ls1028ardb/patches/uboot/uboot.hash b/board/freescale/ls1028ardb/patches/uboot/uboot.hash
index a5ccd82b2b0d..5e36d9348789 100644
--- a/board/freescale/ls1028ardb/patches/uboot/uboot.hash
+++ b/board/freescale/ls1028ardb/patches/uboot/uboot.hash
@@ -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
diff --git a/board/freescale/ls1028ardb/readme.txt b/board/freescale/ls1028ardb/readme.txt
index 6633d60b9013..8be720a80390 100644
--- a/board/freescale/ls1028ardb/readme.txt
+++ b/board/freescale/ls1028ardb/readme.txt
@@ -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
 =====
diff --git a/configs/ls1028ardb_defconfig b/configs/ls1028ardb_defconfig
index 0d1843bf5fce..5ee2911cc0f0 100644
--- a/configs/ls1028ardb_defconfig
+++ b/configs/ls1028ardb_defconfig
@@ -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
-- 
2.43.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 48+ messages in thread

* [Buildroot] [PATCH v2 06/18] configs/ls1046a-frwy: bump BSP tag to lf-6.12.3-1.0.0
  2025-03-28 18:04 [Buildroot] [PATCH v2 00/18] Layerscape uprev to lf-6.12.3-1.0.0, initial LX2160A-RDB support Vladimir Oltean
                   ` (4 preceding siblings ...)
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 05/18] configs/ls1028ardb: update to lf-6.12.3-1.0.0 tag Vladimir Oltean
@ 2025-03-28 18:04 ` Vladimir Oltean
  2025-04-13  9:46   ` Julien Olivain
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 07/18] configs/ls1046a-rdb: " Vladimir Oltean
                   ` (11 subsequent siblings)
  17 siblings, 1 reply; 48+ messages in thread
From: Vladimir Oltean @ 2025-03-28 18:04 UTC (permalink / raw)
  To: buildroot
  Cc: Ioana Ciornei, Brandon Maier, Vincent Jardin, Julien Olivain,
	Romain Naour, Akhilesh Nema

The latest Linux Factory tag is lf-6.12.3-1.0.0 (Q1 2025), update to
that.

The LS1046A-FRWY board is currently supported by NXP through a BSP
called LDLSDK. That isn't what we use, so update the documentation to
reflect that for awareness, and provide a link.

Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
---
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(-)

diff --git a/board/freescale/ls1046a-frwy/patches/arm-trusted-firmware/arm-trusted-firmware.hash b/board/freescale/ls1046a-frwy/patches/arm-trusted-firmware/arm-trusted-firmware.hash
index 344a6299d88d..41c7ad4068a4 100644
--- a/board/freescale/ls1046a-frwy/patches/arm-trusted-firmware/arm-trusted-firmware.hash
+++ b/board/freescale/ls1046a-frwy/patches/arm-trusted-firmware/arm-trusted-firmware.hash
@@ -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
diff --git a/board/freescale/ls1046a-frwy/patches/linux/linux.hash b/board/freescale/ls1046a-frwy/patches/linux/linux.hash
index fa38fb1f75b1..43dbe074c2ec 100644
--- a/board/freescale/ls1046a-frwy/patches/linux/linux.hash
+++ b/board/freescale/ls1046a-frwy/patches/linux/linux.hash
@@ -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
diff --git a/board/freescale/ls1046a-frwy/patches/uboot/uboot.hash b/board/freescale/ls1046a-frwy/patches/uboot/uboot.hash
index a1e3b693768d..5e36d9348789 100644
--- a/board/freescale/ls1046a-frwy/patches/uboot/uboot.hash
+++ b/board/freescale/ls1046a-frwy/patches/uboot/uboot.hash
@@ -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
diff --git a/board/freescale/ls1046a-frwy/readme.txt b/board/freescale/ls1046a-frwy/readme.txt
index fb1c82067ce5..8c83a4eac94d 100644
--- a/board/freescale/ls1046a-frwy/readme.txt
+++ b/board/freescale/ls1046a-frwy/readme.txt
@@ -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
 =====
diff --git a/configs/ls1046a-frwy_defconfig b/configs/ls1046a-frwy_defconfig
index a138234a1423..7d7e1b5686e5 100644
--- a/configs/ls1046a-frwy_defconfig
+++ b/configs/ls1046a-frwy_defconfig
@@ -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
-- 
2.43.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 48+ messages in thread

* [Buildroot] [PATCH v2 07/18] configs/ls1046a-rdb: bump BSP tag to lf-6.12.3-1.0.0
  2025-03-28 18:04 [Buildroot] [PATCH v2 00/18] Layerscape uprev to lf-6.12.3-1.0.0, initial LX2160A-RDB support Vladimir Oltean
                   ` (5 preceding siblings ...)
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 06/18] configs/ls1046a-frwy: bump BSP tag to lf-6.12.3-1.0.0 Vladimir Oltean
@ 2025-03-28 18:04 ` Vladimir Oltean
  2025-04-13  9:46   ` Julien Olivain
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 08/18] configs/ls1043a-rdb: " Vladimir Oltean
                   ` (10 subsequent siblings)
  17 siblings, 1 reply; 48+ messages in thread
From: Vladimir Oltean @ 2025-03-28 18:04 UTC (permalink / raw)
  To: buildroot
  Cc: Ioana Ciornei, Brandon Maier, Vincent Jardin, Julien Olivain,
	Romain Naour, Akhilesh Nema

The latest Linux Factory tag is lf-6.12.3-1.0.0 (Q1 2025), update to
that.

The LS1046A-RDB board is currently supported by NXP through a BSP
called LDLSDK. That isn't what we use, so update the documentation to
reflect that for awareness, and provide a link.

Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
---
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(-)

diff --git a/board/freescale/ls1046a-rdb/patches/arm-trusted-firmware/arm-trusted-firmware.hash b/board/freescale/ls1046a-rdb/patches/arm-trusted-firmware/arm-trusted-firmware.hash
index 344a6299d88d..41c7ad4068a4 100644
--- a/board/freescale/ls1046a-rdb/patches/arm-trusted-firmware/arm-trusted-firmware.hash
+++ b/board/freescale/ls1046a-rdb/patches/arm-trusted-firmware/arm-trusted-firmware.hash
@@ -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
diff --git a/board/freescale/ls1046a-rdb/patches/linux/linux.hash b/board/freescale/ls1046a-rdb/patches/linux/linux.hash
index fa38fb1f75b1..43dbe074c2ec 100644
--- a/board/freescale/ls1046a-rdb/patches/linux/linux.hash
+++ b/board/freescale/ls1046a-rdb/patches/linux/linux.hash
@@ -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
diff --git a/board/freescale/ls1046a-rdb/patches/uboot/uboot.hash b/board/freescale/ls1046a-rdb/patches/uboot/uboot.hash
index a1e3b693768d..5e36d9348789 100644
--- a/board/freescale/ls1046a-rdb/patches/uboot/uboot.hash
+++ b/board/freescale/ls1046a-rdb/patches/uboot/uboot.hash
@@ -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
diff --git a/board/freescale/ls1046a-rdb/readme.txt b/board/freescale/ls1046a-rdb/readme.txt
index 1dc419d3b15d..72005b20d93b 100644
--- a/board/freescale/ls1046a-rdb/readme.txt
+++ b/board/freescale/ls1046a-rdb/readme.txt
@@ -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
 =====
diff --git a/configs/ls1046a-rdb_defconfig b/configs/ls1046a-rdb_defconfig
index dd03d59993ef..1528dfdd8152 100644
--- a/configs/ls1046a-rdb_defconfig
+++ b/configs/ls1046a-rdb_defconfig
@@ -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
-- 
2.43.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 48+ messages in thread

* [Buildroot] [PATCH v2 08/18] configs/ls1043a-rdb: bump BSP tag to lf-6.12.3-1.0.0
  2025-03-28 18:04 [Buildroot] [PATCH v2 00/18] Layerscape uprev to lf-6.12.3-1.0.0, initial LX2160A-RDB support Vladimir Oltean
                   ` (6 preceding siblings ...)
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 07/18] configs/ls1046a-rdb: " Vladimir Oltean
@ 2025-03-28 18:04 ` Vladimir Oltean
  2025-04-13  9:47   ` Julien Olivain
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 09/18] package/qoriq-rcw: bump " Vladimir Oltean
                   ` (9 subsequent siblings)
  17 siblings, 1 reply; 48+ messages in thread
From: Vladimir Oltean @ 2025-03-28 18:04 UTC (permalink / raw)
  To: buildroot
  Cc: Ioana Ciornei, Brandon Maier, Vincent Jardin, Julien Olivain,
	Romain Naour, Akhilesh Nema

The latest Linux Factory tag is lf-6.12.3-1.0.0 (Q1 2025), update to
that.

The LS1043A-RDB board is currently supported by NXP through a BSP
called LDLSDK. That isn't what we use, so update the documentation to
reflect that for awareness, and provide a link.

Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
---
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(-)

diff --git a/board/freescale/ls1043a-rdb/patches/arm-trusted-firmware/arm-trusted-firmware.hash b/board/freescale/ls1043a-rdb/patches/arm-trusted-firmware/arm-trusted-firmware.hash
index 344a6299d88d..41c7ad4068a4 100644
--- a/board/freescale/ls1043a-rdb/patches/arm-trusted-firmware/arm-trusted-firmware.hash
+++ b/board/freescale/ls1043a-rdb/patches/arm-trusted-firmware/arm-trusted-firmware.hash
@@ -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
diff --git a/board/freescale/ls1043a-rdb/patches/linux/linux.hash b/board/freescale/ls1043a-rdb/patches/linux/linux.hash
index fa38fb1f75b1..43dbe074c2ec 100644
--- a/board/freescale/ls1043a-rdb/patches/linux/linux.hash
+++ b/board/freescale/ls1043a-rdb/patches/linux/linux.hash
@@ -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
diff --git a/board/freescale/ls1043a-rdb/patches/uboot/uboot.hash b/board/freescale/ls1043a-rdb/patches/uboot/uboot.hash
index a1e3b693768d..5e36d9348789 100644
--- a/board/freescale/ls1043a-rdb/patches/uboot/uboot.hash
+++ b/board/freescale/ls1043a-rdb/patches/uboot/uboot.hash
@@ -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
diff --git a/board/freescale/ls1043a-rdb/readme.txt b/board/freescale/ls1043a-rdb/readme.txt
index 2770cc55734a..1b6f25904ae1 100644
--- a/board/freescale/ls1043a-rdb/readme.txt
+++ b/board/freescale/ls1043a-rdb/readme.txt
@@ -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
 =====
diff --git a/configs/ls1043a-rdb_defconfig b/configs/ls1043a-rdb_defconfig
index 7073d6343cbe..e0168e2368e3 100644
--- a/configs/ls1043a-rdb_defconfig
+++ b/configs/ls1043a-rdb_defconfig
@@ -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
-- 
2.43.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 48+ messages in thread

* [Buildroot] [PATCH v2 09/18] package/qoriq-rcw: bump to lf-6.12.3-1.0.0
  2025-03-28 18:04 [Buildroot] [PATCH v2 00/18] Layerscape uprev to lf-6.12.3-1.0.0, initial LX2160A-RDB support Vladimir Oltean
                   ` (7 preceding siblings ...)
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 08/18] configs/ls1043a-rdb: " Vladimir Oltean
@ 2025-03-28 18:04 ` Vladimir Oltean
  2025-04-13  9:47   ` Julien Olivain
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 10/18] package/fmlib: uprev " Vladimir Oltean
                   ` (8 subsequent siblings)
  17 siblings, 1 reply; 48+ messages in thread
From: Vladimir Oltean @ 2025-03-28 18:04 UTC (permalink / raw)
  To: buildroot
  Cc: Ioana Ciornei, Brandon Maier, Vincent Jardin, Julien Olivain,
	Romain Naour, Akhilesh Nema

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/20250318213839.17470-1-vjardin@free.fr/

Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
---
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(-)

diff --git a/package/qoriq-rcw/qoriq-rcw.hash b/package/qoriq-rcw/qoriq-rcw.hash
index b9316582ffc6..5c1898551bb2 100644
--- a/package/qoriq-rcw/qoriq-rcw.hash
+++ b/package/qoriq-rcw/qoriq-rcw.hash
@@ -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
diff --git a/package/qoriq-rcw/qoriq-rcw.mk b/package/qoriq-rcw/qoriq-rcw.mk
index c536a12373fc..c44832737f62 100644
--- a/package/qoriq-rcw/qoriq-rcw.mk
+++ b/package/qoriq-rcw/qoriq-rcw.mk
@@ -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
-- 
2.43.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 48+ messages in thread

* [Buildroot] [PATCH v2 10/18] package/fmlib: uprev to lf-6.12.3-1.0.0
  2025-03-28 18:04 [Buildroot] [PATCH v2 00/18] Layerscape uprev to lf-6.12.3-1.0.0, initial LX2160A-RDB support Vladimir Oltean
                   ` (8 preceding siblings ...)
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 09/18] package/qoriq-rcw: bump " Vladimir Oltean
@ 2025-03-28 18:04 ` Vladimir Oltean
  2025-04-13  9:48   ` Julien Olivain
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 11/18] package/fmc: uprev to lf-6.12 Vladimir Oltean
                   ` (7 subsequent siblings)
  17 siblings, 1 reply; 48+ messages in thread
From: Vladimir Oltean @ 2025-03-28 18:04 UTC (permalink / raw)
  To: buildroot
  Cc: Ioana Ciornei, Brandon Maier, Vincent Jardin, Julien Olivain,
	Romain Naour, Akhilesh Nema

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.

Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
---
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

diff --git a/package/fmlib/0001-Fix-the-integer-conversion-error-and-enum-compare-wa.patch b/package/fmlib/0001-Fix-the-integer-conversion-error-and-enum-compare-wa.patch
deleted file mode 100644
index e38b36128f17..000000000000
--- a/package/fmlib/0001-Fix-the-integer-conversion-error-and-enum-compare-wa.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From 3a1962a70cec74b3dac979e52a2cbcaa8897b9c8 Mon Sep 17 00:00:00 2001
-From: Akhilesh Nema <nemaakhilesh@gmail.com>
-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 <nemaakhilesh@gmail.com>
----
- 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
-
diff --git a/package/fmlib/fmlib.hash b/package/fmlib/fmlib.hash
index edf87426dfb0..b0396b939127 100644
--- a/package/fmlib/fmlib.hash
+++ b/package/fmlib/fmlib.hash
@@ -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
diff --git a/package/fmlib/fmlib.mk b/package/fmlib/fmlib.mk
index 601a3e16efb0..38683523d343 100644
--- a/package/fmlib/fmlib.mk
+++ b/package/fmlib/fmlib.mk
@@ -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
-- 
2.43.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 48+ messages in thread

* [Buildroot] [PATCH v2 11/18] package/fmc: uprev to lf-6.12
  2025-03-28 18:04 [Buildroot] [PATCH v2 00/18] Layerscape uprev to lf-6.12.3-1.0.0, initial LX2160A-RDB support Vladimir Oltean
                   ` (9 preceding siblings ...)
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 10/18] package/fmlib: uprev " Vladimir Oltean
@ 2025-03-28 18:04 ` Vladimir Oltean
  2025-04-13  9:48   ` Julien Olivain
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 12/18] package/qoriq-fm-ucode: uprev to lf-6.12.3-1.0.0 Vladimir Oltean
                   ` (6 subsequent siblings)
  17 siblings, 1 reply; 48+ messages in thread
From: Vladimir Oltean @ 2025-03-28 18:04 UTC (permalink / raw)
  To: buildroot
  Cc: Ioana Ciornei, Brandon Maier, Vincent Jardin, Julien Olivain,
	Romain Naour, Akhilesh Nema

Concretely, no change. But prevents people from going to Github and
checking whether the package is up to date.

Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
---
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(-)

diff --git a/package/fmc/fmc.hash b/package/fmc/fmc.hash
index 8f59c94e6a52..c3197fa1af28 100644
--- a/package/fmc/fmc.hash
+++ b/package/fmc/fmc.hash
@@ -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
diff --git a/package/fmc/fmc.mk b/package/fmc/fmc.mk
index c6d36f14a00b..26282313ba73 100644
--- a/package/fmc/fmc.mk
+++ b/package/fmc/fmc.mk
@@ -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
-- 
2.43.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 48+ messages in thread

* [Buildroot] [PATCH v2 12/18] package/qoriq-fm-ucode: uprev to lf-6.12.3-1.0.0
  2025-03-28 18:04 [Buildroot] [PATCH v2 00/18] Layerscape uprev to lf-6.12.3-1.0.0, initial LX2160A-RDB support Vladimir Oltean
                   ` (10 preceding siblings ...)
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 11/18] package/fmc: uprev to lf-6.12 Vladimir Oltean
@ 2025-03-28 18:04 ` Vladimir Oltean
  2025-04-13  9:49   ` Julien Olivain
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 13/18] package/qoriq-ddr-phy-binary: new package Vladimir Oltean
                   ` (5 subsequent siblings)
  17 siblings, 1 reply; 48+ messages in thread
From: Vladimir Oltean @ 2025-03-28 18:04 UTC (permalink / raw)
  To: buildroot
  Cc: Ioana Ciornei, Brandon Maier, Vincent Jardin, Julien Olivain,
	Romain Naour, Akhilesh Nema

Concretely, no change. But saves people the hassle of checking whether
any updates have been missed.

Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
---
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(-)

diff --git a/package/qoriq-fm-ucode/qoriq-fm-ucode.hash b/package/qoriq-fm-ucode/qoriq-fm-ucode.hash
index bf494b177bb0..dfad7affe050 100644
--- a/package/qoriq-fm-ucode/qoriq-fm-ucode.hash
+++ b/package/qoriq-fm-ucode/qoriq-fm-ucode.hash
@@ -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
diff --git a/package/qoriq-fm-ucode/qoriq-fm-ucode.mk b/package/qoriq-fm-ucode/qoriq-fm-ucode.mk
index 71904e5b1376..6df0839be32e 100644
--- a/package/qoriq-fm-ucode/qoriq-fm-ucode.mk
+++ b/package/qoriq-fm-ucode/qoriq-fm-ucode.mk
@@ -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
-- 
2.43.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 48+ messages in thread

* [Buildroot] [PATCH v2 13/18] package/qoriq-ddr-phy-binary: new package
  2025-03-28 18:04 [Buildroot] [PATCH v2 00/18] Layerscape uprev to lf-6.12.3-1.0.0, initial LX2160A-RDB support Vladimir Oltean
                   ` (11 preceding siblings ...)
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 12/18] package/qoriq-fm-ucode: uprev to lf-6.12.3-1.0.0 Vladimir Oltean
@ 2025-03-28 18:04 ` Vladimir Oltean
  2025-04-13 14:04   ` Julien Olivain
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 14/18] package/qoriq-mc-binary: " Vladimir Oltean
                   ` (4 subsequent siblings)
  17 siblings, 1 reply; 48+ messages in thread
From: Vladimir Oltean @ 2025-03-28 18:04 UTC (permalink / raw)
  To: buildroot
  Cc: Ioana Ciornei, Brandon Maier, Vincent Jardin, Julien Olivain,
	Romain Naour, Akhilesh Nema

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/20250318163228.9989-1-vjardin@free.fr/

But I haven't integrated any of that feedback. It is a simple package
which copies the pre-built FIP image containing DDR PHY firmware files
to the images/ folder, to be used by post-image scripts.

Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
Reviewed-by: Romain Naour <romain.naour@smile.fr>
Reviewed-by: Vincent Jardin <vjardin@free.fr>
---
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

diff --git a/DEVELOPERS b/DEVELOPERS
index 44f7684c974c..a1c7f867808e 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -3369,6 +3369,9 @@ N:	Vivien Didelot <vivien.didelot@gmail.com>
 F:	board/technologic/ts5500/
 F:	configs/ts5500_defconfig
 
+N:	Vladimir Oltean <olteanv@gmail.com>
+F:	package/qoriq-ddr-phy-binary/
+
 N:	Volkov Viacheslav <sv99@inbox.ru>
 F:	package/v4l2grab/
 F:	package/zbar/
diff --git a/package/Config.in b/package/Config.in
index d8751fc19f54..b6aecf7d7707 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -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"
diff --git a/package/qoriq-ddr-phy-binary/Config.in b/package/qoriq-ddr-phy-binary/Config.in
new file mode 100644
index 000000000000..301a2c197421
--- /dev/null
+++ b/package/qoriq-ddr-phy-binary/Config.in
@@ -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
diff --git a/package/qoriq-ddr-phy-binary/qoriq-ddr-phy-binary.hash b/package/qoriq-ddr-phy-binary/qoriq-ddr-phy-binary.hash
new file mode 100644
index 000000000000..7a689d42a5ad
--- /dev/null
+++ b/package/qoriq-ddr-phy-binary/qoriq-ddr-phy-binary.hash
@@ -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
diff --git a/package/qoriq-ddr-phy-binary/qoriq-ddr-phy-binary.mk b/package/qoriq-ddr-phy-binary/qoriq-ddr-phy-binary.mk
new file mode 100644
index 000000000000..5ce990b75b76
--- /dev/null
+++ b/package/qoriq-ddr-phy-binary/qoriq-ddr-phy-binary.mk
@@ -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))
-- 
2.43.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 48+ messages in thread

* [Buildroot] [PATCH v2 14/18] package/qoriq-mc-binary: new package
  2025-03-28 18:04 [Buildroot] [PATCH v2 00/18] Layerscape uprev to lf-6.12.3-1.0.0, initial LX2160A-RDB support Vladimir Oltean
                   ` (12 preceding siblings ...)
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 13/18] package/qoriq-ddr-phy-binary: new package Vladimir Oltean
@ 2025-03-28 18:04 ` Vladimir Oltean
  2025-04-22 21:17   ` Thomas Petazzoni via buildroot
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 15/18] package/qoriq-mc-utils: " Vladimir Oltean
                   ` (3 subsequent siblings)
  17 siblings, 1 reply; 48+ messages in thread
From: Vladimir Oltean @ 2025-03-28 18:04 UTC (permalink / raw)
  To: buildroot
  Cc: Ioana Ciornei, Brandon Maier, Vincent Jardin, Julien Olivain,
	Romain Naour, Akhilesh Nema

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/482493f17e63d2b4cb285b50049ed8e6@free.fr/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.

Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
---
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

diff --git a/DEVELOPERS b/DEVELOPERS
index a1c7f867808e..a76c7eeee6fd 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -3371,6 +3371,7 @@ F:	configs/ts5500_defconfig
 
 N:	Vladimir Oltean <olteanv@gmail.com>
 F:	package/qoriq-ddr-phy-binary/
+F:	package/qoriq-mc-binary/
 
 N:	Volkov Viacheslav <sv99@inbox.ru>
 F:	package/v4l2grab/
diff --git a/package/Config.in b/package/Config.in
index b6aecf7d7707..c37c5382fe62 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -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"
diff --git a/package/qoriq-mc-binary/Config.in b/package/qoriq-mc-binary/Config.in
new file mode 100644
index 000000000000..6008b6c45631
--- /dev/null
+++ b/package/qoriq-mc-binary/Config.in
@@ -0,0 +1,55 @@
+config BR2_PACKAGE_QORIQ_MC_BINARY
+	bool "qoriq-mc-binary"
+	help
+	  The Management Complex (MC) is a key component of the
+	  networking subsystem named DPAA2 (Data Path Acceleration
+	  Architecture, second version) in some NXP Layerscape SoCs.
+
+	  The MC coprocessor runs a closed-source, NXP-supplied
+	  firmware image that simplifies and abstracts the allocation
+	  and configuration of the networking hardware primitives into
+	  DPAA2 "objects".
+
+	  https://github.com/nxp-qoriq/qoriq-mc-binary
+
+if BR2_PACKAGE_QORIQ_MC_BINARY
+choice
+	prompt "QorIQ MC firmware target"
+	help
+	  Select the target SoC for the QorIQ MC firmware.
+
+config BR2_PACKAGE_QORIQ_MC_BINARY_TARGET_LS1088A
+	bool "ls1088a"
+
+config BR2_PACKAGE_QORIQ_MC_BINARY_TARGET_LS2080A
+	bool "ls2080a"
+
+config BR2_PACKAGE_QORIQ_MC_BINARY_TARGET_LS2088A
+	bool "ls2088a"
+
+config BR2_PACKAGE_QORIQ_MC_BINARY_TARGET_LX2160A
+	bool "lx2160a"
+
+endchoice
+
+config BR2_QORIQ_MC_BINARY_PLATFORM
+	string
+	default "ls1088a" if BR2_PACKAGE_QORIQ_MC_BINARY_TARGET_LS1088A
+	default "ls2080a" if BR2_PACKAGE_QORIQ_MC_BINARY_TARGET_LS2080A
+	default "ls2088a" if BR2_PACKAGE_QORIQ_MC_BINARY_TARGET_LS2088A
+	default "lx2160a" if BR2_PACKAGE_QORIQ_MC_BINARY_TARGET_LX2160A
+
+config BR2_QORIQ_MC_BINARY_SUBDIR
+	string
+	default "lx216xa" if BR2_PACKAGE_QORIQ_MC_BINARY_TARGET_LX2160A
+	default BR2_QORIQ_MC_BINARY_PLATFORM
+
+config BR2_PACKAGE_QORIQ_MC_BINARY_TARGET_INSTALL_PATH
+	string "Path on target to install MC firmware"
+	help
+	  The MC firmware can optionally be deployed to the target
+	  filesystem at the path specified here. This is useful if
+	  the mcinitcmd U-Boot environment variable is configured
+	  to load the MC firmware from the filesystem.
+
+endif
diff --git a/package/qoriq-mc-binary/qoriq-mc-binary.hash b/package/qoriq-mc-binary/qoriq-mc-binary.hash
new file mode 100644
index 000000000000..ccddff28cdd1
--- /dev/null
+++ b/package/qoriq-mc-binary/qoriq-mc-binary.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256  912ad8effd5c7b08eb277719b1e021b8b1fe4022dc3d961b419562e1d2d7a860  qoriq-mc-binary-10.39.0.tar.gz
+sha256  7733839334c6c820f01f76bff7ee9b60411effdcee8b6017e1d5bcacbdb432f6  LICENSE
diff --git a/package/qoriq-mc-binary/qoriq-mc-binary.mk b/package/qoriq-mc-binary/qoriq-mc-binary.mk
new file mode 100644
index 000000000000..e554a98fec9a
--- /dev/null
+++ b/package/qoriq-mc-binary/qoriq-mc-binary.mk
@@ -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))
-- 
2.43.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 48+ messages in thread

* [Buildroot] [PATCH v2 15/18] package/qoriq-mc-utils: new package
  2025-03-28 18:04 [Buildroot] [PATCH v2 00/18] Layerscape uprev to lf-6.12.3-1.0.0, initial LX2160A-RDB support Vladimir Oltean
                   ` (13 preceding siblings ...)
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 14/18] package/qoriq-mc-binary: " Vladimir Oltean
@ 2025-03-28 18:04 ` Vladimir Oltean
  2025-04-22 21:31   ` Thomas Petazzoni via buildroot
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 16/18] package/qoriq-restool: " Vladimir Oltean
                   ` (2 subsequent siblings)
  17 siblings, 1 reply; 48+ messages in thread
From: Vladimir Oltean @ 2025-03-28 18:04 UTC (permalink / raw)
  To: buildroot
  Cc: Ioana Ciornei, Brandon Maier, Vincent Jardin, Julien Olivain,
	Romain Naour, Akhilesh Nema

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.

Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
---
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

diff --git a/DEVELOPERS b/DEVELOPERS
index a76c7eeee6fd..cd67a04b2961 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -3372,6 +3372,7 @@ F:	configs/ts5500_defconfig
 N:	Vladimir Oltean <olteanv@gmail.com>
 F:	package/qoriq-ddr-phy-binary/
 F:	package/qoriq-mc-binary/
+F:	package/qoriq-mc-utils/
 
 N:	Volkov Viacheslav <sv99@inbox.ru>
 F:	package/v4l2grab/
diff --git a/package/Config.in b/package/Config.in
index c37c5382fe62..754c9e76c26c 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -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"
diff --git a/package/qoriq-mc-utils/Config.in b/package/qoriq-mc-utils/Config.in
new file mode 100644
index 000000000000..7444aef4c3ec
--- /dev/null
+++ b/package/qoriq-mc-utils/Config.in
@@ -0,0 +1,76 @@
+config BR2_PACKAGE_QORIQ_MC_UTILS
+	bool "qoriq-mc-utils"
+	select BR2_PACKAGE_HOST_DTC
+	help
+	  The Management Complex (MC) is a key component of the
+	  networking subsystem named DPAA2 (Data Path Acceleration
+	  Architecture, second version) in some NXP Layerscape SoCs.
+
+	  The MC firmware is configured through two distinct files
+	  named DPL and DPC, which are customizable by the end user.
+	  Example configuration files for NXP reference boards are
+	  distributed through this package, and are frequently patched
+	  to produce the configuration required in other scenarios.
+
+	  https://github.com/nxp-qoriq/mc-utils
+	  # sign in required
+	  https://www.nxp.com/webapp/Download?colCode=DPAA2UM
+
+if BR2_PACKAGE_QORIQ_MC_UTILS
+
+config BR2_PACKAGE_QORIQ_MC_UTILS_DPC_CUSTOM_PATH
+	string "Data Path Configuration (DPC) custom file paths"
+	help
+	  The DPC file contains the settings defining the behavior
+	  of the MC firmware. Its structure follows the device
+	  tree syntax and is compiled to a device tree blob.
+
+	  This option defines a space-separated list of device
+	  tree source (DTS) file names, specified without
+	  the trailing .dts. It should be used when the NXP
+	  qoriq-mc-utils repository does not contain an adequate
+	  DPC for the platform, and is preferable to patching
+	  the package.
+
+config BR2_PACKAGE_QORIQ_MC_UTILS_DPC_INTREE
+	string "Data Path Configuration (DPC) in-tree files"
+	help
+	  This option defines a space-separated list of device
+	  tree source (DTS) files relative to the "config/"
+	  folder of the qoriq-mc-utils repository, specified
+	  without the trailing .dts. It should be used when NXP
+	  provides an adequate DPC for the platform.
+
+config BR2_PACKAGE_QORIQ_MC_UTILS_DPL_CUSTOM_PATH
+	string "Data Path Layout (DPL) custom file paths"
+	help
+	  The DPL file contains a description of the initial
+	  networking objects created by the MC firmware when it
+	  boots. Its structure follows the device tree syntax
+	  and is compiled to a device tree blob.
+
+	  This option defines a space-separated list of device
+	  tree source (DTS) files, specified without the
+	  trailing .dts. It should be used when the NXP
+	  qoriq-mc-utils repository does not contain an
+	  adequate DPL for the platform, and is preferable to
+	  patching the package.
+
+config BR2_PACKAGE_QORIQ_MC_UTILS_DPL_INTREE
+	string "Data Path Layout (DPL) in-tree files"
+	help
+	  This option defines a space-separated list of device
+	  tree source (DTS) files relative to the "config/"
+	  folder of the qoriq-mc-utils repository, specified
+	  without the trailing .dts. It should be used when NXP
+	  provides an adequate DPL for the platform.
+
+config BR2_PACKAGE_QORIQ_MC_UTILS_TARGET_INSTALL_PATH
+	string "Path on target to install DPL and DPC files"
+	help
+	  The DPL and DPC files can optionally be deployed to
+	  the target at the path specified here. This is useful
+	  if the mcinitcmd U-Boot environment variable is
+	  configured to apply the DPL and DPC from the filesystem.
+
+endif
diff --git a/package/qoriq-mc-utils/qoriq-mc-utils.hash b/package/qoriq-mc-utils/qoriq-mc-utils.hash
new file mode 100644
index 000000000000..f0234b9d1ff8
--- /dev/null
+++ b/package/qoriq-mc-utils/qoriq-mc-utils.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256  1d3f4a6b2661cff9cfb5d4fcba3b181eb6febdd88a127fa069e306f51d778fc5  qoriq-mc-utils-10.39.0.tar.gz
+sha256  7a223031d76339df0e4e5a94d193a270fb9963d42b577aa42fe130a4657f3e17  LICENSE
diff --git a/package/qoriq-mc-utils/qoriq-mc-utils.mk b/package/qoriq-mc-utils/qoriq-mc-utils.mk
new file mode 100644
index 000000000000..8504625eeeae
--- /dev/null
+++ b/package/qoriq-mc-utils/qoriq-mc-utils.mk
@@ -0,0 +1,41 @@
+################################################################################
+#
+# qoriq-mc-utils
+#
+################################################################################
+
+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
+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; )
+endef
+
+define QORIQ_MC_UTILS_BUILD_CMDS
+	PATH=$(BR_PATH) $(MAKE) -C $(@D)/config/
+endef
+
+define QORIQ_MC_UTILS_INSTALL_IMAGES_CMDS
+	$(call QORIQ_MC_UTILS_INSTALL_FILES,$(BINARIES_DIR))
+endef
+
+define QORIQ_MC_UTILS_INSTALL_TARGET_CMDS
+	$(call QORIQ_MC_UTILS_INSTALL_FILES,$(TARGET_DIR)/$(QORIQ_MC_UTILS_INSTALL_PATH))
+endef
+
+$(eval $(generic-package))
-- 
2.43.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 48+ messages in thread

* [Buildroot] [PATCH v2 16/18] package/qoriq-restool: new package
  2025-03-28 18:04 [Buildroot] [PATCH v2 00/18] Layerscape uprev to lf-6.12.3-1.0.0, initial LX2160A-RDB support Vladimir Oltean
                   ` (14 preceding siblings ...)
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 15/18] package/qoriq-mc-utils: " Vladimir Oltean
@ 2025-03-28 18:04 ` Vladimir Oltean
  2025-04-22 21:36   ` Thomas Petazzoni via buildroot
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 17/18] package/qoriq-firmware-inphi: " Vladimir Oltean
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 18/18] board/lx2160ardb: new platform Vladimir Oltean
  17 siblings, 1 reply; 48+ messages in thread
From: Vladimir Oltean @ 2025-03-28 18:04 UTC (permalink / raw)
  To: buildroot
  Cc: Ioana Ciornei, Brandon Maier, Vincent Jardin, Julien Olivain,
	Romain Naour, Akhilesh Nema

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.

Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
Reviewed-by: Vincent Jardin <vjardin@free.fr>
---
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

diff --git a/DEVELOPERS b/DEVELOPERS
index cd67a04b2961..4288172e8670 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -3373,6 +3373,7 @@ N:	Vladimir Oltean <olteanv@gmail.com>
 F:	package/qoriq-ddr-phy-binary/
 F:	package/qoriq-mc-binary/
 F:	package/qoriq-mc-utils/
+F:	package/qoriq-restool/
 
 N:	Volkov Viacheslav <sv99@inbox.ru>
 F:	package/v4l2grab/
diff --git a/package/Config.in b/package/Config.in
index 754c9e76c26c..40b4bb5307ce 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -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"
diff --git a/package/qoriq-restool/Config.in b/package/qoriq-restool/Config.in
new file mode 100644
index 000000000000..dbe0934d4dd3
--- /dev/null
+++ b/package/qoriq-restool/Config.in
@@ -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
diff --git a/package/qoriq-restool/qoriq-restool.hash b/package/qoriq-restool/qoriq-restool.hash
new file mode 100644
index 000000000000..1081be2f5b1f
--- /dev/null
+++ b/package/qoriq-restool/qoriq-restool.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256  75c8cf7192eb54f50ff59047931a9b3210aade5d25d25c027a11eb7e659e8b21  qoriq-restool-14a9058c772b7b556e756ad8fd62a6762cde58df.tar.gz
+sha256  68f4b15ecc085729419bc60ca6eeadca5af0237bbfec791e8a79da9c943d42e9  LICENSE
diff --git a/package/qoriq-restool/qoriq-restool.mk b/package/qoriq-restool/qoriq-restool.mk
new file mode 100644
index 000000000000..23ea9c7e310f
--- /dev/null
+++ b/package/qoriq-restool/qoriq-restool.mk
@@ -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))
-- 
2.43.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 48+ messages in thread

* [Buildroot] [PATCH v2 17/18] package/qoriq-firmware-inphi: new package
  2025-03-28 18:04 [Buildroot] [PATCH v2 00/18] Layerscape uprev to lf-6.12.3-1.0.0, initial LX2160A-RDB support Vladimir Oltean
                   ` (15 preceding siblings ...)
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 16/18] package/qoriq-restool: " Vladimir Oltean
@ 2025-03-28 18:04 ` Vladimir Oltean
  2025-04-22 21:39   ` Thomas Petazzoni via buildroot
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 18/18] board/lx2160ardb: new platform Vladimir Oltean
  17 siblings, 1 reply; 48+ messages in thread
From: Vladimir Oltean @ 2025-03-28 18:04 UTC (permalink / raw)
  To: buildroot
  Cc: Ioana Ciornei, Brandon Maier, Vincent Jardin, Julien Olivain,
	Romain Naour, Akhilesh Nema

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.

Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
---
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

diff --git a/DEVELOPERS b/DEVELOPERS
index 4288172e8670..22f5e527471c 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -3371,6 +3371,7 @@ F:	configs/ts5500_defconfig
 
 N:	Vladimir Oltean <olteanv@gmail.com>
 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/
diff --git a/package/Config.in b/package/Config.in
index 40b4bb5307ce..b3212cb0fe9d 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -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"
diff --git a/package/qoriq-firmware-inphi/Config.in b/package/qoriq-firmware-inphi/Config.in
new file mode 100644
index 000000000000..88ae96c07531
--- /dev/null
+++ b/package/qoriq-firmware-inphi/Config.in
@@ -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
diff --git a/package/qoriq-firmware-inphi/qoriq-firmware-inphi.hash b/package/qoriq-firmware-inphi/qoriq-firmware-inphi.hash
new file mode 100644
index 000000000000..df860e47a004
--- /dev/null
+++ b/package/qoriq-firmware-inphi/qoriq-firmware-inphi.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256  bc04d6b7ca578ad4bba053a8ec3929af305f296f23c32557dc290540cb49ac18  qoriq-firmware-inphi-f22e9ff3bfed8342da6efb699e473b11fbad5695.tar.gz
+sha256  53e3eb0b2bd81c171fa04c17514e20b39b7bb1fe1224c593f7717f615fb9d52b  EULA.txt
diff --git a/package/qoriq-firmware-inphi/qoriq-firmware-inphi.mk b/package/qoriq-firmware-inphi/qoriq-firmware-inphi.mk
new file mode 100644
index 000000000000..630c6634fd6b
--- /dev/null
+++ b/package/qoriq-firmware-inphi/qoriq-firmware-inphi.mk
@@ -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))
-- 
2.43.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 48+ messages in thread

* [Buildroot] [PATCH v2 18/18] board/lx2160ardb: new platform
  2025-03-28 18:04 [Buildroot] [PATCH v2 00/18] Layerscape uprev to lf-6.12.3-1.0.0, initial LX2160A-RDB support Vladimir Oltean
                   ` (16 preceding siblings ...)
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 17/18] package/qoriq-firmware-inphi: " Vladimir Oltean
@ 2025-03-28 18:04 ` Vladimir Oltean
  2025-03-29  2:09   ` Vincent Jardin
  2025-04-22 21:45   ` Thomas Petazzoni via buildroot
  17 siblings, 2 replies; 48+ messages in thread
From: Vladimir Oltean @ 2025-03-28 18:04 UTC (permalink / raw)
  To: buildroot
  Cc: Ioana Ciornei, Brandon Maier, Vincent Jardin, Julien Olivain,
	Romain Naour, Akhilesh Nema

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.

Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
---
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

diff --git a/board/freescale/lx2160ardb/extlinux.conf b/board/freescale/lx2160ardb/extlinux.conf
new file mode 100644
index 000000000000..2a1109ab1a4d
--- /dev/null
+++ b/board/freescale/lx2160ardb/extlinux.conf
@@ -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
diff --git a/board/freescale/lx2160ardb/genimage.cfg b/board/freescale/lx2160ardb/genimage.cfg
new file mode 100644
index 000000000000..f895a5ab5e7f
--- /dev/null
+++ b/board/freescale/lx2160ardb/genimage.cfg
@@ -0,0 +1,47 @@
+image sdcard.img {
+	/* 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
+	}
+
+	partition rootfs {
+		bootable = "true"
+		image = "rootfs.ext4"
+		partition-uuid = %PARTUUID%
+	}
+}
diff --git a/board/freescale/lx2160ardb/patches/arm-trusted-firmware/arm-trusted-firmware.hash b/board/freescale/lx2160ardb/patches/arm-trusted-firmware/arm-trusted-firmware.hash
new file mode 100644
index 000000000000..df0b69649ab6
--- /dev/null
+++ b/board/freescale/lx2160ardb/patches/arm-trusted-firmware/arm-trusted-firmware.hash
@@ -0,0 +1,2 @@
+# Locally computed
+sha256  2751fcd3eb9080c34531f68ca2e1f571a60f4220853df53a5ebed9835abf8c13  atf-lf-6.12.3-1.0.0.tar.gz
diff --git a/board/freescale/lx2160ardb/patches/linux-headers/linux-headers.hash b/board/freescale/lx2160ardb/patches/linux-headers/linux-headers.hash
new file mode 120000
index 000000000000..5808d92afe89
--- /dev/null
+++ b/board/freescale/lx2160ardb/patches/linux-headers/linux-headers.hash
@@ -0,0 +1 @@
+../linux/linux.hash
\ No newline at end of file
diff --git a/board/freescale/lx2160ardb/patches/linux/linux.hash b/board/freescale/lx2160ardb/patches/linux/linux.hash
new file mode 100644
index 000000000000..43dbe074c2ec
--- /dev/null
+++ b/board/freescale/lx2160ardb/patches/linux/linux.hash
@@ -0,0 +1,2 @@
+# Locally computed
+sha256  9e2fff1014f1b196be8149c63a6054e40b1b36b222e53db3f445c96c856066e0  linux-lf-6.12.3-1.0.0.tar.gz
diff --git a/board/freescale/lx2160ardb/patches/uboot/uboot.hash b/board/freescale/lx2160ardb/patches/uboot/uboot.hash
new file mode 100644
index 000000000000..5e36d9348789
--- /dev/null
+++ b/board/freescale/lx2160ardb/patches/uboot/uboot.hash
@@ -0,0 +1,2 @@
+# Locally computed
+sha256  8708fc95844d020f79b87f954f29073ae9b230de3e41117e7fb379294da946ac  u-boot-lf-6.12.3-1.0.0.tar.gz
diff --git a/board/freescale/lx2160ardb/post-build.sh b/board/freescale/lx2160ardb/post-build.sh
new file mode 100755
index 000000000000..4042bf9c7e24
--- /dev/null
+++ b/board/freescale/lx2160ardb/post-build.sh
@@ -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"
diff --git a/board/freescale/lx2160ardb/rcw_2200_750_3200_19_5_2_sd.rcw b/board/freescale/lx2160ardb/rcw_2200_750_3200_19_5_2_sd.rcw
new file mode 100644
index 000000000000..4c4b7d9c7995
--- /dev/null
+++ b/board/freescale/lx2160ardb/rcw_2200_750_3200_19_5_2_sd.rcw
@@ -0,0 +1,67 @@
+/*
+ * SerDes Protocol 1 -  19
+ * SerDes Protocol 2 -  5
+ * SerDes Protocol 3 -  2
+ *
+ * Frequencies:
+ * Core     -- 2200 MHz
+ * Platform -- 750  MHz
+ * DDR      -- 3200 MT/s
+ */
+
+#include <../lx2160asi/lx2160a.rcwi>
+
+SYS_PLL_RAT=15
+MEM_PLL_CFG=3
+MEM_PLL_RAT=32
+MEM2_PLL_CFG=3
+MEM2_PLL_RAT=32
+CGA_PLL1_RAT=22
+CGA_PLL2_RAT=22
+CGB_PLL1_RAT=22
+CGB_PLL2_RAT=9
+HWA_CGA_M1_CLK_SEL=1
+HWA_CGB_M1_CLK_SEL=6
+BOOT_LOC=8
+SYSCLK_FREQ=600
+IIC2_PMUX=6
+IIC3_PMUX=2
+IIC4_PMUX=2
+USB3_CLK_FSEL=39
+SRDS_PLL_PD_PLL5=1
+SRDS_PRTCL_S1=19
+SRDS_PRTCL_S2=5
+SRDS_PRTCL_S3=2
+SRDS_PLL_REF_CLK_SEL_S1=2
+SRDS_DIV_PEX_S1=1
+SRDS_DIV_PEX_S2=1
+SRDS_DIV_PEX_S3=1
+
+/* Errata to write on scratch reg for validation */
+#include <../lx2160asi/scratchrw1.rcw>
+
+/* Boot Location Pointer */
+#include <../lx2160asi/bootlocptr_sd.rcw>
+
+/* Errata for SATA controller */
+#include <../lx2160asi/a010554.rcw>
+
+/* common PBI commands */
+#include <../lx2160asi/common.rcw>
+
+/* Modify FlexSPI Clock Divisor value */
+#include <../lx2160asi/flexspi_divisor_32.rcw>
+
+/*PCIe Errata A-009531*/
+#include <../lx2160asi/a009531_PEX3.rcw>
+#include <../lx2160asi/a009531_PEX5.rcw>
+
+/*PCIe Errata A-008851*/
+#include <../lx2160asi/a008851_PEX3.rcw>
+#include <../lx2160asi/a008851_PEX5.rcw>
+
+/*SerDes Errata A-050479*/
+#include <../lx2160asi/a050479.rcw>
+
+/* Errata A-050426 */
+#include <../lx2160asi/a050426.rcw>
diff --git a/board/freescale/lx2160ardb/readme.txt b/board/freescale/lx2160ardb/readme.txt
new file mode 100644
index 000000000000..669f6d2aee47
--- /dev/null
+++ b/board/freescale/lx2160ardb/readme.txt
@@ -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.
+
+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
+  - linux (fork), lf-6.12.3-1.0.0
+
+Build
+=====
+
+First, configure Buildroot for the LX2160ARDB board:
+
+  make lx2160rdb_defconfig
+
+Build all components:
+
+  make
+
+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
+  - u-boot.bin
+  - uboot-env.bin
+
+Create a bootable SD card
+=========================
+
+To determine the device associated to the SD card have a look in the
+/proc/partitions file:
+
+  cat /proc/partitions
+
+Buildroot prepares a bootable "sdcard.img" image in the output/images/
+directory, ready to be dumped on a SD card. Launch the following
+command as root:
+
+  dd if=output/images/sdcard.img of=/dev/sdX
+
+The SD card image can also be programmed from a live system running U-Boot:
+
+  => setenv autoload off && tftp $load_addr sdcard.img && mmc dev 0 && mmc write $load_addr 0 0x80000
+
+*** WARNING! This will destroy all the card content. Use with care! ***
+
+For details about the medium image layout, see the definition in
+board/freescale/lx2160ardb/genimage.cfg.
+
+Boot the LX2160ARDB board
+=========================
+
+To boot your newly created system:
+- insert the SD card in the SD slot of the board;
+- Configure the switches SW1[1:4] = 0b1000 (select SD Card boot option),
+  or alternatively, run "qixis_reset sd" from a U-Boot booted from a different
+  boot source (NOR, eMMC etc).
+- put a DB9F cable into the UART1 Port and connect using a terminal
+  emulator at 115200 bps, 8n1;
+- power on the board.
+
+The DPL and DPC files provided by NXP are not maximal configurations.
+They only contain a static description for:
+- the 40GbE QSFP+ MAC2 (which implicitly has MAC_LINK_TYPE_FIXED, because its
+  entry is missing from the DPC, and this means that the link state is provided
+  by the MC firmware)
+- the 1GbE RGMII MAC17 (specified as MAC_LINK_TYPE_PHY in the DPC, which means
+  that the link state is provided by phylink).
+
+The extra interfaces routed to front panel ports are endpmac3, endpmac4,
+endpmac5, endpmac6 and endpmac18. Among the more usual networking choices, one
+could create individual DPNIs for each MAC:
+
+$ ls-addni dpmac.3 && ls-addni dpmac.4 && ls-addni dpmac.5 && ls-addni dpmac.6 && ls-addni dpmac.18
+
+or a DPSW object to accelerate L2 forwarding between them:
+
+$ ls-addsw --num-ifs=4 --max-fdbs=4 --flooding-cfg=DPSW_FLOODING_PER_FDB \
+       --broadcast-cfg=DPSW_BROADCAST_PER_FDB dpmac.3 dpmac.4 dpmac.5 dpmac.6
+$ ip link add br0 type bridge vlan_filtering 1 && ip link set br0 up
+$ for eth in endpmac3 endpmac4 endpmac5 endpmac6; do \
+       ip link set $eth master br0 && ip link set $eth up; done
+
+Once the runtime configuration is satisfactory, it can be converted back into a
+permanent DPL file which can be plugged back into the build system:
+
+$ 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.
diff --git a/board/freescale/lx2160ardb/rootfs_overlay/etc/udev/rules.d/74-dpaa2-networking.rules b/board/freescale/lx2160ardb/rootfs_overlay/etc/udev/rules.d/74-dpaa2-networking.rules
new file mode 100644
index 000000000000..e14d800193eb
--- /dev/null
+++ b/board/freescale/lx2160ardb/rootfs_overlay/etc/udev/rules.d/74-dpaa2-networking.rules
@@ -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"
diff --git a/board/freescale/lx2160ardb/uboot-env.txt b/board/freescale/lx2160ardb/uboot-env.txt
new file mode 100644
index 000000000000..ad1e5882dd9e
--- /dev/null
+++ 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;
+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
+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
+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
diff --git a/configs/lx2160ardb_defconfig b/configs/lx2160ardb_defconfig
new file mode 100644
index 000000000000..8e0e9319a760
--- /dev/null
+++ b/configs/lx2160ardb_defconfig
@@ -0,0 +1,57 @@
+BR2_aarch64=y
+BR2_cortex_a72=y
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y
+BR2_GLOBAL_PATCH_DIR="board/freescale/lx2160ardb/patches"
+BR2_DOWNLOAD_FORCE_CHECK_HASHES=y
+BR2_TARGET_GENERIC_HOSTNAME="lx2160ardb"
+BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
+BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0"
+BR2_ROOTFS_OVERLAY="board/freescale/lx2160ardb/rootfs_overlay"
+BR2_ROOTFS_POST_BUILD_SCRIPT="board/freescale/lx2160ardb/post-build.sh"
+BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
+BR2_ROOTFS_POST_SCRIPT_ARGS="-c $(BINARIES_DIR)/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.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
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/fsl-lx2160a-rdb"
+BR2_LINUX_KERNEL_INSTALL_TARGET=y
+BR2_TARGET_ROOTFS_EXT2=y
+BR2_TARGET_ROOTFS_EXT2_4=y
+BR2_TARGET_ROOTFS_EXT2_SIZE="130M"
+BR2_TARGET_ROOTFS_CPIO=y
+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.12.3-1.0.0)/atf-lf-6.12.3-1.0.0.tar.gz"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="lx2160ardb"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_RCW=y
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="BOOT_MODE=sd"
+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.12.3-1.0.0)/u-boot-lf-6.12.3-1.0.0.tar.gz"
+BR2_TARGET_UBOOT_BOARD_DEFCONFIG="lx2160ardb_tfa"
+BR2_TARGET_UBOOT_NEEDS_DTC=y
+BR2_PACKAGE_HOST_GENIMAGE=y
+BR2_PACKAGE_HOST_QORIQ_RCW=y
+BR2_PACKAGE_HOST_QORIQ_RCW_CUSTOM_PATH="board/freescale/lx2160ardb/rcw_2200_750_3200_19_5_2_sd.rcw"
+BR2_PACKAGE_HOST_UBOOT_TOOLS=y
+BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE=y
+# Obtained from "env default -a" plus a custom mcinitcmd
+BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE_SOURCE="board/freescale/lx2160ardb/uboot-env.txt"
+BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE_SIZE="0x2000"
+BR2_PACKAGE_QORIQ_DDR_PHY_BINARY=y
+BR2_PACKAGE_QORIQ_MC_BINARY=y
+BR2_PACKAGE_QORIQ_MC_BINARY_TARGET_LX2160A=y
+BR2_PACKAGE_QORIQ_MC_BINARY_TARGET_INSTALL_PATH="boot"
+BR2_PACKAGE_QORIQ_MC_UTILS=y
+BR2_PACKAGE_QORIQ_MC_UTILS_DPC_INTREE="lx2160a/LX2160A-RDB/dpc-usxgmii lx2160a/LX2160A-RDB/dpc-warn"
+BR2_PACKAGE_QORIQ_MC_UTILS_DPL_INTREE="lx2160a/LX2160A-RDB/dpl-2dpni lx2160a/LX2160A-RDB/dpl-eth.19"
+BR2_PACKAGE_QORIQ_MC_UTILS_TARGET_INSTALL_PATH="boot"
+BR2_PACKAGE_QORIQ_RESTOOL=y
+BR2_PACKAGE_QORIQ_FIRMWARE_INPHI=y
-- 
2.43.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 48+ messages in thread

* Re: [Buildroot] [PATCH v2 18/18] board/lx2160ardb: new platform
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 18/18] board/lx2160ardb: new platform Vladimir Oltean
@ 2025-03-29  2:09   ` Vincent Jardin
  2025-03-31 10:39     ` Vladimir Oltean
  2025-04-22 21:45   ` Thomas Petazzoni via buildroot
  1 sibling, 1 reply; 48+ messages in thread
From: Vincent Jardin @ 2025-03-29  2:09 UTC (permalink / raw)
  To: Vladimir Oltean
  Cc: Ioana Ciornei, Brandon Maier, Julien Olivain, buildroot,
	Romain Naour, Akhilesh Nema

Hi Vladimir,

see inline

On Fri, Mar 28, 2025 at 08:04:26PM +0100, Vladimir Oltean wrote:
> 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.

> 
> --- /dev/null
> +++ b/board/freescale/lx2160ardb/genimage.cfg
> @@ -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

> +	/* 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
> +	}
> +
> +	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 ?

> +sha256  8708fc95844d020f79b87f954f29073ae9b230de3e41117e7fb379294da946ac  u-boot-lf-6.12.3-1.0.0.tar.gz

Same arguemnt for uboot, why not the upstream one ?

> +++ b/board/freescale/lx2160ardb/readme.txt
> @@ -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.
> +
> +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.

> +  - linux (fork), lf-6.12.3-1.0.0

See my comments, what's wrong with using upstream instead of the forks ?

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

> +++ 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;
> +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 ?

> +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
> +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 ?

> +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 ?

> +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 ?

> +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
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [Buildroot] [PATCH v2 18/18] board/lx2160ardb: new platform
  2025-03-29  2:09   ` Vincent Jardin
@ 2025-03-31 10:39     ` Vladimir Oltean
  2025-03-31 21:11       ` Vincent Jardin
  0 siblings, 1 reply; 48+ messages in thread
From: Vladimir Oltean @ 2025-03-31 10:39 UTC (permalink / raw)
  To: Vincent Jardin
  Cc: Ioana Ciornei, Brandon Maier, Julien Olivain, buildroot,
	Romain Naour, Akhilesh Nema

Hi Vincent,

On Sat, Mar 29, 2025 at 03:09:30AM +0100, Vincent Jardin wrote:
> > +++ b/board/freescale/lx2160ardb/genimage.cfg
> > @@ -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

What's the problem and your recommendation? I don't understand.
The genimage "offset" is in bytes, see https://github.com/pengutronix/genimage.

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

> Does it really make sense to follow NXP's documentation ?

I don't understand this question?

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

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

> 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
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [Buildroot] [PATCH v2 18/18] board/lx2160ardb: new platform
  2025-03-31 10:39     ` Vladimir Oltean
@ 2025-03-31 21:11       ` Vincent Jardin
  2025-04-01  8:14         ` Vladimir Oltean
  2025-04-22 21:48         ` Thomas Petazzoni via buildroot
  0 siblings, 2 replies; 48+ messages in thread
From: Vincent Jardin @ 2025-03-31 21:11 UTC (permalink / raw)
  To: Vladimir Oltean
  Cc: Ioana Ciornei, Brandon Maier, Julien Olivain, buildroot,
	Romain Naour, Akhilesh Nema

Hi Vladimir,

On Mon, Mar 31, 2025 at 01:39:56PM +0100, Vladimir Oltean wrote:
> Hi Vincent,
> 
> On Sat, Mar 29, 2025 at 03:09:30AM +0100, Vincent Jardin wrote:
> > > +++ b/board/freescale/lx2160ardb/genimage.cfg
> > > @@ -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
> 
> 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.

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

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.

> > Does it really make sense to follow NXP's documentation ?
> 
> I don't understand this question?

I meant: use lf instead of mainstreams.

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

ok, thanks

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

OK, it was confusing.

> > 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
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [Buildroot] [PATCH v2 18/18] board/lx2160ardb: new platform
  2025-03-31 21:11       ` Vincent Jardin
@ 2025-04-01  8:14         ` Vladimir Oltean
  2025-04-02 21:38           ` Vincent Jardin
  2025-04-22 21:48         ` Thomas Petazzoni via buildroot
  1 sibling, 1 reply; 48+ messages in thread
From: Vladimir Oltean @ 2025-04-01  8:14 UTC (permalink / raw)
  To: Vincent Jardin
  Cc: Ioana Ciornei, Brandon Maier, Julien Olivain, buildroot,
	Romain Naour, Akhilesh Nema

On Mon, Mar 31, 2025 at 11:11:41PM +0200, Vincent Jardin wrote:
> 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.

> 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
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [Buildroot] [PATCH v2 18/18] board/lx2160ardb: new platform
  2025-04-01  8:14         ` Vladimir Oltean
@ 2025-04-02 21:38           ` Vincent Jardin
  0 siblings, 0 replies; 48+ messages in thread
From: Vincent Jardin @ 2025-04-02 21:38 UTC (permalink / raw)
  To: Vladimir Oltean
  Cc: Ioana Ciornei, Brandon Maier, Julien Olivain, buildroot,
	Romain Naour, Akhilesh Nema

Hi Vladimir,

On Tue, Apr 01, 2025 at 11:14:24AM +0100, Vladimir Oltean wrote:
> On Mon, Mar 31, 2025 at 11:11:41PM +0200, Vincent Jardin wrote:
> > 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.

OK, I'll analyze deeper the differences.

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

Yes, I did review and comments based on your cover letter, "personal
contribution".

> 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

Reviewed-by: Vincent Jardin <vjardin@free.fr>
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [Buildroot] [PATCH v2 01/18] configs/ls1046a-frwy: enable the fmc package and dependencies
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 01/18] configs/ls1046a-frwy: enable the fmc package and dependencies Vladimir Oltean
@ 2025-04-12 14:21   ` Julien Olivain
  0 siblings, 0 replies; 48+ messages in thread
From: Julien Olivain @ 2025-04-12 14:21 UTC (permalink / raw)
  To: Vladimir Oltean
  Cc: buildroot, Ioana Ciornei, Brandon Maier, Vincent Jardin,
	Romain Naour, Akhilesh Nema

Hi Vladimir,

Since this series is a bit big, I'll review and apply patches in
smaller chunks.

On 28/03/2025 19:04, Vladimir Oltean wrote:
> Since LS1046A-FRWY uses the Linux Factory-supplied lsdk.config, it
> disables the upstream DPAA1 kernel networking drivers and enables their
> SDK counterparts. These SDK kernel drivers are configured using the fmc
> tool to do basic things such as apply a default PCD, so it seems a
> reasonable idea to enable this package by default.
> 
> Since fmc uses C++, we need to add the standard library for that, which
> also seems to increase the rootfs size.
> 
> Signed-off-by: Vladimir Oltean <olteanv@gmail.com>

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
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [Buildroot] [PATCH v2 02/18] configs/ls1046a-rdb: enable the fmc package and dependencies
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 02/18] configs/ls1046a-rdb: " Vladimir Oltean
@ 2025-04-12 14:21   ` Julien Olivain
  0 siblings, 0 replies; 48+ messages in thread
From: Julien Olivain @ 2025-04-12 14:21 UTC (permalink / raw)
  To: Vladimir Oltean
  Cc: buildroot, Ioana Ciornei, Brandon Maier, Vincent Jardin,
	Romain Naour, Akhilesh Nema

On 28/03/2025 19:04, Vladimir Oltean wrote:
> Since LS1046A-RDB uses the Linux Factory-supplied lsdk.config, it
> disables the upstream DPAA1 kernel networking drivers and enables their
> SDK counterparts. These SDK kernel drivers are configured using the fmc
> tool to do basic things such as apply a default PCD, so it seems a
> reasonable idea to enable this package by default.
> 
> Since fmc uses C++, we need to add the standard library for that, which
> also seems to increase the rootfs size.
> 
> Signed-off-by: Vladimir Oltean <olteanv@gmail.com>

Applied to master, thanks.
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [Buildroot] [PATCH v2 03/18] configs/ls1043a-rdb: enable the fmc package and dependencies
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 03/18] configs/ls1043a-rdb: " Vladimir Oltean
@ 2025-04-12 14:22   ` Julien Olivain
  0 siblings, 0 replies; 48+ messages in thread
From: Julien Olivain @ 2025-04-12 14:22 UTC (permalink / raw)
  To: Vladimir Oltean
  Cc: buildroot, Ioana Ciornei, Brandon Maier, Vincent Jardin,
	Romain Naour, Akhilesh Nema

On 28/03/2025 19:04, Vladimir Oltean wrote:
> Since LS1043A-RDB uses the Linux Factory-supplied lsdk.config, it
> disables the upstream DPAA1 kernel networking drivers and enables their
> SDK counterparts. These SDK kernel drivers are configured using the fmc
> tool to do basic things such as apply a default PCD, so it seems a
> reasonable idea to enable this package by default.
> 
> Since fmc uses C++, we need to add the standard library for that, which
> also seems to increase the rootfs size.
> 
> Signed-off-by: Vladimir Oltean <olteanv@gmail.com>

Applied to master, thanks.
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [Buildroot] [PATCH v2 04/18] package/qoriq-cadence-dp-firmware: sync with NXP Yocto download site
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 04/18] package/qoriq-cadence-dp-firmware: sync with NXP Yocto download site Vladimir Oltean
@ 2025-04-13  9:44   ` Julien Olivain
  2025-04-14  9:11     ` Vladimir Oltean
  0 siblings, 1 reply; 48+ messages in thread
From: Julien Olivain @ 2025-04-13  9:44 UTC (permalink / raw)
  To: Vladimir Oltean
  Cc: buildroot, Ioana Ciornei, Brandon Maier, Vincent Jardin,
	Romain Naour, Akhilesh Nema

Hi Vladimir,

On 28/03/2025 19:04, Vladimir Oltean wrote:
> 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
> 
> Signed-off-by: Vladimir Oltean <olteanv@gmail.com>

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
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [Buildroot] [PATCH v2 05/18] configs/ls1028ardb: update to lf-6.12.3-1.0.0 tag
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 05/18] configs/ls1028ardb: update to lf-6.12.3-1.0.0 tag Vladimir Oltean
@ 2025-04-13  9:45   ` Julien Olivain
  0 siblings, 0 replies; 48+ messages in thread
From: Julien Olivain @ 2025-04-13  9:45 UTC (permalink / raw)
  To: Vladimir Oltean
  Cc: buildroot, Ioana Ciornei, Brandon Maier, Vincent Jardin,
	Romain Naour, Akhilesh Nema

On 28/03/2025 19:04, Vladimir Oltean wrote:
> Update the kernel, U-Boot, ATF tags, as well as documentation, used by
> the LS1028A-RDB to the latest Linux Factory release.
> 
> Signed-off-by: Vladimir Oltean <olteanv@gmail.com>

Applied to master, thanks.
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [Buildroot] [PATCH v2 06/18] configs/ls1046a-frwy: bump BSP tag to lf-6.12.3-1.0.0
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 06/18] configs/ls1046a-frwy: bump BSP tag to lf-6.12.3-1.0.0 Vladimir Oltean
@ 2025-04-13  9:46   ` Julien Olivain
  0 siblings, 0 replies; 48+ messages in thread
From: Julien Olivain @ 2025-04-13  9:46 UTC (permalink / raw)
  To: Vladimir Oltean
  Cc: buildroot, Ioana Ciornei, Brandon Maier, Vincent Jardin,
	Romain Naour, Akhilesh Nema

On 28/03/2025 19:04, Vladimir Oltean wrote:
> The latest Linux Factory tag is lf-6.12.3-1.0.0 (Q1 2025), update to
> that.
> 
> The LS1046A-FRWY board is currently supported by NXP through a BSP
> called LDLSDK. That isn't what we use, so update the documentation to
> reflect that for awareness, and provide a link.
> 
> Signed-off-by: Vladimir Oltean <olteanv@gmail.com>

Applied to master, thanks.
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [Buildroot] [PATCH v2 07/18] configs/ls1046a-rdb: bump BSP tag to lf-6.12.3-1.0.0
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 07/18] configs/ls1046a-rdb: " Vladimir Oltean
@ 2025-04-13  9:46   ` Julien Olivain
  0 siblings, 0 replies; 48+ messages in thread
From: Julien Olivain @ 2025-04-13  9:46 UTC (permalink / raw)
  To: Vladimir Oltean
  Cc: buildroot, Ioana Ciornei, Brandon Maier, Vincent Jardin,
	Romain Naour, Akhilesh Nema

On 28/03/2025 19:04, Vladimir Oltean wrote:
> The latest Linux Factory tag is lf-6.12.3-1.0.0 (Q1 2025), update to
> that.
> 
> The LS1046A-RDB board is currently supported by NXP through a BSP
> called LDLSDK. That isn't what we use, so update the documentation to
> reflect that for awareness, and provide a link.
> 
> Signed-off-by: Vladimir Oltean <olteanv@gmail.com>

Applied to master, thanks.
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [Buildroot] [PATCH v2 08/18] configs/ls1043a-rdb: bump BSP tag to lf-6.12.3-1.0.0
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 08/18] configs/ls1043a-rdb: " Vladimir Oltean
@ 2025-04-13  9:47   ` Julien Olivain
  0 siblings, 0 replies; 48+ messages in thread
From: Julien Olivain @ 2025-04-13  9:47 UTC (permalink / raw)
  To: Vladimir Oltean
  Cc: buildroot, Ioana Ciornei, Brandon Maier, Vincent Jardin,
	Romain Naour, Akhilesh Nema

On 28/03/2025 19:04, Vladimir Oltean wrote:
> The latest Linux Factory tag is lf-6.12.3-1.0.0 (Q1 2025), update to
> that.
> 
> The LS1043A-RDB board is currently supported by NXP through a BSP
> called LDLSDK. That isn't what we use, so update the documentation to
> reflect that for awareness, and provide a link.
> 
> Signed-off-by: Vladimir Oltean <olteanv@gmail.com>

Applied to master, thanks.
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [Buildroot] [PATCH v2 09/18] package/qoriq-rcw: bump to lf-6.12.3-1.0.0
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 09/18] package/qoriq-rcw: bump " Vladimir Oltean
@ 2025-04-13  9:47   ` Julien Olivain
  0 siblings, 0 replies; 48+ messages in thread
From: Julien Olivain @ 2025-04-13  9:47 UTC (permalink / raw)
  To: Vladimir Oltean
  Cc: buildroot, Ioana Ciornei, Brandon Maier, Vincent Jardin,
	Romain Naour, Akhilesh Nema

On 28/03/2025 19:04, Vladimir Oltean wrote:
> 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/20250318213839.17470-1-vjardin@free.fr/
> 
> Signed-off-by: Vladimir Oltean <olteanv@gmail.com>

Applied to master, thanks.
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [Buildroot] [PATCH v2 10/18] package/fmlib: uprev to lf-6.12.3-1.0.0
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 10/18] package/fmlib: uprev " Vladimir Oltean
@ 2025-04-13  9:48   ` Julien Olivain
  2025-04-14  9:13     ` Vladimir Oltean
  0 siblings, 1 reply; 48+ messages in thread
From: Julien Olivain @ 2025-04-13  9:48 UTC (permalink / raw)
  To: Vladimir Oltean
  Cc: buildroot, Ioana Ciornei, Brandon Maier, Vincent Jardin,
	Romain Naour, Akhilesh Nema

On 28/03/2025 19:04, Vladimir Oltean wrote:
> 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.
> 
> Signed-off-by: Vladimir Oltean <olteanv@gmail.com>

Applied to master, thanks.
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [Buildroot] [PATCH v2 11/18] package/fmc: uprev to lf-6.12
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 11/18] package/fmc: uprev to lf-6.12 Vladimir Oltean
@ 2025-04-13  9:48   ` Julien Olivain
  0 siblings, 0 replies; 48+ messages in thread
From: Julien Olivain @ 2025-04-13  9:48 UTC (permalink / raw)
  To: Vladimir Oltean
  Cc: buildroot, Ioana Ciornei, Brandon Maier, Vincent Jardin,
	Romain Naour, Akhilesh Nema

On 28/03/2025 19:04, Vladimir Oltean wrote:
> Concretely, no change. But prevents people from going to Github and
> checking whether the package is up to date.
> 
> Signed-off-by: Vladimir Oltean <olteanv@gmail.com>

Applied to master, thanks.
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [Buildroot] [PATCH v2 12/18] package/qoriq-fm-ucode: uprev to lf-6.12.3-1.0.0
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 12/18] package/qoriq-fm-ucode: uprev to lf-6.12.3-1.0.0 Vladimir Oltean
@ 2025-04-13  9:49   ` Julien Olivain
  0 siblings, 0 replies; 48+ messages in thread
From: Julien Olivain @ 2025-04-13  9:49 UTC (permalink / raw)
  To: Vladimir Oltean
  Cc: buildroot, Ioana Ciornei, Brandon Maier, Vincent Jardin,
	Romain Naour, Akhilesh Nema

On 28/03/2025 19:04, Vladimir Oltean wrote:
> Concretely, no change. But saves people the hassle of checking whether
> any updates have been missed.
> 
> Signed-off-by: Vladimir Oltean <olteanv@gmail.com>

Applied to master, thanks.
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [Buildroot] [PATCH v2 13/18] package/qoriq-ddr-phy-binary: new package
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 13/18] package/qoriq-ddr-phy-binary: new package Vladimir Oltean
@ 2025-04-13 14:04   ` Julien Olivain
  0 siblings, 0 replies; 48+ messages in thread
From: Julien Olivain @ 2025-04-13 14:04 UTC (permalink / raw)
  To: Vladimir Oltean
  Cc: buildroot, Ioana Ciornei, Brandon Maier, Vincent Jardin,
	Romain Naour, Akhilesh Nema

On 28/03/2025 19:04, Vladimir Oltean wrote:
> 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/20250318163228.9989-1-vjardin@free.fr/
> 
> But I haven't integrated any of that feedback. It is a simple package
> which copies the pre-built FIP image containing DDR PHY firmware files
> to the images/ folder, to be used by post-image scripts.
> 
> Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
> Reviewed-by: Romain Naour <romain.naour@smile.fr>
> Reviewed-by: Vincent Jardin <vjardin@free.fr>

Applied to master, thanks.
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [Buildroot] [PATCH v2 04/18] package/qoriq-cadence-dp-firmware: sync with NXP Yocto download site
  2025-04-13  9:44   ` Julien Olivain
@ 2025-04-14  9:11     ` Vladimir Oltean
  0 siblings, 0 replies; 48+ messages in thread
From: Vladimir Oltean @ 2025-04-14  9:11 UTC (permalink / raw)
  To: Julien Olivain
  Cc: buildroot, Ioana Ciornei, Brandon Maier, Vincent Jardin,
	Romain Naour, Akhilesh Nema

On Sun, Apr 13, 2025 at 11:44:59AM +0200, Julien Olivain wrote:
> Hi Vladimir,
> 
> On 28/03/2025 19:04, Vladimir Oltean wrote:
> > 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
> > 
> > Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
> 
> 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.

You rewrote the commit message quite consistently, thanks :)
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [Buildroot] [PATCH v2 10/18] package/fmlib: uprev to lf-6.12.3-1.0.0
  2025-04-13  9:48   ` Julien Olivain
@ 2025-04-14  9:13     ` Vladimir Oltean
  0 siblings, 0 replies; 48+ messages in thread
From: Vladimir Oltean @ 2025-04-14  9:13 UTC (permalink / raw)
  To: Julien Olivain
  Cc: buildroot, Ioana Ciornei, Brandon Maier, Vincent Jardin,
	Romain Naour, Akhilesh Nema

On Sun, Apr 13, 2025 at 11:48:05AM +0200, Julien Olivain wrote:
> On 28/03/2025 19:04, Vladimir Oltean wrote:
> > 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.
> > 
> > Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
> 
> 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
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [Buildroot] [PATCH v2 14/18] package/qoriq-mc-binary: new package
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 14/18] package/qoriq-mc-binary: " Vladimir Oltean
@ 2025-04-22 21:17   ` Thomas Petazzoni via buildroot
  0 siblings, 0 replies; 48+ messages in thread
From: Thomas Petazzoni via buildroot @ 2025-04-22 21:17 UTC (permalink / raw)
  To: Vladimir Oltean
  Cc: buildroot, Ioana Ciornei, Brandon Maier, Vincent Jardin,
	Julien Olivain, Romain Naour, Akhilesh Nema

Hello Vladimir,

On Fri, 28 Mar 2025 20:04:22 +0200
Vladimir Oltean <olteanv@gmail.com> 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.

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

> +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
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [Buildroot] [PATCH v2 15/18] package/qoriq-mc-utils: new package
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 15/18] package/qoriq-mc-utils: " Vladimir Oltean
@ 2025-04-22 21:31   ` Thomas Petazzoni via buildroot
  0 siblings, 0 replies; 48+ messages in thread
From: Thomas Petazzoni via buildroot @ 2025-04-22 21:31 UTC (permalink / raw)
  To: Vladimir Oltean
  Cc: buildroot, Ioana Ciornei, Brandon Maier, Vincent Jardin,
	Julien Olivain, Romain Naour, Akhilesh Nema

Hello Vlad,

Thanks for the v2, which I have applied. I have some comments below,
though.

On Fri, 28 Mar 2025 20:04:23 +0200
Vladimir Oltean <olteanv@gmail.com> 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.
> 
> 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).


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

> +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
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [Buildroot] [PATCH v2 16/18] package/qoriq-restool: new package
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 16/18] package/qoriq-restool: " Vladimir Oltean
@ 2025-04-22 21:36   ` Thomas Petazzoni via buildroot
  2025-04-24 12:01     ` Vladimir Oltean
  0 siblings, 1 reply; 48+ messages in thread
From: Thomas Petazzoni via buildroot @ 2025-04-22 21:36 UTC (permalink / raw)
  To: Vladimir Oltean
  Cc: buildroot, Ioana Ciornei, Brandon Maier, Vincent Jardin,
	Julien Olivain, Romain Naour, Akhilesh Nema

Hello Vlad,

On Fri, 28 Mar 2025 20:04:24 +0200
Vladimir Oltean <olteanv@gmail.com> 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.
> 
> Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
> Reviewed-by: Vincent Jardin <vjardin@free.fr>
> ---
> 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
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [Buildroot] [PATCH v2 17/18] package/qoriq-firmware-inphi: new package
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 17/18] package/qoriq-firmware-inphi: " Vladimir Oltean
@ 2025-04-22 21:39   ` Thomas Petazzoni via buildroot
  0 siblings, 0 replies; 48+ messages in thread
From: Thomas Petazzoni via buildroot @ 2025-04-22 21:39 UTC (permalink / raw)
  To: Vladimir Oltean
  Cc: buildroot, Ioana Ciornei, Brandon Maier, Vincent Jardin,
	Julien Olivain, Romain Naour, Akhilesh Nema

Hello Vlad,

On Fri, 28 Mar 2025 20:04:25 +0200
Vladimir Oltean <olteanv@gmail.com> 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.

> All in all, a pretty convoluted mechanism, but the driver is
> non-upstreamable, and to support the board we need this "firmware" file
> deployed.
> 
> Signed-off-by: Vladimir Oltean <olteanv@gmail.com>

But despite the uglyness/non-upstream-ness of the thing, it looks good
from a Buildroot packaging point of view, so: applied, thanks!

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [Buildroot] [PATCH v2 18/18] board/lx2160ardb: new platform
  2025-03-28 18:04 ` [Buildroot] [PATCH v2 18/18] board/lx2160ardb: new platform Vladimir Oltean
  2025-03-29  2:09   ` Vincent Jardin
@ 2025-04-22 21:45   ` Thomas Petazzoni via buildroot
  2025-05-17 17:35     ` Vladimir Oltean
  1 sibling, 1 reply; 48+ messages in thread
From: Thomas Petazzoni via buildroot @ 2025-04-22 21:45 UTC (permalink / raw)
  To: Vladimir Oltean
  Cc: buildroot, Ioana Ciornei, Brandon Maier, Vincent Jardin,
	Julien Olivain, Romain Naour, Akhilesh Nema

Hello Vlad,

On Fri, 28 Mar 2025 20:04:26 +0200
Vladimir Oltean <olteanv@gmail.com> wrote:


> +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?

> diff --git a/board/freescale/lx2160ardb/uboot-env.txt b/board/freescale/lx2160ardb/uboot-env.txt
> new file mode 100644
> index 000000000000..ad1e5882dd9e
> --- /dev/null
> +++ b/board/freescale/lx2160ardb/uboot-env.txt

I agree with Vincent that it would be nice to have a simpler U-Boot
environment if possible.

> +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
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [Buildroot] [PATCH v2 18/18] board/lx2160ardb: new platform
  2025-03-31 21:11       ` Vincent Jardin
  2025-04-01  8:14         ` Vladimir Oltean
@ 2025-04-22 21:48         ` Thomas Petazzoni via buildroot
  1 sibling, 0 replies; 48+ messages in thread
From: Thomas Petazzoni via buildroot @ 2025-04-22 21:48 UTC (permalink / raw)
  To: Vincent Jardin
  Cc: Vladimir Oltean, Ioana Ciornei, Brandon Maier, Julien Olivain,
	buildroot, Romain Naour, Akhilesh Nema

Hello Vincent,

On Mon, 31 Mar 2025 23:11:41 +0200
Vincent Jardin <vjardin@free.fr> 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
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [Buildroot] [PATCH v2 16/18] package/qoriq-restool: new package
  2025-04-22 21:36   ` Thomas Petazzoni via buildroot
@ 2025-04-24 12:01     ` Vladimir Oltean
  0 siblings, 0 replies; 48+ messages in thread
From: Vladimir Oltean @ 2025-04-24 12:01 UTC (permalink / raw)
  To: Thomas Petazzoni
  Cc: buildroot, Ioana Ciornei, Brandon Maier, Vincent Jardin,
	Julien Olivain, Romain Naour, Akhilesh Nema

Hi Thomas,

On Tue, Apr 22, 2025 at 11:36:49PM +0200, Thomas Petazzoni wrote:
> Hello Vlad,
> 
> On Fri, 28 Mar 2025 20:04:24 +0200
> Vladimir Oltean <olteanv@gmail.com> 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.
> > 
> > Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
> > Reviewed-by: Vincent Jardin <vjardin@free.fr>
> > ---
> > 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.

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
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [Buildroot] [PATCH v2 18/18] board/lx2160ardb: new platform
  2025-04-22 21:45   ` Thomas Petazzoni via buildroot
@ 2025-05-17 17:35     ` Vladimir Oltean
  2025-05-18 15:41       ` Vincent Jardin
  0 siblings, 1 reply; 48+ messages in thread
From: Vladimir Oltean @ 2025-05-17 17:35 UTC (permalink / raw)
  To: Thomas Petazzoni
  Cc: buildroot, Ioana Ciornei, Brandon Maier, Vincent Jardin,
	Julien Olivain, Romain Naour, Akhilesh Nema

Hello Thomas,

On Tue, Apr 22, 2025 at 11:45:18PM +0200, Thomas Petazzoni wrote:
> Hello Vlad,
> 
> On Fri, 28 Mar 2025 20:04:26 +0200
> Vladimir Oltean <olteanv@gmail.com> wrote:
> 
> 
> > +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?
> 
> > diff --git a/board/freescale/lx2160ardb/uboot-env.txt b/board/freescale/lx2160ardb/uboot-env.txt
> > new file mode 100644
> > index 000000000000..ad1e5882dd9e
> > --- /dev/null
> > +++ b/board/freescale/lx2160ardb/uboot-env.txt
> 
> I agree with Vincent that it would be nice to have a simpler U-Boot
> environment if possible.
> 
> > +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
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [Buildroot] [PATCH v2 18/18] board/lx2160ardb: new platform
  2025-05-17 17:35     ` Vladimir Oltean
@ 2025-05-18 15:41       ` Vincent Jardin
  0 siblings, 0 replies; 48+ messages in thread
From: Vincent Jardin @ 2025-05-18 15:41 UTC (permalink / raw)
  To: Vladimir Oltean
  Cc: Thomas Petazzoni, buildroot, Ioana Ciornei, Brandon Maier,
	Julien Olivain, Romain Naour, Akhilesh Nema

Hi Vladimir, Thomas,

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

> > > diff --git a/board/freescale/lx2160ardb/uboot-env.txt b/board/freescale/lx2160ardb/uboot-env.txt
> > > new file mode 100644
> > > index 000000000000..ad1e5882dd9e
> > > --- /dev/null
> > > +++ b/board/freescale/lx2160ardb/uboot-env.txt
> > 
> > I agree with Vincent that it would be nice to have a simpler U-Boot
> > environment if possible.
> > 
> > > +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.

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

> 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
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 48+ messages in thread

end of thread, other threads:[~2025-05-18 15:41 UTC | newest]

Thread overview: 48+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-28 18:04 [Buildroot] [PATCH v2 00/18] Layerscape uprev to lf-6.12.3-1.0.0, initial LX2160A-RDB support Vladimir Oltean
2025-03-28 18:04 ` [Buildroot] [PATCH v2 01/18] configs/ls1046a-frwy: enable the fmc package and dependencies Vladimir Oltean
2025-04-12 14:21   ` Julien Olivain
2025-03-28 18:04 ` [Buildroot] [PATCH v2 02/18] configs/ls1046a-rdb: " Vladimir Oltean
2025-04-12 14:21   ` Julien Olivain
2025-03-28 18:04 ` [Buildroot] [PATCH v2 03/18] configs/ls1043a-rdb: " Vladimir Oltean
2025-04-12 14:22   ` Julien Olivain
2025-03-28 18:04 ` [Buildroot] [PATCH v2 04/18] package/qoriq-cadence-dp-firmware: sync with NXP Yocto download site Vladimir Oltean
2025-04-13  9:44   ` Julien Olivain
2025-04-14  9:11     ` Vladimir Oltean
2025-03-28 18:04 ` [Buildroot] [PATCH v2 05/18] configs/ls1028ardb: update to lf-6.12.3-1.0.0 tag Vladimir Oltean
2025-04-13  9:45   ` Julien Olivain
2025-03-28 18:04 ` [Buildroot] [PATCH v2 06/18] configs/ls1046a-frwy: bump BSP tag to lf-6.12.3-1.0.0 Vladimir Oltean
2025-04-13  9:46   ` Julien Olivain
2025-03-28 18:04 ` [Buildroot] [PATCH v2 07/18] configs/ls1046a-rdb: " Vladimir Oltean
2025-04-13  9:46   ` Julien Olivain
2025-03-28 18:04 ` [Buildroot] [PATCH v2 08/18] configs/ls1043a-rdb: " Vladimir Oltean
2025-04-13  9:47   ` Julien Olivain
2025-03-28 18:04 ` [Buildroot] [PATCH v2 09/18] package/qoriq-rcw: bump " Vladimir Oltean
2025-04-13  9:47   ` Julien Olivain
2025-03-28 18:04 ` [Buildroot] [PATCH v2 10/18] package/fmlib: uprev " Vladimir Oltean
2025-04-13  9:48   ` Julien Olivain
2025-04-14  9:13     ` Vladimir Oltean
2025-03-28 18:04 ` [Buildroot] [PATCH v2 11/18] package/fmc: uprev to lf-6.12 Vladimir Oltean
2025-04-13  9:48   ` Julien Olivain
2025-03-28 18:04 ` [Buildroot] [PATCH v2 12/18] package/qoriq-fm-ucode: uprev to lf-6.12.3-1.0.0 Vladimir Oltean
2025-04-13  9:49   ` Julien Olivain
2025-03-28 18:04 ` [Buildroot] [PATCH v2 13/18] package/qoriq-ddr-phy-binary: new package Vladimir Oltean
2025-04-13 14:04   ` Julien Olivain
2025-03-28 18:04 ` [Buildroot] [PATCH v2 14/18] package/qoriq-mc-binary: " Vladimir Oltean
2025-04-22 21:17   ` Thomas Petazzoni via buildroot
2025-03-28 18:04 ` [Buildroot] [PATCH v2 15/18] package/qoriq-mc-utils: " Vladimir Oltean
2025-04-22 21:31   ` Thomas Petazzoni via buildroot
2025-03-28 18:04 ` [Buildroot] [PATCH v2 16/18] package/qoriq-restool: " Vladimir Oltean
2025-04-22 21:36   ` Thomas Petazzoni via buildroot
2025-04-24 12:01     ` Vladimir Oltean
2025-03-28 18:04 ` [Buildroot] [PATCH v2 17/18] package/qoriq-firmware-inphi: " Vladimir Oltean
2025-04-22 21:39   ` Thomas Petazzoni via buildroot
2025-03-28 18:04 ` [Buildroot] [PATCH v2 18/18] board/lx2160ardb: new platform Vladimir Oltean
2025-03-29  2:09   ` Vincent Jardin
2025-03-31 10:39     ` Vladimir Oltean
2025-03-31 21:11       ` Vincent Jardin
2025-04-01  8:14         ` Vladimir Oltean
2025-04-02 21:38           ` Vincent Jardin
2025-04-22 21:48         ` Thomas Petazzoni via buildroot
2025-04-22 21:45   ` Thomas Petazzoni via buildroot
2025-05-17 17:35     ` Vladimir Oltean
2025-05-18 15:41       ` Vincent Jardin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox