* [Buildroot] [PATCH v7 0/3] board/lx2160ardb: new platform
@ 2026-10-19 7:47 Léo Denieul
2026-10-19 7:48 ` [Buildroot] [PATCH v7 1/3] package/qoriq-restool: add runtime dependencies Léo DENIEUL
` (2 more replies)
0 siblings, 3 replies; 15+ messages in thread
From: Léo Denieul @ 2026-10-19 7:47 UTC (permalink / raw)
To: buildroot; +Cc: Maxime Leroy, Vladimir Oltean, Vincent Jardin
Hello,
This series adds support for the NXP LX2160A-RDB board. It is a
repost of Maxime Leroy's v5 [1].
Changes v6 -> v7:
- resend with correct authorship (v6 was sent with wrong sender
addresses). No code change.
Changes v5 -> v6:
- patches 1/3 and 2/3: unchanged
- patch 3/3: increase BR2_TARGET_ROOTFS_EXT2_SIZE from 130M to
256M, the rootfs no longer fits in 130M on current master (it
needs about 148M: Linux ~100M, eudev/hwdb ~25M)
[1] https://patchwork.buildroot.org/project/buildroot/list/?series=366
Best regards,
Léo
Maxime Leroy (2):
package/qoriq-restool: add runtime dependencies
package/qoriq-restool: bump to lf-6.12.34-2.1.0
Vladimir Oltean (1):
board/lx2160ardb: new platform
board/freescale/common/env-dpaa2.txt | 7 +
.../udev/rules.d/74-dpaa2-networking.rules | 29 ++++
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 | 129 ++++++++++++++++++
board/freescale/lx2160ardb/uboot-env.txt | 11 ++
board/freescale/lx2160ardb/uboot.config | 2 +
configs/lx2160ardb_defconfig | 59 ++++++++
package/qoriq-restool/Config.in | 9 ++
package/qoriq-restool/qoriq-restool.hash | 2 +-
package/qoriq-restool/qoriq-restool.mk | 2 +-
17 files changed, 384 insertions(+), 2 deletions(-)
create mode 100644 board/freescale/common/env-dpaa2.txt
create mode 100644 board/freescale/common/rootfs_overlay/etc/udev/rules.d/74-dpaa2-networking.rules
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/uboot-env.txt
create mode 100644 board/freescale/lx2160ardb/uboot.config
create mode 100644 configs/lx2160ardb_defconfig
--
2.53.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Buildroot] [PATCH v7 1/3] package/qoriq-restool: add runtime dependencies
2026-10-19 7:47 [Buildroot] [PATCH v7 0/3] board/lx2160ardb: new platform Léo Denieul
@ 2026-10-19 7:48 ` Léo DENIEUL
2026-10-25 21:24 ` Thomas Petazzoni via buildroot
2026-10-19 7:48 ` [Buildroot] [PATCH v7 2/3] package/qoriq-restool: bump to lf-6.12.34-2.1.0 Léo DENIEUL
2026-10-19 7:48 ` [Buildroot] [PATCH v7 3/3] board/lx2160ardb: new platform Léo DENIEUL
2 siblings, 1 reply; 15+ messages in thread
From: Léo DENIEUL @ 2026-10-19 7:48 UTC (permalink / raw)
To: buildroot; +Cc: Maxime Leroy, Vladimir Oltean, Vincent Jardin
From: Maxime Leroy <maxime@leroys.fr>
The scripts shipped with restool require:
- bash: they use #!/bin/bash shebang and bash-specific
features (shopt, declare -A)
The ls-append-dpl script also requires:
- dtc programs: the script uses dtc and fdtget commands
Since dtc needs dynamic libraries, add the corresponding dependency.
Signed-off-by: Maxime Leroy <maxime@leroys.fr>
Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
---
package/qoriq-restool/Config.in | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/package/qoriq-restool/Config.in b/package/qoriq-restool/Config.in
index 600c2c958d..46330e8cac 100644
--- a/package/qoriq-restool/Config.in
+++ b/package/qoriq-restool/Config.in
@@ -1,6 +1,11 @@
config BR2_PACKAGE_QORIQ_RESTOOL
bool "qoriq-restool"
depends on BR2_aarch64 || BR2_aarch64_be
+ depends on !BR2_STATIC_LIBS # dtc
+ select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS if BR2_PACKAGE_BUSYBOX # bash
+ select BR2_PACKAGE_BASH
+ select BR2_PACKAGE_DTC
+ select BR2_PACKAGE_DTC_PROGRAMS
help
The DPAA2 architecture in Layerscape SoCs consists of
networking resources that can be assembled into various
@@ -19,3 +24,7 @@ config BR2_PACKAGE_QORIQ_RESTOOL
that specified in the boot-time DPL file.
https://github.com/nxp-qoriq/restool
+
+comment "qoriq-restool needs a toolchain w/ dynamic library"
+ depends on BR2_aarch64 || BR2_aarch64_be
+ depends on BR2_STATIC_LIBS
--
2.53.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [Buildroot] [PATCH v7 2/3] package/qoriq-restool: bump to lf-6.12.34-2.1.0
2026-10-19 7:47 [Buildroot] [PATCH v7 0/3] board/lx2160ardb: new platform Léo Denieul
2026-10-19 7:48 ` [Buildroot] [PATCH v7 1/3] package/qoriq-restool: add runtime dependencies Léo DENIEUL
@ 2026-10-19 7:48 ` Léo DENIEUL
2026-10-25 21:24 ` Thomas Petazzoni via buildroot
2026-10-19 7:48 ` [Buildroot] [PATCH v7 3/3] board/lx2160ardb: new platform Léo DENIEUL
2 siblings, 1 reply; 15+ messages in thread
From: Léo DENIEUL @ 2026-10-19 7:48 UTC (permalink / raw)
To: buildroot; +Cc: Maxime Leroy, Vladimir Oltean, Vincent Jardin
From: Maxime Leroy <maxime@leroys.fr>
Align with other NXP Layerscape components using the same tag.
No code changes, just switching from commit hash to official release tag.
Signed-off-by: Maxime Leroy <maxime@leroys.fr>
Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
---
package/qoriq-restool/qoriq-restool.hash | 2 +-
package/qoriq-restool/qoriq-restool.mk | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/package/qoriq-restool/qoriq-restool.hash b/package/qoriq-restool/qoriq-restool.hash
index 72a34473f2..77c6442269 100644
--- a/package/qoriq-restool/qoriq-restool.hash
+++ b/package/qoriq-restool/qoriq-restool.hash
@@ -1,3 +1,3 @@
# Locally calculated
-sha256 2879f14c9dd810e92d4c51c7f1a3e6705a5a585c2445e507f63e39872ac6237d qoriq-restool-lf-6.12.20-2.0.0-3-gb44748e.tar.gz
+sha256 5a17fad0645d943efcae215b2d99f93406f605000cd4f0d5d9df627bc6f4e631 qoriq-restool-lf-6.12.34-2.1.0.tar.gz
sha256 ddc794a75f11c3bd01015f16b9776064a894015e7a1603541283ccbc2e1c3a40 LICENSE
diff --git a/package/qoriq-restool/qoriq-restool.mk b/package/qoriq-restool/qoriq-restool.mk
index 79e87ef1dd..3d16531def 100644
--- a/package/qoriq-restool/qoriq-restool.mk
+++ b/package/qoriq-restool/qoriq-restool.mk
@@ -4,7 +4,7 @@
#
################################################################################
-QORIQ_RESTOOL_VERSION = lf-6.12.20-2.0.0-3-gb44748e
+QORIQ_RESTOOL_VERSION = lf-6.12.34-2.1.0
QORIQ_RESTOOL_SITE = $(call github,nxp-qoriq,restool,$(QORIQ_RESTOOL_VERSION))
QORIQ_RESTOOL_LICENSE = BSD-3-Clause or GPL-2.0+
QORIQ_RESTOOL_LICENSE_FILES = LICENSE
--
2.53.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [Buildroot] [PATCH v7 3/3] board/lx2160ardb: new platform
2026-10-19 7:47 [Buildroot] [PATCH v7 0/3] board/lx2160ardb: new platform Léo Denieul
2026-10-19 7:48 ` [Buildroot] [PATCH v7 1/3] package/qoriq-restool: add runtime dependencies Léo DENIEUL
2026-10-19 7:48 ` [Buildroot] [PATCH v7 2/3] package/qoriq-restool: bump to lf-6.12.34-2.1.0 Léo DENIEUL
@ 2026-10-19 7:48 ` Léo DENIEUL
2026-10-25 21:25 ` Thomas Petazzoni via buildroot
2 siblings, 1 reply; 15+ messages in thread
From: Léo DENIEUL @ 2026-10-19 7:48 UTC (permalink / raw)
To: buildroot; +Cc: Maxime Leroy, Vladimir Oltean, Vincent Jardin
From: Vladimir Oltean <olteanv@gmail.com>
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.
The boot uses U-Boot's bootstd framework with extlinux.conf. The DPAA2
Management Complex firmware is loaded from the filesystem during U-Boot
board init. EFI boot support is disabled since we use extlinux.
Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
Reviewed-by: Vincent Jardin <vjardin@free.fr>
Tested-by: Maxime Leroy <maxime@leroys.fr>
Signed-off-by: Maxime Leroy <maxime@leroys.fr>
Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
Tested-by: Vladimir Oltean <olteanv@gmail.com>
Signed-off-by: Léo DENIEUL <leo.denieul.yoshino@gmail.com>
---
Changes v6 -> v7:
- resend with correct authorship (v6 was sent with wrong sender
addresses)
Changes v5 -> v6:
- increase BR2_TARGET_ROOTFS_EXT2_SIZE from 130M to 256M: on
current master the rootfs needs about 148M (Linux ~100M,
eudev/hwdb ~25M)
---
board/freescale/common/env-dpaa2.txt | 7 +
.../udev/rules.d/74-dpaa2-networking.rules | 29 ++++
board/freescale/lx2160ardb/extlinux.conf | 4 +
board/freescale/lx2160ardb/genimage.cfg | 47 +++++++
.../arm-trusted-firmware.hash | 2 +
| 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 | 129 ++++++++++++++++++
board/freescale/lx2160ardb/uboot-env.txt | 11 ++
board/freescale/lx2160ardb/uboot.config | 2 +
configs/lx2160ardb_defconfig | 59 ++++++++
14 files changed, 373 insertions(+)
create mode 100644 board/freescale/common/env-dpaa2.txt
create mode 100644 board/freescale/common/rootfs_overlay/etc/udev/rules.d/74-dpaa2-networking.rules
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/uboot-env.txt
create mode 100644 board/freescale/lx2160ardb/uboot.config
create mode 100644 configs/lx2160ardb_defconfig
diff --git a/board/freescale/common/env-dpaa2.txt b/board/freescale/common/env-dpaa2.txt
new file mode 100644
index 0000000000..e60bcdeac0
--- /dev/null
+++ b/board/freescale/common/env-dpaa2.txt
@@ -0,0 +1,7 @@
+# DPAA2 MC firmware loading (common to all DPAA2 boards)
+dpl_addr_r=0x80d00000
+dpc_addr_r=0x80e00000
+fsl_bootcmd_mcinitcmd_set=y
+mc_fw_addr_r=0x80a00000
+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
diff --git a/board/freescale/common/rootfs_overlay/etc/udev/rules.d/74-dpaa2-networking.rules b/board/freescale/common/rootfs_overlay/etc/udev/rules.d/74-dpaa2-networking.rules
new file mode 100644
index 0000000000..ac55225673
--- /dev/null
+++ b/board/freescale/common/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", 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:01:02:03:04:05"
+
+LABEL="fsl_dpaa2_rules_end"
diff --git a/board/freescale/lx2160ardb/extlinux.conf b/board/freescale/lx2160ardb/extlinux.conf
new file mode 100644
index 0000000000..58c2720252
--- /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 console=ttyAMA0,115200 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 0000000000..f895a5ab5e
--- /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 0000000000..4b761bede3
--- /dev/null
+++ b/board/freescale/lx2160ardb/patches/arm-trusted-firmware/arm-trusted-firmware.hash
@@ -0,0 +1,2 @@
+# Locally computed
+sha256 2d3f9c52e16766c290bdc0bc130d634e4c326a5b236dfb2f2ca3f0fa457e82d4 atf-lf-6.12.34-2.1.0.tar.gz
--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 0000000000..5808d92afe
--- /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 0000000000..f30030c86a
--- /dev/null
+++ b/board/freescale/lx2160ardb/patches/linux/linux.hash
@@ -0,0 +1,2 @@
+# Locally computed
+sha256 27a1987ca0a5802d3ebb296b8134ec66d813ad86cf2a60779b45092735bbb23b linux-lf-6.12.34-2.1.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 0000000000..38d54d9922
--- /dev/null
+++ b/board/freescale/lx2160ardb/patches/uboot/uboot.hash
@@ -0,0 +1,2 @@
+# Locally computed
+sha256 2f25cde388b2f83ff7a8e3afe25aafb1db48dafb0fa3bf1e4f9fef603f3b4785 u-boot-lf-6.12.34-2.1.0.tar.gz
diff --git a/board/freescale/lx2160ardb/post-build.sh b/board/freescale/lx2160ardb/post-build.sh
new file mode 100755
index 0000000000..4042bf9c7e
--- /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 0000000000..4c4b7d9c79
--- /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 0000000000..287285a148
--- /dev/null
+++ b/board/freescale/lx2160ardb/readme.txt
@@ -0,0 +1,129 @@
+**************
+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), but has a slower release cadence than LF. The currently used
+tag is lf-6.12.34-2.1.0, which is in line with the latest LF tag. Generally, in
+Buildroot, the latest Linux Factory release tag is always 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:
+ - atf (fork), lf-6.12.34-2.1.0
+ - linux (fork), lf-6.12.34-2.1.0
+ - qoriq-ddr-phy-binary (blob), lf-6.12.34-2.1.0
+ - qoriq-firmware-inphi (blob), static commit
+ - qoriq-mc-binary (blob), mc_release_10.39.0
+ - qoriq-mc-utils, mc_release_10.39.0
+ - qoriq-rcw, lf-6.12.34-2.1.0
+ - qoriq-restool, lf-6.12.34-2.1.0
+ - uboot (fork), lf-6.12.34-2.1.0
+
+Build
+=====
+
+First, configure Buildroot for the LX2160ARDB board:
+
+ make lx2160ardb_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/uboot-env.txt b/board/freescale/lx2160ardb/uboot-env.txt
new file mode 100644
index 0000000000..89090edb32
--- /dev/null
+++ b/board/freescale/lx2160ardb/uboot-env.txt
@@ -0,0 +1,11 @@
+# Memory addresses for bootstd
+fdt_addr_r=0x90000000
+kernel_addr_r=0x81000000
+scriptaddr=0x80000000
+
+# Boot order and network
+boot_targets=usb0 mmc0 mmc1 scsi0 dhcp
+ethprime=DPMAC1@xgmii
+
+# Boot command (MC already loaded via fsl_bootcmd_mcinitcmd_set)
+bootcmd=bootflow scan
diff --git a/board/freescale/lx2160ardb/uboot.config b/board/freescale/lx2160ardb/uboot.config
new file mode 100644
index 0000000000..e31254d62e
--- /dev/null
+++ b/board/freescale/lx2160ardb/uboot.config
@@ -0,0 +1,2 @@
+# Disable EFI boot support - we use extlinux.conf via bootstd instead
+# CONFIG_EFI_LOADER is not set
diff --git a/configs/lx2160ardb_defconfig b/configs/lx2160ardb_defconfig
new file mode 100644
index 0000000000..8678bb2df4
--- /dev/null
+++ b/configs/lx2160ardb_defconfig
@@ -0,0 +1,59 @@
+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/common/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.34-2.1.0)/linux-lf-6.12.34-2.1.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="256M"
+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.34-2.1.0)/atf-lf-6.12.34-2.1.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.34-2.1.0)/u-boot-lf-6.12.34-2.1.0.tar.gz"
+BR2_TARGET_UBOOT_BOARD_DEFCONFIG="lx2160ardb_tfa"
+BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/freescale/lx2160ardb/uboot.config"
+BR2_TARGET_UBOOT_NEEDS_DTC=y
+BR2_TARGET_UBOOT_NEEDS_GNUTLS=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
+# Minimal U-Boot environment for bootstd with DPAA2 MC firmware init
+BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE_SOURCE="board/freescale/lx2160ardb/uboot-env.txt board/freescale/common/env-dpaa2.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.53.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [Buildroot] [PATCH v7 1/3] package/qoriq-restool: add runtime dependencies
2026-10-19 7:48 ` [Buildroot] [PATCH v7 1/3] package/qoriq-restool: add runtime dependencies Léo DENIEUL
@ 2026-10-25 21:24 ` Thomas Petazzoni via buildroot
0 siblings, 0 replies; 15+ messages in thread
From: Thomas Petazzoni via buildroot @ 2026-10-25 21:24 UTC (permalink / raw)
To: Léo DENIEUL; +Cc: buildroot, Maxime Leroy, Vladimir Oltean, Vincent Jardin
On Mon, Oct 19, 2026 at 09:48:08AM +0200, Léo DENIEUL wrote:
> From: Maxime Leroy <maxime@leroys.fr>
>
> The scripts shipped with restool require:
> - bash: they use #!/bin/bash shebang and bash-specific
> features (shopt, declare -A)
>
> The ls-append-dpl script also requires:
> - dtc programs: the script uses dtc and fdtget commands
>
> Since dtc needs dynamic libraries, add the corresponding dependency.
>
> Signed-off-by: Maxime Leroy <maxime@leroys.fr>
> Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
Applied to master, thanks!
Best regards,
Thomas Petazzoni
--
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] 15+ messages in thread
* Re: [Buildroot] [PATCH v7 2/3] package/qoriq-restool: bump to lf-6.12.34-2.1.0
2026-10-19 7:48 ` [Buildroot] [PATCH v7 2/3] package/qoriq-restool: bump to lf-6.12.34-2.1.0 Léo DENIEUL
@ 2026-10-25 21:24 ` Thomas Petazzoni via buildroot
0 siblings, 0 replies; 15+ messages in thread
From: Thomas Petazzoni via buildroot @ 2026-10-25 21:24 UTC (permalink / raw)
To: Léo DENIEUL; +Cc: buildroot, Maxime Leroy, Vladimir Oltean, Vincent Jardin
On Mon, Oct 19, 2026 at 09:48:20AM +0200, Léo DENIEUL wrote:
> From: Maxime Leroy <maxime@leroys.fr>
>
> Align with other NXP Layerscape components using the same tag.
> No code changes, just switching from commit hash to official release tag.
>
> Signed-off-by: Maxime Leroy <maxime@leroys.fr>
> Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
Applied to master, thanks!
Best regards,
Thomas Petazzoni
--
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] 15+ messages in thread
* Re: [Buildroot] [PATCH v7 3/3] board/lx2160ardb: new platform
2026-10-19 7:48 ` [Buildroot] [PATCH v7 3/3] board/lx2160ardb: new platform Léo DENIEUL
@ 2026-10-25 21:25 ` Thomas Petazzoni via buildroot
2026-10-26 10:15 ` Léo DENIEUL
0 siblings, 1 reply; 15+ messages in thread
From: Thomas Petazzoni via buildroot @ 2026-10-25 21:25 UTC (permalink / raw)
To: Léo DENIEUL; +Cc: buildroot, Maxime Leroy, Vladimir Oltean, Vincent Jardin
On Mon, Oct 19, 2026 at 09:48:37AM +0200, Léo DENIEUL wrote:
> From: Vladimir Oltean <olteanv@gmail.com>
>
> 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.
>
> The boot uses U-Boot's bootstd framework with extlinux.conf. The DPAA2
> Management Complex firmware is loaded from the filesystem during U-Boot
> board init. EFI boot support is disabled since we use extlinux.
>
> Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
> Reviewed-by: Vincent Jardin <vjardin@free.fr>
> Tested-by: Maxime Leroy <maxime@leroys.fr>
> Signed-off-by: Maxime Leroy <maxime@leroys.fr>
> Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
> Tested-by: Vladimir Oltean <olteanv@gmail.com>
> Signed-off-by: Léo DENIEUL <leo.denieul.yoshino@gmail.com>
Thanks, seems a bit complicated, but fair enough. Since you did not
add any entry in the DEVELOPERS file, who volunteers to maintain this
platform? Note: we can add multiple people, that's not a problem. If
you provide this information, I'll adjust the patch and apply.
Thanks for your feedback!
Thomas Petazzoni
--
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] 15+ messages in thread
* Re: [Buildroot] [PATCH v7 3/3] board/lx2160ardb: new platform
2026-10-25 21:25 ` Thomas Petazzoni via buildroot
@ 2026-10-26 10:15 ` Léo DENIEUL
2026-10-28 15:41 ` Vladimir Oltean
0 siblings, 1 reply; 15+ messages in thread
From: Léo DENIEUL @ 2026-10-26 10:15 UTC (permalink / raw)
To: Thomas Petazzoni; +Cc: buildroot, Maxime Leroy, Vladimir Oltean, Vincent Jardin
Hello Thomas,
On Sun, Oct 25, 2026 at 10:25:xx PM, Thomas Petazzoni wrote:
> Since you did not add any entry in the DEVELOPERS file, who volunteers
> to maintain this platform? Note: we can add multiple people, that's not
> a problem.
I'm happy to maintain this platform, please add me:
N: Léo DENIEUL <leo.denieul.yoshino@gmail.com>
F: board/nxp/lx2160ardb/
F: configs/lx2160ardb_defconfig
Vladimir, as the original author of this support, you certainly deserve
to be listed too, and you know the platform much better than I do.
Would you like to be added?
Thanks,
Léo
Le dim. 25 oct. 2026 à 22:25, Thomas Petazzoni
<thomas.petazzoni@bootlin.com> a écrit :
>
> On Mon, Oct 19, 2026 at 09:48:37AM +0200, Léo DENIEUL wrote:
> > From: Vladimir Oltean <olteanv@gmail.com>
> >
> > 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.
> >
> > The boot uses U-Boot's bootstd framework with extlinux.conf. The DPAA2
> > Management Complex firmware is loaded from the filesystem during U-Boot
> > board init. EFI boot support is disabled since we use extlinux.
> >
> > Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
> > Reviewed-by: Vincent Jardin <vjardin@free.fr>
> > Tested-by: Maxime Leroy <maxime@leroys.fr>
> > Signed-off-by: Maxime Leroy <maxime@leroys.fr>
> > Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
> > Tested-by: Vladimir Oltean <olteanv@gmail.com>
> > Signed-off-by: Léo DENIEUL <leo.denieul.yoshino@gmail.com>
>
> Thanks, seems a bit complicated, but fair enough. Since you did not
> add any entry in the DEVELOPERS file, who volunteers to maintain this
> platform? Note: we can add multiple people, that's not a problem. If
> you provide this information, I'll adjust the patch and apply.
>
> Thanks for your feedback!
>
> Thomas Petazzoni
> --
> 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] 15+ messages in thread
* Re: [Buildroot] [PATCH v7 3/3] board/lx2160ardb: new platform
2026-10-26 10:15 ` Léo DENIEUL
@ 2026-10-28 15:41 ` Vladimir Oltean
2026-11-05 15:36 ` [Buildroot] [PATCH v8 0/2] board/lx2160ardb board/lx2160a-rdb new platform and newconfig Léo DENIEUL
` (2 more replies)
0 siblings, 3 replies; 15+ messages in thread
From: Vladimir Oltean @ 2026-10-28 15:41 UTC (permalink / raw)
To: Léo DENIEUL, Thomas Petazzoni
Cc: buildroot, Maxime Leroy, Vincent Jardin
On Mon, Oct 26, 2026 at 11:15:47AM +0100, Léo DENIEUL wrote:
> Hello Thomas,
>
> On Sun, Oct 25, 2026 at 10:25:xx PM, Thomas Petazzoni wrote:
> > Since you did not add any entry in the DEVELOPERS file, who volunteers
> > to maintain this platform? Note: we can add multiple people, that's not
> > a problem.
>
> I'm happy to maintain this platform, please add me:
>
> N: Léo DENIEUL <leo.denieul.yoshino@gmail.com>
> F: board/nxp/lx2160ardb/
> F: configs/lx2160ardb_defconfig
>
> Vladimir, as the original author of this support, you certainly deserve
> to be listed too, and you know the platform much better than I do.
> Would you like to be added?
>
> Thanks,
> Léo
I'd like to try and stay involved even if I don't have a lot of spare
time. So Thomas, if it's not a problem, please add me alongside Léo as
well.
Thanks!
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Buildroot] [PATCH v8 0/2] board/lx2160ardb board/lx2160a-rdb new platform and newconfig
2026-10-28 15:41 ` Vladimir Oltean
@ 2026-11-05 15:36 ` Léo DENIEUL
2026-11-05 15:47 ` Leo DENIEUL
2026-11-05 15:36 ` [Buildroot] [PATCH v8 1/2] board/lx2160ardb: new platform Vladimir Oltean
2026-11-05 15:37 ` [Buildroot] [PATCH v8 2/2] configs/lx2160a-rdb: new defconfig Léo DENIEUL
2 siblings, 1 reply; 15+ messages in thread
From: Léo DENIEUL @ 2026-11-05 15:36 UTC (permalink / raw)
To: buildroot; +Cc: Thomas Petazzoni, Vladimir Oltean, Maxime Leroy, Vincent Jardin
Hello,
This v8 replaces v7, following Thomas' review:
- patch 1/2 is v7 3/3 with the DEVELOPERS entries Thomas asked for
(Vladimir Oltean and myself). The defconfig is renamed
freescale_lx2160ardb_defconfig, as it uses the NXP BSP forks.
- patch 2/2 adds lx2160a-rdb_defconfig, a variant of the same board
using upstream TF-A v2.15.0, U-Boot 2026.10 and Linux 6.18.60. It
reuses the board files from board/freescale/lx2160ardb/ and carries
its own hashes and genimage.cfg in board/freescale/lx2160a-rdb/.
The naming follows the existing freescale_imx8mpevk (NXP BSP) /
imx8mp-evk (upstream) pair.
Vladimir, I listed you for the NXP BSP variant as agreed.
Changes v7 -> v8:
- add DEVELOPERS entries
- rename lx2160ardb_defconfig to freescale_lx2160ardb_defconfig
- new patch 2/2: upstream variant lx2160a-rdb
Best regards,
Léo
Léo DENIEUL (1):
configs/lx2160a-rdb: new defconfig
Vladimir Oltean (1):
board/lx2160ardb: new platform
DEVELOPERS | 7 +
board/freescale/common/env-dpaa2.txt | 7 +
.../udev/rules.d/74-dpaa2-networking.rules | 29 ++++
board/freescale/lx2160a-rdb/extlinux.conf | 1 +
board/freescale/lx2160a-rdb/genimage.cfg | 40 ++++++
.../arm-trusted-firmware.hash | 2 +
.../patches/linux-headers/linux-headers.hash | 2 +
.../lx2160a-rdb/patches/linux/linux.hash | 2 +
.../lx2160a-rdb/patches/uboot/uboot.hash | 2 +
board/freescale/lx2160a-rdb/post-build.sh | 11 ++
board/freescale/lx2160a-rdb/readme.txt | 46 +++++++
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 | 129 ++++++++++++++++++
board/freescale/lx2160ardb/uboot-env.txt | 11 ++
board/freescale/lx2160ardb/uboot.config | 2 +
configs/freescale_lx2160ardb_defconfig | 59 ++++++++
configs/lx2160a-rdb_defconfig | 56 ++++++++
24 files changed, 542 insertions(+)
create mode 100644 board/freescale/common/env-dpaa2.txt
create mode 100644 board/freescale/common/rootfs_overlay/etc/udev/rules.d/74-dpaa2-networking.rules
create mode 120000 board/freescale/lx2160a-rdb/extlinux.conf
create mode 100644 board/freescale/lx2160a-rdb/genimage.cfg
create mode 100644 board/freescale/lx2160a-rdb/patches/arm-trusted-firmware/arm-trusted-firmware.hash
create mode 100644 board/freescale/lx2160a-rdb/patches/linux-headers/linux-headers.hash
create mode 100644 board/freescale/lx2160a-rdb/patches/linux/linux.hash
create mode 100644 board/freescale/lx2160a-rdb/patches/uboot/uboot.hash
create mode 100755 board/freescale/lx2160a-rdb/post-build.sh
create mode 100644 board/freescale/lx2160a-rdb/readme.txt
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/uboot-env.txt
create mode 100644 board/freescale/lx2160ardb/uboot.config
create mode 100644 configs/freescale_lx2160ardb_defconfig
create mode 100644 configs/lx2160a-rdb_defconfig
base-commit: d1fad27e965805c0e4e201994021cd9acf48b0a5
--
2.53.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Buildroot] [PATCH v8 1/2] board/lx2160ardb: new platform
2026-10-28 15:41 ` Vladimir Oltean
2026-11-05 15:36 ` [Buildroot] [PATCH v8 0/2] board/lx2160ardb board/lx2160a-rdb new platform and newconfig Léo DENIEUL
@ 2026-11-05 15:36 ` Vladimir Oltean
2026-11-05 21:00 ` Vladimir Oltean
2026-11-05 15:37 ` [Buildroot] [PATCH v8 2/2] configs/lx2160a-rdb: new defconfig Léo DENIEUL
2 siblings, 1 reply; 15+ messages in thread
From: Vladimir Oltean @ 2026-11-05 15:36 UTC (permalink / raw)
To: buildroot; +Cc: Thomas Petazzoni, Vladimir Oltean, Maxime Leroy, Vincent Jardin
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.
The boot uses U-Boot's bootstd framework with extlinux.conf. The DPAA2
Management Complex firmware is loaded from the filesystem during U-Boot
board init. EFI boot support is disabled since we use extlinux.
Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
Reviewed-by: Vincent Jardin <vjardin@free.fr>
Tested-by: Maxime Leroy <maxime@leroys.fr>
Signed-off-by: Maxime Leroy <maxime@leroys.fr>
Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
Tested-by: Vladimir Oltean <olteanv@gmail.com>
Signed-off-by: Leo DENIEUL <leo.denieul.yoshino@gmail.com>
---
DEVELOPERS | 5 +
board/freescale/common/env-dpaa2.txt | 7 +
.../udev/rules.d/74-dpaa2-networking.rules | 29 ++++
board/freescale/lx2160ardb/extlinux.conf | 4 +
board/freescale/lx2160ardb/genimage.cfg | 47 +++++++
.../arm-trusted-firmware.hash | 2 +
| 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 | 129 ++++++++++++++++++
board/freescale/lx2160ardb/uboot-env.txt | 11 ++
board/freescale/lx2160ardb/uboot.config | 2 +
configs/freescale_lx2160ardb_defconfig | 59 ++++++++
15 files changed, 378 insertions(+)
create mode 100644 board/freescale/common/env-dpaa2.txt
create mode 100644 board/freescale/common/rootfs_overlay/etc/udev/rules.d/74-dpaa2-networking.rules
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/uboot-env.txt
create mode 100644 board/freescale/lx2160ardb/uboot.config
create mode 100644 configs/freescale_lx2160ardb_defconfig
diff --git a/DEVELOPERS b/DEVELOPERS
index 1f86c777c3..659c748db9 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -2175,6 +2175,9 @@ F: package/petitboot/
N: Lee Jones <lee.jones@linaro.org>
F: boot/afboot-stm32/
+N: Leo Denieul <leo.denieul.yoshino@gmail.com>
+F: configs/freescale_lx2160ardb_defconfig
+
N: Leon Anavi <leon.anavi@konsulko.com>
F: board/olimex/a10_olinuxino
F: configs/olimex_a10_olinuxino_lime_defconfig
@@ -3499,6 +3502,8 @@ N: Vinicius Tinti <viniciustinti@gmail.com>
F: package/python-thrift/
N: Vladimir Oltean <olteanv@gmail.com>
+F: board/freescale/lx2160ardb
+F: configs/freescale_lx2160ardb_defconfig
F: package/qoriq-ddr-phy-binary/
F: package/qoriq-firmware-inphi/
F: package/qoriq-mc-binary/
diff --git a/board/freescale/common/env-dpaa2.txt b/board/freescale/common/env-dpaa2.txt
new file mode 100644
index 0000000000..e60bcdeac0
--- /dev/null
+++ b/board/freescale/common/env-dpaa2.txt
@@ -0,0 +1,7 @@
+# DPAA2 MC firmware loading (common to all DPAA2 boards)
+dpl_addr_r=0x80d00000
+dpc_addr_r=0x80e00000
+fsl_bootcmd_mcinitcmd_set=y
+mc_fw_addr_r=0x80a00000
+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
diff --git a/board/freescale/common/rootfs_overlay/etc/udev/rules.d/74-dpaa2-networking.rules b/board/freescale/common/rootfs_overlay/etc/udev/rules.d/74-dpaa2-networking.rules
new file mode 100644
index 0000000000..ac55225673
--- /dev/null
+++ b/board/freescale/common/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", 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:01:02:03:04:05"
+
+LABEL="fsl_dpaa2_rules_end"
diff --git a/board/freescale/lx2160ardb/extlinux.conf b/board/freescale/lx2160ardb/extlinux.conf
new file mode 100644
index 0000000000..58c2720252
--- /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 console=ttyAMA0,115200 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 0000000000..f895a5ab5e
--- /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 0000000000..4b761bede3
--- /dev/null
+++ b/board/freescale/lx2160ardb/patches/arm-trusted-firmware/arm-trusted-firmware.hash
@@ -0,0 +1,2 @@
+# Locally computed
+sha256 2d3f9c52e16766c290bdc0bc130d634e4c326a5b236dfb2f2ca3f0fa457e82d4 atf-lf-6.12.34-2.1.0.tar.gz
--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 0000000000..5808d92afe
--- /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 0000000000..f30030c86a
--- /dev/null
+++ b/board/freescale/lx2160ardb/patches/linux/linux.hash
@@ -0,0 +1,2 @@
+# Locally computed
+sha256 27a1987ca0a5802d3ebb296b8134ec66d813ad86cf2a60779b45092735bbb23b linux-lf-6.12.34-2.1.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 0000000000..38d54d9922
--- /dev/null
+++ b/board/freescale/lx2160ardb/patches/uboot/uboot.hash
@@ -0,0 +1,2 @@
+# Locally computed
+sha256 2f25cde388b2f83ff7a8e3afe25aafb1db48dafb0fa3bf1e4f9fef603f3b4785 u-boot-lf-6.12.34-2.1.0.tar.gz
diff --git a/board/freescale/lx2160ardb/post-build.sh b/board/freescale/lx2160ardb/post-build.sh
new file mode 100755
index 0000000000..4042bf9c7e
--- /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 0000000000..4c4b7d9c79
--- /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 0000000000..6dfc3f592b
--- /dev/null
+++ b/board/freescale/lx2160ardb/readme.txt
@@ -0,0 +1,129 @@
+**************
+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), but has a slower release cadence than LF. The currently used
+tag is lf-6.12.34-2.1.0, which is in line with the latest LF tag. Generally, in
+Buildroot, the latest Linux Factory release tag is always 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:
+ - atf (fork), lf-6.12.34-2.1.0
+ - linux (fork), lf-6.12.34-2.1.0
+ - qoriq-ddr-phy-binary (blob), lf-6.12.34-2.1.0
+ - qoriq-firmware-inphi (blob), static commit
+ - qoriq-mc-binary (blob), mc_release_10.39.0
+ - qoriq-mc-utils, mc_release_10.39.0
+ - qoriq-rcw, lf-6.12.34-2.1.0
+ - qoriq-restool, lf-6.12.34-2.1.0
+ - uboot (fork), lf-6.12.34-2.1.0
+
+Build
+=====
+
+First, configure Buildroot for the LX2160ARDB board:
+
+ make freescale_lx2160ardb_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/uboot-env.txt b/board/freescale/lx2160ardb/uboot-env.txt
new file mode 100644
index 0000000000..89090edb32
--- /dev/null
+++ b/board/freescale/lx2160ardb/uboot-env.txt
@@ -0,0 +1,11 @@
+# Memory addresses for bootstd
+fdt_addr_r=0x90000000
+kernel_addr_r=0x81000000
+scriptaddr=0x80000000
+
+# Boot order and network
+boot_targets=usb0 mmc0 mmc1 scsi0 dhcp
+ethprime=DPMAC1@xgmii
+
+# Boot command (MC already loaded via fsl_bootcmd_mcinitcmd_set)
+bootcmd=bootflow scan
diff --git a/board/freescale/lx2160ardb/uboot.config b/board/freescale/lx2160ardb/uboot.config
new file mode 100644
index 0000000000..e31254d62e
--- /dev/null
+++ b/board/freescale/lx2160ardb/uboot.config
@@ -0,0 +1,2 @@
+# Disable EFI boot support - we use extlinux.conf via bootstd instead
+# CONFIG_EFI_LOADER is not set
diff --git a/configs/freescale_lx2160ardb_defconfig b/configs/freescale_lx2160ardb_defconfig
new file mode 100644
index 0000000000..8678bb2df4
--- /dev/null
+++ b/configs/freescale_lx2160ardb_defconfig
@@ -0,0 +1,59 @@
+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/common/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.34-2.1.0)/linux-lf-6.12.34-2.1.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="256M"
+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.34-2.1.0)/atf-lf-6.12.34-2.1.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.34-2.1.0)/u-boot-lf-6.12.34-2.1.0.tar.gz"
+BR2_TARGET_UBOOT_BOARD_DEFCONFIG="lx2160ardb_tfa"
+BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/freescale/lx2160ardb/uboot.config"
+BR2_TARGET_UBOOT_NEEDS_DTC=y
+BR2_TARGET_UBOOT_NEEDS_GNUTLS=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
+# Minimal U-Boot environment for bootstd with DPAA2 MC firmware init
+BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE_SOURCE="board/freescale/lx2160ardb/uboot-env.txt board/freescale/common/env-dpaa2.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.53.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [Buildroot] [PATCH v8 2/2] configs/lx2160a-rdb: new defconfig
2026-10-28 15:41 ` Vladimir Oltean
2026-11-05 15:36 ` [Buildroot] [PATCH v8 0/2] board/lx2160ardb board/lx2160a-rdb new platform and newconfig Léo DENIEUL
2026-11-05 15:36 ` [Buildroot] [PATCH v8 1/2] board/lx2160ardb: new platform Vladimir Oltean
@ 2026-11-05 15:37 ` Léo DENIEUL
2 siblings, 0 replies; 15+ messages in thread
From: Léo DENIEUL @ 2026-11-05 15:37 UTC (permalink / raw)
To: buildroot; +Cc: Thomas Petazzoni, Vladimir Oltean, Maxime Leroy, Vincent Jardin
Add a defconfig for the NXP LX2160A-RDB using upstream components
instead of the NXP BSP forks used by freescale_lx2160ardb_defconfig:
- TF-A v2.15.0
- U-Boot 2026.10 (lx2160ardb_tfa_defconfig)
- Linux 6.18.60 (arm64 defconfig, fsl-lx2160a-rdb.dtb)
This avoids depending on NXP BSP release tags, which are not updated
as often as the upstream projects.
The RCW, U-Boot environment and configuration fragment are shared with
board/freescale/lx2160ardb/. board/freescale/lx2160a-rdb/ contains the
hashes of the upstream components, its own genimage.cfg (without the
retimer firmware), and the post-build script and extlinux.conf from
lx2160ardb, so that the post-build script picks this genimage.cfg.
Mainline U-Boot has no loader for the Inphi IN112525 retimer firmware,
so qoriq-firmware-inphi is not selected and the firmware is not
written to the SD card. As a consequence, the 25GbE/50GbE/100GbE ports
are not functional.
Tested on an LX2160ARDB: boot from SD card.
Signed-off-by: Léo DENIEUL <leo.denieul.yoshino@gmail.com>
---
DEVELOPERS | 2 +
board/freescale/lx2160a-rdb/extlinux.conf | 1 +
board/freescale/lx2160a-rdb/genimage.cfg | 40 +++++++++++++
.../arm-trusted-firmware.hash | 2 +
| 2 +
.../lx2160a-rdb/patches/linux/linux.hash | 2 +
.../lx2160a-rdb/patches/uboot/uboot.hash | 2 +
board/freescale/lx2160a-rdb/post-build.sh | 11 ++++
board/freescale/lx2160a-rdb/readme.txt | 46 +++++++++++++++
configs/lx2160a-rdb_defconfig | 56 +++++++++++++++++++
10 files changed, 164 insertions(+)
create mode 120000 board/freescale/lx2160a-rdb/extlinux.conf
create mode 100644 board/freescale/lx2160a-rdb/genimage.cfg
create mode 100644 board/freescale/lx2160a-rdb/patches/arm-trusted-firmware/arm-trusted-firmware.hash
create mode 100644 board/freescale/lx2160a-rdb/patches/linux-headers/linux-headers.hash
create mode 100644 board/freescale/lx2160a-rdb/patches/linux/linux.hash
create mode 100644 board/freescale/lx2160a-rdb/patches/uboot/uboot.hash
create mode 100755 board/freescale/lx2160a-rdb/post-build.sh
create mode 100644 board/freescale/lx2160a-rdb/readme.txt
create mode 100644 configs/lx2160a-rdb_defconfig
diff --git a/DEVELOPERS b/DEVELOPERS
index 659c748db9..cdce895254 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -2176,7 +2176,9 @@ N: Lee Jones <lee.jones@linaro.org>
F: boot/afboot-stm32/
N: Leo Denieul <leo.denieul.yoshino@gmail.com>
+F: board/freescale/lx2160a-rdb
F: configs/freescale_lx2160ardb_defconfig
+F: configs/lx2160a-rdb_defconfig
N: Leon Anavi <leon.anavi@konsulko.com>
F: board/olimex/a10_olinuxino
diff --git a/board/freescale/lx2160a-rdb/extlinux.conf b/board/freescale/lx2160a-rdb/extlinux.conf
new file mode 120000
index 0000000000..bc68bcfca3
--- /dev/null
+++ b/board/freescale/lx2160a-rdb/extlinux.conf
@@ -0,0 +1 @@
+../lx2160ardb/extlinux.conf
\ No newline at end of file
diff --git a/board/freescale/lx2160a-rdb/genimage.cfg b/board/freescale/lx2160a-rdb/genimage.cfg
new file mode 100644
index 0000000000..c6780e6220
--- /dev/null
+++ b/board/freescale/lx2160a-rdb/genimage.cfg
@@ -0,0 +1,40 @@
+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
+ }
+
+ partition rootfs {
+ bootable = "true"
+ image = "rootfs.ext4"
+ partition-uuid = %PARTUUID%
+ }
+}
diff --git a/board/freescale/lx2160a-rdb/patches/arm-trusted-firmware/arm-trusted-firmware.hash b/board/freescale/lx2160a-rdb/patches/arm-trusted-firmware/arm-trusted-firmware.hash
new file mode 100644
index 0000000000..367a03c1ce
--- /dev/null
+++ b/board/freescale/lx2160a-rdb/patches/arm-trusted-firmware/arm-trusted-firmware.hash
@@ -0,0 +1,2 @@
+# Locally computed
+sha256 b807d8bf190b7c46b4260729b4bbe2f7df83cd1086edcb181d66595ae6598d23 arm-trusted-firmware-v2.15.0-git4.tar.gz
--git a/board/freescale/lx2160a-rdb/patches/linux-headers/linux-headers.hash b/board/freescale/lx2160a-rdb/patches/linux-headers/linux-headers.hash
new file mode 100644
index 0000000000..a5e2b5fc40
--- /dev/null
+++ b/board/freescale/lx2160a-rdb/patches/linux-headers/linux-headers.hash
@@ -0,0 +1,2 @@
+# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
+sha256 3c2f44ef6acc021a7ad444d9a2e6ec1ef488ff09368793d0004a6080f69d621e linux-6.18.60.tar.xz
diff --git a/board/freescale/lx2160a-rdb/patches/linux/linux.hash b/board/freescale/lx2160a-rdb/patches/linux/linux.hash
new file mode 100644
index 0000000000..a5e2b5fc40
--- /dev/null
+++ b/board/freescale/lx2160a-rdb/patches/linux/linux.hash
@@ -0,0 +1,2 @@
+# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
+sha256 3c2f44ef6acc021a7ad444d9a2e6ec1ef488ff09368793d0004a6080f69d621e linux-6.18.60.tar.xz
diff --git a/board/freescale/lx2160a-rdb/patches/uboot/uboot.hash b/board/freescale/lx2160a-rdb/patches/uboot/uboot.hash
new file mode 100644
index 0000000000..b535557b88
--- /dev/null
+++ b/board/freescale/lx2160a-rdb/patches/uboot/uboot.hash
@@ -0,0 +1,2 @@
+# Locally computed
+sha256 3f856da3cbbc93af51ff95fde18588a348b4a26723b01d9841e999d988481015 u-boot-2026.10.tar.bz2
diff --git a/board/freescale/lx2160a-rdb/post-build.sh b/board/freescale/lx2160a-rdb/post-build.sh
new file mode 100755
index 0000000000..4042bf9c7e
--- /dev/null
+++ b/board/freescale/lx2160a-rdb/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/lx2160a-rdb/readme.txt b/board/freescale/lx2160a-rdb/readme.txt
new file mode 100644
index 0000000000..f0c03a5958
--- /dev/null
+++ b/board/freescale/lx2160a-rdb/readme.txt
@@ -0,0 +1,46 @@
+******************************************
+NXP LX2160ARDB (upstream TF-A/U-Boot/Linux)
+******************************************
+
+This file documents the Buildroot support for the LX2160A Reference Design
+Board, using upstream versions of TF-A, U-Boot and Linux instead of the NXP
+BSP forks used by freescale_lx2160ardb_defconfig.
+
+The upstream components are:
+ - arm-trusted-firmware, v2.15.0
+ - uboot, 2026.10 (lx2160ardb_tfa_defconfig)
+ - linux, 6.18.60 (arm64 defconfig, fsl-lx2160a-rdb.dtb)
+
+The board files (RCW, U-Boot environment and configuration fragment) are
+shared with freescale_lx2160ardb_defconfig and live in
+board/freescale/lx2160ardb/. This directory only contains what differs:
+the hashes of the upstream components and the SD card layout.
+
+Build
+=====
+
+First, configure Buildroot for the LX2160ARDB board:
+
+ make lx2160a-rdb_defconfig
+
+Build all components:
+
+ make
+
+You will find in output/images/ the same files as described in
+board/freescale/lx2160ardb/readme.txt, except in112525-phy-ucode.txt.
+
+Create a bootable SD card and boot the board
+============================================
+
+The procedure is identical to freescale_lx2160ardb_defconfig, see
+board/freescale/lx2160ardb/readme.txt.
+
+For details about the medium image layout, see the definition in
+board/freescale/lx2160a-rdb/genimage.cfg.
+
+Known limitations
+=================
+
+Mainline U-Boot cannot load the firmware of the Inphi IN112525 retimer,
+so the 25GbE/50GbE/100GbE ports are not functional.
diff --git a/configs/lx2160a-rdb_defconfig b/configs/lx2160a-rdb_defconfig
new file mode 100644
index 0000000000..c261ade4af
--- /dev/null
+++ b/configs/lx2160a-rdb_defconfig
@@ -0,0 +1,56 @@
+BR2_cortex_a72=y
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y
+BR2_GLOBAL_PATCH_DIR="board/freescale/lx2160a-rdb/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/common/rootfs_overlay"
+BR2_ROOTFS_POST_BUILD_SCRIPT="board/freescale/lx2160a-rdb/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_VERSION=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.60"
+BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
+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="256M"
+BR2_TARGET_ROOTFS_CPIO=y
+BR2_TARGET_ARM_TRUSTED_FIRMWARE=y
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.15.0"
+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_VERSION=y
+BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.10"
+BR2_TARGET_UBOOT_BOARD_DEFCONFIG="lx2160ardb_tfa"
+BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/freescale/lx2160ardb/uboot.config"
+BR2_TARGET_UBOOT_NEEDS_DTC=y
+BR2_TARGET_UBOOT_NEEDS_GNUTLS=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
+# Minimal U-Boot environment for bootstd with DPAA2 MC firmware init
+BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE_SOURCE="board/freescale/lx2160ardb/uboot-env.txt board/freescale/common/env-dpaa2.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
--
2.53.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [Buildroot] [PATCH v8 0/2] board/lx2160ardb board/lx2160a-rdb new platform and newconfig
2026-11-05 15:36 ` [Buildroot] [PATCH v8 0/2] board/lx2160ardb board/lx2160a-rdb new platform and newconfig Léo DENIEUL
@ 2026-11-05 15:47 ` Leo DENIEUL
0 siblings, 0 replies; 15+ messages in thread
From: Leo DENIEUL @ 2026-11-05 15:47 UTC (permalink / raw)
To: buildroot; +Cc: Thomas Petazzoni, Vladimir Oltean, Maxime Leroy, Vincent Jardin
On Thu, Nov 05, 2026 at 04:36:29PM +0100, Léo DENIEUL wrote:
> - patch 1/2 is v7 3/3 with the DEVELOPERS entries Thomas asked for
> (Vladimir Oltean and myself).
For the record, patch 1/2 is authored by Vladimir Oltean but was sent
by me, with his From: header kept as is. Sorry for any confusion.
Léo
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Buildroot] [PATCH v8 1/2] board/lx2160ardb: new platform
2026-11-05 15:36 ` [Buildroot] [PATCH v8 1/2] board/lx2160ardb: new platform Vladimir Oltean
@ 2026-11-05 21:00 ` Vladimir Oltean
2026-11-05 21:03 ` Léo DENIEUL
0 siblings, 1 reply; 15+ messages in thread
From: Vladimir Oltean @ 2026-11-05 21:00 UTC (permalink / raw)
To: Vladimir Oltean; +Cc: buildroot, Thomas Petazzoni, Maxime Leroy, Vincent Jardin
On Thu, Nov 05, 2026 at 04:36:44PM +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.
>
> The boot uses U-Boot's bootstd framework with extlinux.conf. The DPAA2
> Management Complex firmware is loaded from the filesystem during U-Boot
> board init. EFI boot support is disabled since we use extlinux.
>
> Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
> Reviewed-by: Vincent Jardin <vjardin@free.fr>
> Tested-by: Maxime Leroy <maxime@leroys.fr>
> Signed-off-by: Maxime Leroy <maxime@leroys.fr>
> Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
> Tested-by: Vladimir Oltean <olteanv@gmail.com>
> Signed-off-by: Leo DENIEUL <leo.denieul.yoshino@gmail.com>
> ---
Please fix your email client, it is still sending emails as "From:
Vladimir Oltean <leo.denieul.yoshino@gmail.com>".
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Buildroot] [PATCH v8 1/2] board/lx2160ardb: new platform
2026-11-05 21:00 ` Vladimir Oltean
@ 2026-11-05 21:03 ` Léo DENIEUL
0 siblings, 0 replies; 15+ messages in thread
From: Léo DENIEUL @ 2026-11-05 21:03 UTC (permalink / raw)
To: Vladimir Oltean; +Cc: buildroot, Thomas Petazzoni, Maxime Leroy, Vincent Jardin
[-- Attachment #1.1: Type: text/plain, Size: 1227 bytes --]
Thank you, I've written to Thomas that there was an error
On Thu 5 Nov 2026 at 22:00, Vladimir Oltean <olteanv@gmail.com> wrote:
> On Thu, Nov 05, 2026 at 04:36:44PM +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.
> >
> > The boot uses U-Boot's bootstd framework with extlinux.conf. The DPAA2
> > Management Complex firmware is loaded from the filesystem during U-Boot
> > board init. EFI boot support is disabled since we use extlinux.
> >
> > Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
> > Reviewed-by: Vincent Jardin <vjardin@free.fr>
> > Tested-by: Maxime Leroy <maxime@leroys.fr>
> > Signed-off-by: Maxime Leroy <maxime@leroys.fr>
> > Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
> > Tested-by: Vladimir Oltean <olteanv@gmail.com>
> > Signed-off-by: Leo DENIEUL <leo.denieul.yoshino@gmail.com>
> > ---
>
> Please fix your email client, it is still sending emails as "From:
> Vladimir Oltean <leo.denieul.yoshino@gmail.com>".
>
[-- Attachment #1.2: Type: text/html, Size: 2183 bytes --]
[-- Attachment #2: Type: text/plain, Size: 150 bytes --]
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2026-11-05 21:04 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-19 7:47 [Buildroot] [PATCH v7 0/3] board/lx2160ardb: new platform Léo Denieul
2026-10-19 7:48 ` [Buildroot] [PATCH v7 1/3] package/qoriq-restool: add runtime dependencies Léo DENIEUL
2026-10-25 21:24 ` Thomas Petazzoni via buildroot
2026-10-19 7:48 ` [Buildroot] [PATCH v7 2/3] package/qoriq-restool: bump to lf-6.12.34-2.1.0 Léo DENIEUL
2026-10-25 21:24 ` Thomas Petazzoni via buildroot
2026-10-19 7:48 ` [Buildroot] [PATCH v7 3/3] board/lx2160ardb: new platform Léo DENIEUL
2026-10-25 21:25 ` Thomas Petazzoni via buildroot
2026-10-26 10:15 ` Léo DENIEUL
2026-10-28 15:41 ` Vladimir Oltean
2026-11-05 15:36 ` [Buildroot] [PATCH v8 0/2] board/lx2160ardb board/lx2160a-rdb new platform and newconfig Léo DENIEUL
2026-11-05 15:47 ` Leo DENIEUL
2026-11-05 15:36 ` [Buildroot] [PATCH v8 1/2] board/lx2160ardb: new platform Vladimir Oltean
2026-11-05 21:00 ` Vladimir Oltean
2026-11-05 21:03 ` Léo DENIEUL
2026-11-05 15:37 ` [Buildroot] [PATCH v8 2/2] configs/lx2160a-rdb: new defconfig Léo DENIEUL
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox