* [PATCH v5 0/6] Support i.MX28 Amarula rmm board
@ 2025-05-30 16:07 Dario Binacchi
2025-05-30 16:07 ` [PATCH v5 1/6] dt-bindings: mfd: convert mxs-lradc bindings to json-schema Dario Binacchi
` (3 more replies)
0 siblings, 4 replies; 7+ messages in thread
From: Dario Binacchi @ 2025-05-30 16:07 UTC (permalink / raw)
To: linux-kernel
Cc: michael, Frank Li, linux-amarula, Dario Binacchi, Alexander Stein,
Andreas Kemnade, Ard Biesheuvel, Conor Dooley, Eric Biggers,
Fabio Estevam, Fabio Estevam, Francesco Dolcini, Frieder Schrempf,
Heiko Schocher, João Paulo Gonçalves,
Krzysztof Kozlowski, Lee Jones, Marek Vasut, Martin K. Petersen,
Max Merchel, Michael Walle, Peng Fan, Pengutronix Kernel Team,
Rob Herring, Russell King, Sascha Hauer, Shawn Guo, Tim Harvey,
devicetree, imx, linux-arm-kernel
The series adds support for i.MX28 Amarula rmm board.
The board includes the following resources:
- 256 Mbytes NAND Flash
- 128 Mbytes DRAM DDR2
- CAN
- USB 2.0 high-speed/full-speed
- Ethernet MAC
Changes in v5:
- In mxs-lradc.txt:
- Fix deacription formating
- In imx28-amarula-rmm.dts:
- Drop #address-cells from gpmi node
Changes in v4:
- In mxs-lradc.txt:
- Fix typo Low-Resoulution -> Low-Resolution'
- Wrap lines at 80 char.
- Drop '|' from the description
- Describe what each interrupt is for.
- Move touchscreen-wires constraint for imx28 to the top level
- In imx28-amarula-rmm.dts:
- Drop label property (deprecated) under the leds sub-nodes.
- Add microSD comment above the ssp0 node.
- Add patch 5/6 "ARM: mxs_defconfig: Cleanup mxs_defconfig"
- Add patch 6/6 "ARM: mxs_defconfig: select new drivers used by
imx28-amarula-rmm"
Changes in v3:
- In imx28-amarula-rmm.dts:
- Drop xceiver-supply property from can0 node.
- Rearrange the order of specific nodes and properties
alphabetically.
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".
Dario Binacchi (6):
dt-bindings: mfd: convert mxs-lradc bindings to json-schema
ARM: dts: imx28: add pwm7 muxing options
dt-bindings: arm: fsl: add i.MX28 Amarula rmm board
ARM: dts: mxs: support i.MX28 Amarula rmm board
ARM: mxs_defconfig: Cleanup mxs_defconfig
ARM: mxs_defconfig: select new drivers used by imx28-amarula-rmm
.../devicetree/bindings/arm/fsl.yaml | 1 +
.../devicetree/bindings/mfd/mxs-lradc.txt | 45 ---
.../devicetree/bindings/mfd/mxs-lradc.yaml | 134 ++++++++
arch/arm/boot/dts/nxp/mxs/Makefile | 1 +
.../boot/dts/nxp/mxs/imx28-amarula-rmm.dts | 300 ++++++++++++++++++
arch/arm/boot/dts/nxp/mxs/imx28.dtsi | 10 +
arch/arm/configs/mxs_defconfig | 14 +-
7 files changed, 449 insertions(+), 56 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/mfd/mxs-lradc.txt
create mode 100644 Documentation/devicetree/bindings/mfd/mxs-lradc.yaml
create mode 100644 arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dts
--
2.43.0
base-commit: 6100186e509525510e2b38d790338fae3fa463f3
branch: imx28-amarula-rmm
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v5 1/6] dt-bindings: mfd: convert mxs-lradc bindings to json-schema
2025-05-30 16:07 [PATCH v5 0/6] Support i.MX28 Amarula rmm board Dario Binacchi
@ 2025-05-30 16:07 ` Dario Binacchi
2025-06-13 13:57 ` (subset) " Lee Jones
2025-05-30 16:07 ` [PATCH v5 2/6] ARM: dts: imx28: add pwm7 muxing options Dario Binacchi
` (2 subsequent siblings)
3 siblings, 1 reply; 7+ messages in thread
From: Dario Binacchi @ 2025-05-30 16:07 UTC (permalink / raw)
To: linux-kernel
Cc: michael, Frank Li, linux-amarula, Dario Binacchi, Conor Dooley,
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>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
---
Changes in v5:
- Fix description formatting.
Changes in v4:
- Fix typo Low-Resoulution -> Low-Resolution'
- Wrap lines at 80 char.
- Drop '|' from the description
- Describe what each interrupt is for.
- Move touchscreen-wires constraint for imx28 to the top level
Changes in v3:
- Add Reviewed-by tag of Conor Dooley
.../devicetree/bindings/mfd/mxs-lradc.txt | 45 ------
.../devicetree/bindings/mfd/mxs-lradc.yaml | 134 ++++++++++++++++++
2 files changed, 134 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..782b2f4005a0
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/mxs-lradc.yaml
@@ -0,0 +1,134 @@
+# 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-Resolution 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
+ enum: [4, 5]
+ 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 (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 (10) is 5 ms.
+
+ "#io-channel-cells":
+ const: 1
+
+required:
+ - compatible
+ - reg
+ - clocks
+ - interrupts
+
+if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - fsl,imx23-lradc
+then:
+ properties:
+ interrupts:
+ items:
+ - description: channel 0
+ - description: channel 1
+ - description: channel 2
+ - description: channel 3
+ - description: channel 4
+ - description: channel 5
+ - description: touchscreen
+ - description: channel 6
+ - description: channel 7
+ fsl,lradc-touchscreen-wires:
+ const: 4
+else:
+ properties:
+ interrupts:
+ items:
+ - description: threshold 0
+ - description: threshold 1
+ - description: channel 0
+ - description: channel 1
+ - description: channel 2
+ - description: channel 3
+ - description: channel 4
+ - description: channel 5
+ - description: button 0
+ - description: button 1
+ - description: touchscreen
+ - description: channel 6
+ - description: channel 7
+
+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] 7+ messages in thread
* [PATCH v5 2/6] ARM: dts: imx28: add pwm7 muxing options
2025-05-30 16:07 [PATCH v5 0/6] Support i.MX28 Amarula rmm board Dario Binacchi
2025-05-30 16:07 ` [PATCH v5 1/6] dt-bindings: mfd: convert mxs-lradc bindings to json-schema Dario Binacchi
@ 2025-05-30 16:07 ` Dario Binacchi
2025-05-30 16:07 ` [PATCH v5 3/6] dt-bindings: arm: fsl: add i.MX28 Amarula rmm board Dario Binacchi
2025-05-30 16:07 ` [PATCH v5 4/6] ARM: dts: mxs: support " Dario Binacchi
3 siblings, 0 replies; 7+ messages in thread
From: Dario Binacchi @ 2025-05-30 16:07 UTC (permalink / raw)
To: linux-kernel
Cc: michael, Frank Li, linux-amarula, Dario Binacchi, Conor Dooley,
Fabio Estevam, Krzysztof Kozlowski, Pengutronix Kernel Team,
Rob Herring, Sascha Hauer, Shawn Guo, devicetree, imx,
linux-arm-kernel
Add alternative pinmuxing for pwm7.
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
---
Changes in v5:
- Add Reviewed-by tag of Frank Li
Changes in v3:
- Add commit body
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] 7+ messages in thread
* [PATCH v5 3/6] dt-bindings: arm: fsl: add i.MX28 Amarula rmm board
2025-05-30 16:07 [PATCH v5 0/6] Support i.MX28 Amarula rmm board Dario Binacchi
2025-05-30 16:07 ` [PATCH v5 1/6] dt-bindings: mfd: convert mxs-lradc bindings to json-schema Dario Binacchi
2025-05-30 16:07 ` [PATCH v5 2/6] ARM: dts: imx28: add pwm7 muxing options Dario Binacchi
@ 2025-05-30 16:07 ` Dario Binacchi
2025-05-30 16:07 ` [PATCH v5 4/6] ARM: dts: mxs: support " Dario Binacchi
3 siblings, 0 replies; 7+ messages in thread
From: Dario Binacchi @ 2025-05-30 16:07 UTC (permalink / raw)
To: linux-kernel
Cc: michael, Frank Li, linux-amarula, Dario Binacchi, Conor Dooley,
Alexander Stein, Andreas Kemnade, Conor Dooley, Fabio Estevam,
Francesco Dolcini, Frieder Schrempf, Heiko Schocher,
João Paulo Gonçalves, Krzysztof Kozlowski, Marek Vasut,
Max Merchel, Michael Walle, Peng Fan, Rob Herring, Shawn Guo,
Tim Harvey, devicetree
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>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
---
(no changes since v3)
Changes in v3:
- Add Acked-by tag of Conor Dooley
Documentation/devicetree/bindings/arm/fsl.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/arm/fsl.yaml b/Documentation/devicetree/bindings/arm/fsl.yaml
index 1b90870958a2..b67f0e71e4c8 100644
--- a/Documentation/devicetree/bindings/arm/fsl.yaml
+++ b/Documentation/devicetree/bindings/arm/fsl.yaml
@@ -89,6 +89,7 @@ properties:
- description: i.MX28 based Boards
items:
- enum:
+ - amarula,imx28-rmm
- armadeus,imx28-apf28 # APF28 SoM
- bluegiga,apx4devkit # Bluegiga APx4 SoM on dev board
- crystalfontz,cfa10036 # Crystalfontz CFA-10036 SoM
--
2.43.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v5 4/6] ARM: dts: mxs: support i.MX28 Amarula rmm board
2025-05-30 16:07 [PATCH v5 0/6] Support i.MX28 Amarula rmm board Dario Binacchi
` (2 preceding siblings ...)
2025-05-30 16:07 ` [PATCH v5 3/6] dt-bindings: arm: fsl: add i.MX28 Amarula rmm board Dario Binacchi
@ 2025-05-30 16:07 ` Dario Binacchi
2025-06-02 14:03 ` Frank Li
3 siblings, 1 reply; 7+ messages in thread
From: Dario Binacchi @ 2025-05-30 16:07 UTC (permalink / raw)
To: linux-kernel
Cc: michael, Frank Li, 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 v5:
- Drop #address-cells from gpmi node
Changes in v4:
- Drop label property (deprecated) under the leds sub-nodes.
- Add microSD comment above the ssp0 node.
Changes in v3:
- Drop xceiver-supply property from can0 node.
- Rearrange the order of specific nodes and properties
alphabetically.
Changes in v2:
- 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.
arch/arm/boot/dts/nxp/mxs/Makefile | 1 +
.../boot/dts/nxp/mxs/imx28-amarula-rmm.dts | 300 ++++++++++++++++++
2 files changed, 301 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..af59211842fb
--- /dev/null
+++ b/arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dts
@@ -0,0 +1,300 @@
+// 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>
+
+/ {
+ compatible = "amarula,imx28-rmm", "fsl,imx28";
+ model = "Amarula i.MX28 rmm";
+
+ memory@40000000 {
+ reg = <0x40000000 0x08000000>;
+ device_type = "memory";
+ };
+
+ 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 {
+ gpios = <&gpio2 7 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
+
+ led-1 {
+ gpios = <&gpio3 16 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
+
+ led-2 {
+ gpios = <&gpio3 17 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
+ };
+
+ reg_1v8: regulator-1v8 {
+ compatible = "regulator-fixed";
+ regulator-name = "1v8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ reg_3v3: regulator-3v3 {
+ compatible = "regulator-fixed";
+ regulator-name = "3v3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-always-on;
+ };
+
+ reg_5v: regulator-5v {
+ compatible = "regulator-fixed";
+ regulator-name = "5v";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ regulator-always-on;
+ };
+
+ 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;
+ };
+};
+
+&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>;
+ status = "okay";
+};
+
+&duart {
+ pinctrl-names = "default";
+ pinctrl-0 = <&duart_pins_b>;
+ status = "okay";
+};
+
+&duart_pins_b {
+ fsl,voltage = <MXS_VOLTAGE_LOW>;
+};
+
+&gpmi {
+ #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 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&mac0_pins_a>;
+ phy-mode = "rmii";
+ 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>;
+
+ 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,pull-up = <MXS_PULL_ENABLE>;
+ fsl,voltage = <MXS_VOLTAGE_HIGH>;
+ };
+
+ 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,pull-up = <MXS_PULL_DISABLE>;
+ fsl,voltage = <MXS_VOLTAGE_HIGH>;
+ };
+
+ 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,pull-up = <MXS_PULL_DISABLE>;
+ fsl,voltage = <MXS_VOLTAGE_HIGH>;
+ };
+
+ 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,pull-up = <MXS_PULL_DISABLE>;
+ fsl,voltage = <MXS_VOLTAGE_HIGH>;
+ };
+
+ 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,pull-up = <MXS_PULL_DISABLE>;
+ fsl,voltage = <MXS_VOLTAGE_HIGH>;
+ };
+
+ 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,pull-up = <MXS_PULL_DISABLE>;
+ fsl,voltage = <MXS_VOLTAGE_HIGH>;
+ };
+
+ 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,pull-up = <MXS_PULL_DISABLE>;
+ fsl,voltage = <MXS_VOLTAGE_HIGH>;
+ };
+};
+
+&pwm {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pwm4_pins_a &pwm7_pins_a>;
+ status = "okay";
+};
+
+/* microSD */
+&ssp0 {
+ compatible = "fsl,imx28-mmc";
+ pinctrl-names = "default";
+ pinctrl-0 = <&mmc0_4bit_pins_a &mmc0_sck_cfg>;
+ broken-cd;
+ bus-width = <4>;
+ status = "okay";
+};
+
+&usb0 {
+ dr_mode = "host";
+ vbus-supply = <®_usb0_vbus>;
+ status = "okay";
+};
+
+&usb1 {
+ dr_mode = "host";
+ vbus-supply = <®_usb1_vbus>;
+ status = "okay";
+};
+
+&usbphy0 {
+ status = "okay";
+};
+
+&usbphy1 {
+ status = "okay";
+};
--
2.43.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v5 4/6] ARM: dts: mxs: support i.MX28 Amarula rmm board
2025-05-30 16:07 ` [PATCH v5 4/6] ARM: dts: mxs: support " Dario Binacchi
@ 2025-06-02 14:03 ` Frank Li
0 siblings, 0 replies; 7+ messages in thread
From: Frank Li @ 2025-06-02 14:03 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 Fri, May 30, 2025 at 06:07:35PM +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 v5:
> - Drop #address-cells from gpmi node
Okay, actaully imx28.dts's #size-cells is wrong.
Reviewed-by: Frank Li <Frank.Li@nxp.com>
>
> Changes in v4:
> - Drop label property (deprecated) under the leds sub-nodes.
> - Add microSD comment above the ssp0 node.
>
> Changes in v3:
> - Drop xceiver-supply property from can0 node.
> - Rearrange the order of specific nodes and properties
> alphabetically.
>
> Changes in v2:
> - 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.
>
> arch/arm/boot/dts/nxp/mxs/Makefile | 1 +
> .../boot/dts/nxp/mxs/imx28-amarula-rmm.dts | 300 ++++++++++++++++++
> 2 files changed, 301 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..af59211842fb
> --- /dev/null
> +++ b/arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dts
> @@ -0,0 +1,300 @@
> +// 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>
> +
> +/ {
> + compatible = "amarula,imx28-rmm", "fsl,imx28";
> + model = "Amarula i.MX28 rmm";
> +
> + memory@40000000 {
> + reg = <0x40000000 0x08000000>;
> + device_type = "memory";
> + };
> +
> + 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 {
> + gpios = <&gpio2 7 GPIO_ACTIVE_HIGH>;
> + default-state = "off";
> + };
> +
> + led-1 {
> + gpios = <&gpio3 16 GPIO_ACTIVE_HIGH>;
> + default-state = "off";
> + };
> +
> + led-2 {
> + gpios = <&gpio3 17 GPIO_ACTIVE_HIGH>;
> + default-state = "off";
> + };
> + };
> +
> + reg_1v8: regulator-1v8 {
> + compatible = "regulator-fixed";
> + regulator-name = "1v8";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + };
> +
> + reg_3v3: regulator-3v3 {
> + compatible = "regulator-fixed";
> + regulator-name = "3v3";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + regulator-always-on;
> + };
> +
> + reg_5v: regulator-5v {
> + compatible = "regulator-fixed";
> + regulator-name = "5v";
> + regulator-min-microvolt = <5000000>;
> + regulator-max-microvolt = <5000000>;
> + regulator-always-on;
> + };
> +
> + 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;
> + };
> +};
> +
> +&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>;
> + status = "okay";
> +};
> +
> +&duart {
> + pinctrl-names = "default";
> + pinctrl-0 = <&duart_pins_b>;
> + status = "okay";
> +};
> +
> +&duart_pins_b {
> + fsl,voltage = <MXS_VOLTAGE_LOW>;
> +};
> +
> +&gpmi {
> + #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 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&mac0_pins_a>;
> + phy-mode = "rmii";
> + 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>;
> +
> + 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,pull-up = <MXS_PULL_ENABLE>;
> + fsl,voltage = <MXS_VOLTAGE_HIGH>;
> + };
> +
> + 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,pull-up = <MXS_PULL_DISABLE>;
> + fsl,voltage = <MXS_VOLTAGE_HIGH>;
> + };
> +
> + 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,pull-up = <MXS_PULL_DISABLE>;
> + fsl,voltage = <MXS_VOLTAGE_HIGH>;
> + };
> +
> + 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,pull-up = <MXS_PULL_DISABLE>;
> + fsl,voltage = <MXS_VOLTAGE_HIGH>;
> + };
> +
> + 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,pull-up = <MXS_PULL_DISABLE>;
> + fsl,voltage = <MXS_VOLTAGE_HIGH>;
> + };
> +
> + 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,pull-up = <MXS_PULL_DISABLE>;
> + fsl,voltage = <MXS_VOLTAGE_HIGH>;
> + };
> +
> + 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,pull-up = <MXS_PULL_DISABLE>;
> + fsl,voltage = <MXS_VOLTAGE_HIGH>;
> + };
> +};
> +
> +&pwm {
> + pinctrl-names = "default";
> + pinctrl-0 = <&pwm4_pins_a &pwm7_pins_a>;
> + status = "okay";
> +};
> +
> +/* microSD */
> +&ssp0 {
> + compatible = "fsl,imx28-mmc";
> + pinctrl-names = "default";
> + pinctrl-0 = <&mmc0_4bit_pins_a &mmc0_sck_cfg>;
> + broken-cd;
> + bus-width = <4>;
> + status = "okay";
> +};
> +
> +&usb0 {
> + dr_mode = "host";
> + vbus-supply = <®_usb0_vbus>;
> + status = "okay";
> +};
> +
> +&usb1 {
> + dr_mode = "host";
> + vbus-supply = <®_usb1_vbus>;
> + status = "okay";
> +};
> +
> +&usbphy0 {
> + status = "okay";
> +};
> +
> +&usbphy1 {
> + status = "okay";
> +};
> --
> 2.43.0
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: (subset) [PATCH v5 1/6] dt-bindings: mfd: convert mxs-lradc bindings to json-schema
2025-05-30 16:07 ` [PATCH v5 1/6] dt-bindings: mfd: convert mxs-lradc bindings to json-schema Dario Binacchi
@ 2025-06-13 13:57 ` Lee Jones
0 siblings, 0 replies; 7+ messages in thread
From: Lee Jones @ 2025-06-13 13:57 UTC (permalink / raw)
To: linux-kernel, Dario Binacchi
Cc: michael, Frank Li, linux-amarula, Conor Dooley, Conor Dooley,
Fabio Estevam, Krzysztof Kozlowski, Lee Jones,
Pengutronix Kernel Team, Rob Herring, Sascha Hauer, Shawn Guo,
devicetree, imx, linux-arm-kernel
On Fri, 30 May 2025 18:07:32 +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.
>
> [...]
Applied, thanks!
[1/6] dt-bindings: mfd: convert mxs-lradc bindings to json-schema
commit: e528f715cd30110137fb4830eceea6c817285163
--
Lee Jones [李琼斯]
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2025-06-13 13:57 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-30 16:07 [PATCH v5 0/6] Support i.MX28 Amarula rmm board Dario Binacchi
2025-05-30 16:07 ` [PATCH v5 1/6] dt-bindings: mfd: convert mxs-lradc bindings to json-schema Dario Binacchi
2025-06-13 13:57 ` (subset) " Lee Jones
2025-05-30 16:07 ` [PATCH v5 2/6] ARM: dts: imx28: add pwm7 muxing options Dario Binacchi
2025-05-30 16:07 ` [PATCH v5 3/6] dt-bindings: arm: fsl: add i.MX28 Amarula rmm board Dario Binacchi
2025-05-30 16:07 ` [PATCH v5 4/6] ARM: dts: mxs: support " Dario Binacchi
2025-06-02 14:03 ` Frank Li
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).