* [PATCH v3 1/2] dt-bindings: arm: fsl: add TQ-Systems boards MBLS1028A and MBLS1028A-IND @ 2025-10-27 11:04 Alexander Stein 2025-10-27 11:04 ` [PATCH v3 2/2] arm64: dts: ls1028a: Add mbls1028a and mbls1028a-ind devicetrees Alexander Stein 2025-10-27 16:42 ` [PATCH v3 1/2] dt-bindings: arm: fsl: add TQ-Systems boards MBLS1028A and MBLS1028A-IND Conor Dooley 0 siblings, 2 replies; 4+ messages in thread From: Alexander Stein @ 2025-10-27 11:04 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam Cc: Matthias Schiffer, devicetree, linux-kernel, imx, linux-arm-kernel, linux, Frank Li, Alexander Stein From: Matthias Schiffer <matthias.schiffer@tq-group.com> Add two mainboards for the TQ-Systems TQMLS1028A SoM, based on the NXP Layerscape LS1028A. Signed-off-by: Matthias Schiffer <matthias.schiffer@tq-group.com> Reviewed-by: Frank Li <Frank.Li@nxp.com> Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com> --- Changes in v3: * Add Frank's R-b Changes in v2: * Fix indentation Documentation/devicetree/bindings/arm/fsl.yaml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Documentation/devicetree/bindings/arm/fsl.yaml b/Documentation/devicetree/bindings/arm/fsl.yaml index c5d81e3f8bd17..fbffb1a536ba3 100644 --- a/Documentation/devicetree/bindings/arm/fsl.yaml +++ b/Documentation/devicetree/bindings/arm/fsl.yaml @@ -1656,6 +1656,15 @@ properties: - const: kontron,sl28 - const: fsl,ls1028a + - description: + TQ-Systems TQMLS1028A SoM on MBLS1028A/MBLS1028A-IND board + items: + - enum: + - tq,ls1028a-tqmls1028a-mbls1028a + - tq,ls1028a-tqmls1028a-mbls1028a-ind + - const: tq,ls1028a-tqmls1028a + - const: fsl,ls1028a + - description: LS1043A based Boards items: - enum: -- 2.43.0 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH v3 2/2] arm64: dts: ls1028a: Add mbls1028a and mbls1028a-ind devicetrees 2025-10-27 11:04 [PATCH v3 1/2] dt-bindings: arm: fsl: add TQ-Systems boards MBLS1028A and MBLS1028A-IND Alexander Stein @ 2025-10-27 11:04 ` Alexander Stein 2025-11-16 4:01 ` Shawn Guo 2025-10-27 16:42 ` [PATCH v3 1/2] dt-bindings: arm: fsl: add TQ-Systems boards MBLS1028A and MBLS1028A-IND Conor Dooley 1 sibling, 1 reply; 4+ messages in thread From: Alexander Stein @ 2025-10-27 11:04 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam Cc: Gregor Herburger, devicetree, linux-kernel, imx, linux-arm-kernel, linux, Alexander Stein From: Gregor Herburger <gregor.herburger@tq-group.com> Add device trees for the MBLS1028A and the MBLS1028A-IND and the SoM TQMLS1028A. Signed-off-by: Gregor Herburger <gregor.herburger@tq-group.com> Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com> --- Changes in v3: * Fix ethernet PHY interrupt polarity * Remove downstream properties Changes in v2: * Sort node and properties alphabetically * Add clock-frequency to i2c nodes * Add eMMC supplies * Add comment about unused TMU arch/arm64/boot/dts/freescale/Makefile | 2 + .../fsl-ls1028a-tqmls1028a-mbls1028a-ind.dts | 68 ++++ .../fsl-ls1028a-tqmls1028a-mbls1028a.dts | 118 +++++++ .../fsl-ls1028a-tqmls1028a-mbls1028a.dtsi | 290 ++++++++++++++++++ .../dts/freescale/fsl-ls1028a-tqmls1028a.dtsi | 124 ++++++++ 5 files changed, 602 insertions(+) create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1028a-tqmls1028a-mbls1028a-ind.dts create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1028a-tqmls1028a-mbls1028a.dts create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1028a-tqmls1028a-mbls1028a.dtsi create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1028a-tqmls1028a.dtsi diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile index ca6cf40dd00be..59d3d76a3194c 100644 --- a/arch/arm64/boot/dts/freescale/Makefile +++ b/arch/arm64/boot/dts/freescale/Makefile @@ -16,6 +16,8 @@ dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-kontron-sl28-var3-ads2.dtb dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-kontron-sl28-var4.dtb dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds.dtb dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-rdb.dtb +dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-tqmls1028a-mbls1028a.dtb +dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-tqmls1028a-mbls1028a-ind.dtb dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1043a-qds.dtb dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1043a-rdb.dtb dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1043a-tqmls1043a-mbls10xxa.dtb diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1028a-tqmls1028a-mbls1028a-ind.dts b/arch/arm64/boot/dts/freescale/fsl-ls1028a-tqmls1028a-mbls1028a-ind.dts new file mode 100644 index 0000000000000..571b801c4f145 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a-tqmls1028a-mbls1028a-ind.dts @@ -0,0 +1,68 @@ +// SPDX-License-Identifier: (GPL-2.0-or-later OR MIT) +/* + * Copyright 2019-2025 TQ-Systems GmbH <linux@ew.tq-group.com>, + * D-82229 Seefeld, Germany. + * Author: Michael Krummsdorf + * Author: Matthias Schiffer + * Author: Alexander Stein + */ + +/dts-v1/; + +#include "fsl-ls1028a-tqmls1028a-mbls1028a.dtsi" + +/ { + model = "MBLS1028A-IND starterkit"; + compatible = "tq,ls1028a-tqmls1028a-mbls1028a-ind", "tq,ls1028a-tqmls1028a", "fsl,ls1028a"; +}; + +&i2c5 { + gpio_exp_3v3: gpio@71 { + compatible = "nxp,pca9538"; + reg = <0x71>; + #gpio-cells = <2>; + gpio-controller; + + clk-intn-hog { + gpio-hog; + gpios = <0 GPIO_ACTIVE_HIGH>; + input; + line-name = "CLK_INT#"; + }; + + mpcie-waken-hog { + gpio-hog; + gpios = <2 GPIO_ACTIVE_HIGH>; + input; + line-name = "MPCIE_WAKE#"; + }; + + mpcie-disn-hog { + gpio-hog; + gpios = <3 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "MPCIE_DIS#"; + }; + + mpcie-rstn-hog { + gpio-hog; + gpios = <4 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "MPCIE_RST#"; + }; + + sata-perstn-hog { + gpio-hog; + gpios = <6 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "SATA_PERST#"; + }; + + dcdc-reset-hog { + gpio-hog; + gpios = <7 GPIO_ACTIVE_HIGH>; + output-low; + line-name = "DCDC_RESET"; + }; + }; +}; diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1028a-tqmls1028a-mbls1028a.dts b/arch/arm64/boot/dts/freescale/fsl-ls1028a-tqmls1028a-mbls1028a.dts new file mode 100644 index 0000000000000..02563f982ff81 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a-tqmls1028a-mbls1028a.dts @@ -0,0 +1,118 @@ +// SPDX-License-Identifier: (GPL-2.0-or-later OR MIT) +/* + * Copyright 2019-2025 TQ-Systems GmbH <linux@ew.tq-group.com>, + * D-82229 Seefeld, Germany. + * Author: Michael Krummsdorf + * Author: Matthias Schiffer + * Author: Alexander Stein + */ + +/dts-v1/; + +#include <dt-bindings/input/input.h> +#include <dt-bindings/leds/common.h> +#include "fsl-ls1028a-tqmls1028a-mbls1028a.dtsi" + +/ { + model = "MBLS1028A starterkit"; + compatible = "tq,ls1028a-tqmls1028a-mbls1028a", "tq,ls1028a-tqmls1028a", "fsl,ls1028a"; + + gpio-beeper { + compatible = "gpio-beeper"; + gpios = <&gpio_exp_3v3 15 GPIO_ACTIVE_HIGH>; + }; + + gpio-keys { + compatible = "gpio-keys"; + autorepeat; + + button-0 { + label = "S4"; + linux,code = <BTN_0>; + gpios = <&gpio_exp_3v3 11 GPIO_ACTIVE_LOW>; + }; + + button-1 { + label = "S5"; + linux,code = <BTN_1>; + gpios = <&gpio_exp_3v3 12 GPIO_ACTIVE_LOW>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + led-1 { + color = <LED_COLOR_ID_GREEN>; + function = LED_FUNCTION_STATUS; + function-enumerator = <1>; + gpios = <&gpio_exp_3v3 14 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "default-on"; + }; + + led-2 { + color = <LED_COLOR_ID_GREEN>; + function = LED_FUNCTION_HEARTBEAT; + gpios = <&gpio_exp_3v3 13 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "heartbeat"; + }; + }; +}; + +&gpio_exp_1v8 { + dcdc-reset-hog { + gpio-hog; + gpios = <6 GPIO_ACTIVE_HIGH>; + line-name = "DCDC_RESET"; + output-low; + }; +}; + +&i2c5 { + gpio_exp_3v3: gpio@25 { + compatible = "nxp,pca9555"; + reg = <0x25>; + #gpio-cells = <2>; + gpio-controller; + #interrupt-cells = <2>; + interrupt-controller; + interrupt-parent = <&gpio1>; + interrupts = <30 IRQ_TYPE_LEVEL_LOW>; + vcc-supply = <®_3p3v>; + + clk-intn-hog { + gpio-hog; + gpios = <0 GPIO_ACTIVE_HIGH>; + input; + line-name = "CLK_INT#"; + }; + + mpcie-waken-hog { + gpio-hog; + gpios = <2 GPIO_ACTIVE_HIGH>; + input; + line-name = "MPCIE_WAKE#"; + }; + + mpcie-disn-hog { + gpio-hog; + gpios = <3 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "MPCIE_DIS#"; + }; + + mpcie-rstn-hog { + gpio-hog; + gpios = <4 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "MPCIE_RST#"; + }; + + sata-perstn-hog { + gpio-hog; + gpios = <6 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "SATA_PERST#"; + }; + }; +}; diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1028a-tqmls1028a-mbls1028a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1028a-tqmls1028a-mbls1028a.dtsi new file mode 100644 index 0000000000000..8f9dc0f138a63 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a-tqmls1028a-mbls1028a.dtsi @@ -0,0 +1,290 @@ +// SPDX-License-Identifier: (GPL-2.0-or-later OR MIT) +/* + * Copyright 2019-2025 TQ-Systems GmbH <linux@ew.tq-group.com>, + * D-82229 Seefeld, Germany. + * Author: Michael Krummsdorf + * Author: Matthias Schiffer + * Author: Alexander Stein + */ + +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/net/ti-dp83867.h> +#include "fsl-ls1028a-tqmls1028a.dtsi" + +/ { + aliases { + gpio0 = &gpio1; + gpio1 = &gpio2; + gpio2 = &gpio3; + + crypto = &crypto; + + mmc0 = &esdhc; /* SD-Card */ + mmc1 = &esdhc1; /* eMMC */ + + serial0 = &duart0; + serial1 = &duart1; + }; + + chosen { + stdout-path = &duart0; + }; + + reg_1p8v: regulator-1p8v { + compatible = "regulator-fixed"; + regulator-name = "V_1V8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + }; + + reg_3p3v: regulator-3p3v { + compatible = "regulator-fixed"; + regulator-name = "V_3V3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + }; + + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + /* global autoconfigured region for contiguous allocations */ + linux,cma { + compatible = "shared-dma-pool"; + reusable; + /* 256 MiB */ + size = <0 0x10000000>; + linux,cma-default; + }; + }; +}; + +&can0 { + status = "okay"; +}; + +&can1 { + status = "okay"; +}; + +&dspi2 { + bus-num = <2>; + status = "okay"; +}; + +&duart0 { + status = "okay"; +}; + +&duart1 { + status = "okay"; +}; + +&esdhc { + cd-gpios = <&gpio1 31 GPIO_ACTIVE_LOW>; + disable-wp; + no-mmc; + no-sdio; + no-1-8-v; + bus-width = <4>; + status = "okay"; +}; + +/* When switched to baseboard-internal i2c bus, + * IIC5 has access to the following devices. + */ +&i2c4 { + /* TUSB8041 only supports 100 KHz, but it is not connected */ + clock-frequency = <400000>; + status = "okay"; + + /* SI5338 - set up in U-Boot */ + /* clockgen@70 */ +}; + +&i2c5 { + clock-frequency = <400000>; + status = "okay"; + + gpio_exp_1v8: gpio@70 { + compatible = "nxp,pca9538"; + reg = <0x70>; + #gpio-cells = <2>; + gpio-controller; + #interrupt-cells = <2>; + interrupt-controller; + interrupt-parent = <&gpio1>; + interrupts = <30 IRQ_TYPE_LEVEL_LOW>; + vcc-supply = <®_1p8v>; + + ec1-intn-hog { + gpio-hog; + gpios = <0 0>; + input; + line-name = "EC1_INT#"; + }; + + sgmii-intn-hog { + gpio-hog; + gpios = <2 0>; + input; + line-name = "SGMII_INT#"; + }; + + qsgmii-intn-hog { + gpio-hog; + gpios = <4 0>; + input; + line-name = "QSGMII_INT#"; + }; + + qsgmii-rstn-hog { + gpio-hog; + gpios = <5 0>; + output-high; + line-name = "QSGMII_RESET#"; + }; + }; +}; + +&enetc_mdio_pf3 { + mdio0_rgmii_phy00: ethernet-phy@0 { + compatible = "ethernet-phy-ieee802.3-c22"; + reg = <0x00>; + reset-gpios = <&gpio_exp_1v8 1 GPIO_ACTIVE_LOW>; + reset-assert-us = <1>; + reset-deassert-us = <200>; + interrupt-parent = <&gpio_exp_1v8>; + interrupts = <0 IRQ_TYPE_LEVEL_LOW>; + ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_50_NS>; + ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>; + ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>; + ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>; + }; + + mdio0_sgmii_phy03: ethernet-phy@3 { + compatible = "ethernet-phy-ieee802.3-c22"; + reg = <0x03>; + reset-gpios = <&gpio_exp_1v8 3 GPIO_ACTIVE_LOW>; + /* + * Long reset to work around PHY incorrect strap pin sampling + * due to external capacitors for SGMII + */ + reset-assert-us = <2500>; + reset-deassert-us = <200>; + interrupt-parent = <&gpio_exp_1v8>; + interrupts = <2 IRQ_TYPE_LEVEL_LOW>; + ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>; + ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>; + }; + + qsgmii_phy1: ethernet-phy@1c { + reg = <0x1c>; + }; + + qsgmii_phy2: ethernet-phy@1d { + reg = <0x1d>; + }; + + qsgmii_phy3: ethernet-phy@1e { + reg = <0x1e>; + }; + + qsgmii_phy4: ethernet-phy@1f { + reg = <0x1f>; + }; +}; + +&enetc_port0 { + phy-handle = <&mdio0_sgmii_phy03>; + phy-mode = "sgmii"; + managed = "in-band-status"; + status = "okay"; +}; + +&enetc_port1 { + phy-handle = <&mdio0_rgmii_phy00>; + phy-mode = "rgmii-id"; + status = "okay"; +}; + +&enetc_port2 { + status = "okay"; +}; + +&mscc_felix { + status = "okay"; +}; + +/* l2switch ports */ +&mscc_felix_port0 { + phy-handle = <&qsgmii_phy1>; + phy-mode = "qsgmii"; + status = "okay"; +}; + +&mscc_felix_port1 { + phy-handle = <&qsgmii_phy2>; + phy-mode = "qsgmii"; + status = "okay"; +}; + +&mscc_felix_port2 { + phy-handle = <&qsgmii_phy3>; + phy-mode = "qsgmii"; + status = "okay"; +}; + +&mscc_felix_port3 { + phy-handle = <&qsgmii_phy4>; + phy-mode = "qsgmii"; + status = "okay"; +}; + +&mscc_felix_port4 { + ethernet = <&enetc_port2>; + status = "okay"; +}; + +&pcie2 { + status = "okay"; +}; + +&sata { + status = "okay"; +}; + +&usb0 { + /* dual role is implemented, but not a full featured OTG */ + hnp-disable; + srp-disable; + adp-disable; + dr_mode = "otg"; + status = "okay"; +}; + +&usb1 { + dr_mode = "host"; + #address-cells = <1>; + #size-cells = <0>; + status = "okay"; + + hub_2_0: hub@1 { + compatible = "usb451,8142"; + reg = <1>; + peer-hub = <&hub_3_0>; + reset-gpios = <&gpio_exp_3v3 1 GPIO_ACTIVE_LOW>; + vdd-supply = <®_3p3v>; + }; + + hub_3_0: hub@2 { + compatible = "usb451,8140"; + reg = <2>; + peer-hub = <&hub_2_0>; + reset-gpios = <&gpio_exp_3v3 1 GPIO_ACTIVE_LOW>; + vdd-supply = <®_3p3v>; + }; +}; diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1028a-tqmls1028a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1028a-tqmls1028a.dtsi new file mode 100644 index 0000000000000..dbf24dbc043b7 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a-tqmls1028a.dtsi @@ -0,0 +1,124 @@ +// SPDX-License-Identifier: (GPL-2.0-or-later OR MIT) +/* + * Copyright 2019-2025 TQ-Systems GmbH <linux@ew.tq-group.com>, + * D-82229 Seefeld, Germany. + * Author: Michael Krummsdorf + * Author: Matthias Schiffer + * Author: Alexander Stein + */ + +#include "fsl-ls1028a.dtsi" + +/ { + compatible = "tq,ls1028a-tqmls1028a", "fsl,ls1028a"; + + reg_1p8v_som: regulator-1p8v-som { + compatible = "regulator-fixed"; + regulator-name = "1P8V_SOM"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + }; + + reg_3p3v_som: regulator-3p3v-som { + compatible = "regulator-fixed"; + regulator-name = "3P3V_SOM"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + }; + + thermal-zones { + /* + * TQMLS1028A uses an external temperature sensor + * instead of TMU + */ + /delete-node/ ddr-controller; + + cluster-thermal { + thermal-sensors = <&sa56004_4c 1>; + }; + }; +}; + +&esdhc1 { + no-sdio; + no-sd; + non-removable; + mmc-hs200-1_8v; + mmc-hs400-1_8v; + mmc-ddr-1_8v; + bus-width = <8>; + vmmc-supply = <®_3p3v_som>; + vqmmc-supply = <®_1p8v_som>; + status = "okay"; +}; + +&fspi { + status = "okay"; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <100000000>; + spi-tx-bus-width = <4>; + spi-rx-bus-width = <4>; + vcc-supply = <®_1p8v_som>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + }; + }; +}; + +&i2c0 { + clock-frequency = <400000>; + status = "okay"; + + js42_18: temperature-sensor@18 { + compatible = "nxp,se97b", "jedec,jc-42.4-temp"; + reg = <0x18>; + }; + + sa56004_4c: temperature-sensor@4c { + compatible = "nxp,sa56004"; + reg = <0x4c>; + #thermal-sensor-cells = <1>; + vcc-supply = <®_3p3v_som>; + }; + + se97_50: eeprom@50 { + compatible = "nxp,se97b", "atmel,24c02"; + read-only; + reg = <0x50>; + pagesize = <16>; + vcc-supply = <®_3p3v_som>; + }; + + rtc1: rtc@51 { + compatible = "nxp,pcf85063a"; + reg = <0x51>; + quartz-load-femtofarads = <12500>; + }; + + m24c256_57: eeprom@57 { + compatible = "atmel,24c256"; + reg = <0x57>; + pagesize = <32>; + vcc-supply = <®_3p3v_som>; + }; +}; + +/* + * We use a separate sensor IC to measure core temperature. Disable the TMU + * as its driver can cause log spam outside of its measurement range (0-125C). + * + * Will have to be reevaluated if this DTS is ported to a mainline kernel, + * as both sensors of the TMU are referenced by the default LS1028A + * thermal-zones definitions there. + */ +&tmu { + status = "disabled"; +}; -- 2.43.0 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v3 2/2] arm64: dts: ls1028a: Add mbls1028a and mbls1028a-ind devicetrees 2025-10-27 11:04 ` [PATCH v3 2/2] arm64: dts: ls1028a: Add mbls1028a and mbls1028a-ind devicetrees Alexander Stein @ 2025-11-16 4:01 ` Shawn Guo 0 siblings, 0 replies; 4+ messages in thread From: Shawn Guo @ 2025-11-16 4:01 UTC (permalink / raw) To: Alexander Stein Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, Gregor Herburger, devicetree, linux-kernel, imx, linux-arm-kernel, linux On Mon, Oct 27, 2025 at 12:04:56PM +0100, Alexander Stein wrote: > From: Gregor Herburger <gregor.herburger@tq-group.com> > > Add device trees for the MBLS1028A and the MBLS1028A-IND and the SoM > TQMLS1028A. > > Signed-off-by: Gregor Herburger <gregor.herburger@tq-group.com> > Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com> > --- > Changes in v3: > * Fix ethernet PHY interrupt polarity > * Remove downstream properties > > Changes in v2: > * Sort node and properties alphabetically > * Add clock-frequency to i2c nodes > * Add eMMC supplies > * Add comment about unused TMU > > arch/arm64/boot/dts/freescale/Makefile | 2 + > .../fsl-ls1028a-tqmls1028a-mbls1028a-ind.dts | 68 ++++ > .../fsl-ls1028a-tqmls1028a-mbls1028a.dts | 118 +++++++ > .../fsl-ls1028a-tqmls1028a-mbls1028a.dtsi | 290 ++++++++++++++++++ > .../dts/freescale/fsl-ls1028a-tqmls1028a.dtsi | 124 ++++++++ > 5 files changed, 602 insertions(+) > create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1028a-tqmls1028a-mbls1028a-ind.dts > create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1028a-tqmls1028a-mbls1028a.dts > create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1028a-tqmls1028a-mbls1028a.dtsi > create mode 100644 arch/arm64/boot/dts/freescale/fsl-ls1028a-tqmls1028a.dtsi > > diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile > index ca6cf40dd00be..59d3d76a3194c 100644 > --- a/arch/arm64/boot/dts/freescale/Makefile > +++ b/arch/arm64/boot/dts/freescale/Makefile > @@ -16,6 +16,8 @@ dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-kontron-sl28-var3-ads2.dtb > dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-kontron-sl28-var4.dtb > dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds.dtb > dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-rdb.dtb > +dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-tqmls1028a-mbls1028a.dtb > +dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-tqmls1028a-mbls1028a-ind.dtb > dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1043a-qds.dtb > dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1043a-rdb.dtb > dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1043a-tqmls1043a-mbls10xxa.dtb > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1028a-tqmls1028a-mbls1028a-ind.dts b/arch/arm64/boot/dts/freescale/fsl-ls1028a-tqmls1028a-mbls1028a-ind.dts > new file mode 100644 > index 0000000000000..571b801c4f145 > --- /dev/null > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a-tqmls1028a-mbls1028a-ind.dts > @@ -0,0 +1,68 @@ > +// SPDX-License-Identifier: (GPL-2.0-or-later OR MIT) > +/* > + * Copyright 2019-2025 TQ-Systems GmbH <linux@ew.tq-group.com>, > + * D-82229 Seefeld, Germany. > + * Author: Michael Krummsdorf > + * Author: Matthias Schiffer > + * Author: Alexander Stein > + */ > + > +/dts-v1/; > + > +#include "fsl-ls1028a-tqmls1028a-mbls1028a.dtsi" > + > +/ { > + model = "MBLS1028A-IND starterkit"; > + compatible = "tq,ls1028a-tqmls1028a-mbls1028a-ind", "tq,ls1028a-tqmls1028a", "fsl,ls1028a"; > +}; > + > +&i2c5 { > + gpio_exp_3v3: gpio@71 { > + compatible = "nxp,pca9538"; > + reg = <0x71>; > + #gpio-cells = <2>; > + gpio-controller; > + > + clk-intn-hog { > + gpio-hog; > + gpios = <0 GPIO_ACTIVE_HIGH>; > + input; > + line-name = "CLK_INT#"; > + }; > + > + mpcie-waken-hog { > + gpio-hog; > + gpios = <2 GPIO_ACTIVE_HIGH>; > + input; > + line-name = "MPCIE_WAKE#"; > + }; > + > + mpcie-disn-hog { > + gpio-hog; > + gpios = <3 GPIO_ACTIVE_HIGH>; > + output-high; > + line-name = "MPCIE_DIS#"; > + }; > + > + mpcie-rstn-hog { > + gpio-hog; > + gpios = <4 GPIO_ACTIVE_HIGH>; > + output-high; > + line-name = "MPCIE_RST#"; > + }; > + > + sata-perstn-hog { > + gpio-hog; > + gpios = <6 GPIO_ACTIVE_HIGH>; > + output-high; > + line-name = "SATA_PERST#"; > + }; > + > + dcdc-reset-hog { > + gpio-hog; > + gpios = <7 GPIO_ACTIVE_HIGH>; > + output-low; > + line-name = "DCDC_RESET"; > + }; > + }; > +}; > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1028a-tqmls1028a-mbls1028a.dts b/arch/arm64/boot/dts/freescale/fsl-ls1028a-tqmls1028a-mbls1028a.dts > new file mode 100644 > index 0000000000000..02563f982ff81 > --- /dev/null > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a-tqmls1028a-mbls1028a.dts > @@ -0,0 +1,118 @@ > +// SPDX-License-Identifier: (GPL-2.0-or-later OR MIT) > +/* > + * Copyright 2019-2025 TQ-Systems GmbH <linux@ew.tq-group.com>, > + * D-82229 Seefeld, Germany. > + * Author: Michael Krummsdorf > + * Author: Matthias Schiffer > + * Author: Alexander Stein > + */ > + > +/dts-v1/; > + > +#include <dt-bindings/input/input.h> > +#include <dt-bindings/leds/common.h> > +#include "fsl-ls1028a-tqmls1028a-mbls1028a.dtsi" > + > +/ { > + model = "MBLS1028A starterkit"; > + compatible = "tq,ls1028a-tqmls1028a-mbls1028a", "tq,ls1028a-tqmls1028a", "fsl,ls1028a"; > + > + gpio-beeper { > + compatible = "gpio-beeper"; > + gpios = <&gpio_exp_3v3 15 GPIO_ACTIVE_HIGH>; > + }; > + > + gpio-keys { > + compatible = "gpio-keys"; > + autorepeat; > + > + button-0 { > + label = "S4"; > + linux,code = <BTN_0>; > + gpios = <&gpio_exp_3v3 11 GPIO_ACTIVE_LOW>; > + }; > + > + button-1 { > + label = "S5"; > + linux,code = <BTN_1>; > + gpios = <&gpio_exp_3v3 12 GPIO_ACTIVE_LOW>; > + }; > + }; > + > + gpio-leds { > + compatible = "gpio-leds"; > + > + led-1 { > + color = <LED_COLOR_ID_GREEN>; > + function = LED_FUNCTION_STATUS; > + function-enumerator = <1>; > + gpios = <&gpio_exp_3v3 14 GPIO_ACTIVE_HIGH>; > + linux,default-trigger = "default-on"; > + }; > + > + led-2 { > + color = <LED_COLOR_ID_GREEN>; > + function = LED_FUNCTION_HEARTBEAT; > + gpios = <&gpio_exp_3v3 13 GPIO_ACTIVE_HIGH>; > + linux,default-trigger = "heartbeat"; > + }; > + }; > +}; > + > +&gpio_exp_1v8 { > + dcdc-reset-hog { > + gpio-hog; > + gpios = <6 GPIO_ACTIVE_HIGH>; > + line-name = "DCDC_RESET"; > + output-low; > + }; > +}; > + > +&i2c5 { > + gpio_exp_3v3: gpio@25 { > + compatible = "nxp,pca9555"; > + reg = <0x25>; > + #gpio-cells = <2>; > + gpio-controller; > + #interrupt-cells = <2>; > + interrupt-controller; > + interrupt-parent = <&gpio1>; > + interrupts = <30 IRQ_TYPE_LEVEL_LOW>; > + vcc-supply = <®_3p3v>; > + > + clk-intn-hog { > + gpio-hog; > + gpios = <0 GPIO_ACTIVE_HIGH>; > + input; > + line-name = "CLK_INT#"; > + }; > + > + mpcie-waken-hog { > + gpio-hog; > + gpios = <2 GPIO_ACTIVE_HIGH>; > + input; > + line-name = "MPCIE_WAKE#"; > + }; > + > + mpcie-disn-hog { > + gpio-hog; > + gpios = <3 GPIO_ACTIVE_HIGH>; > + output-high; > + line-name = "MPCIE_DIS#"; > + }; > + > + mpcie-rstn-hog { > + gpio-hog; > + gpios = <4 GPIO_ACTIVE_HIGH>; > + output-high; > + line-name = "MPCIE_RST#"; > + }; > + > + sata-perstn-hog { > + gpio-hog; > + gpios = <6 GPIO_ACTIVE_HIGH>; > + output-high; > + line-name = "SATA_PERST#"; > + }; > + }; > +}; > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1028a-tqmls1028a-mbls1028a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1028a-tqmls1028a-mbls1028a.dtsi > new file mode 100644 > index 0000000000000..8f9dc0f138a63 > --- /dev/null > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a-tqmls1028a-mbls1028a.dtsi > @@ -0,0 +1,290 @@ > +// SPDX-License-Identifier: (GPL-2.0-or-later OR MIT) > +/* > + * Copyright 2019-2025 TQ-Systems GmbH <linux@ew.tq-group.com>, > + * D-82229 Seefeld, Germany. > + * Author: Michael Krummsdorf > + * Author: Matthias Schiffer > + * Author: Alexander Stein > + */ > + > +#include <dt-bindings/gpio/gpio.h> > +#include <dt-bindings/net/ti-dp83867.h> > +#include "fsl-ls1028a-tqmls1028a.dtsi" > + > +/ { > + aliases { > + gpio0 = &gpio1; > + gpio1 = &gpio2; > + gpio2 = &gpio3; > + > + crypto = &crypto; > + Can we drop these newlines and keep aliases sort alphabetically? Shawn > + mmc0 = &esdhc; /* SD-Card */ > + mmc1 = &esdhc1; /* eMMC */ > + > + serial0 = &duart0; > + serial1 = &duart1; > + }; > + > + chosen { > + stdout-path = &duart0; > + }; > + > + reg_1p8v: regulator-1p8v { > + compatible = "regulator-fixed"; > + regulator-name = "V_1V8"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-always-on; > + }; > + > + reg_3p3v: regulator-3p3v { > + compatible = "regulator-fixed"; > + regulator-name = "V_3V3"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + regulator-always-on; > + }; > + > + reserved-memory { > + #address-cells = <2>; > + #size-cells = <2>; > + ranges; > + > + /* global autoconfigured region for contiguous allocations */ > + linux,cma { > + compatible = "shared-dma-pool"; > + reusable; > + /* 256 MiB */ > + size = <0 0x10000000>; > + linux,cma-default; > + }; > + }; > +}; > + > +&can0 { > + status = "okay"; > +}; > + > +&can1 { > + status = "okay"; > +}; > + > +&dspi2 { > + bus-num = <2>; > + status = "okay"; > +}; > + > +&duart0 { > + status = "okay"; > +}; > + > +&duart1 { > + status = "okay"; > +}; > + > +&esdhc { > + cd-gpios = <&gpio1 31 GPIO_ACTIVE_LOW>; > + disable-wp; > + no-mmc; > + no-sdio; > + no-1-8-v; > + bus-width = <4>; > + status = "okay"; > +}; > + > +/* When switched to baseboard-internal i2c bus, > + * IIC5 has access to the following devices. > + */ > +&i2c4 { > + /* TUSB8041 only supports 100 KHz, but it is not connected */ > + clock-frequency = <400000>; > + status = "okay"; > + > + /* SI5338 - set up in U-Boot */ > + /* clockgen@70 */ > +}; > + > +&i2c5 { > + clock-frequency = <400000>; > + status = "okay"; > + > + gpio_exp_1v8: gpio@70 { > + compatible = "nxp,pca9538"; > + reg = <0x70>; > + #gpio-cells = <2>; > + gpio-controller; > + #interrupt-cells = <2>; > + interrupt-controller; > + interrupt-parent = <&gpio1>; > + interrupts = <30 IRQ_TYPE_LEVEL_LOW>; > + vcc-supply = <®_1p8v>; > + > + ec1-intn-hog { > + gpio-hog; > + gpios = <0 0>; > + input; > + line-name = "EC1_INT#"; > + }; > + > + sgmii-intn-hog { > + gpio-hog; > + gpios = <2 0>; > + input; > + line-name = "SGMII_INT#"; > + }; > + > + qsgmii-intn-hog { > + gpio-hog; > + gpios = <4 0>; > + input; > + line-name = "QSGMII_INT#"; > + }; > + > + qsgmii-rstn-hog { > + gpio-hog; > + gpios = <5 0>; > + output-high; > + line-name = "QSGMII_RESET#"; > + }; > + }; > +}; > + > +&enetc_mdio_pf3 { > + mdio0_rgmii_phy00: ethernet-phy@0 { > + compatible = "ethernet-phy-ieee802.3-c22"; > + reg = <0x00>; > + reset-gpios = <&gpio_exp_1v8 1 GPIO_ACTIVE_LOW>; > + reset-assert-us = <1>; > + reset-deassert-us = <200>; > + interrupt-parent = <&gpio_exp_1v8>; > + interrupts = <0 IRQ_TYPE_LEVEL_LOW>; > + ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_50_NS>; > + ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>; > + ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>; > + ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>; > + }; > + > + mdio0_sgmii_phy03: ethernet-phy@3 { > + compatible = "ethernet-phy-ieee802.3-c22"; > + reg = <0x03>; > + reset-gpios = <&gpio_exp_1v8 3 GPIO_ACTIVE_LOW>; > + /* > + * Long reset to work around PHY incorrect strap pin sampling > + * due to external capacitors for SGMII > + */ > + reset-assert-us = <2500>; > + reset-deassert-us = <200>; > + interrupt-parent = <&gpio_exp_1v8>; > + interrupts = <2 IRQ_TYPE_LEVEL_LOW>; > + ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>; > + ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>; > + }; > + > + qsgmii_phy1: ethernet-phy@1c { > + reg = <0x1c>; > + }; > + > + qsgmii_phy2: ethernet-phy@1d { > + reg = <0x1d>; > + }; > + > + qsgmii_phy3: ethernet-phy@1e { > + reg = <0x1e>; > + }; > + > + qsgmii_phy4: ethernet-phy@1f { > + reg = <0x1f>; > + }; > +}; > + > +&enetc_port0 { > + phy-handle = <&mdio0_sgmii_phy03>; > + phy-mode = "sgmii"; > + managed = "in-band-status"; > + status = "okay"; > +}; > + > +&enetc_port1 { > + phy-handle = <&mdio0_rgmii_phy00>; > + phy-mode = "rgmii-id"; > + status = "okay"; > +}; > + > +&enetc_port2 { > + status = "okay"; > +}; > + > +&mscc_felix { > + status = "okay"; > +}; > + > +/* l2switch ports */ > +&mscc_felix_port0 { > + phy-handle = <&qsgmii_phy1>; > + phy-mode = "qsgmii"; > + status = "okay"; > +}; > + > +&mscc_felix_port1 { > + phy-handle = <&qsgmii_phy2>; > + phy-mode = "qsgmii"; > + status = "okay"; > +}; > + > +&mscc_felix_port2 { > + phy-handle = <&qsgmii_phy3>; > + phy-mode = "qsgmii"; > + status = "okay"; > +}; > + > +&mscc_felix_port3 { > + phy-handle = <&qsgmii_phy4>; > + phy-mode = "qsgmii"; > + status = "okay"; > +}; > + > +&mscc_felix_port4 { > + ethernet = <&enetc_port2>; > + status = "okay"; > +}; > + > +&pcie2 { > + status = "okay"; > +}; > + > +&sata { > + status = "okay"; > +}; > + > +&usb0 { > + /* dual role is implemented, but not a full featured OTG */ > + hnp-disable; > + srp-disable; > + adp-disable; > + dr_mode = "otg"; > + status = "okay"; > +}; > + > +&usb1 { > + dr_mode = "host"; > + #address-cells = <1>; > + #size-cells = <0>; > + status = "okay"; > + > + hub_2_0: hub@1 { > + compatible = "usb451,8142"; > + reg = <1>; > + peer-hub = <&hub_3_0>; > + reset-gpios = <&gpio_exp_3v3 1 GPIO_ACTIVE_LOW>; > + vdd-supply = <®_3p3v>; > + }; > + > + hub_3_0: hub@2 { > + compatible = "usb451,8140"; > + reg = <2>; > + peer-hub = <&hub_2_0>; > + reset-gpios = <&gpio_exp_3v3 1 GPIO_ACTIVE_LOW>; > + vdd-supply = <®_3p3v>; > + }; > +}; > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1028a-tqmls1028a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1028a-tqmls1028a.dtsi > new file mode 100644 > index 0000000000000..dbf24dbc043b7 > --- /dev/null > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a-tqmls1028a.dtsi > @@ -0,0 +1,124 @@ > +// SPDX-License-Identifier: (GPL-2.0-or-later OR MIT) > +/* > + * Copyright 2019-2025 TQ-Systems GmbH <linux@ew.tq-group.com>, > + * D-82229 Seefeld, Germany. > + * Author: Michael Krummsdorf > + * Author: Matthias Schiffer > + * Author: Alexander Stein > + */ > + > +#include "fsl-ls1028a.dtsi" > + > +/ { > + compatible = "tq,ls1028a-tqmls1028a", "fsl,ls1028a"; > + > + reg_1p8v_som: regulator-1p8v-som { > + compatible = "regulator-fixed"; > + regulator-name = "1P8V_SOM"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-always-on; > + }; > + > + reg_3p3v_som: regulator-3p3v-som { > + compatible = "regulator-fixed"; > + regulator-name = "3P3V_SOM"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + regulator-always-on; > + }; > + > + thermal-zones { > + /* > + * TQMLS1028A uses an external temperature sensor > + * instead of TMU > + */ > + /delete-node/ ddr-controller; > + > + cluster-thermal { > + thermal-sensors = <&sa56004_4c 1>; > + }; > + }; > +}; > + > +&esdhc1 { > + no-sdio; > + no-sd; > + non-removable; > + mmc-hs200-1_8v; > + mmc-hs400-1_8v; > + mmc-ddr-1_8v; > + bus-width = <8>; > + vmmc-supply = <®_3p3v_som>; > + vqmmc-supply = <®_1p8v_som>; > + status = "okay"; > +}; > + > +&fspi { > + status = "okay"; > + > + flash@0 { > + compatible = "jedec,spi-nor"; > + reg = <0>; > + spi-max-frequency = <100000000>; > + spi-tx-bus-width = <4>; > + spi-rx-bus-width = <4>; > + vcc-supply = <®_1p8v_som>; > + > + partitions { > + compatible = "fixed-partitions"; > + #address-cells = <1>; > + #size-cells = <1>; > + }; > + }; > +}; > + > +&i2c0 { > + clock-frequency = <400000>; > + status = "okay"; > + > + js42_18: temperature-sensor@18 { > + compatible = "nxp,se97b", "jedec,jc-42.4-temp"; > + reg = <0x18>; > + }; > + > + sa56004_4c: temperature-sensor@4c { > + compatible = "nxp,sa56004"; > + reg = <0x4c>; > + #thermal-sensor-cells = <1>; > + vcc-supply = <®_3p3v_som>; > + }; > + > + se97_50: eeprom@50 { > + compatible = "nxp,se97b", "atmel,24c02"; > + read-only; > + reg = <0x50>; > + pagesize = <16>; > + vcc-supply = <®_3p3v_som>; > + }; > + > + rtc1: rtc@51 { > + compatible = "nxp,pcf85063a"; > + reg = <0x51>; > + quartz-load-femtofarads = <12500>; > + }; > + > + m24c256_57: eeprom@57 { > + compatible = "atmel,24c256"; > + reg = <0x57>; > + pagesize = <32>; > + vcc-supply = <®_3p3v_som>; > + }; > +}; > + > +/* > + * We use a separate sensor IC to measure core temperature. Disable the TMU > + * as its driver can cause log spam outside of its measurement range (0-125C). > + * > + * Will have to be reevaluated if this DTS is ported to a mainline kernel, > + * as both sensors of the TMU are referenced by the default LS1028A > + * thermal-zones definitions there. > + */ > +&tmu { > + status = "disabled"; > +}; > -- > 2.43.0 > ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v3 1/2] dt-bindings: arm: fsl: add TQ-Systems boards MBLS1028A and MBLS1028A-IND 2025-10-27 11:04 [PATCH v3 1/2] dt-bindings: arm: fsl: add TQ-Systems boards MBLS1028A and MBLS1028A-IND Alexander Stein 2025-10-27 11:04 ` [PATCH v3 2/2] arm64: dts: ls1028a: Add mbls1028a and mbls1028a-ind devicetrees Alexander Stein @ 2025-10-27 16:42 ` Conor Dooley 1 sibling, 0 replies; 4+ messages in thread From: Conor Dooley @ 2025-10-27 16:42 UTC (permalink / raw) To: Alexander Stein Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, Matthias Schiffer, devicetree, linux-kernel, imx, linux-arm-kernel, linux, Frank Li [-- Attachment #1: Type: text/plain, Size: 491 bytes --] On Mon, Oct 27, 2025 at 12:04:55PM +0100, Alexander Stein wrote: > From: Matthias Schiffer <matthias.schiffer@tq-group.com> > > Add two mainboards for the TQ-Systems TQMLS1028A SoM, based on the NXP > Layerscape LS1028A. > > Signed-off-by: Matthias Schiffer <matthias.schiffer@tq-group.com> > Reviewed-by: Frank Li <Frank.Li@nxp.com> > Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com> Acked-by: Conor Dooley <conor.dooley@microchip.com> pw-bot: not-applicable [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --] ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2025-11-16 4:01 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-10-27 11:04 [PATCH v3 1/2] dt-bindings: arm: fsl: add TQ-Systems boards MBLS1028A and MBLS1028A-IND Alexander Stein 2025-10-27 11:04 ` [PATCH v3 2/2] arm64: dts: ls1028a: Add mbls1028a and mbls1028a-ind devicetrees Alexander Stein 2025-11-16 4:01 ` Shawn Guo 2025-10-27 16:42 ` [PATCH v3 1/2] dt-bindings: arm: fsl: add TQ-Systems boards MBLS1028A and MBLS1028A-IND Conor Dooley
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).