* [PATCH v2 1/4] dt-bindings: mfd: convert mxs-lradc bindings to json-schema
2025-05-28 12:11 [PATCH v2 0/4] Support i.MX28 Amarula rmm board Dario Binacchi
@ 2025-05-28 12:11 ` Dario Binacchi
2025-05-28 13:39 ` Conor Dooley
2025-05-28 12:11 ` [PATCH v2 2/4] ARM: dts: imx28: add pwm7 muxing options Dario Binacchi
2025-05-28 12:11 ` [PATCH v2 4/4] ARM: dts: mxs: support i.MX28 Amarula rmm board Dario Binacchi
2 siblings, 1 reply; 11+ messages in thread
From: Dario Binacchi @ 2025-05-28 12:11 UTC (permalink / raw)
To: linux-kernel
Cc: michael, linux-amarula, Dario Binacchi, Conor Dooley,
Fabio Estevam, Krzysztof Kozlowski, Lee Jones,
Pengutronix Kernel Team, Rob Herring, Sascha Hauer, Shawn Guo,
devicetree, imx, linux-arm-kernel
Convert the Freescale MXS Low-Resoulution ADC (LRADC) device tree
binding documentation to json-schema.
The clocks and #io-channel-cells properties have also been added; They
are present in the respective SoC DTSI files but were missing from the
old mxs-lradc.txt file.
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
---
(no changes since v1)
.../devicetree/bindings/mfd/mxs-lradc.txt | 45 --------
.../devicetree/bindings/mfd/mxs-lradc.yaml | 106 ++++++++++++++++++
2 files changed, 106 insertions(+), 45 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/mfd/mxs-lradc.txt
create mode 100644 Documentation/devicetree/bindings/mfd/mxs-lradc.yaml
diff --git a/Documentation/devicetree/bindings/mfd/mxs-lradc.txt b/Documentation/devicetree/bindings/mfd/mxs-lradc.txt
deleted file mode 100644
index 755cbef0647d..000000000000
--- a/Documentation/devicetree/bindings/mfd/mxs-lradc.txt
+++ /dev/null
@@ -1,45 +0,0 @@
-* Freescale MXS LRADC device driver
-
-Required properties:
-- compatible: Should be "fsl,imx23-lradc" for i.MX23 SoC and "fsl,imx28-lradc"
- for i.MX28 SoC
-- reg: Address and length of the register set for the device
-- interrupts: Should contain the LRADC interrupts
-
-Optional properties:
-- fsl,lradc-touchscreen-wires: Number of wires used to connect the touchscreen
- to LRADC. Valid value is either 4 or 5. If this
- property is not present, then the touchscreen is
- disabled. 5 wires is valid for i.MX28 SoC only.
-- fsl,ave-ctrl: number of samples per direction to calculate an average value.
- Allowed value is 1 ... 32, default is 4
-- fsl,ave-delay: delay between consecutive samples. Allowed value is
- 2 ... 2048. It is used if 'fsl,ave-ctrl' > 1, counts at
- 2 kHz and its default is 2 (= 1 ms)
-- fsl,settling: delay between plate switch to next sample. Allowed value is
- 1 ... 2047. It counts at 2 kHz and its default is
- 10 (= 5 ms)
-
-Example for i.MX23 SoC:
-
- lradc@80050000 {
- compatible = "fsl,imx23-lradc";
- reg = <0x80050000 0x2000>;
- interrupts = <36 37 38 39 40 41 42 43 44>;
- fsl,lradc-touchscreen-wires = <4>;
- fsl,ave-ctrl = <4>;
- fsl,ave-delay = <2>;
- fsl,settling = <10>;
- };
-
-Example for i.MX28 SoC:
-
- lradc@80050000 {
- compatible = "fsl,imx28-lradc";
- reg = <0x80050000 0x2000>;
- interrupts = <10 14 15 16 17 18 19 20 21 22 23 24 25>;
- fsl,lradc-touchscreen-wires = <5>;
- fsl,ave-ctrl = <4>;
- fsl,ave-delay = <2>;
- fsl,settling = <10>;
- };
diff --git a/Documentation/devicetree/bindings/mfd/mxs-lradc.yaml b/Documentation/devicetree/bindings/mfd/mxs-lradc.yaml
new file mode 100644
index 000000000000..90391b02c715
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/mxs-lradc.yaml
@@ -0,0 +1,106 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mfd/mxs-lradc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Freescale MXS Low-Resoulution ADC (LRADC)
+
+maintainers:
+ - Dario Binacchi <dario.binacchi@amarulasolutions.com>
+
+description: |
+ The LRADC provides 16 physical channels of 12-bit resolution
+ for analog-to-digital conversion and includes an integrated
+ 4-wire/5-wire touchscreen controller.
+
+properties:
+ compatible:
+ items:
+ - enum:
+ - fsl,imx23-lradc
+ - fsl,imx28-lradc
+
+ reg:
+ maxItems: 1
+
+ clocks:
+ minItems: 1
+
+ interrupts:
+ minItems: 9
+ maxItems: 13
+
+ fsl,lradc-touchscreen-wires:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: |
+ Number of wires used to connect the touchscreen to LRADC.
+ If this property is not present, then the touchscreen is disabled.
+
+ fsl,ave-ctrl:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ minimum: 1
+ maximum: 32
+ default: 4
+ description: |
+ Number of samples per direction to calculate an average value.
+
+ fsl,ave-delay:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ minimum: 2
+ maximum: 2048
+ default: 2
+ description: |
+ Delay between consecutive samples.
+ It is used if 'fsl,ave-ctrl' > 1, counts at 2 kHz and its
+ default value (i. e. 2) is 1 ms.
+
+ fsl,settling:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ minimum: 1
+ maximum: 2047
+ default: 10
+ description: |
+ Delay between plate switch to next sample.
+ It counts at 2 kHz and its default (i. e. 10) is 5 ms.
+
+ "#io-channel-cells":
+ const: 1
+
+required:
+ - compatible
+ - reg
+ - clocks
+ - interrupts
+
+if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - fsl,imx23-lradc
+then:
+ properties:
+ fsl,lradc-touchscreen-wires:
+ const: 4
+else:
+ properties:
+ fsl,lradc-touchscreen-wires:
+ enum: [4, 5]
+
+additionalProperties: false
+
+examples:
+ - |
+ lradc@80050000 {
+ compatible = "fsl,imx23-lradc";
+ reg = <0x80050000 0x2000>;
+ interrupts = <36>, <37>, <38>, <39>, <40>,
+ <41>, <42>, <43>, <44>;
+ clocks = <&clks 26>;
+ #io-channel-cells = <1>;
+ fsl,lradc-touchscreen-wires = <4>;
+ fsl,ave-ctrl = <4>;
+ fsl,ave-delay = <2>;
+ fsl,settling = <10>;
+ };
--
2.43.0
^ permalink raw reply related [flat|nested] 11+ messages in thread* Re: [PATCH v2 1/4] dt-bindings: mfd: convert mxs-lradc bindings to json-schema
2025-05-28 12:11 ` [PATCH v2 1/4] dt-bindings: mfd: convert mxs-lradc bindings to json-schema Dario Binacchi
@ 2025-05-28 13:39 ` Conor Dooley
0 siblings, 0 replies; 11+ messages in thread
From: Conor Dooley @ 2025-05-28 13:39 UTC (permalink / raw)
To: Dario Binacchi
Cc: linux-kernel, michael, linux-amarula, Conor Dooley, Fabio Estevam,
Krzysztof Kozlowski, Lee Jones, Pengutronix Kernel Team,
Rob Herring, Sascha Hauer, Shawn Guo, devicetree, imx,
linux-arm-kernel
[-- Attachment #1: Type: text/plain, Size: 487 bytes --]
On Wed, May 28, 2025 at 02:11:38PM +0200, Dario Binacchi wrote:
> Convert the Freescale MXS Low-Resoulution ADC (LRADC) device tree
> binding documentation to json-schema.
>
> The clocks and #io-channel-cells properties have also been added; They
> are present in the respective SoC DTSI files but were missing from the
> old mxs-lradc.txt file.
>
> Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v2 2/4] ARM: dts: imx28: add pwm7 muxing options
2025-05-28 12:11 [PATCH v2 0/4] Support i.MX28 Amarula rmm board Dario Binacchi
2025-05-28 12:11 ` [PATCH v2 1/4] dt-bindings: mfd: convert mxs-lradc bindings to json-schema Dario Binacchi
@ 2025-05-28 12:11 ` Dario Binacchi
2025-05-28 15:04 ` Frank Li
2025-05-28 12:11 ` [PATCH v2 4/4] ARM: dts: mxs: support i.MX28 Amarula rmm board Dario Binacchi
2 siblings, 1 reply; 11+ messages in thread
From: Dario Binacchi @ 2025-05-28 12:11 UTC (permalink / raw)
To: linux-kernel
Cc: michael, linux-amarula, Dario Binacchi, Conor Dooley,
Fabio Estevam, Krzysztof Kozlowski, Pengutronix Kernel Team,
Rob Herring, Sascha Hauer, Shawn Guo, devicetree, imx,
linux-arm-kernel
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
---
(no changes since v1)
arch/arm/boot/dts/nxp/mxs/imx28.dtsi | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/arch/arm/boot/dts/nxp/mxs/imx28.dtsi b/arch/arm/boot/dts/nxp/mxs/imx28.dtsi
index bbea8b77386f..ece46d0e7c7f 100644
--- a/arch/arm/boot/dts/nxp/mxs/imx28.dtsi
+++ b/arch/arm/boot/dts/nxp/mxs/imx28.dtsi
@@ -755,6 +755,16 @@ MX28_PAD_PWM4__PWM_4
fsl,pull-up = <MXS_PULL_DISABLE>;
};
+ pwm7_pins_a: pwm7@0 {
+ reg = <0>;
+ fsl,pinmux-ids = <
+ MX28_PAD_SAIF1_SDATA0__PWM_7
+ >;
+ fsl,drive-strength = <MXS_DRIVE_4mA>;
+ fsl,voltage = <MXS_VOLTAGE_HIGH>;
+ fsl,pull-up = <MXS_PULL_DISABLE>;
+ };
+
lcdif_24bit_pins_a: lcdif-24bit@0 {
reg = <0>;
fsl,pinmux-ids = <
--
2.43.0
^ permalink raw reply related [flat|nested] 11+ messages in thread* Re: [PATCH v2 2/4] ARM: dts: imx28: add pwm7 muxing options
2025-05-28 12:11 ` [PATCH v2 2/4] ARM: dts: imx28: add pwm7 muxing options Dario Binacchi
@ 2025-05-28 15:04 ` Frank Li
0 siblings, 0 replies; 11+ messages in thread
From: Frank Li @ 2025-05-28 15:04 UTC (permalink / raw)
To: Dario Binacchi
Cc: linux-kernel, michael, linux-amarula, Conor Dooley, Fabio Estevam,
Krzysztof Kozlowski, Pengutronix Kernel Team, Rob Herring,
Sascha Hauer, Shawn Guo, devicetree, imx, linux-arm-kernel
On Wed, May 28, 2025 at 02:11:39PM +0200, Dario Binacchi wrote:
Need commit message here, you can copy subject to here.
Frank
> Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
> ---
>
> (no changes since v1)
>
> arch/arm/boot/dts/nxp/mxs/imx28.dtsi | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/arch/arm/boot/dts/nxp/mxs/imx28.dtsi b/arch/arm/boot/dts/nxp/mxs/imx28.dtsi
> index bbea8b77386f..ece46d0e7c7f 100644
> --- a/arch/arm/boot/dts/nxp/mxs/imx28.dtsi
> +++ b/arch/arm/boot/dts/nxp/mxs/imx28.dtsi
> @@ -755,6 +755,16 @@ MX28_PAD_PWM4__PWM_4
> fsl,pull-up = <MXS_PULL_DISABLE>;
> };
>
> + pwm7_pins_a: pwm7@0 {
> + reg = <0>;
> + fsl,pinmux-ids = <
> + MX28_PAD_SAIF1_SDATA0__PWM_7
> + >;
> + fsl,drive-strength = <MXS_DRIVE_4mA>;
> + fsl,voltage = <MXS_VOLTAGE_HIGH>;
> + fsl,pull-up = <MXS_PULL_DISABLE>;
> + };
> +
> lcdif_24bit_pins_a: lcdif-24bit@0 {
> reg = <0>;
> fsl,pinmux-ids = <
> --
> 2.43.0
>
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v2 4/4] ARM: dts: mxs: support i.MX28 Amarula rmm board
2025-05-28 12:11 [PATCH v2 0/4] Support i.MX28 Amarula rmm board Dario Binacchi
2025-05-28 12:11 ` [PATCH v2 1/4] dt-bindings: mfd: convert mxs-lradc bindings to json-schema Dario Binacchi
2025-05-28 12:11 ` [PATCH v2 2/4] ARM: dts: imx28: add pwm7 muxing options Dario Binacchi
@ 2025-05-28 12:11 ` Dario Binacchi
2025-05-28 12:21 ` Marc Kleine-Budde
` (2 more replies)
2 siblings, 3 replies; 11+ messages in thread
From: Dario Binacchi @ 2025-05-28 12:11 UTC (permalink / raw)
To: linux-kernel
Cc: michael, linux-amarula, Dario Binacchi, Conor Dooley,
Fabio Estevam, Krzysztof Kozlowski, Pengutronix Kernel Team,
Rob Herring, Sascha Hauer, Shawn Guo, devicetree, imx,
linux-arm-kernel
The board includes the following resources:
- 256 Mbytes NAND Flash
- 128 Mbytes DRAM DDR2
- CAN
- USB 2.0 high-speed/full-speed
- Ethernet MAC
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
---
Changes in v2:
- In imx28-amarula-rmm.dts:
- Replace '-' with '@' for the pinctrl sub-nodes.
- Replace edt,edt-ft5x06 with edt,edt-ft5306.
- Drop LCD reset hog pin.
- Add correct #address-cells and #size-cells to gpmi node.
- Replace edt-ft5x06@38 with touchscreen@38.
- Drop from commit messages all references to LCD display.
- Add patch [1/4] "dt-bindings: mfd: convert mxs-lradc bindings to
json-schema".
arch/arm/boot/dts/nxp/mxs/Makefile | 1 +
.../boot/dts/nxp/mxs/imx28-amarula-rmm.dts | 303 ++++++++++++++++++
2 files changed, 304 insertions(+)
create mode 100644 arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dts
diff --git a/arch/arm/boot/dts/nxp/mxs/Makefile b/arch/arm/boot/dts/nxp/mxs/Makefile
index 96dd31ea19ba..d72ba702b6fa 100644
--- a/arch/arm/boot/dts/nxp/mxs/Makefile
+++ b/arch/arm/boot/dts/nxp/mxs/Makefile
@@ -5,6 +5,7 @@ dtb-$(CONFIG_ARCH_MXS) += \
imx23-sansa.dtb \
imx23-stmp378x_devb.dtb \
imx23-xfi3.dtb \
+ imx28-amarula-rmm.dtb \
imx28-apf28.dtb \
imx28-apf28dev.dtb \
imx28-apx4devkit.dtb \
diff --git a/arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dts b/arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dts
new file mode 100644
index 000000000000..5daa9e22715d
--- /dev/null
+++ b/arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dts
@@ -0,0 +1,303 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (C) 2025 Amarula Solutions, Dario Binacchi <dario.binacchi@amarulasolutions.com>
+ */
+
+/dts-v1/;
+#include "imx28.dtsi"
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+
+/ {
+ model = "Amarula i.MX28 rmm";
+ compatible = "amarula,imx28-rmm", "fsl,imx28";
+
+ memory@40000000 {
+ device_type = "memory";
+ reg = <0x40000000 0x08000000>;
+ };
+
+ reg_5v: regulator-5v {
+ compatible = "regulator-fixed";
+ regulator-name = "5v";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ regulator-always-on;
+ };
+
+ reg_3v3: regulator-3v3 {
+ compatible = "regulator-fixed";
+ regulator-name = "3v3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-always-on;
+ };
+
+ reg_1v8: regulator-1v8 {
+ compatible = "regulator-fixed";
+ regulator-name = "1v8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ reg_fec_3v3: regulator-fec-3v3 {
+ compatible = "regulator-fixed";
+ pinctrl-names = "default";
+ pinctrl-0 = <&fec_3v3_enable_pin>;
+ regulator-name = "fec-3v3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ gpios = <&gpio3 27 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ startup-delay-us = <300000>;
+ vin-supply = <®_5v>;
+ };
+
+ reg_usb0_vbus: regulator-usb0-vbus {
+ compatible = "regulator-fixed";
+ pinctrl-names = "default";
+ pinctrl-0 = <&usb0_vbus_enable_pin>;
+ regulator-name = "usb0_vbus";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ gpio = <&gpio2 5 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ regulator-always-on;
+ };
+
+ reg_usb1_vbus: regulator-usb1-vbus {
+ compatible = "regulator-fixed";
+ pinctrl-names = "default";
+ pinctrl-0 = <&usb1_vbus_enable_pin>;
+ regulator-name = "usb1_vbus";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ gpio = <&gpio2 6 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ regulator-always-on;
+ };
+
+ backlight {
+ compatible = "pwm-backlight";
+ pwms = <&pwm 4 5000000 0>;
+ brightness-levels = <0 255>;
+ num-interpolated-steps = <255>;
+ default-brightness-level = <255>;
+ power-supply = <®_5v>;
+ };
+
+ beeper {
+ compatible = "pwm-beeper";
+ pwms = <&pwm 7 100000 0>;
+ };
+
+ leds {
+ compatible = "gpio-leds";
+ pinctrl-names = "default";
+ pinctrl-0 = <&leds_pins>;
+
+ led-0 {
+ label = "status";
+ gpios = <&gpio2 7 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
+
+ led-1 {
+ label = "x22_5";
+ gpios = <&gpio3 16 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
+
+ led-2 {
+ label = "x22_4";
+ gpios = <&gpio3 17 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
+ };
+};
+
+&auart0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&auart0_2pins_a>;
+ status = "okay";
+};
+
+&auart1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&auart1_pins_a>;
+ status = "okay";
+};
+
+&can0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&can0_pins_a>;
+ xceiver-supply = <®_3v3>;
+ status = "okay";
+};
+
+&duart {
+ pinctrl-names = "default";
+ pinctrl-0 = <&duart_pins_b>;
+ status = "okay";
+};
+
+&duart_pins_b {
+ fsl,voltage = <MXS_VOLTAGE_LOW>;
+};
+
+&gpmi {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>;
+ status = "okay";
+};
+
+&i2c0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c0_pins_a>;
+ status = "okay";
+
+ touchscreen: touchscreen@38 {
+ compatible = "edt,edt-ft5306";
+ reg = <0x38>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&edt_ft5x06_pins &edt_ft5x06_wake_pin>;
+ interrupt-parent = <&gpio0>;
+ interrupts = <19 IRQ_TYPE_EDGE_RISING>;
+ reset-gpios = <&gpio0 21 GPIO_ACTIVE_LOW>;
+ wake-gpios = <&gpio0 18 GPIO_ACTIVE_HIGH>;
+ };
+};
+
+&lradc {
+ status = "okay";
+};
+
+&mac0 {
+ phy-mode = "rmii";
+ pinctrl-names = "default";
+ pinctrl-0 = <&mac0_pins_a>;
+ phy-supply = <®_fec_3v3>;
+ phy-handle = <ðphy>;
+ status = "okay";
+
+ mdio {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ ethphy: ethernet-phy@0 {
+ compatible = "ethernet-phy-ieee802.3-c22";
+ reg = <0>;
+ max-speed = <100>;
+ reset-gpios = <&gpio3 28 GPIO_ACTIVE_LOW>;
+ reset-assert-us = <4000>;
+ reset-deassert-us = <4000>;
+ };
+ };
+};
+
+&pinctrl {
+ pinctrl-names = "default";
+ pinctrl-0 = <&hog_pins_a>;
+
+ hog_pins_a: hog@0 {
+ reg = <0>;
+ fsl,pinmux-ids = <
+ MX28_PAD_SSP2_SS1__GPIO_2_20 /* External power */
+ >;
+ fsl,drive-strength = <MXS_DRIVE_4mA>;
+ fsl,voltage = <MXS_VOLTAGE_HIGH>;
+ fsl,pull-up = <MXS_PULL_DISABLE>;
+ };
+
+ edt_ft5x06_pins: edt-ft5x06@0 {
+ reg = <0>;
+ fsl,pinmux-ids = <
+ MX28_PAD_GPMI_RDY1__GPIO_0_21 /* Reset */
+ MX28_PAD_GPMI_CE3N__GPIO_0_19 /* Interrupt */
+ >;
+ fsl,drive-strength = <MXS_DRIVE_4mA>;
+ fsl,voltage = <MXS_VOLTAGE_HIGH>;
+ fsl,pull-up = <MXS_PULL_ENABLE>;
+ };
+
+ edt_ft5x06_wake_pin: edt-ft5x06-wake@0 {
+ reg = <0>;
+ fsl,pinmux-ids = <MX28_PAD_GPMI_CE2N__GPIO_0_18>;
+ fsl,drive-strength = <MXS_DRIVE_16mA>;
+ fsl,voltage = <MXS_VOLTAGE_HIGH>;
+ fsl,pull-up = <MXS_PULL_DISABLE>;
+ };
+
+ fec_3v3_enable_pin: fec-3v3-enable@0 {
+ reg = <0>;
+ fsl,pinmux-ids = <MX28_PAD_SPDIF__GPIO_3_27>;
+ fsl,drive-strength = <MXS_DRIVE_4mA>;
+ fsl,voltage = <MXS_VOLTAGE_HIGH>;
+ fsl,pull-up = <MXS_PULL_DISABLE>;
+ };
+
+ leds_pins: leds@0 {
+ reg = <0>;
+ fsl,pinmux-ids = <
+ MX28_PAD_SSP0_DATA7__GPIO_2_7
+ MX28_PAD_PWM0__GPIO_3_16
+ MX28_PAD_PWM1__GPIO_3_17
+ >;
+ fsl,drive-strength = <MXS_DRIVE_4mA>;
+ fsl,voltage = <MXS_VOLTAGE_HIGH>;
+ fsl,pull-up = <MXS_PULL_DISABLE>;
+ };
+
+ usb0_vbus_enable_pin: usb0-vbus-enable@0 {
+ reg = <0>;
+ fsl,pinmux-ids = <MX28_PAD_SSP0_DATA5__GPIO_2_5>;
+ fsl,drive-strength = <MXS_DRIVE_4mA>;
+ fsl,voltage = <MXS_VOLTAGE_HIGH>;
+ fsl,pull-up = <MXS_PULL_DISABLE>;
+ };
+
+ usb1_vbus_enable_pin: usb1-vbus-enable@0 {
+ reg = <0>;
+ fsl,pinmux-ids = <MX28_PAD_SSP0_DATA6__GPIO_2_6>;
+ fsl,drive-strength = <MXS_DRIVE_4mA>;
+ fsl,voltage = <MXS_VOLTAGE_HIGH>;
+ fsl,pull-up = <MXS_PULL_DISABLE>;
+ };
+};
+
+&pwm {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pwm4_pins_a &pwm7_pins_a>;
+ status = "okay";
+};
+
+&ssp0 {
+ compatible = "fsl,imx28-mmc";
+ pinctrl-names = "default";
+ pinctrl-0 = <&mmc0_4bit_pins_a &mmc0_sck_cfg>;
+ status = "okay";
+ bus-width = <4>;
+ broken-cd;
+};
+
+&usb0 {
+ status = "okay";
+ vbus-supply = <®_usb0_vbus>;
+ dr_mode = "host";
+};
+
+&usb1 {
+ status = "okay";
+ vbus-supply = <®_usb1_vbus>;
+ dr_mode = "host";
+};
+
+&usbphy0 {
+ status = "okay";
+};
+
+&usbphy1 {
+ status = "okay";
+};
--
2.43.0
^ permalink raw reply related [flat|nested] 11+ messages in thread* Re: [PATCH v2 4/4] ARM: dts: mxs: support i.MX28 Amarula rmm board
2025-05-28 12:11 ` [PATCH v2 4/4] ARM: dts: mxs: support i.MX28 Amarula rmm board Dario Binacchi
@ 2025-05-28 12:21 ` Marc Kleine-Budde
2025-05-28 12:35 ` Dario Binacchi
2025-05-28 15:06 ` Frank Li
2025-05-29 8:41 ` Stefan Wahren
2 siblings, 1 reply; 11+ messages in thread
From: Marc Kleine-Budde @ 2025-05-28 12:21 UTC (permalink / raw)
To: Dario Binacchi
Cc: linux-kernel, Rob Herring, Conor Dooley, devicetree,
linux-amarula, Sascha Hauer, imx, Pengutronix Kernel Team,
Shawn Guo, Krzysztof Kozlowski, michael, Fabio Estevam,
linux-arm-kernel
[-- Attachment #1: Type: text/plain, Size: 1105 bytes --]
On 28.05.2025 14:11:41, Dario Binacchi wrote:
> The board includes the following resources:
> - 256 Mbytes NAND Flash
> - 128 Mbytes DRAM DDR2
> - CAN
> - USB 2.0 high-speed/full-speed
> - Ethernet MAC
>
> Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
[...]
> + reg_3v3: regulator-3v3 {
> + compatible = "regulator-fixed";
> + regulator-name = "3v3";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + regulator-always-on;
> + };
[...]
> +&can0 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&can0_pins_a>;
> + xceiver-supply = <®_3v3>;
The xceiver-supply "reg_3v3" is an always fixed regulator, that doesn't
switch a GPIO, so IMHO, you can remove it. Saves a bit of runtime mem.
> + status = "okay";
> +};
regards,
Marc
--
Pengutronix e.K. | Marc Kleine-Budde |
Embedded Linux | https://www.pengutronix.de |
Vertretung Nürnberg | Phone: +49-5121-206917-129 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-9 |
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread* Re: [PATCH v2 4/4] ARM: dts: mxs: support i.MX28 Amarula rmm board
2025-05-28 12:21 ` Marc Kleine-Budde
@ 2025-05-28 12:35 ` Dario Binacchi
0 siblings, 0 replies; 11+ messages in thread
From: Dario Binacchi @ 2025-05-28 12:35 UTC (permalink / raw)
To: Marc Kleine-Budde
Cc: linux-kernel, Rob Herring, Conor Dooley, devicetree,
linux-amarula, Sascha Hauer, imx, Pengutronix Kernel Team,
Shawn Guo, Krzysztof Kozlowski, michael, Fabio Estevam,
linux-arm-kernel
On Wed, May 28, 2025 at 2:21 PM Marc Kleine-Budde <mkl@pengutronix.de> wrote:
>
> On 28.05.2025 14:11:41, Dario Binacchi wrote:
> > The board includes the following resources:
> > - 256 Mbytes NAND Flash
> > - 128 Mbytes DRAM DDR2
> > - CAN
> > - USB 2.0 high-speed/full-speed
> > - Ethernet MAC
> >
> > Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
>
> [...]
>
> > + reg_3v3: regulator-3v3 {
> > + compatible = "regulator-fixed";
> > + regulator-name = "3v3";
> > + regulator-min-microvolt = <3300000>;
> > + regulator-max-microvolt = <3300000>;
> > + regulator-always-on;
> > + };
>
> [...]
>
> > +&can0 {
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&can0_pins_a>;
> > + xceiver-supply = <®_3v3>;
>
> The xceiver-supply "reg_3v3" is an always fixed regulator, that doesn't
> switch a GPIO, so IMHO, you can remove it. Saves a bit of runtime mem.
Yes, you're right.
Removed and verified.
It works.
Thanks and regards,
Dario
>
> > + status = "okay";
> > +};
>
> regards,
> Marc
>
> --
> Pengutronix e.K. | Marc Kleine-Budde |
> Embedded Linux | https://www.pengutronix.de |
> Vertretung Nürnberg | Phone: +49-5121-206917-129 |
> Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-9 |
--
Dario Binacchi
Senior Embedded Linux Developer
dario.binacchi@amarulasolutions.com
__________________________________
Amarula Solutions SRL
Via Le Canevare 30, 31100 Treviso, Veneto, IT
T. +39 042 243 5310
info@amarulasolutions.com
www.amarulasolutions.com
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2 4/4] ARM: dts: mxs: support i.MX28 Amarula rmm board
2025-05-28 12:11 ` [PATCH v2 4/4] ARM: dts: mxs: support i.MX28 Amarula rmm board Dario Binacchi
2025-05-28 12:21 ` Marc Kleine-Budde
@ 2025-05-28 15:06 ` Frank Li
2025-05-29 8:13 ` Dario Binacchi
2025-05-29 8:41 ` Stefan Wahren
2 siblings, 1 reply; 11+ messages in thread
From: Frank Li @ 2025-05-28 15:06 UTC (permalink / raw)
To: Dario Binacchi
Cc: linux-kernel, michael, linux-amarula, Conor Dooley, Fabio Estevam,
Krzysztof Kozlowski, Pengutronix Kernel Team, Rob Herring,
Sascha Hauer, Shawn Guo, devicetree, imx, linux-arm-kernel
On Wed, May 28, 2025 at 02:11:41PM +0200, Dario Binacchi wrote:
> The board includes the following resources:
> - 256 Mbytes NAND Flash
> - 128 Mbytes DRAM DDR2
> - CAN
> - USB 2.0 high-speed/full-speed
> - Ethernet MAC
>
> Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
>
> ---
>
> Changes in v2:
> - In imx28-amarula-rmm.dts:
> - Replace '-' with '@' for the pinctrl sub-nodes.
> - Replace edt,edt-ft5x06 with edt,edt-ft5306.
> - Drop LCD reset hog pin.
> - Add correct #address-cells and #size-cells to gpmi node.
> - Replace edt-ft5x06@38 with touchscreen@38.
> - Drop from commit messages all references to LCD display.
> - Add patch [1/4] "dt-bindings: mfd: convert mxs-lradc bindings to
> json-schema".
>
> arch/arm/boot/dts/nxp/mxs/Makefile | 1 +
> .../boot/dts/nxp/mxs/imx28-amarula-rmm.dts | 303 ++++++++++++++++++
please run https://github.com/lznuaa/dt-format to keep nice node/property
order for new dts file.
Frank
> 2 files changed, 304 insertions(+)
> create mode 100644 arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dts
>
> diff --git a/arch/arm/boot/dts/nxp/mxs/Makefile b/arch/arm/boot/dts/nxp/mxs/Makefile
> index 96dd31ea19ba..d72ba702b6fa 100644
> --- a/arch/arm/boot/dts/nxp/mxs/Makefile
> +++ b/arch/arm/boot/dts/nxp/mxs/Makefile
> @@ -5,6 +5,7 @@ dtb-$(CONFIG_ARCH_MXS) += \
> imx23-sansa.dtb \
> imx23-stmp378x_devb.dtb \
> imx23-xfi3.dtb \
> + imx28-amarula-rmm.dtb \
> imx28-apf28.dtb \
> imx28-apf28dev.dtb \
> imx28-apx4devkit.dtb \
> diff --git a/arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dts b/arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dts
> new file mode 100644
> index 000000000000..5daa9e22715d
> --- /dev/null
> +++ b/arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dts
> @@ -0,0 +1,303 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (C) 2025 Amarula Solutions, Dario Binacchi <dario.binacchi@amarulasolutions.com>
> + */
> +
> +/dts-v1/;
> +#include "imx28.dtsi"
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/interrupt-controller/irq.h>
> +
> +/ {
> + model = "Amarula i.MX28 rmm";
> + compatible = "amarula,imx28-rmm", "fsl,imx28";
> +
> + memory@40000000 {
> + device_type = "memory";
> + reg = <0x40000000 0x08000000>;
> + };
> +
> + reg_5v: regulator-5v {
> + compatible = "regulator-fixed";
> + regulator-name = "5v";
> + regulator-min-microvolt = <5000000>;
> + regulator-max-microvolt = <5000000>;
> + regulator-always-on;
> + };
> +
> + reg_3v3: regulator-3v3 {
> + compatible = "regulator-fixed";
> + regulator-name = "3v3";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + regulator-always-on;
> + };
> +
> + reg_1v8: regulator-1v8 {
> + compatible = "regulator-fixed";
> + regulator-name = "1v8";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + };
> +
> + reg_fec_3v3: regulator-fec-3v3 {
> + compatible = "regulator-fixed";
> + pinctrl-names = "default";
> + pinctrl-0 = <&fec_3v3_enable_pin>;
> + regulator-name = "fec-3v3";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + gpios = <&gpio3 27 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> + startup-delay-us = <300000>;
> + vin-supply = <®_5v>;
> + };
> +
> + reg_usb0_vbus: regulator-usb0-vbus {
> + compatible = "regulator-fixed";
> + pinctrl-names = "default";
> + pinctrl-0 = <&usb0_vbus_enable_pin>;
> + regulator-name = "usb0_vbus";
> + regulator-min-microvolt = <5000000>;
> + regulator-max-microvolt = <5000000>;
> + gpio = <&gpio2 5 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> + regulator-always-on;
> + };
> +
> + reg_usb1_vbus: regulator-usb1-vbus {
> + compatible = "regulator-fixed";
> + pinctrl-names = "default";
> + pinctrl-0 = <&usb1_vbus_enable_pin>;
> + regulator-name = "usb1_vbus";
> + regulator-min-microvolt = <5000000>;
> + regulator-max-microvolt = <5000000>;
> + gpio = <&gpio2 6 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> + regulator-always-on;
> + };
> +
> + backlight {
> + compatible = "pwm-backlight";
> + pwms = <&pwm 4 5000000 0>;
> + brightness-levels = <0 255>;
> + num-interpolated-steps = <255>;
> + default-brightness-level = <255>;
> + power-supply = <®_5v>;
> + };
> +
> + beeper {
> + compatible = "pwm-beeper";
> + pwms = <&pwm 7 100000 0>;
> + };
> +
> + leds {
> + compatible = "gpio-leds";
> + pinctrl-names = "default";
> + pinctrl-0 = <&leds_pins>;
> +
> + led-0 {
> + label = "status";
> + gpios = <&gpio2 7 GPIO_ACTIVE_HIGH>;
> + default-state = "off";
> + };
> +
> + led-1 {
> + label = "x22_5";
> + gpios = <&gpio3 16 GPIO_ACTIVE_HIGH>;
> + default-state = "off";
> + };
> +
> + led-2 {
> + label = "x22_4";
> + gpios = <&gpio3 17 GPIO_ACTIVE_HIGH>;
> + default-state = "off";
> + };
> + };
> +};
> +
> +&auart0 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&auart0_2pins_a>;
> + status = "okay";
> +};
> +
> +&auart1 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&auart1_pins_a>;
> + status = "okay";
> +};
> +
> +&can0 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&can0_pins_a>;
> + xceiver-supply = <®_3v3>;
> + status = "okay";
> +};
> +
> +&duart {
> + pinctrl-names = "default";
> + pinctrl-0 = <&duart_pins_b>;
> + status = "okay";
> +};
> +
> +&duart_pins_b {
> + fsl,voltage = <MXS_VOLTAGE_LOW>;
> +};
> +
> +&gpmi {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>;
> + status = "okay";
> +};
> +
> +&i2c0 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&i2c0_pins_a>;
> + status = "okay";
> +
> + touchscreen: touchscreen@38 {
> + compatible = "edt,edt-ft5306";
> + reg = <0x38>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&edt_ft5x06_pins &edt_ft5x06_wake_pin>;
> + interrupt-parent = <&gpio0>;
> + interrupts = <19 IRQ_TYPE_EDGE_RISING>;
> + reset-gpios = <&gpio0 21 GPIO_ACTIVE_LOW>;
> + wake-gpios = <&gpio0 18 GPIO_ACTIVE_HIGH>;
> + };
> +};
> +
> +&lradc {
> + status = "okay";
> +};
> +
> +&mac0 {
> + phy-mode = "rmii";
> + pinctrl-names = "default";
> + pinctrl-0 = <&mac0_pins_a>;
> + phy-supply = <®_fec_3v3>;
> + phy-handle = <ðphy>;
> + status = "okay";
> +
> + mdio {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + ethphy: ethernet-phy@0 {
> + compatible = "ethernet-phy-ieee802.3-c22";
> + reg = <0>;
> + max-speed = <100>;
> + reset-gpios = <&gpio3 28 GPIO_ACTIVE_LOW>;
> + reset-assert-us = <4000>;
> + reset-deassert-us = <4000>;
> + };
> + };
> +};
> +
> +&pinctrl {
> + pinctrl-names = "default";
> + pinctrl-0 = <&hog_pins_a>;
> +
> + hog_pins_a: hog@0 {
> + reg = <0>;
> + fsl,pinmux-ids = <
> + MX28_PAD_SSP2_SS1__GPIO_2_20 /* External power */
> + >;
> + fsl,drive-strength = <MXS_DRIVE_4mA>;
> + fsl,voltage = <MXS_VOLTAGE_HIGH>;
> + fsl,pull-up = <MXS_PULL_DISABLE>;
> + };
> +
> + edt_ft5x06_pins: edt-ft5x06@0 {
> + reg = <0>;
> + fsl,pinmux-ids = <
> + MX28_PAD_GPMI_RDY1__GPIO_0_21 /* Reset */
> + MX28_PAD_GPMI_CE3N__GPIO_0_19 /* Interrupt */
> + >;
> + fsl,drive-strength = <MXS_DRIVE_4mA>;
> + fsl,voltage = <MXS_VOLTAGE_HIGH>;
> + fsl,pull-up = <MXS_PULL_ENABLE>;
> + };
> +
> + edt_ft5x06_wake_pin: edt-ft5x06-wake@0 {
> + reg = <0>;
> + fsl,pinmux-ids = <MX28_PAD_GPMI_CE2N__GPIO_0_18>;
> + fsl,drive-strength = <MXS_DRIVE_16mA>;
> + fsl,voltage = <MXS_VOLTAGE_HIGH>;
> + fsl,pull-up = <MXS_PULL_DISABLE>;
> + };
> +
> + fec_3v3_enable_pin: fec-3v3-enable@0 {
> + reg = <0>;
> + fsl,pinmux-ids = <MX28_PAD_SPDIF__GPIO_3_27>;
> + fsl,drive-strength = <MXS_DRIVE_4mA>;
> + fsl,voltage = <MXS_VOLTAGE_HIGH>;
> + fsl,pull-up = <MXS_PULL_DISABLE>;
> + };
> +
> + leds_pins: leds@0 {
> + reg = <0>;
> + fsl,pinmux-ids = <
> + MX28_PAD_SSP0_DATA7__GPIO_2_7
> + MX28_PAD_PWM0__GPIO_3_16
> + MX28_PAD_PWM1__GPIO_3_17
> + >;
> + fsl,drive-strength = <MXS_DRIVE_4mA>;
> + fsl,voltage = <MXS_VOLTAGE_HIGH>;
> + fsl,pull-up = <MXS_PULL_DISABLE>;
> + };
> +
> + usb0_vbus_enable_pin: usb0-vbus-enable@0 {
> + reg = <0>;
> + fsl,pinmux-ids = <MX28_PAD_SSP0_DATA5__GPIO_2_5>;
> + fsl,drive-strength = <MXS_DRIVE_4mA>;
> + fsl,voltage = <MXS_VOLTAGE_HIGH>;
> + fsl,pull-up = <MXS_PULL_DISABLE>;
> + };
> +
> + usb1_vbus_enable_pin: usb1-vbus-enable@0 {
> + reg = <0>;
> + fsl,pinmux-ids = <MX28_PAD_SSP0_DATA6__GPIO_2_6>;
> + fsl,drive-strength = <MXS_DRIVE_4mA>;
> + fsl,voltage = <MXS_VOLTAGE_HIGH>;
> + fsl,pull-up = <MXS_PULL_DISABLE>;
> + };
> +};
> +
> +&pwm {
> + pinctrl-names = "default";
> + pinctrl-0 = <&pwm4_pins_a &pwm7_pins_a>;
> + status = "okay";
> +};
> +
> +&ssp0 {
> + compatible = "fsl,imx28-mmc";
> + pinctrl-names = "default";
> + pinctrl-0 = <&mmc0_4bit_pins_a &mmc0_sck_cfg>;
> + status = "okay";
> + bus-width = <4>;
> + broken-cd;
> +};
> +
> +&usb0 {
> + status = "okay";
> + vbus-supply = <®_usb0_vbus>;
> + dr_mode = "host";
> +};
> +
> +&usb1 {
> + status = "okay";
> + vbus-supply = <®_usb1_vbus>;
> + dr_mode = "host";
> +};
> +
> +&usbphy0 {
> + status = "okay";
> +};
> +
> +&usbphy1 {
> + status = "okay";
> +};
> --
> 2.43.0
>
^ permalink raw reply [flat|nested] 11+ messages in thread* Re: [PATCH v2 4/4] ARM: dts: mxs: support i.MX28 Amarula rmm board
2025-05-28 15:06 ` Frank Li
@ 2025-05-29 8:13 ` Dario Binacchi
0 siblings, 0 replies; 11+ messages in thread
From: Dario Binacchi @ 2025-05-29 8:13 UTC (permalink / raw)
To: Frank Li
Cc: linux-kernel, michael, linux-amarula, Conor Dooley, Fabio Estevam,
Krzysztof Kozlowski, Pengutronix Kernel Team, Rob Herring,
Sascha Hauer, Shawn Guo, devicetree, imx, linux-arm-kernel
Hi Frank,
On Wed, May 28, 2025 at 5:06 PM Frank Li <Frank.li@nxp.com> wrote:
>
> On Wed, May 28, 2025 at 02:11:41PM +0200, Dario Binacchi wrote:
> > The board includes the following resources:
> > - 256 Mbytes NAND Flash
> > - 128 Mbytes DRAM DDR2
> > - CAN
> > - USB 2.0 high-speed/full-speed
> > - Ethernet MAC
> >
> > Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
> >
> > ---
> >
> > Changes in v2:
> > - In imx28-amarula-rmm.dts:
> > - Replace '-' with '@' for the pinctrl sub-nodes.
> > - Replace edt,edt-ft5x06 with edt,edt-ft5306.
> > - Drop LCD reset hog pin.
> > - Add correct #address-cells and #size-cells to gpmi node.
> > - Replace edt-ft5x06@38 with touchscreen@38.
> > - Drop from commit messages all references to LCD display.
> > - Add patch [1/4] "dt-bindings: mfd: convert mxs-lradc bindings to
> > json-schema".
> >
> > arch/arm/boot/dts/nxp/mxs/Makefile | 1 +
> > .../boot/dts/nxp/mxs/imx28-amarula-rmm.dts | 303 ++++++++++++++++++
>
> please run https://github.com/lznuaa/dt-format to keep nice node/property
> order for new dts file.
Thank you for the suggestion. I made some changes, although I didn’t follow the
dt-format output for imx28-amarula-rmm.dtsi to the letter. In some cases, when
I had to choose between alphabetical order and the “customary” conventions of
DTS files, I opted for the latter.
Thanks and regards,
Dario
>
> Frank
>
> > 2 files changed, 304 insertions(+)
> > create mode 100644 arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dts
> >
> > diff --git a/arch/arm/boot/dts/nxp/mxs/Makefile b/arch/arm/boot/dts/nxp/mxs/Makefile
> > index 96dd31ea19ba..d72ba702b6fa 100644
> > --- a/arch/arm/boot/dts/nxp/mxs/Makefile
> > +++ b/arch/arm/boot/dts/nxp/mxs/Makefile
> > @@ -5,6 +5,7 @@ dtb-$(CONFIG_ARCH_MXS) += \
> > imx23-sansa.dtb \
> > imx23-stmp378x_devb.dtb \
> > imx23-xfi3.dtb \
> > + imx28-amarula-rmm.dtb \
> > imx28-apf28.dtb \
> > imx28-apf28dev.dtb \
> > imx28-apx4devkit.dtb \
> > diff --git a/arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dts b/arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dts
> > new file mode 100644
> > index 000000000000..5daa9e22715d
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dts
> > @@ -0,0 +1,303 @@
> > +// SPDX-License-Identifier: GPL-2.0
> > +/*
> > + * Copyright (C) 2025 Amarula Solutions, Dario Binacchi <dario.binacchi@amarulasolutions.com>
> > + */
> > +
> > +/dts-v1/;
> > +#include "imx28.dtsi"
> > +#include <dt-bindings/gpio/gpio.h>
> > +#include <dt-bindings/interrupt-controller/irq.h>
> > +
> > +/ {
> > + model = "Amarula i.MX28 rmm";
> > + compatible = "amarula,imx28-rmm", "fsl,imx28";
> > +
> > + memory@40000000 {
> > + device_type = "memory";
> > + reg = <0x40000000 0x08000000>;
> > + };
> > +
> > + reg_5v: regulator-5v {
> > + compatible = "regulator-fixed";
> > + regulator-name = "5v";
> > + regulator-min-microvolt = <5000000>;
> > + regulator-max-microvolt = <5000000>;
> > + regulator-always-on;
> > + };
> > +
> > + reg_3v3: regulator-3v3 {
> > + compatible = "regulator-fixed";
> > + regulator-name = "3v3";
> > + regulator-min-microvolt = <3300000>;
> > + regulator-max-microvolt = <3300000>;
> > + regulator-always-on;
> > + };
> > +
> > + reg_1v8: regulator-1v8 {
> > + compatible = "regulator-fixed";
> > + regulator-name = "1v8";
> > + regulator-min-microvolt = <1800000>;
> > + regulator-max-microvolt = <1800000>;
> > + };
> > +
> > + reg_fec_3v3: regulator-fec-3v3 {
> > + compatible = "regulator-fixed";
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&fec_3v3_enable_pin>;
> > + regulator-name = "fec-3v3";
> > + regulator-min-microvolt = <3300000>;
> > + regulator-max-microvolt = <3300000>;
> > + gpios = <&gpio3 27 GPIO_ACTIVE_HIGH>;
> > + enable-active-high;
> > + startup-delay-us = <300000>;
> > + vin-supply = <®_5v>;
> > + };
> > +
> > + reg_usb0_vbus: regulator-usb0-vbus {
> > + compatible = "regulator-fixed";
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&usb0_vbus_enable_pin>;
> > + regulator-name = "usb0_vbus";
> > + regulator-min-microvolt = <5000000>;
> > + regulator-max-microvolt = <5000000>;
> > + gpio = <&gpio2 5 GPIO_ACTIVE_HIGH>;
> > + enable-active-high;
> > + regulator-always-on;
> > + };
> > +
> > + reg_usb1_vbus: regulator-usb1-vbus {
> > + compatible = "regulator-fixed";
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&usb1_vbus_enable_pin>;
> > + regulator-name = "usb1_vbus";
> > + regulator-min-microvolt = <5000000>;
> > + regulator-max-microvolt = <5000000>;
> > + gpio = <&gpio2 6 GPIO_ACTIVE_HIGH>;
> > + enable-active-high;
> > + regulator-always-on;
> > + };
> > +
> > + backlight {
> > + compatible = "pwm-backlight";
> > + pwms = <&pwm 4 5000000 0>;
> > + brightness-levels = <0 255>;
> > + num-interpolated-steps = <255>;
> > + default-brightness-level = <255>;
> > + power-supply = <®_5v>;
> > + };
> > +
> > + beeper {
> > + compatible = "pwm-beeper";
> > + pwms = <&pwm 7 100000 0>;
> > + };
> > +
> > + leds {
> > + compatible = "gpio-leds";
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&leds_pins>;
> > +
> > + led-0 {
> > + label = "status";
> > + gpios = <&gpio2 7 GPIO_ACTIVE_HIGH>;
> > + default-state = "off";
> > + };
> > +
> > + led-1 {
> > + label = "x22_5";
> > + gpios = <&gpio3 16 GPIO_ACTIVE_HIGH>;
> > + default-state = "off";
> > + };
> > +
> > + led-2 {
> > + label = "x22_4";
> > + gpios = <&gpio3 17 GPIO_ACTIVE_HIGH>;
> > + default-state = "off";
> > + };
> > + };
> > +};
> > +
> > +&auart0 {
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&auart0_2pins_a>;
> > + status = "okay";
> > +};
> > +
> > +&auart1 {
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&auart1_pins_a>;
> > + status = "okay";
> > +};
> > +
> > +&can0 {
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&can0_pins_a>;
> > + xceiver-supply = <®_3v3>;
> > + status = "okay";
> > +};
> > +
> > +&duart {
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&duart_pins_b>;
> > + status = "okay";
> > +};
> > +
> > +&duart_pins_b {
> > + fsl,voltage = <MXS_VOLTAGE_LOW>;
> > +};
> > +
> > +&gpmi {
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>;
> > + status = "okay";
> > +};
> > +
> > +&i2c0 {
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&i2c0_pins_a>;
> > + status = "okay";
> > +
> > + touchscreen: touchscreen@38 {
> > + compatible = "edt,edt-ft5306";
> > + reg = <0x38>;
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&edt_ft5x06_pins &edt_ft5x06_wake_pin>;
> > + interrupt-parent = <&gpio0>;
> > + interrupts = <19 IRQ_TYPE_EDGE_RISING>;
> > + reset-gpios = <&gpio0 21 GPIO_ACTIVE_LOW>;
> > + wake-gpios = <&gpio0 18 GPIO_ACTIVE_HIGH>;
> > + };
> > +};
> > +
> > +&lradc {
> > + status = "okay";
> > +};
> > +
> > +&mac0 {
> > + phy-mode = "rmii";
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&mac0_pins_a>;
> > + phy-supply = <®_fec_3v3>;
> > + phy-handle = <ðphy>;
> > + status = "okay";
> > +
> > + mdio {
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > +
> > + ethphy: ethernet-phy@0 {
> > + compatible = "ethernet-phy-ieee802.3-c22";
> > + reg = <0>;
> > + max-speed = <100>;
> > + reset-gpios = <&gpio3 28 GPIO_ACTIVE_LOW>;
> > + reset-assert-us = <4000>;
> > + reset-deassert-us = <4000>;
> > + };
> > + };
> > +};
> > +
> > +&pinctrl {
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&hog_pins_a>;
> > +
> > + hog_pins_a: hog@0 {
> > + reg = <0>;
> > + fsl,pinmux-ids = <
> > + MX28_PAD_SSP2_SS1__GPIO_2_20 /* External power */
> > + >;
> > + fsl,drive-strength = <MXS_DRIVE_4mA>;
> > + fsl,voltage = <MXS_VOLTAGE_HIGH>;
> > + fsl,pull-up = <MXS_PULL_DISABLE>;
> > + };
> > +
> > + edt_ft5x06_pins: edt-ft5x06@0 {
> > + reg = <0>;
> > + fsl,pinmux-ids = <
> > + MX28_PAD_GPMI_RDY1__GPIO_0_21 /* Reset */
> > + MX28_PAD_GPMI_CE3N__GPIO_0_19 /* Interrupt */
> > + >;
> > + fsl,drive-strength = <MXS_DRIVE_4mA>;
> > + fsl,voltage = <MXS_VOLTAGE_HIGH>;
> > + fsl,pull-up = <MXS_PULL_ENABLE>;
> > + };
> > +
> > + edt_ft5x06_wake_pin: edt-ft5x06-wake@0 {
> > + reg = <0>;
> > + fsl,pinmux-ids = <MX28_PAD_GPMI_CE2N__GPIO_0_18>;
> > + fsl,drive-strength = <MXS_DRIVE_16mA>;
> > + fsl,voltage = <MXS_VOLTAGE_HIGH>;
> > + fsl,pull-up = <MXS_PULL_DISABLE>;
> > + };
> > +
> > + fec_3v3_enable_pin: fec-3v3-enable@0 {
> > + reg = <0>;
> > + fsl,pinmux-ids = <MX28_PAD_SPDIF__GPIO_3_27>;
> > + fsl,drive-strength = <MXS_DRIVE_4mA>;
> > + fsl,voltage = <MXS_VOLTAGE_HIGH>;
> > + fsl,pull-up = <MXS_PULL_DISABLE>;
> > + };
> > +
> > + leds_pins: leds@0 {
> > + reg = <0>;
> > + fsl,pinmux-ids = <
> > + MX28_PAD_SSP0_DATA7__GPIO_2_7
> > + MX28_PAD_PWM0__GPIO_3_16
> > + MX28_PAD_PWM1__GPIO_3_17
> > + >;
> > + fsl,drive-strength = <MXS_DRIVE_4mA>;
> > + fsl,voltage = <MXS_VOLTAGE_HIGH>;
> > + fsl,pull-up = <MXS_PULL_DISABLE>;
> > + };
> > +
> > + usb0_vbus_enable_pin: usb0-vbus-enable@0 {
> > + reg = <0>;
> > + fsl,pinmux-ids = <MX28_PAD_SSP0_DATA5__GPIO_2_5>;
> > + fsl,drive-strength = <MXS_DRIVE_4mA>;
> > + fsl,voltage = <MXS_VOLTAGE_HIGH>;
> > + fsl,pull-up = <MXS_PULL_DISABLE>;
> > + };
> > +
> > + usb1_vbus_enable_pin: usb1-vbus-enable@0 {
> > + reg = <0>;
> > + fsl,pinmux-ids = <MX28_PAD_SSP0_DATA6__GPIO_2_6>;
> > + fsl,drive-strength = <MXS_DRIVE_4mA>;
> > + fsl,voltage = <MXS_VOLTAGE_HIGH>;
> > + fsl,pull-up = <MXS_PULL_DISABLE>;
> > + };
> > +};
> > +
> > +&pwm {
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&pwm4_pins_a &pwm7_pins_a>;
> > + status = "okay";
> > +};
> > +
> > +&ssp0 {
> > + compatible = "fsl,imx28-mmc";
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&mmc0_4bit_pins_a &mmc0_sck_cfg>;
> > + status = "okay";
> > + bus-width = <4>;
> > + broken-cd;
> > +};
> > +
> > +&usb0 {
> > + status = "okay";
> > + vbus-supply = <®_usb0_vbus>;
> > + dr_mode = "host";
> > +};
> > +
> > +&usb1 {
> > + status = "okay";
> > + vbus-supply = <®_usb1_vbus>;
> > + dr_mode = "host";
> > +};
> > +
> > +&usbphy0 {
> > + status = "okay";
> > +};
> > +
> > +&usbphy1 {
> > + status = "okay";
> > +};
> > --
> > 2.43.0
> >
--
Dario Binacchi
Senior Embedded Linux Developer
dario.binacchi@amarulasolutions.com
__________________________________
Amarula Solutions SRL
Via Le Canevare 30, 31100 Treviso, Veneto, IT
T. +39 042 243 5310
info@amarulasolutions.com
www.amarulasolutions.com
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2 4/4] ARM: dts: mxs: support i.MX28 Amarula rmm board
2025-05-28 12:11 ` [PATCH v2 4/4] ARM: dts: mxs: support i.MX28 Amarula rmm board Dario Binacchi
2025-05-28 12:21 ` Marc Kleine-Budde
2025-05-28 15:06 ` Frank Li
@ 2025-05-29 8:41 ` Stefan Wahren
2 siblings, 0 replies; 11+ messages in thread
From: Stefan Wahren @ 2025-05-29 8:41 UTC (permalink / raw)
To: Dario Binacchi
Cc: michael, linux-amarula, linux-kernel, Conor Dooley, Fabio Estevam,
Krzysztof Kozlowski, Pengutronix Kernel Team, Rob Herring,
Sascha Hauer, Shawn Guo, devicetree, imx, linux-arm-kernel
Hi Dario,
Am 28.05.25 um 14:11 schrieb Dario Binacchi:
> The board includes the following resources:
> - 256 Mbytes NAND Flash
> - 128 Mbytes DRAM DDR2
> - CAN
> - USB 2.0 high-speed/full-speed
> - Ethernet MAC
>
> Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
>
> ---
>
> Changes in v2:
> - In imx28-amarula-rmm.dts:
> - Replace '-' with '@' for the pinctrl sub-nodes.
> - Replace edt,edt-ft5x06 with edt,edt-ft5306.
> - Drop LCD reset hog pin.
> - Add correct #address-cells and #size-cells to gpmi node.
> - Replace edt-ft5x06@38 with touchscreen@38.
> - Drop from commit messages all references to LCD display.
> - Add patch [1/4] "dt-bindings: mfd: convert mxs-lradc bindings to
> json-schema".
>
> arch/arm/boot/dts/nxp/mxs/Makefile | 1 +
> .../boot/dts/nxp/mxs/imx28-amarula-rmm.dts | 303 ++++++++++++++++++
> 2 files changed, 304 insertions(+)
> create mode 100644 arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dts
>
> diff --git a/arch/arm/boot/dts/nxp/mxs/Makefile b/arch/arm/boot/dts/nxp/mxs/Makefile
> index 96dd31ea19ba..d72ba702b6fa 100644
> --- a/arch/arm/boot/dts/nxp/mxs/Makefile
> +++ b/arch/arm/boot/dts/nxp/mxs/Makefile
> @@ -5,6 +5,7 @@ dtb-$(CONFIG_ARCH_MXS) += \
> imx23-sansa.dtb \
> imx23-stmp378x_devb.dtb \
> imx23-xfi3.dtb \
> + imx28-amarula-rmm.dtb \
> imx28-apf28.dtb \
> imx28-apf28dev.dtb \
> imx28-apx4devkit.dtb \
> diff --git a/arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dts b/arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dts
> new file mode 100644
> index 000000000000..5daa9e22715d
> --- /dev/null
> +++ b/arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dts
> @@ -0,0 +1,303 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (C) 2025 Amarula Solutions, Dario Binacchi <dario.binacchi@amarulasolutions.com>
> + */
> +
> +/dts-v1/;
> +#include "imx28.dtsi"
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/interrupt-controller/irq.h>
> +
> +/ {
> + model = "Amarula i.MX28 rmm";
> + compatible = "amarula,imx28-rmm", "fsl,imx28";
> +
> + memory@40000000 {
> + device_type = "memory";
> + reg = <0x40000000 0x08000000>;
> + };
> +
> + reg_5v: regulator-5v {
> + compatible = "regulator-fixed";
> + regulator-name = "5v";
> + regulator-min-microvolt = <5000000>;
> + regulator-max-microvolt = <5000000>;
> + regulator-always-on;
> + };
> +
> + reg_3v3: regulator-3v3 {
> + compatible = "regulator-fixed";
> + regulator-name = "3v3";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + regulator-always-on;
> + };
> +
> + reg_1v8: regulator-1v8 {
> + compatible = "regulator-fixed";
> + regulator-name = "1v8";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + };
> +
> + reg_fec_3v3: regulator-fec-3v3 {
> + compatible = "regulator-fixed";
> + pinctrl-names = "default";
> + pinctrl-0 = <&fec_3v3_enable_pin>;
> + regulator-name = "fec-3v3";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + gpios = <&gpio3 27 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> + startup-delay-us = <300000>;
> + vin-supply = <®_5v>;
> + };
> +
> + reg_usb0_vbus: regulator-usb0-vbus {
> + compatible = "regulator-fixed";
> + pinctrl-names = "default";
> + pinctrl-0 = <&usb0_vbus_enable_pin>;
> + regulator-name = "usb0_vbus";
> + regulator-min-microvolt = <5000000>;
> + regulator-max-microvolt = <5000000>;
> + gpio = <&gpio2 5 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> + regulator-always-on;
> + };
> +
> + reg_usb1_vbus: regulator-usb1-vbus {
> + compatible = "regulator-fixed";
> + pinctrl-names = "default";
> + pinctrl-0 = <&usb1_vbus_enable_pin>;
> + regulator-name = "usb1_vbus";
> + regulator-min-microvolt = <5000000>;
> + regulator-max-microvolt = <5000000>;
> + gpio = <&gpio2 6 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> + regulator-always-on;
> + };
> +
> + backlight {
> + compatible = "pwm-backlight";
> + pwms = <&pwm 4 5000000 0>;
> + brightness-levels = <0 255>;
> + num-interpolated-steps = <255>;
> + default-brightness-level = <255>;
> + power-supply = <®_5v>;
> + };
> +
> + beeper {
> + compatible = "pwm-beeper";
This driver is not enabled in mxs_defconfig, shouldn't this be added?
> + pwms = <&pwm 7 100000 0>;
> + };
> +
> + leds {
> + compatible = "gpio-leds";
> + pinctrl-names = "default";
> + pinctrl-0 = <&leds_pins>;
> +
> + led-0 {
> + label = "status";
According to Documentation/devicetree/bindings/leds/common.yaml this
property is deprecated, please use function and color instead.
> + gpios = <&gpio2 7 GPIO_ACTIVE_HIGH>;
> + default-state = "off";
> + };
> +
> + led-1 {
> + label = "x22_5";
> + gpios = <&gpio3 16 GPIO_ACTIVE_HIGH>;
> + default-state = "off";
> + };
> +
> + led-2 {
> + label = "x22_4";
> + gpios = <&gpio3 17 GPIO_ACTIVE_HIGH>;
> + default-state = "off";
> + };
> + };
> +};
> +
> +&auart0 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&auart0_2pins_a>;
> + status = "okay";
> +};
> +
> +&auart1 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&auart1_pins_a>;
> + status = "okay";
> +};
> +
> +&can0 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&can0_pins_a>;
> + xceiver-supply = <®_3v3>;
> + status = "okay";
> +};
> +
> +&duart {
> + pinctrl-names = "default";
> + pinctrl-0 = <&duart_pins_b>;
> + status = "okay";
> +};
> +
> +&duart_pins_b {
> + fsl,voltage = <MXS_VOLTAGE_LOW>;
> +};
> +
> +&gpmi {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>;
> + status = "okay";
> +};
> +
> +&i2c0 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&i2c0_pins_a>;
> + status = "okay";
> +
> + touchscreen: touchscreen@38 {
> + compatible = "edt,edt-ft5306";
This driver isn't enabled in mxs_defconfig, too.
> + reg = <0x38>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&edt_ft5x06_pins &edt_ft5x06_wake_pin>;
> + interrupt-parent = <&gpio0>;
> + interrupts = <19 IRQ_TYPE_EDGE_RISING>;
> + reset-gpios = <&gpio0 21 GPIO_ACTIVE_LOW>;
> + wake-gpios = <&gpio0 18 GPIO_ACTIVE_HIGH>;
> + };
> +};
> +
> +&lradc {
> + status = "okay";
> +};
> +
> +&mac0 {
> + phy-mode = "rmii";
> + pinctrl-names = "default";
> + pinctrl-0 = <&mac0_pins_a>;
> + phy-supply = <®_fec_3v3>;
> + phy-handle = <ðphy>;
> + status = "okay";
> +
> + mdio {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + ethphy: ethernet-phy@0 {
> + compatible = "ethernet-phy-ieee802.3-c22";
> + reg = <0>;
> + max-speed = <100>;
> + reset-gpios = <&gpio3 28 GPIO_ACTIVE_LOW>;
> + reset-assert-us = <4000>;
> + reset-deassert-us = <4000>;
> + };
> + };
> +};
> +
> +&pinctrl {
> + pinctrl-names = "default";
> + pinctrl-0 = <&hog_pins_a>;
> +
> + hog_pins_a: hog@0 {
> + reg = <0>;
> + fsl,pinmux-ids = <
> + MX28_PAD_SSP2_SS1__GPIO_2_20 /* External power */
> + >;
> + fsl,drive-strength = <MXS_DRIVE_4mA>;
> + fsl,voltage = <MXS_VOLTAGE_HIGH>;
> + fsl,pull-up = <MXS_PULL_DISABLE>;
> + };
> +
> + edt_ft5x06_pins: edt-ft5x06@0 {
> + reg = <0>;
> + fsl,pinmux-ids = <
> + MX28_PAD_GPMI_RDY1__GPIO_0_21 /* Reset */
> + MX28_PAD_GPMI_CE3N__GPIO_0_19 /* Interrupt */
> + >;
> + fsl,drive-strength = <MXS_DRIVE_4mA>;
> + fsl,voltage = <MXS_VOLTAGE_HIGH>;
> + fsl,pull-up = <MXS_PULL_ENABLE>;
> + };
> +
> + edt_ft5x06_wake_pin: edt-ft5x06-wake@0 {
> + reg = <0>;
> + fsl,pinmux-ids = <MX28_PAD_GPMI_CE2N__GPIO_0_18>;
> + fsl,drive-strength = <MXS_DRIVE_16mA>;
> + fsl,voltage = <MXS_VOLTAGE_HIGH>;
> + fsl,pull-up = <MXS_PULL_DISABLE>;
> + };
> +
> + fec_3v3_enable_pin: fec-3v3-enable@0 {
> + reg = <0>;
> + fsl,pinmux-ids = <MX28_PAD_SPDIF__GPIO_3_27>;
> + fsl,drive-strength = <MXS_DRIVE_4mA>;
> + fsl,voltage = <MXS_VOLTAGE_HIGH>;
> + fsl,pull-up = <MXS_PULL_DISABLE>;
> + };
> +
> + leds_pins: leds@0 {
> + reg = <0>;
> + fsl,pinmux-ids = <
> + MX28_PAD_SSP0_DATA7__GPIO_2_7
> + MX28_PAD_PWM0__GPIO_3_16
> + MX28_PAD_PWM1__GPIO_3_17
> + >;
> + fsl,drive-strength = <MXS_DRIVE_4mA>;
> + fsl,voltage = <MXS_VOLTAGE_HIGH>;
> + fsl,pull-up = <MXS_PULL_DISABLE>;
> + };
> +
> + usb0_vbus_enable_pin: usb0-vbus-enable@0 {
> + reg = <0>;
> + fsl,pinmux-ids = <MX28_PAD_SSP0_DATA5__GPIO_2_5>;
> + fsl,drive-strength = <MXS_DRIVE_4mA>;
> + fsl,voltage = <MXS_VOLTAGE_HIGH>;
> + fsl,pull-up = <MXS_PULL_DISABLE>;
> + };
> +
> + usb1_vbus_enable_pin: usb1-vbus-enable@0 {
> + reg = <0>;
> + fsl,pinmux-ids = <MX28_PAD_SSP0_DATA6__GPIO_2_6>;
> + fsl,drive-strength = <MXS_DRIVE_4mA>;
> + fsl,voltage = <MXS_VOLTAGE_HIGH>;
> + fsl,pull-up = <MXS_PULL_DISABLE>;
> + };
> +};
> +
> +&pwm {
> + pinctrl-names = "default";
> + pinctrl-0 = <&pwm4_pins_a &pwm7_pins_a>;
> + status = "okay";
> +};
> +
> +&ssp0 {
Just an advice, sometimes it's helpful to clarify the role of a MMC
interface with a comment like "microSD" or "eMMC" above the whole node.
Regards
> + compatible = "fsl,imx28-mmc";
> + pinctrl-names = "default";
> + pinctrl-0 = <&mmc0_4bit_pins_a &mmc0_sck_cfg>;
> + status = "okay";
> + bus-width = <4>;
> + broken-cd;
> +};
> +
> +&usb0 {
> + status = "okay";
> + vbus-supply = <®_usb0_vbus>;
> + dr_mode = "host";
> +};
> +
> +&usb1 {
> + status = "okay";
> + vbus-supply = <®_usb1_vbus>;
> + dr_mode = "host";
> +};
> +
> +&usbphy0 {
> + status = "okay";
> +};
> +
> +&usbphy1 {
> + status = "okay";
> +};
^ permalink raw reply [flat|nested] 11+ messages in thread