On Mon, 17 Aug 2026 at 16:32, Vincent Jardin <[email protected]> wrote:
>
>
> This series adds the Free Mobile Nodebox v3 CPU Module, an NXP
> LX2160A based board (16x Cortex-A72, DPAA2). U-Boot is the BL33
> payload of TF-A: BL2 trains the DDR, BL31 hands over, and U-Boot
> boots a FIT image (kernel + MC firmware + DPC/DPL) from a single
> FlexSPI NOR. The module plugs onto several carrier boards (NBV30,
> NBV32, etc.) that share one kernel image but differ in their device
> tree and DPAA2 data path.
Why just FIT and not UEFI?
> The port is modelled on the LX2160ARDB / QDS boards and lives next
> to them under board/nxp/lx2160a/, reusing their SoC level code.
> Board specific behaviour is wired through EVENT_SPY hooks rather
> than weak symbol overrides, and the dependencies each hook needs
> are forced on by hidden default-y Kconfig bools under
> `if TARGET_NBXV3`, so a hook cannot silently turn into a no-op.
>
> The series is in three stages:
>
> 1. Base port and documentation (patches 1-2): TARGET_NBXV3, the
> defconfig, a minimal device tree, the MAINTAINERS entry, the
> Ethernet wiring file and doc/board/nxp/nbxv3.rst.
>
> 2. Board code (patches 3-9): DPAA2 Ethernet on DPMAC17 through the
> RTL8211FD PHY; the +0V8_VDD core rail (MPS MPQ8785 PMBus
> regulator snapshot, PMBus PSU snapshot, VID fuse driven voltage
> trim through UCLASS_REGULATOR); the ${carrier} selection that
> lets one FIT carry a DPC/DPL/DTB set per carrier; the ZL30733 /
> ZL30643 DPLL traces; the +3V3_FAN rail hook.
>
> 3. Build and device tree settings (patches 10-23): one small
> commit per peripheral or features, each enabling its DT nodes and
> defconfig symbols.
The device tree should be sent upstream to the Linux kernel and then I
think most of 10-23 should be compacted to a single patch.
>
>
> Vincent Jardin (23):
> board: nxp: add Nodebox v3 CPU Module (LX2160A) base port
> doc: board: nxp: add the Nodebox v3 CPU Module (nbxv3)
> board: nbxv3: enable RTL8211FD PHY for 1G DPAA2
> board: nbxv3: add MPQ8785 PMBus traces + DT regulator
> board: nbxv3: add boot-time PMBus PSU traces
> board: nbxv3: add VID-fuse driven core voltage
> board: nbxv3: select carrier at boot
> board: nbxv3: add DPLL status (ZL30733, ZL30643)
> board: nbxv3: enable +3V3_FAN rail fixed regulator
> arm: dts: layerscape: nbxv3: enable UART0..UART3
> board: nbxv3: enable FlexSPI boot NOR (GD55LB02GF) and FIT boot
> board: nbxv3: store the environment in the boot NOR
> board: nbxv3: enable eMMC on eSDHC2
> board: nbxv3: enable PCIe root complexes (PCIE3..PCIE6)
> board: nbxv3: enable both USB host controllers
> board: nbxv3: describe the I2C buses and their on module devices
> arm: dts: nbxv3: add the +3V3_FAN regulator
> board: nbxv3: enable JC42 + QorIQ TMU + PMBus thermal
> board: nbxv3: enable HW crypto (CAAM) and rng command
> arm: dts: nbxv3: bump SBSA watchdog timeout to 120s
> board: nbxv3: add operator commands and JTAG semihosting
> board: nbxv3: enable GPIO controllers with line names and hogs
> board: nbxv3: add the boot environment (FIT over MC, MC memory, PS1)
>
> arch/arm/Kconfig | 12 +
> arch/arm/dts/Makefile | 1 +
> arch/arm/dts/fsl-lx2160a-nbxv3.dts | 531 +++++++++++++++++++++++++
> board/nxp/lx2160a/Kconfig | 45 +++
> board/nxp/lx2160a/MAINTAINERS | 9 +
> board/nxp/lx2160a/Makefile | 1 +
> board/nxp/lx2160a/nbxv3/Makefile | 11 +
> board/nxp/lx2160a/nbxv3/carrier.c | 87 ++++
> board/nxp/lx2160a/nbxv3/carrier.h | 17 +
> board/nxp/lx2160a/nbxv3/dpll_zl30733.c | 183 +++++++++
> board/nxp/lx2160a/nbxv3/eth_nbxv3.c | 77 ++++
> board/nxp/lx2160a/nbxv3/fan_power.c | 32 ++
> board/nxp/lx2160a/nbxv3/mps_pmbus.c | 107 +++++
> board/nxp/lx2160a/nbxv3/psu_pmbus.c | 80 ++++
> board/nxp/lx2160a/nbxv3/vid_handoff.c | 146 +++++++
> configs/nbxv3_tfa_defconfig | 106 +++++
> doc/board/nxp/index.rst | 1 +
> doc/board/nxp/nbxv3.rst | 255 ++++++++++++
> include/configs/nbxv3.h | 57 +++
> 19 files changed, 1758 insertions(+)
> create mode 100644 arch/arm/dts/fsl-lx2160a-nbxv3.dts
> create mode 100644 board/nxp/lx2160a/nbxv3/Makefile
> create mode 100644 board/nxp/lx2160a/nbxv3/carrier.c
> create mode 100644 board/nxp/lx2160a/nbxv3/carrier.h
> create mode 100644 board/nxp/lx2160a/nbxv3/dpll_zl30733.c
> create mode 100644 board/nxp/lx2160a/nbxv3/eth_nbxv3.c
> create mode 100644 board/nxp/lx2160a/nbxv3/fan_power.c
> create mode 100644 board/nxp/lx2160a/nbxv3/mps_pmbus.c
> create mode 100644 board/nxp/lx2160a/nbxv3/psu_pmbus.c
> create mode 100644 board/nxp/lx2160a/nbxv3/vid_handoff.c
> create mode 100644 configs/nbxv3_tfa_defconfig
> create mode 100644 doc/board/nxp/nbxv3.rst
> create mode 100644 include/configs/nbxv3.h
>
> ---
> base-commit: 527115ef6783cec49e5610c523c124b399011361
> branch: for-upstream/nbxv3-v1
>
> --
> 2.43.0
>