* [PATCH v4 0/3] arm64: dts: freescale: add Free Mobile Nodebox v3 CPU Module (LX2160A)
@ 2026-09-11 0:08 Vincent Jardin via B4 Relay
2026-09-11 0:08 ` [PATCH v4 1/3] dt-bindings: vendor-prefixes: add Free Mobile Vincent Jardin via B4 Relay
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Vincent Jardin via B4 Relay @ 2026-09-11 0:08 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
Frank Li, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam
Cc: devicetree, linux-kernel, imx, linux-arm-kernel, Vincent Jardin,
Krzysztof Kozlowski
The Nodebox v3 is a Free Mobile CPU module built around the NXP LX2160A
(16x Cortex-A72, DPAA2).
The same fsl-lx2160a-nbxv3.dtsi shall be used verbatim by the
U-Boot port, sent in parallel to the U-Boot list, so the two trees
cannot drift.
Dependency:
the DTS uses gpio hogs on the QorIQ GPIO controllers, which
needs the commit
78c0baf85cd0 ("dt-bindings: gpio: fsl,qoriq-gpio: allow gpio-hog child nodes")
already in gpio/for-next and that will likely arrive in v7.4-rc1.
Until it lands, dtbs_check reports the five hog nodes, the rest of the
tree validates clean against the current schemas.
Signed-off-by: Vincent Jardin <vjardin@free.fr>
---
Changes in v4:
- dt-bindings: arm: fsl: commit message like the other ones (Krzysztof Kozlowski)
- Acked-by on the vendor prefix
- Drop U-Boot comments from the DTS commit message (Frank Li)
- Boot NOR reset: reset-gpios on flash@0 instead of a gpio hog (Frank Li)
- ethsw-mdio-en: regulator-fixed instead of a gpio hog (Frank Li)
- ethsw-reset#: hog dropped (Frank Li)
- pltrst#: platform without consumer node
- Link to v3: https://lore.kernel.org/r/20260908-for-upstream-nbxv3-dts-v3-0-1d88b2c11680@free.fr
Changes in v3:
- Drop the thermtrip hog on gpio1 line 23, should have been clean'd
before
- Link to v2: https://lore.kernel.org/r/20260907-for-upstream-nbxv3-dts-v2-0-6b4afd36180b@free.fr
Changes in v2: (from Sashiko's comments)
- Makefile: dtb entry in alphabetical order (before qds).
- Move the XSPI1_A_DATA[7:4] GPIO mux group from &fspi to &gpio1, so
the reset hogs on gpio1 do not depend on the fspi probe.
- gpio hogs: describe ethsw-reset# and ethsw-mdio-en with their
active-low polarity (GPIO_ACTIVE_LOW), same electrical levels.
- Link to v1: https://lore.kernel.org/r/20260907-for-upstream-nbxv3-dts-v1-0-f43fd0028b78@free.fr
---
Vincent Jardin (3):
dt-bindings: vendor-prefixes: add Free Mobile
dt-bindings: arm: fsl: add Free Mobile Nodebox v3 CPU Module
arm64: dts: freescale: add Nodebox v3 CPU Module
Documentation/devicetree/bindings/arm/fsl.yaml | 6 +
.../devicetree/bindings/vendor-prefixes.yaml | 2 +
arch/arm64/boot/dts/freescale/Makefile | 2 +
.../arm64/boot/dts/freescale/fsl-lx2160a-nbxv3.dts | 34 +++
.../boot/dts/freescale/fsl-lx2160a-nbxv3.dtsi | 321 +++++++++++++++++++++
5 files changed, 365 insertions(+)
---
base-commit: df2908090cda368b01ff43709f51890076c56157
change-id: 20260907-for-upstream-nbxv3-dts-bbecd04038a2
Best regards,
--
Vincent Jardin <vjardin@free.fr>
^ permalink raw reply [flat|nested] 5+ messages in thread* [PATCH v4 1/3] dt-bindings: vendor-prefixes: add Free Mobile 2026-09-11 0:08 [PATCH v4 0/3] arm64: dts: freescale: add Free Mobile Nodebox v3 CPU Module (LX2160A) Vincent Jardin via B4 Relay @ 2026-09-11 0:08 ` Vincent Jardin via B4 Relay 2026-09-11 0:08 ` [PATCH v4 2/3] dt-bindings: arm: fsl: add Free Mobile Nodebox v3 CPU Module Vincent Jardin via B4 Relay 2026-09-11 0:08 ` [PATCH v4 3/3] arm64: dts: freescale: add " Vincent Jardin via B4 Relay 2 siblings, 0 replies; 5+ messages in thread From: Vincent Jardin via B4 Relay @ 2026-09-11 0:08 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo, Frank Li, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam Cc: devicetree, linux-kernel, imx, linux-arm-kernel, Vincent Jardin, Krzysztof Kozlowski From: Vincent Jardin <vjardin@free.fr> Free Mobile is a French mobile network operator. Add its vendor prefix, used by the Nodebox v3 CPU Module (freemobile,nbxv3). Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Signed-off-by: Vincent Jardin <vjardin@free.fr> --- Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml index ba20029693734..e467da45cd7ac 100644 --- a/Documentation/devicetree/bindings/vendor-prefixes.yaml +++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml @@ -626,6 +626,8 @@ patternProperties: description: Freebox SAS "^freecom,.*": description: Freecom Gmbh + "^freemobile,.*": + description: Free Mobile "^frida,.*": description: Shenzhen Frida LCD Co., Ltd. "^friendlyarm,.*": -- 2.43.0 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v4 2/3] dt-bindings: arm: fsl: add Free Mobile Nodebox v3 CPU Module 2026-09-11 0:08 [PATCH v4 0/3] arm64: dts: freescale: add Free Mobile Nodebox v3 CPU Module (LX2160A) Vincent Jardin via B4 Relay 2026-09-11 0:08 ` [PATCH v4 1/3] dt-bindings: vendor-prefixes: add Free Mobile Vincent Jardin via B4 Relay @ 2026-09-11 0:08 ` Vincent Jardin via B4 Relay 2026-09-11 0:08 ` [PATCH v4 3/3] arm64: dts: freescale: add " Vincent Jardin via B4 Relay 2 siblings, 0 replies; 5+ messages in thread From: Vincent Jardin via B4 Relay @ 2026-09-11 0:08 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo, Frank Li, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam Cc: devicetree, linux-kernel, imx, linux-arm-kernel, Vincent Jardin From: Vincent Jardin <vjardin@free.fr> Add DT compatible string for the Free Mobile Nodebox v3 CPU Module, an NXP LX2160A based board. Signed-off-by: Vincent Jardin <vjardin@free.fr> --- Documentation/devicetree/bindings/arm/fsl.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Documentation/devicetree/bindings/arm/fsl.yaml b/Documentation/devicetree/bindings/arm/fsl.yaml index 656f2596e1d53..baff4f4159b29 100644 --- a/Documentation/devicetree/bindings/arm/fsl.yaml +++ b/Documentation/devicetree/bindings/arm/fsl.yaml @@ -1937,6 +1937,12 @@ properties: - fsl,lx2162a-qds - const: fsl,lx2160a + - description: Free Mobile LX2160A based Boards + items: + - enum: + - freemobile,nbxv3 + - const: fsl,lx2160a + - description: SolidRun LX2160A CEX-7 based Boards items: - enum: -- 2.43.0 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v4 3/3] arm64: dts: freescale: add Nodebox v3 CPU Module 2026-09-11 0:08 [PATCH v4 0/3] arm64: dts: freescale: add Free Mobile Nodebox v3 CPU Module (LX2160A) Vincent Jardin via B4 Relay 2026-09-11 0:08 ` [PATCH v4 1/3] dt-bindings: vendor-prefixes: add Free Mobile Vincent Jardin via B4 Relay 2026-09-11 0:08 ` [PATCH v4 2/3] dt-bindings: arm: fsl: add Free Mobile Nodebox v3 CPU Module Vincent Jardin via B4 Relay @ 2026-09-11 0:08 ` Vincent Jardin via B4 Relay 2026-09-11 14:42 ` Frank Li 2 siblings, 1 reply; 5+ messages in thread From: Vincent Jardin via B4 Relay @ 2026-09-11 0:08 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo, Frank Li, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam Cc: devicetree, linux-kernel, imx, linux-arm-kernel, Vincent Jardin From: Vincent Jardin <vjardin@free.fr> The Nodebox v3 is a Free Mobile CPU module built around the NXP LX2160A (16x Cortex-A72, DPAA2). Signed-off-by: Vincent Jardin <vjardin@free.fr> --- arch/arm64/boot/dts/freescale/Makefile | 2 + .../arm64/boot/dts/freescale/fsl-lx2160a-nbxv3.dts | 34 +++ .../boot/dts/freescale/fsl-lx2160a-nbxv3.dtsi | 321 +++++++++++++++++++++ 3 files changed, 357 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile index 95ae85ab4adf5..faab8bf0e1676 100644 --- a/arch/arm64/boot/dts/freescale/Makefile +++ b/arch/arm64/boot/dts/freescale/Makefile @@ -55,6 +55,8 @@ DTC_FLAGS_fsl-lx2160a-half-twins := -Wno-interrupt_map dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-lx2160a-half-twins.dtb DTC_FLAGS_fsl-lx2160a-honeycomb := -Wno-interrupt_map dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-lx2160a-honeycomb.dtb +DTC_FLAGS_fsl-lx2160a-nbxv3 := -Wno-interrupt_map +dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-lx2160a-nbxv3.dtb DTC_FLAGS_fsl-lx2160a-qds := -Wno-interrupt_map dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-lx2160a-qds.dtb DTC_FLAGS_fsl-lx2160a-rdb := -Wno-interrupt_map diff --git a/arch/arm64/boot/dts/freescale/fsl-lx2160a-nbxv3.dts b/arch/arm64/boot/dts/freescale/fsl-lx2160a-nbxv3.dts new file mode 100644 index 0000000000000..b07e9def0a529 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/fsl-lx2160a-nbxv3.dts @@ -0,0 +1,34 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Free Mobile Nodebox v3 CPU Module (LX2160A) + * + * Copyright 2026 Free Mobile, Vincent Jardin + */ + +/dts-v1/; + +#include "fsl-lx2160a-rev2.dtsi" +#include "fsl-lx2160a-nbxv3.dtsi" + +/ { + model = "Free Mobile Nodebox v3 CPU Module (LX2160A)"; + compatible = "freemobile,nbxv3", "fsl,lx2160a"; +}; + +&fspi { + pinctrl-names = "default"; + pinctrl-0 = <&fspi_dqs_sck_cs10_pins>, <&fspi_data30_pins>; +}; + +&gpio1 { + pinctrl-names = "default"; + pinctrl-0 = <&gpio1_31_28_pins>; +}; + +&pcs_mdio13 { + status = "okay"; +}; + +&pcs_mdio14 { + status = "okay"; +}; diff --git a/arch/arm64/boot/dts/freescale/fsl-lx2160a-nbxv3.dtsi b/arch/arm64/boot/dts/freescale/fsl-lx2160a-nbxv3.dtsi new file mode 100644 index 0000000000000..143b24d69d629 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/fsl-lx2160a-nbxv3.dtsi @@ -0,0 +1,321 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Free Mobile Nodebox v3 CPU Module (LX2160A) + * + * Copyright 2026 Free Mobile, Vincent Jardin + * + * This file is shared by the Linux kernel and U-Boot. + */ + +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/interrupt-controller/irq.h> + +/ { + aliases { + serial0 = &uart0; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + gpio-restart { + compatible = "gpio-restart"; + gpios = <&gpio1 8 GPIO_ACTIVE_LOW>; + priority = <128>; + }; + + reg_ethsw_mdio: regulator-ethsw-mdio { + compatible = "regulator-fixed"; + regulator-name = "ethsw-mdio-en"; + gpio = <&gpio3 25 GPIO_ACTIVE_LOW>; + regulator-always-on; + regulator-boot-on; + }; +}; + +&crypto { + status = "okay"; +}; + +&dspi0 { + status = "okay"; + + dpll@0 { + compatible = "microchip,zl30733"; + reg = <0>; + spi-max-frequency = <12500000>; + }; +}; + +&dspi2 { + status = "okay"; +}; + +&dpmac13 { + status = "okay"; + phy-handle = <&lan8023_phy_s0>; + phy-connection-type = "10gbase-r"; +}; + +&dpmac14 { + status = "okay"; + phy-handle = <&lan8023_phy_s1>; + phy-connection-type = "10gbase-r"; +}; + +&dpmac17 { + status = "okay"; + phy-handle = <&rtl8211fd>; + phy-connection-type = "rgmii-id"; +}; + +&emdio1 { + status = "okay"; + + /* Microchip LAN8023 dual 10G PCS/retimer, Clause 45 only, one address per slice */ + lan8023_phy_s0: ethernet-phy@2 { + compatible = "ethernet-phy-ieee802.3-c45"; + reg = <2>; + }; + + lan8023_phy_s1: ethernet-phy@3 { + compatible = "ethernet-phy-ieee802.3-c45"; + reg = <3>; + }; + + rtl8211fd: ethernet-phy@6 { + compatible = "ethernet-phy-id001c.c916"; + reg = <6>; + }; +}; + +&emdio2 { + status = "okay"; +}; + +&esdhc1 { + status = "okay"; + bus-width = <8>; + non-removable; + mmc-hs200-1_8v; + mmc-hs400-1_8v; +}; + +&fspi { + status = "okay"; + + /* GigaDevice GD55LB02GF, 256 MiB boot NOR */ + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + #address-cells = <1>; + #size-cells = <1>; + spi-max-frequency = <150000000>; + spi-rx-bus-width = <1>; + spi-tx-bus-width = <1>; + reset-gpios = <&gpio1 28 GPIO_ACTIVE_LOW>; + }; +}; + +&fsl_mc { + status = "okay"; +}; + +&gpio0 { + status = "okay"; + gpio-line-names = + "", "", + "altfn:iic1-sda", "altfn:iic1-scl", + "altfn:uart4-sin", "altfn:uart4-sout", + "altfn:uart2-sin", "altfn:uart2-sout", + "altfn:uart3-sin", "altfn:uart3-sout", + "altfn:uart1-sin", "altfn:uart1-sout", + "altfn:spi3-pcs3", "altfn:spi3-pcs2", + "altfn:spi3-pcs1", "altfn:spi3-pcs0", + "altfn:spi1-sck", "altfn:spi1-sin", + "altfn:spi1-pcs2", "altfn:spi1-pcs1", + "altfn:spi1-pcs0", "altfn:spi1-sout", + "altfn:iic6-sda", "altfn:iic6-scl", + "altfn:spi3-sin", "altfn:spi3-sout", + "altfn:iic4-sda", "altfn:iic4-scl", + "altfn:iic3-sda", "altfn:iic3-scl", + "altfn:iic2-sda", "altfn:iic2-scl"; +}; + +&gpio1 { + status = "okay"; + gpio-line-names = + "", "", "", "", "", "", + "cfg-rcw-src2", "cfg-rcw-src3", + "reset-req-b", + "altfn:sdhc2-clk", "altfn:sdhc2-ds", + "altfn:sdhc2-dat0", "altfn:sdhc2-dat1", + "altfn:sdhc2-dat2", "altfn:sdhc2-dat3", + "altfn:sdhc2-dat4", "altfn:sdhc2-dat5", + "altfn:sdhc2-dat6", "altfn:sdhc2-dat7", + "altfn:sdhc2-cmd", + "cfg-svr1", + "altfn:xspi1-cs0", "altfn:xspi1-sck", + "altfn:xspi1-dqs", + "altfn:xspi1-data0", "altfn:xspi1-data1", + "", "", + "flash-reset#", "pltrst#", "", "ethsw-reset#"; + + /* Platform reset, no consumer node: released at boot */ + pltrst-hog { + gpio-hog; + gpios = <29 GPIO_ACTIVE_LOW>; + output-low; + line-name = "pltrst#"; + }; +}; + +&gpio2 { + status = "okay"; + gpio-line-names = + "lan8023-mdint", + "i2c2-alert#", "i2c4-alert#", "i2c6-alert#", + "u800-tca9539-int#", + "spi3-alert#", + "wake0", "wake1", + "carrier-hot#", + "u1300-rtl8211fd-int#", + "ethsw-int#", + "", "", + "u1700-zl30733-clk-gpio0", "u1700-zl30733-clk-gpio1", + "u1700-zl30733-clk-gpio2", "u1700-zl30733-clk-gpio3", + "", "", "", "", "", "", "", "", + "", "", "", "", "", "", ""; +}; + +&gpio3 { + status = "okay"; + gpio-line-names = + "altfn:ec1-txd3", "altfn:ec1-txd2", + "altfn:ec1-txd1", "altfn:ec1-txd0", + "altfn:ec1-tx-en", "altfn:ec1-gtx-clk", + "altfn:ec1-rxd3", "altfn:ec1-rxd2", + "altfn:ec1-rxd1", "altfn:ec1-rxd0", + "altfn:ec1-rx-clk", "altfn:ec1-rx-dv", + "", "", + "ptp-refclk-in", + "", "", "", "", "", "", "", "", + "u1700-zl30733-pps-out", + "", + "ethsw-mdio-en", + "usb01-oc#", /* USB1_PWRFAULT and USB2_PWRFAULT share one net */ + "", + "usb01-oc#", + "altfn:spi3-sck", + "", ""; +}; + +/* On-module management bus */ +&i2c0 { + status = "okay"; + + eeprom@52 { + compatible = "atmel,24c32"; + reg = <0x52>; + pagesize = <32>; + }; + + /* Board ID straps */ + gpio@74 { + compatible = "ti,tca9539"; + reg = <0x74>; + gpio-controller; + #gpio-cells = <2>; + gpio-line-names = + "boardid-0x0001", "boardid-0x0002", + "boardid-0x0004", "boardid-0x0008", + "boardid-0x0010", "boardid-0x0020", + "boardid-0x0040", "boardid-0x0080", + "boardid-0x0100", "boardid-0x0200", + "boardid-0x0400", "boardid-0x0800", + "boardid-0x1000", "boardid-0x2000", + "boardid-0x4000", "boardid-0x8000"; + }; + + u800: gpio@75 { + compatible = "ti,tca9539"; + reg = <0x75>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + interrupt-parent = <&gpio2>; + interrupts = <4 IRQ_TYPE_LEVEL_LOW>; + gpio-line-names = + "carrier-gpio0", "carrier-gpio1", + "carrier-gpio2", "carrier-gpio3", + "carrier-gpio4", "carrier-gpio5", + "carrier-gpio6", "carrier-gpio7", + "carrier-gpio8", "carrier-gpio9", + "carrier-gpio10", "carrier-gpio11", + "", "", "", + "lan8023-rst"; + }; + + /* +0V8_VDD core rail, MPS MPQ8646 (MPQ8785 core) over PMBus */ + vdd08: regulator@10 { + compatible = "mps,mpq8646"; + reg = <0x10>; + }; + + /* SO-DIMM SPD temperature sensors */ + temperature-sensor@18 { + compatible = "jedec,jc-42.4-temp"; + reg = <0x18>; + }; + + temperature-sensor@19 { + compatible = "jedec,jc-42.4-temp"; + reg = <0x19>; + }; +}; + +&i2c1 { + status = "okay"; +}; + +&i2c2 { + status = "okay"; +}; + +&i2c3 { + status = "okay"; +}; + +&i2c5 { + status = "okay"; +}; + +&pcie3 { + status = "okay"; +}; + +&pcie4 { + status = "okay"; +}; + +&pcie5 { + status = "okay"; +}; + +&pcie6 { + status = "okay"; +}; + +&uart0 { + status = "okay"; +}; + +&usb0 { + status = "okay"; +}; + +&usb1 { + status = "okay"; +}; -- 2.43.0 ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v4 3/3] arm64: dts: freescale: add Nodebox v3 CPU Module 2026-09-11 0:08 ` [PATCH v4 3/3] arm64: dts: freescale: add " Vincent Jardin via B4 Relay @ 2026-09-11 14:42 ` Frank Li 0 siblings, 0 replies; 5+ messages in thread From: Frank Li @ 2026-09-11 14:42 UTC (permalink / raw) To: vjardin Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo, Frank Li, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, devicetree, linux-kernel, imx, linux-arm-kernel On Fri, Sep 11, 2026 at 02:08:35AM +0200, Vincent Jardin via B4 Relay wrote: > From: Vincent Jardin <vjardin@free.fr> > > The Nodebox v3 is a Free Mobile CPU module built around the NXP > LX2160A (16x Cortex-A72, DPAA2). > > Signed-off-by: Vincent Jardin <vjardin@free.fr> > --- > arch/arm64/boot/dts/freescale/Makefile | 2 + > .../arm64/boot/dts/freescale/fsl-lx2160a-nbxv3.dts | 34 +++ > .../boot/dts/freescale/fsl-lx2160a-nbxv3.dtsi | 321 +++++++++++++++++++++ > 3 files changed, 357 insertions(+) > > diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile > index 95ae85ab4adf5..faab8bf0e1676 100644 > --- a/arch/arm64/boot/dts/freescale/Makefile > +++ b/arch/arm64/boot/dts/freescale/Makefile > @@ -55,6 +55,8 @@ DTC_FLAGS_fsl-lx2160a-half-twins := -Wno-interrupt_map > dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-lx2160a-half-twins.dtb > DTC_FLAGS_fsl-lx2160a-honeycomb := -Wno-interrupt_map > dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-lx2160a-honeycomb.dtb > +DTC_FLAGS_fsl-lx2160a-nbxv3 := -Wno-interrupt_map > +dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-lx2160a-nbxv3.dtb > DTC_FLAGS_fsl-lx2160a-qds := -Wno-interrupt_map > dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-lx2160a-qds.dtb > DTC_FLAGS_fsl-lx2160a-rdb := -Wno-interrupt_map > diff --git a/arch/arm64/boot/dts/freescale/fsl-lx2160a-nbxv3.dts b/arch/arm64/boot/dts/freescale/fsl-lx2160a-nbxv3.dts > new file mode 100644 > index 0000000000000..b07e9def0a529 > --- /dev/null > +++ b/arch/arm64/boot/dts/freescale/fsl-lx2160a-nbxv3.dts > @@ -0,0 +1,34 @@ > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > +/* > + * Free Mobile Nodebox v3 CPU Module (LX2160A) > + * > + * Copyright 2026 Free Mobile, Vincent Jardin > + */ > + > +/dts-v1/; > + > +#include "fsl-lx2160a-rev2.dtsi" > +#include "fsl-lx2160a-nbxv3.dtsi" > + > +/ { > + model = "Free Mobile Nodebox v3 CPU Module (LX2160A)"; > + compatible = "freemobile,nbxv3", "fsl,lx2160a"; > +}; > + > +&fspi { > + pinctrl-names = "default"; > + pinctrl-0 = <&fspi_dqs_sck_cs10_pins>, <&fspi_data30_pins>; > +}; > + > +&gpio1 { > + pinctrl-names = "default"; > + pinctrl-0 = <&gpio1_31_28_pins>; > +}; > + > +&pcs_mdio13 { > + status = "okay"; > +}; > + > +&pcs_mdio14 { > + status = "okay"; > +}; > diff --git a/arch/arm64/boot/dts/freescale/fsl-lx2160a-nbxv3.dtsi b/arch/arm64/boot/dts/freescale/fsl-lx2160a-nbxv3.dtsi > new file mode 100644 > index 0000000000000..143b24d69d629 > --- /dev/null > +++ b/arch/arm64/boot/dts/freescale/fsl-lx2160a-nbxv3.dtsi > @@ -0,0 +1,321 @@ > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > +/* > + * Free Mobile Nodebox v3 CPU Module (LX2160A) > + * > + * Copyright 2026 Free Mobile, Vincent Jardin > + * > + * This file is shared by the Linux kernel and U-Boot. > + */ > + > +#include <dt-bindings/gpio/gpio.h> > +#include <dt-bindings/interrupt-controller/irq.h> > + > +/ { > + aliases { > + serial0 = &uart0; > + }; > + > + chosen { > + stdout-path = "serial0:115200n8"; > + }; > + > + gpio-restart { > + compatible = "gpio-restart"; > + gpios = <&gpio1 8 GPIO_ACTIVE_LOW>; > + priority = <128>; > + }; > + > + reg_ethsw_mdio: regulator-ethsw-mdio { > + compatible = "regulator-fixed"; > + regulator-name = "ethsw-mdio-en"; > + gpio = <&gpio3 25 GPIO_ACTIVE_LOW>; > + regulator-always-on; > + regulator-boot-on; > + }; > +}; > + > +&crypto { > + status = "okay"; > +}; > + > +&dspi0 { > + status = "okay"; > + > + dpll@0 { > + compatible = "microchip,zl30733"; > + reg = <0>; > + spi-max-frequency = <12500000>; > + }; > +}; > + > +&dspi2 { > + status = "okay"; > +}; > + > +&dpmac13 { > + status = "okay"; status should be last property before child nodes, check others. Frank > + phy-handle = <&lan8023_phy_s0>; > + phy-connection-type = "10gbase-r"; > +}; > + > +&dpmac14 { > + status = "okay"; > + phy-handle = <&lan8023_phy_s1>; > + phy-connection-type = "10gbase-r"; > +}; > + > +&dpmac17 { > + status = "okay"; > + phy-handle = <&rtl8211fd>; > + phy-connection-type = "rgmii-id"; > +}; > + > +&emdio1 { > + status = "okay"; > + > + /* Microchip LAN8023 dual 10G PCS/retimer, Clause 45 only, one address per slice */ > + lan8023_phy_s0: ethernet-phy@2 { > + compatible = "ethernet-phy-ieee802.3-c45"; > + reg = <2>; > + }; > + > + lan8023_phy_s1: ethernet-phy@3 { > + compatible = "ethernet-phy-ieee802.3-c45"; > + reg = <3>; > + }; > + > + rtl8211fd: ethernet-phy@6 { > + compatible = "ethernet-phy-id001c.c916"; > + reg = <6>; > + }; > +}; > + > +&emdio2 { > + status = "okay"; > +}; > + > +&esdhc1 { > + status = "okay"; > + bus-width = <8>; > + non-removable; > + mmc-hs200-1_8v; > + mmc-hs400-1_8v; > +}; > + > +&fspi { > + status = "okay"; > + > + /* GigaDevice GD55LB02GF, 256 MiB boot NOR */ > + flash@0 { > + compatible = "jedec,spi-nor"; > + reg = <0>; > + #address-cells = <1>; > + #size-cells = <1>; > + spi-max-frequency = <150000000>; > + spi-rx-bus-width = <1>; > + spi-tx-bus-width = <1>; > + reset-gpios = <&gpio1 28 GPIO_ACTIVE_LOW>; > + }; > +}; > + > +&fsl_mc { > + status = "okay"; > +}; > + > +&gpio0 { > + status = "okay"; > + gpio-line-names = > + "", "", > + "altfn:iic1-sda", "altfn:iic1-scl", > + "altfn:uart4-sin", "altfn:uart4-sout", > + "altfn:uart2-sin", "altfn:uart2-sout", > + "altfn:uart3-sin", "altfn:uart3-sout", > + "altfn:uart1-sin", "altfn:uart1-sout", > + "altfn:spi3-pcs3", "altfn:spi3-pcs2", > + "altfn:spi3-pcs1", "altfn:spi3-pcs0", > + "altfn:spi1-sck", "altfn:spi1-sin", > + "altfn:spi1-pcs2", "altfn:spi1-pcs1", > + "altfn:spi1-pcs0", "altfn:spi1-sout", > + "altfn:iic6-sda", "altfn:iic6-scl", > + "altfn:spi3-sin", "altfn:spi3-sout", > + "altfn:iic4-sda", "altfn:iic4-scl", > + "altfn:iic3-sda", "altfn:iic3-scl", > + "altfn:iic2-sda", "altfn:iic2-scl"; > +}; > + > +&gpio1 { > + status = "okay"; > + gpio-line-names = > + "", "", "", "", "", "", > + "cfg-rcw-src2", "cfg-rcw-src3", > + "reset-req-b", > + "altfn:sdhc2-clk", "altfn:sdhc2-ds", > + "altfn:sdhc2-dat0", "altfn:sdhc2-dat1", > + "altfn:sdhc2-dat2", "altfn:sdhc2-dat3", > + "altfn:sdhc2-dat4", "altfn:sdhc2-dat5", > + "altfn:sdhc2-dat6", "altfn:sdhc2-dat7", > + "altfn:sdhc2-cmd", > + "cfg-svr1", > + "altfn:xspi1-cs0", "altfn:xspi1-sck", > + "altfn:xspi1-dqs", > + "altfn:xspi1-data0", "altfn:xspi1-data1", > + "", "", > + "flash-reset#", "pltrst#", "", "ethsw-reset#"; > + > + /* Platform reset, no consumer node: released at boot */ > + pltrst-hog { > + gpio-hog; > + gpios = <29 GPIO_ACTIVE_LOW>; > + output-low; > + line-name = "pltrst#"; > + }; > +}; > + > +&gpio2 { > + status = "okay"; > + gpio-line-names = > + "lan8023-mdint", > + "i2c2-alert#", "i2c4-alert#", "i2c6-alert#", > + "u800-tca9539-int#", > + "spi3-alert#", > + "wake0", "wake1", > + "carrier-hot#", > + "u1300-rtl8211fd-int#", > + "ethsw-int#", > + "", "", > + "u1700-zl30733-clk-gpio0", "u1700-zl30733-clk-gpio1", > + "u1700-zl30733-clk-gpio2", "u1700-zl30733-clk-gpio3", > + "", "", "", "", "", "", "", "", > + "", "", "", "", "", "", ""; > +}; > + > +&gpio3 { > + status = "okay"; > + gpio-line-names = > + "altfn:ec1-txd3", "altfn:ec1-txd2", > + "altfn:ec1-txd1", "altfn:ec1-txd0", > + "altfn:ec1-tx-en", "altfn:ec1-gtx-clk", > + "altfn:ec1-rxd3", "altfn:ec1-rxd2", > + "altfn:ec1-rxd1", "altfn:ec1-rxd0", > + "altfn:ec1-rx-clk", "altfn:ec1-rx-dv", > + "", "", > + "ptp-refclk-in", > + "", "", "", "", "", "", "", "", > + "u1700-zl30733-pps-out", > + "", > + "ethsw-mdio-en", > + "usb01-oc#", /* USB1_PWRFAULT and USB2_PWRFAULT share one net */ > + "", > + "usb01-oc#", > + "altfn:spi3-sck", > + "", ""; > +}; > + > +/* On-module management bus */ > +&i2c0 { > + status = "okay"; > + > + eeprom@52 { > + compatible = "atmel,24c32"; > + reg = <0x52>; > + pagesize = <32>; > + }; > + > + /* Board ID straps */ > + gpio@74 { > + compatible = "ti,tca9539"; > + reg = <0x74>; > + gpio-controller; > + #gpio-cells = <2>; > + gpio-line-names = > + "boardid-0x0001", "boardid-0x0002", > + "boardid-0x0004", "boardid-0x0008", > + "boardid-0x0010", "boardid-0x0020", > + "boardid-0x0040", "boardid-0x0080", > + "boardid-0x0100", "boardid-0x0200", > + "boardid-0x0400", "boardid-0x0800", > + "boardid-0x1000", "boardid-0x2000", > + "boardid-0x4000", "boardid-0x8000"; > + }; > + > + u800: gpio@75 { > + compatible = "ti,tca9539"; > + reg = <0x75>; > + gpio-controller; > + #gpio-cells = <2>; > + interrupt-controller; > + #interrupt-cells = <2>; > + interrupt-parent = <&gpio2>; > + interrupts = <4 IRQ_TYPE_LEVEL_LOW>; > + gpio-line-names = > + "carrier-gpio0", "carrier-gpio1", > + "carrier-gpio2", "carrier-gpio3", > + "carrier-gpio4", "carrier-gpio5", > + "carrier-gpio6", "carrier-gpio7", > + "carrier-gpio8", "carrier-gpio9", > + "carrier-gpio10", "carrier-gpio11", > + "", "", "", > + "lan8023-rst"; > + }; > + > + /* +0V8_VDD core rail, MPS MPQ8646 (MPQ8785 core) over PMBus */ > + vdd08: regulator@10 { > + compatible = "mps,mpq8646"; > + reg = <0x10>; > + }; > + > + /* SO-DIMM SPD temperature sensors */ > + temperature-sensor@18 { > + compatible = "jedec,jc-42.4-temp"; > + reg = <0x18>; > + }; > + > + temperature-sensor@19 { > + compatible = "jedec,jc-42.4-temp"; > + reg = <0x19>; > + }; > +}; > + > +&i2c1 { > + status = "okay"; > +}; > + > +&i2c2 { > + status = "okay"; > +}; > + > +&i2c3 { > + status = "okay"; > +}; > + > +&i2c5 { > + status = "okay"; > +}; > + > +&pcie3 { > + status = "okay"; > +}; > + > +&pcie4 { > + status = "okay"; > +}; > + > +&pcie5 { > + status = "okay"; > +}; > + > +&pcie6 { > + status = "okay"; > +}; > + > +&uart0 { > + status = "okay"; > +}; > + > +&usb0 { > + status = "okay"; > +}; > + > +&usb1 { > + status = "okay"; > +}; > > -- > 2.43.0 > > > ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-09-11 14:42 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2026-09-11 0:08 [PATCH v4 0/3] arm64: dts: freescale: add Free Mobile Nodebox v3 CPU Module (LX2160A) Vincent Jardin via B4 Relay 2026-09-11 0:08 ` [PATCH v4 1/3] dt-bindings: vendor-prefixes: add Free Mobile Vincent Jardin via B4 Relay 2026-09-11 0:08 ` [PATCH v4 2/3] dt-bindings: arm: fsl: add Free Mobile Nodebox v3 CPU Module Vincent Jardin via B4 Relay 2026-09-11 0:08 ` [PATCH v4 3/3] arm64: dts: freescale: add " Vincent Jardin via B4 Relay 2026-09-11 14:42 ` Frank Li
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®