* [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
* 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
* [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
* 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
* [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 + .../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 ++++++++ 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 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 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 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
* 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
* [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 + .../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 ++++++++ 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 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 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
* 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
* [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 + .../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 +++++++++++++++ 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 diff --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
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