linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/6] Add support for new boards in the imx6dl-yapp4 family
@ 2023-02-10 15:48 Michal Vokáč
  2023-02-10 15:48 ` [PATCH 1/6] dt-bindings: arm: fsl: Fix copy-paste error in comment Michal Vokáč
                   ` (5 more replies)
  0 siblings, 6 replies; 21+ messages in thread
From: Michal Vokáč @ 2023-02-10 15:48 UTC (permalink / raw)
  To: Rob Herring, Shawn Guo
  Cc: Krzysztof Kozlowski, Arnd Bergmann, Olof Johansson, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, NXP Linux Team,
	devicetree, linux-kernel, linux-arm-kernel,
	Michal Vokáč

Hi,

Patches 1,2,3 fixes minor issues for the already supported boards.
Patches 4 and 5 adds support for some new redesigned boards based
on i.MX6 SoC.
The last patch 6 adds record to the MAINTAINERS file stating that
we do care about all these boards.

Michal Vokáč (6):
  dt-bindings: arm: fsl: Fix copy-paste error in comment
  ARM: dts: imx6dl-yapp4: Change LED channel names according to
    dt-binding
  ARM: dts: imx6dl-yapp4: Use reset-gpios property name
  dt-bindings: arm: fsl: Add Y Soft IOTA Phoenix, Lynx, Pegasus and
    Pegasus+
  ARM: dts: imx6dl-yapp43: Add support for new HW revision of the
    IOTA board
  MAINTAINERS: Add Michal Vokáč as yapp4 boards maintainer

 .../devicetree/bindings/arm/fsl.yaml          |   6 +-
 MAINTAINERS                                   |   6 +
 arch/arm/boot/dts/Makefile                    |   4 +
 arch/arm/boot/dts/imx6dl-yapp4-common.dtsi    |   8 +-
 arch/arm/boot/dts/imx6dl-yapp4-lynx.dts       |  58 ++
 arch/arm/boot/dts/imx6dl-yapp4-phoenix.dts    |  42 ++
 arch/arm/boot/dts/imx6dl-yapp43-common.dtsi   | 619 ++++++++++++++++++
 arch/arm/boot/dts/imx6q-yapp4-pegasus.dts     |  58 ++
 .../boot/dts/imx6qp-yapp4-pegasus-plus.dts    |  58 ++
 9 files changed, 854 insertions(+), 5 deletions(-)
 create mode 100644 arch/arm/boot/dts/imx6dl-yapp4-lynx.dts
 create mode 100644 arch/arm/boot/dts/imx6dl-yapp4-phoenix.dts
 create mode 100644 arch/arm/boot/dts/imx6dl-yapp43-common.dtsi
 create mode 100644 arch/arm/boot/dts/imx6q-yapp4-pegasus.dts
 create mode 100644 arch/arm/boot/dts/imx6qp-yapp4-pegasus-plus.dts

-- 
2.25.1


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [PATCH 1/6] dt-bindings: arm: fsl: Fix copy-paste error in comment
  2023-02-10 15:48 [PATCH 0/6] Add support for new boards in the imx6dl-yapp4 family Michal Vokáč
@ 2023-02-10 15:48 ` Michal Vokáč
  2023-02-11 11:45   ` Krzysztof Kozlowski
  2023-03-13  8:27   ` Shawn Guo
  2023-02-10 15:48 ` [PATCH 2/6] ARM: dts: imx6dl-yapp4: Change LED channel names according to dt-binding Michal Vokáč
                   ` (4 subsequent siblings)
  5 siblings, 2 replies; 21+ messages in thread
From: Michal Vokáč @ 2023-02-10 15:48 UTC (permalink / raw)
  To: Rob Herring, Shawn Guo
  Cc: Krzysztof Kozlowski, Arnd Bergmann, Olof Johansson, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, NXP Linux Team,
	devicetree, linux-kernel, linux-arm-kernel,
	Michal Vokáč

The imx6dl-yapp4-draco board is actually based on the i.MX6Solo SoC.
Fix the comment to match reality.

Fixes: 24ef3b6e22fe ("dt-bindings: arm: Add Y Soft IOTA Draco, Hydra and Ursa boards")
Signed-off-by: Michal Vokáč <michal.vokac@ysoft.com>
---
 Documentation/devicetree/bindings/arm/fsl.yaml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/arm/fsl.yaml b/Documentation/devicetree/bindings/arm/fsl.yaml
index 05b5276a0e14..791c63b2d483 100644
--- a/Documentation/devicetree/bindings/arm/fsl.yaml
+++ b/Documentation/devicetree/bindings/arm/fsl.yaml
@@ -416,7 +416,7 @@ properties:
               - udoo,imx6dl-udoo          # Udoo i.MX6 Dual-lite Board
               - vdl,lanmcu                # Van der Laan LANMCU board
               - wand,imx6dl-wandboard     # Wandboard i.MX6 Dual Lite Board
-              - ysoft,imx6dl-yapp4-draco  # i.MX6 DualLite Y Soft IOTA Draco board
+              - ysoft,imx6dl-yapp4-draco  # i.MX6 Solo Y Soft IOTA Draco board
               - ysoft,imx6dl-yapp4-hydra  # i.MX6 DualLite Y Soft IOTA Hydra board
               - ysoft,imx6dl-yapp4-orion  # i.MX6 DualLite Y Soft IOTA Orion board
               - ysoft,imx6dl-yapp4-ursa   # i.MX6 Solo Y Soft IOTA Ursa board
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 2/6] ARM: dts: imx6dl-yapp4: Change LED channel names according to dt-binding
  2023-02-10 15:48 [PATCH 0/6] Add support for new boards in the imx6dl-yapp4 family Michal Vokáč
  2023-02-10 15:48 ` [PATCH 1/6] dt-bindings: arm: fsl: Fix copy-paste error in comment Michal Vokáč
@ 2023-02-10 15:48 ` Michal Vokáč
  2023-03-13  8:28   ` Shawn Guo
  2023-02-10 15:48 ` [PATCH 3/6] ARM: dts: imx6dl-yapp4: Use reset-gpios property name Michal Vokáč
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 21+ messages in thread
From: Michal Vokáč @ 2023-02-10 15:48 UTC (permalink / raw)
  To: Rob Herring, Shawn Guo
  Cc: Krzysztof Kozlowski, Arnd Bergmann, Olof Johansson, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, NXP Linux Team,
	devicetree, linux-kernel, linux-arm-kernel,
	Michal Vokáč

The lp55xx LED controller binding was converted to schema and dtbs_check
now complains:

  led-controller@30: 'chan@0', 'chan@1', 'chan@2' do not match any of the regexes

Use correct names to fix that.

Signed-off-by: Michal Vokáč <michal.vokac@ysoft.com>
---
 arch/arm/boot/dts/imx6dl-yapp4-common.dtsi | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/arm/boot/dts/imx6dl-yapp4-common.dtsi b/arch/arm/boot/dts/imx6dl-yapp4-common.dtsi
index 52162e8c7274..aacbf317feea 100644
--- a/arch/arm/boot/dts/imx6dl-yapp4-common.dtsi
+++ b/arch/arm/boot/dts/imx6dl-yapp4-common.dtsi
@@ -274,7 +274,7 @@ leds: led-controller@30 {
 		#address-cells = <1>;
 		#size-cells = <0>;
 
-		chan@0 {
+		led@0 {
 			chan-name = "R";
 			led-cur = /bits/ 8 <0x20>;
 			max-cur = /bits/ 8 <0x60>;
@@ -282,7 +282,7 @@ chan@0 {
 			color = <LED_COLOR_ID_RED>;
 		};
 
-		chan@1 {
+		led@1 {
 			chan-name = "G";
 			led-cur = /bits/ 8 <0x20>;
 			max-cur = /bits/ 8 <0x60>;
@@ -290,7 +290,7 @@ chan@1 {
 			color = <LED_COLOR_ID_GREEN>;
 		};
 
-		chan@2 {
+		led@2 {
 			chan-name = "B";
 			led-cur = /bits/ 8 <0x20>;
 			max-cur = /bits/ 8 <0x60>;
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 3/6] ARM: dts: imx6dl-yapp4: Use reset-gpios property name
  2023-02-10 15:48 [PATCH 0/6] Add support for new boards in the imx6dl-yapp4 family Michal Vokáč
  2023-02-10 15:48 ` [PATCH 1/6] dt-bindings: arm: fsl: Fix copy-paste error in comment Michal Vokáč
  2023-02-10 15:48 ` [PATCH 2/6] ARM: dts: imx6dl-yapp4: Change LED channel names according to dt-binding Michal Vokáč
@ 2023-02-10 15:48 ` Michal Vokáč
  2023-03-13  8:29   ` Shawn Guo
  2023-02-10 15:48 ` [PATCH 4/6] dt-bindings: arm: fsl: Add Y Soft IOTA Phoenix, Lynx, Pegasus and Pegasus+ Michal Vokáč
                   ` (2 subsequent siblings)
  5 siblings, 1 reply; 21+ messages in thread
From: Michal Vokáč @ 2023-02-10 15:48 UTC (permalink / raw)
  To: Rob Herring, Shawn Guo
  Cc: Krzysztof Kozlowski, Arnd Bergmann, Olof Johansson, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, NXP Linux Team,
	devicetree, linux-kernel, linux-arm-kernel,
	Michal Vokáč

Use the gpios instead of gpio suffix that is mandated by the binding.
This dtbs_check warning is fixed now:

  touchscreen@5c: Unevaluated properties are not allowed ('reset-gpio' was unexpected)

The reset signal worked correctly as both the "gpio" and "gpios" suffixes
are actually allowed by the gpiolib.

Signed-off-by: Michal Vokáč <michal.vokac@ysoft.com>
---
 arch/arm/boot/dts/imx6dl-yapp4-common.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/imx6dl-yapp4-common.dtsi b/arch/arm/boot/dts/imx6dl-yapp4-common.dtsi
index aacbf317feea..c6afc51bb22b 100644
--- a/arch/arm/boot/dts/imx6dl-yapp4-common.dtsi
+++ b/arch/arm/boot/dts/imx6dl-yapp4-common.dtsi
@@ -313,7 +313,7 @@ touchscreen: touchscreen@5c {
 		interrupt-parent = <&gpio4>;
 		interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
 		attb-gpio = <&gpio4 5 GPIO_ACTIVE_HIGH>;
-		reset-gpio = <&gpio1 2 GPIO_ACTIVE_HIGH>;
+		reset-gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
 		touchscreen-size-x = <800>;
 		touchscreen-size-y = <480>;
 		status = "disabled";
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 4/6] dt-bindings: arm: fsl: Add Y Soft IOTA Phoenix, Lynx, Pegasus and Pegasus+
  2023-02-10 15:48 [PATCH 0/6] Add support for new boards in the imx6dl-yapp4 family Michal Vokáč
                   ` (2 preceding siblings ...)
  2023-02-10 15:48 ` [PATCH 3/6] ARM: dts: imx6dl-yapp4: Use reset-gpios property name Michal Vokáč
@ 2023-02-10 15:48 ` Michal Vokáč
  2023-02-11 11:45   ` Krzysztof Kozlowski
  2023-02-10 15:48 ` [PATCH 5/6] ARM: dts: imx6dl-yapp43: Add support for new HW revision of the IOTA board Michal Vokáč
  2023-02-10 15:48 ` [PATCH 6/6] MAINTAINERS: Add Michal Vokáč as yapp4 boards maintainer Michal Vokáč
  5 siblings, 1 reply; 21+ messages in thread
From: Michal Vokáč @ 2023-02-10 15:48 UTC (permalink / raw)
  To: Rob Herring, Shawn Guo
  Cc: Krzysztof Kozlowski, Arnd Bergmann, Olof Johansson, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, NXP Linux Team,
	devicetree, linux-kernel, linux-arm-kernel,
	Michal Vokáč

These i.MX6 boards are based on a facelifted PCB from the previous designs.
Routing for some unused parts was completely removed (uSD card, PCIe, audio
codec) and some new parts were added (supercap backed RTC, secure element,
PWM audio, GPIO button).

Signed-off-by: Michal Vokáč <michal.vokac@ysoft.com>
---
 Documentation/devicetree/bindings/arm/fsl.yaml | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/Documentation/devicetree/bindings/arm/fsl.yaml b/Documentation/devicetree/bindings/arm/fsl.yaml
index 791c63b2d483..b6be20602ca0 100644
--- a/Documentation/devicetree/bindings/arm/fsl.yaml
+++ b/Documentation/devicetree/bindings/arm/fsl.yaml
@@ -242,6 +242,7 @@ properties:
               - variscite,dt6customboard
               - wand,imx6q-wandboard      # Wandboard i.MX6 Quad Board
               - ysoft,imx6q-yapp4-crux    # i.MX6 Quad Y Soft IOTA Crux board
+              - ysoft,imx6q-yapp4-pegasus # i.MX6 Quad Y Soft IOTA Pegasus board
               - zealz,imx6q-gk802         # Zealz GK802
               - zii,imx6q-zii-rdu2        # ZII RDU2 Board
           - const: fsl,imx6q
@@ -352,6 +353,7 @@ properties:
               - prt,prtwd3                # Protonic WD3 board
               - wand,imx6qp-wandboard     # Wandboard i.MX6 QuadPlus Board
               - ysoft,imx6qp-yapp4-crux-plus  # i.MX6 Quad Plus Y Soft IOTA Crux+ board
+              - ysoft,imx6qp-yapp4-pegasus-plus # i.MX6 Quad Plus Y Soft IOTA Pegasus+ board
               - zii,imx6qp-zii-rdu2       # ZII RDU2+ Board
           - const: fsl,imx6qp
 
@@ -418,7 +420,9 @@ properties:
               - wand,imx6dl-wandboard     # Wandboard i.MX6 Dual Lite Board
               - ysoft,imx6dl-yapp4-draco  # i.MX6 Solo Y Soft IOTA Draco board
               - ysoft,imx6dl-yapp4-hydra  # i.MX6 DualLite Y Soft IOTA Hydra board
+              - ysoft,imx6dl-yapp4-lynx   # i.MX6 DualLite Y Soft IOTA Lynx board
               - ysoft,imx6dl-yapp4-orion  # i.MX6 DualLite Y Soft IOTA Orion board
+              - ysoft,imx6dl-yapp4-phoenix  # i.MX6 DualLite Y Soft IOTA Phoenix board
               - ysoft,imx6dl-yapp4-ursa   # i.MX6 Solo Y Soft IOTA Ursa board
           - const: fsl,imx6dl
 
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 5/6] ARM: dts: imx6dl-yapp43: Add support for new HW revision of the IOTA board
  2023-02-10 15:48 [PATCH 0/6] Add support for new boards in the imx6dl-yapp4 family Michal Vokáč
                   ` (3 preceding siblings ...)
  2023-02-10 15:48 ` [PATCH 4/6] dt-bindings: arm: fsl: Add Y Soft IOTA Phoenix, Lynx, Pegasus and Pegasus+ Michal Vokáč
@ 2023-02-10 15:48 ` Michal Vokáč
  2023-03-13  8:23   ` Shawn Guo
  2023-02-10 15:48 ` [PATCH 6/6] MAINTAINERS: Add Michal Vokáč as yapp4 boards maintainer Michal Vokáč
  5 siblings, 1 reply; 21+ messages in thread
From: Michal Vokáč @ 2023-02-10 15:48 UTC (permalink / raw)
  To: Rob Herring, Shawn Guo
  Cc: Krzysztof Kozlowski, Arnd Bergmann, Olof Johansson, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, NXP Linux Team,
	devicetree, linux-kernel, linux-arm-kernel,
	Michal Vokáč

The PCB used for all the current boards (Ursa, Draco, Hydra, Orion, Crux)
was slightly redesigned and delivers some new features while some unused
components were removed.

- External RTC chip with supercap added.
- Secure element added.
- LCD display power supply enable/disable signal added.
- Touch keyboard reset and interrupt signals added.
- Factory reset GPIO button added.
- Audio codec LM49350 (EoL) removed and replaced by PWM audio output.
- QCA8334 switch was replaced by Marvell 88E6141.
- PCIe completely removed.
- uSD card removed and replaced by board-to-board expansion connector.

There are four configuration variants of the new board:

1. Pegasus
The board configuration is based on Orion with the following major changes:

- Quad core SoC
- 4GB of RAM
- RTC with supercap added
- Secure element added

2. Pegasus+
This is the very same board as Pegasus but uses the i.MX6QuadPlus SoC.

3. Lynx
The board configuration is based on Draco with the following major changes:

- DualLite SoC
- 1GB of RAM
- RTC with supercap added
- Secure element added

4. Phoenix
The board configuration is based on Ursa with the following major changes:

- DualLite Soc
- 1GB of RAM
- RTC with supercap added
- Secure element added
- LCD display support removed
- UART2 removed
- Factory reset GPIO button added

Signed-off-by: Michal Vokáč <michal.vokac@ysoft.com>
---
 arch/arm/boot/dts/Makefile                    |   4 +
 arch/arm/boot/dts/imx6dl-yapp4-lynx.dts       |  58 ++
 arch/arm/boot/dts/imx6dl-yapp4-phoenix.dts    |  42 ++
 arch/arm/boot/dts/imx6dl-yapp43-common.dtsi   | 619 ++++++++++++++++++
 arch/arm/boot/dts/imx6q-yapp4-pegasus.dts     |  58 ++
 .../boot/dts/imx6qp-yapp4-pegasus-plus.dts    |  58 ++
 6 files changed, 839 insertions(+)
 create mode 100644 arch/arm/boot/dts/imx6dl-yapp4-lynx.dts
 create mode 100644 arch/arm/boot/dts/imx6dl-yapp4-phoenix.dts
 create mode 100644 arch/arm/boot/dts/imx6dl-yapp43-common.dtsi
 create mode 100644 arch/arm/boot/dts/imx6q-yapp4-pegasus.dts
 create mode 100644 arch/arm/boot/dts/imx6qp-yapp4-pegasus-plus.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index d08a3c450ce7..9a60d3fc0483 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -558,7 +558,9 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
 	imx6dl-wandboard-revd1.dtb \
 	imx6dl-yapp4-draco.dtb \
 	imx6dl-yapp4-hydra.dtb \
+	imx6dl-yapp4-lynx.dtb \
 	imx6dl-yapp4-orion.dtb \
+	imx6dl-yapp4-phoenix.dtb \
 	imx6dl-yapp4-ursa.dtb \
 	imx6q-apalis-eval.dtb \
 	imx6q-apalis-ixora.dtb \
@@ -625,6 +627,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
 	imx6q-nitrogen6_max.dtb \
 	imx6q-nitrogen6_som2.dtb \
 	imx6q-novena.dtb \
+	imx6q-yapp4-pegasus.dtb \
 	imx6q-phytec-mira-rdk-emmc.dtb \
 	imx6q-phytec-mira-rdk-nand.dtb \
 	imx6q-phytec-pbab01.dtb \
@@ -680,6 +683,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
 	imx6qp-vicutp.dtb \
 	imx6qp-wandboard-revd1.dtb \
 	imx6qp-yapp4-crux-plus.dtb \
+	imx6qp-yapp4-pegasus-plus.dtb \
 	imx6qp-zii-rdu2.dtb \
 	imx6s-dhcom-drc02.dtb
 dtb-$(CONFIG_SOC_IMX6SL) += \
diff --git a/arch/arm/boot/dts/imx6dl-yapp4-lynx.dts b/arch/arm/boot/dts/imx6dl-yapp4-lynx.dts
new file mode 100644
index 000000000000..5c2cd517589b
--- /dev/null
+++ b/arch/arm/boot/dts/imx6dl-yapp4-lynx.dts
@@ -0,0 +1,58 @@
+// SPDX-License-Identifier: GPL-2.0
+//
+// Copyright (C) 2021 Y Soft Corporation, a.s.
+
+/dts-v1/;
+
+#include "imx6dl.dtsi"
+#include "imx6dl-yapp43-common.dtsi"
+
+/ {
+	model = "Y Soft IOTA Lynx i.MX6DualLite board";
+	compatible = "ysoft,imx6dl-yapp4-lynx", "fsl,imx6dl";
+
+	memory@10000000 {
+		device_type = "memory";
+		reg = <0x10000000 0x40000000>;
+	};
+};
+
+&backlight {
+	status = "okay";
+};
+
+&lcd_display {
+	status = "okay";
+};
+
+&leds {
+	status = "okay";
+};
+
+&panel {
+	status = "okay";
+};
+
+&pwm1 {
+	status = "okay";
+};
+
+&reg_usb_h1_vbus {
+	status = "okay";
+};
+
+&touchscreen {
+	status = "okay";
+};
+
+&uart2 {
+	status = "okay";
+};
+
+&usbh1 {
+	status = "okay";
+};
+
+&usbphy2 {
+	status = "okay";
+};
diff --git a/arch/arm/boot/dts/imx6dl-yapp4-phoenix.dts b/arch/arm/boot/dts/imx6dl-yapp4-phoenix.dts
new file mode 100644
index 000000000000..e0292f11d03e
--- /dev/null
+++ b/arch/arm/boot/dts/imx6dl-yapp4-phoenix.dts
@@ -0,0 +1,42 @@
+// SPDX-License-Identifier: GPL-2.0
+//
+// Copyright (C) 2021 Y Soft Corporation, a.s.
+
+/dts-v1/;
+
+#include "imx6dl.dtsi"
+#include "imx6dl-yapp43-common.dtsi"
+
+/ {
+	model = "Y Soft IOTA Phoenix i.MX6DualLite board";
+	compatible = "ysoft,imx6dl-yapp4-phoenix", "fsl,imx6dl";
+
+	memory@10000000 {
+		device_type = "memory";
+		reg = <0x10000000 0x40000000>;
+	};
+};
+
+&aliases {
+	/delete-property/ ethernet1;
+};
+
+&gpio_keys {
+	status = "okay";
+};
+
+&reg_usb_h1_vbus {
+	status = "okay";
+};
+
+&switch_ports {
+	/delete-node/ port@2;
+};
+
+&usbh1 {
+	status = "okay";
+};
+
+&usbphy2 {
+	status = "okay";
+};
diff --git a/arch/arm/boot/dts/imx6dl-yapp43-common.dtsi b/arch/arm/boot/dts/imx6dl-yapp43-common.dtsi
new file mode 100644
index 000000000000..30f354195e01
--- /dev/null
+++ b/arch/arm/boot/dts/imx6dl-yapp43-common.dtsi
@@ -0,0 +1,619 @@
+// SPDX-License-Identifier: GPL-2.0
+//
+// Copyright (C) 2021 Y Soft Corporation, a.s.
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
+#include <dt-bindings/pwm/pwm.h>
+
+/ {
+	aliases: aliases {
+		ethernet1 = &eth1;
+		ethernet2 = &eth2;
+		mmc0 = &usdhc3;
+		mmc1 = &usdhc4;
+	};
+
+	backlight: backlight {
+		compatible = "pwm-backlight";
+		pwms = <&pwm1 0 500000 PWM_POLARITY_INVERTED>;
+		brightness-levels = <0 32 64 128 255>;
+		default-brightness-level = <32>;
+		num-interpolated-steps = <8>;
+		power-supply = <&sw2_reg>;
+		status = "disabled";
+	};
+
+	gpio_keys: gpio-keys {
+		compatible = "gpio-keys";
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_gpio_keys>;
+		status = "disabled";
+
+		button {
+			label = "Factory RESET";
+			linux,code = <BTN_0>;
+			gpios = <&gpio1 0 GPIO_ACTIVE_LOW>;
+		};
+	};
+
+	lcd_display: display {
+		compatible = "fsl,imx-parallel-display";
+		#address-cells = <1>;
+		#size-cells = <0>;
+		interface-pix-fmt = "rgb24";
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_ipu1>;
+		status = "disabled";
+
+		port@0 {
+			reg = <0>;
+
+			lcd_display_in: endpoint {
+				remote-endpoint = <&ipu1_di0_disp0>;
+			};
+		};
+
+		port@1 {
+			reg = <1>;
+
+			lcd_display_out: endpoint {
+				remote-endpoint = <&lcd_panel_in>;
+			};
+		};
+	};
+
+	panel: panel {
+		compatible = "dataimage,scf0700c48ggu18";
+		power-supply = <&sw2_reg>;
+		backlight = <&backlight>;
+		enable-gpios = <&gpio3 7 GPIO_ACTIVE_HIGH>;
+		status = "disabled";
+
+		port {
+			lcd_panel_in: endpoint {
+				remote-endpoint = <&lcd_display_out>;
+			};
+		};
+	};
+
+	reg_usb_h1_vbus: regulator-usb-h1-vbus {
+		compatible = "regulator-fixed";
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_usbh1_vbus>;
+		regulator-name = "usb_h1_vbus";
+		regulator-min-microvolt = <5000000>;
+		regulator-max-microvolt = <5000000>;
+		gpio = <&gpio1 29 GPIO_ACTIVE_HIGH>;
+		enable-active-high;
+		status = "disabled";
+	};
+
+	reg_usb_otg_vbus: regulator-usb-otg-vbus {
+		compatible = "regulator-fixed";
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_usbotg_vbus>;
+		regulator-name = "usb_otg_vbus";
+		regulator-min-microvolt = <5000000>;
+		regulator-max-microvolt = <5000000>;
+		gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>;
+		enable-active-high;
+		status = "okay";
+	};
+};
+
+&fec {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_enet>;
+	phy-mode = "rgmii-id";
+	phy-reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
+	phy-reset-duration = <20>;
+	phy-supply = <&sw2_reg>;
+	status = "okay";
+
+	fixed-link {
+		speed = <1000>;
+		full-duplex;
+	};
+
+	mdio {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		switch@0 {
+			compatible = "marvell,mv88e6085";
+			reg = <0>;
+
+			switch_ports: ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				ethphy0: port@0 {
+					reg = <0>;
+					label = "cpu";
+					phy-mode = "rgmii-id";
+					ethernet = <&fec>;
+
+					fixed-link {
+						speed = <1000>;
+						full-duplex;
+					};
+				};
+
+				eth2: port@1 {
+					reg = <1>;
+					label = "eth2";
+					phy-handle = <&phy_port1>;
+				};
+
+				eth1: port@2 {
+					reg = <2>;
+					label = "eth1";
+					phy-handle = <&phy_port2>;
+				};
+			};
+
+			mdio {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				phy_port1: switchphy@11 {
+					reg = <0x11>;
+				};
+
+				phy_port2: switchphy@12 {
+					reg = <0x12>;
+				};
+			};
+		};
+	};
+};
+
+&i2c2 {
+	clock-frequency = <100000>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_i2c2>;
+	status = "okay";
+
+	pmic@8 {
+		compatible = "fsl,pfuze200";
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_pmic>;
+		reg = <0x8>;
+
+		regulators {
+			sw1a_reg: sw1ab {
+				regulator-min-microvolt = <300000>;
+				regulator-max-microvolt = <1875000>;
+				regulator-boot-on;
+				regulator-always-on;
+				regulator-ramp-delay = <6250>;
+			};
+
+			sw2_reg: sw2 {
+				regulator-min-microvolt = <800000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			sw3a_reg: sw3a {
+				regulator-min-microvolt = <400000>;
+				regulator-max-microvolt = <1975000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			sw3b_reg: sw3b {
+				regulator-min-microvolt = <400000>;
+				regulator-max-microvolt = <1975000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			swbst_reg: swbst {
+				regulator-min-microvolt = <5000000>;
+				regulator-max-microvolt = <5150000>;
+			};
+
+			vgen1_reg: vgen1 {
+				regulator-min-microvolt = <800000>;
+				regulator-max-microvolt = <1550000>;
+			};
+
+			vgen2_reg: vgen2 {
+				regulator-min-microvolt = <800000>;
+				regulator-max-microvolt = <1550000>;
+			};
+
+			vgen3_reg: vgen3 {
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-always-on;
+			};
+
+			vgen4_reg: vgen4 {
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-always-on;
+			};
+
+			vgen5_reg: vgen5 {
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-always-on;
+			};
+
+			vgen6_reg: vgen6 {
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-always-on;
+			};
+
+			vref_reg: vrefddr {
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			vsnvs_reg: vsnvs {
+				regulator-min-microvolt = <1000000>;
+				regulator-max-microvolt = <3000000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+		};
+	};
+
+	leds: led-controller@30 {
+		compatible = "ti,lp5562";
+		reg = <0x30>;
+		clock-mode = /bits/ 8 <1>;
+		status = "disabled";
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		led@0 {
+			chan-name = "R";
+			led-cur = /bits/ 8 <0x20>;
+			max-cur = /bits/ 8 <0x60>;
+			reg = <0>;
+			color = <LED_COLOR_ID_RED>;
+		};
+
+		led@1 {
+			chan-name = "G";
+			led-cur = /bits/ 8 <0x20>;
+			max-cur = /bits/ 8 <0x60>;
+			reg = <1>;
+			color = <LED_COLOR_ID_GREEN>;
+		};
+
+		led@2 {
+			chan-name = "B";
+			led-cur = /bits/ 8 <0x20>;
+			max-cur = /bits/ 8 <0x60>;
+			reg = <2>;
+			color = <LED_COLOR_ID_BLUE>;
+		};
+	};
+
+	eeprom@57 {
+		compatible = "atmel,24c128";
+		reg = <0x57>;
+		pagesize = <64>;
+		status = "okay";
+	};
+
+	touchscreen: touchscreen@5c {
+		compatible = "pixcir,pixcir_tangoc";
+		reg = <0x5c>;
+		pinctrl-0 = <&pinctrl_touch>;
+		interrupt-parent = <&gpio4>;
+		interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
+		attb-gpio = <&gpio4 5 GPIO_ACTIVE_HIGH>;
+		reset-gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
+		touchscreen-size-x = <800>;
+		touchscreen-size-y = <480>;
+		status = "disabled";
+	};
+
+	rtc: rtc@68 {
+		compatible = "dallas,ds1341";
+		reg = <0x68>;
+		status = "okay";
+	};
+};
+
+&i2c3 {
+	clock-frequency = <100000>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_i2c3>;
+	status = "disabled";
+
+	oled_1309: oled@3c {
+		compatible = "solomon,ssd1309fb-i2c";
+		reg = <0x3c>;
+		solomon,height = <64>;
+		solomon,width = <128>;
+		solomon,page-offset = <0>;
+		solomon,segment-no-remap;
+		solomon,prechargep2 = <15>;
+		reset-gpios = <&gpio_oled 1 GPIO_ACTIVE_LOW>;
+		vbat-supply = <&sw2_reg>;
+		status = "disabled";
+	};
+
+	oled_1305: oled@3d {
+		compatible = "solomon,ssd1305fb-i2c";
+		reg = <0x3d>;
+		solomon,height = <64>;
+		solomon,width = <128>;
+		solomon,page-offset = <0>;
+		solomon,col-offset = <4>;
+		solomon,prechargep2 = <15>;
+		reset-gpios = <&gpio_oled 1 GPIO_ACTIVE_LOW>;
+		vbat-supply = <&sw2_reg>;
+		status = "disabled";
+	};
+
+	gpio_oled: gpio@41 {
+		compatible = "nxp,pca9536";
+		gpio-controller;
+		#gpio-cells = <2>;
+		reg = <0x41>;
+		vcc-supply = <&sw2_reg>;
+		status = "disabled";
+	};
+
+	touchkeys: keys@5a {
+		compatible = "fsl,mpr121-touchkey";
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_touchkeys>;
+		reg = <0x5a>;
+		vdd-supply = <&sw2_reg>;
+		autorepeat;
+		linux,keycodes = <KEY_1>, <KEY_2>, <KEY_3>, <KEY_4>, <KEY_5>,
+				<KEY_6>, <KEY_7>, <KEY_8>, <KEY_9>,
+				<KEY_BACKSPACE>, <KEY_0>, <KEY_ENTER>;
+		poll-interval = <50>;
+		status = "disabled";
+	};
+};
+
+&iomuxc {
+	pinctrl_enet: enetgrp {
+		fsl,pins = <
+			MX6QDL_PAD_ENET_MDIO__ENET_MDIO		0x1b020
+			MX6QDL_PAD_ENET_MDC__ENET_MDC		0x1b020
+			MX6QDL_PAD_RGMII_TXC__RGMII_TXC		0x1b020
+			MX6QDL_PAD_RGMII_TD0__RGMII_TD0		0x1b020
+			MX6QDL_PAD_RGMII_TD1__RGMII_TD1		0x1b020
+			MX6QDL_PAD_RGMII_TD2__RGMII_TD2		0x1b020
+			MX6QDL_PAD_RGMII_TD3__RGMII_TD3		0x1b020
+			MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL	0x1b020
+			MX6QDL_PAD_RGMII_RXC__RGMII_RXC		0x1b020
+			MX6QDL_PAD_RGMII_RD0__RGMII_RD0		0x1b020
+			MX6QDL_PAD_RGMII_RD1__RGMII_RD1		0x1b020
+			MX6QDL_PAD_RGMII_RD2__RGMII_RD2		0x1b020
+			MX6QDL_PAD_RGMII_RD3__RGMII_RD3		0x1b020
+			MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL	0x1b020
+			MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK	0x1b010
+			MX6QDL_PAD_GPIO_16__ENET_REF_CLK	0x1b010
+			MX6QDL_PAD_ENET_CRS_DV__GPIO1_IO25	0x1b098
+		>;
+	};
+
+	pinctrl_gpio_keys: gpiokeysgrp {
+		fsl,pins = <
+			MX6QDL_PAD_GPIO_0__GPIO1_IO00	0x1b0b0
+		>;
+	};
+
+	pinctrl_i2c2: i2c2grp {
+		fsl,pins = <
+			MX6QDL_PAD_KEY_COL3__I2C2_SCL	0x4001b899
+			MX6QDL_PAD_KEY_ROW3__I2C2_SDA	0x4001b899
+		>;
+	};
+
+	pinctrl_i2c3: i2c3grp {
+		fsl,pins = <
+			MX6QDL_PAD_GPIO_3__I2C3_SCL	0x4001b899
+			MX6QDL_PAD_GPIO_6__I2C3_SDA	0x4001b899
+		>;
+	};
+
+	pinctrl_ipu1: ipu1grp {
+		fsl,pins = <
+			MX6QDL_PAD_EIM_DA7__GPIO3_IO07                  0x1b0b0
+			MX6QDL_PAD_DI0_DISP_CLK__IPU1_DI0_DISP_CLK	0x10
+			MX6QDL_PAD_DI0_PIN2__IPU1_DI0_PIN02		0x10
+			MX6QDL_PAD_DI0_PIN3__IPU1_DI0_PIN03		0x10
+			MX6QDL_PAD_DISP0_DAT0__IPU1_DISP0_DATA00	0x10
+			MX6QDL_PAD_DISP0_DAT1__IPU1_DISP0_DATA01	0x10
+			MX6QDL_PAD_DISP0_DAT2__IPU1_DISP0_DATA02	0x10
+			MX6QDL_PAD_DISP0_DAT3__IPU1_DISP0_DATA03	0x10
+			MX6QDL_PAD_DISP0_DAT4__IPU1_DISP0_DATA04	0x10
+			MX6QDL_PAD_DISP0_DAT5__IPU1_DISP0_DATA05	0x10
+			MX6QDL_PAD_DISP0_DAT6__IPU1_DISP0_DATA06	0x10
+			MX6QDL_PAD_DISP0_DAT7__IPU1_DISP0_DATA07	0x10
+			MX6QDL_PAD_DISP0_DAT8__IPU1_DISP0_DATA08	0x10
+			MX6QDL_PAD_DISP0_DAT9__IPU1_DISP0_DATA09	0x10
+			MX6QDL_PAD_DISP0_DAT10__IPU1_DISP0_DATA10	0x10
+			MX6QDL_PAD_DISP0_DAT11__IPU1_DISP0_DATA11	0x10
+			MX6QDL_PAD_DISP0_DAT12__IPU1_DISP0_DATA12	0x10
+			MX6QDL_PAD_DISP0_DAT13__IPU1_DISP0_DATA13	0x10
+			MX6QDL_PAD_DISP0_DAT14__IPU1_DISP0_DATA14	0x10
+			MX6QDL_PAD_DISP0_DAT15__IPU1_DISP0_DATA15	0x10
+			MX6QDL_PAD_DISP0_DAT16__IPU1_DISP0_DATA16	0x10
+			MX6QDL_PAD_DISP0_DAT17__IPU1_DISP0_DATA17	0x10
+			MX6QDL_PAD_DISP0_DAT18__IPU1_DISP0_DATA18	0x10
+			MX6QDL_PAD_DISP0_DAT19__IPU1_DISP0_DATA19	0x10
+			MX6QDL_PAD_DISP0_DAT20__IPU1_DISP0_DATA20	0x10
+			MX6QDL_PAD_DISP0_DAT21__IPU1_DISP0_DATA21	0x10
+			MX6QDL_PAD_DISP0_DAT22__IPU1_DISP0_DATA22	0x10
+			MX6QDL_PAD_DISP0_DAT23__IPU1_DISP0_DATA23	0x10
+		>;
+	};
+
+	pinctrl_pmic: pmicgrp {
+		fsl,pins = <
+			MX6QDL_PAD_GPIO_18__GPIO7_IO13	0x1b098
+		>;
+	};
+
+	pinctrl_pwm1: pwm1grp {
+		fsl,pins = <
+			MX6QDL_PAD_GPIO_9__PWM1_OUT	0x8
+		>;
+	};
+
+	pinctrl_touch: touchgrp {
+		fsl,pins = <
+			MX6QDL_PAD_GPIO_19__GPIO4_IO05	0x1b098
+			MX6QDL_PAD_GPIO_2__GPIO1_IO02	0x1b098
+		>;
+	};
+
+	pinctrl_touchkeys: touchkeysgrp {
+		fsl,pins = <
+			MX6QDL_PAD_GPIO_17__GPIO7_IO12	0x1b098
+			MX6QDL_PAD_GPIO_5__GPIO1_IO05	0x1b098
+		>;
+	};
+
+	pinctrl_uart1: uart1grp {
+		fsl,pins = <
+			MX6QDL_PAD_CSI0_DAT10__UART1_TX_DATA	0x1b0a8
+			MX6QDL_PAD_CSI0_DAT11__UART1_RX_DATA	0x1b0a8
+		>;
+	};
+
+	pinctrl_uart2: uart2grp {
+		fsl,pins = <
+			MX6QDL_PAD_GPIO_7__UART2_TX_DATA	0x1b098
+			MX6QDL_PAD_GPIO_8__UART2_RX_DATA	0x1b098
+		>;
+	};
+
+	pinctrl_usbh1: usbh1grp {
+		fsl,pins = <
+			MX6QDL_PAD_EIM_D30__USB_H1_OC	0x1b098
+		>;
+	};
+
+	pinctrl_usbh1_vbus: usbh1-vbus {
+		fsl,pins = <
+			MX6QDL_PAD_ENET_TXD1__GPIO1_IO29	0x98
+		>;
+	};
+
+	pinctrl_usbotg: usbotggrp {
+		fsl,pins = <
+			MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID	0x1b098
+			MX6QDL_PAD_EIM_D21__USB_OTG_OC		0x1b098
+		>;
+	};
+
+	pinctrl_usbotg_vbus: usbotg-vbus {
+		fsl,pins = <
+			MX6QDL_PAD_EIM_D22__GPIO3_IO22	0x98
+		>;
+	};
+
+	pinctrl_usdhc4: usdhc4grp {
+		fsl,pins = <
+			MX6QDL_PAD_SD4_CMD__SD4_CMD	0x1f069
+			MX6QDL_PAD_SD4_CLK__SD4_CLK	0x10069
+			MX6QDL_PAD_SD4_DAT0__SD4_DATA0	0x17069
+			MX6QDL_PAD_SD4_DAT1__SD4_DATA1	0x17069
+			MX6QDL_PAD_SD4_DAT2__SD4_DATA2	0x17069
+			MX6QDL_PAD_SD4_DAT3__SD4_DATA3	0x17069
+			MX6QDL_PAD_SD4_DAT4__SD4_DATA4	0x17069
+			MX6QDL_PAD_SD4_DAT5__SD4_DATA5	0x17069
+			MX6QDL_PAD_SD4_DAT6__SD4_DATA6	0x17069
+			MX6QDL_PAD_SD4_DAT7__SD4_DATA7	0x17069
+		>;
+	};
+
+	pinctrl_wdog: wdoggrp {
+		fsl,pins = <
+			MX6QDL_PAD_GPIO_1__WDOG2_B	0x1b0b0
+		>;
+	};
+};
+
+&ipu1_di0_disp0 {
+	remote-endpoint = <&lcd_display_in>;
+};
+
+&pwm1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_pwm1>;
+	status = "disabled";
+};
+
+&uart1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_uart1>;
+	status = "okay";
+};
+
+&uart2 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_uart2>;
+	status = "disabled";
+};
+
+&usbh1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_usbh1>;
+	vbus-supply = <&reg_usb_h1_vbus>;
+	over-current-active-low;
+	status = "disabled";
+};
+
+&usbotg {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_usbotg>;
+	vbus-supply = <&reg_usb_otg_vbus>;
+	over-current-active-low;
+	srp-disable;
+	hnp-disable;
+	adp-disable;
+	status = "okay";
+};
+
+&usbphy1 {
+	fsl,tx-d-cal = <106>;
+	status = "okay";
+};
+
+&usbphy2 {
+	fsl,tx-d-cal = <109>;
+	status = "disabled";
+};
+
+&usdhc4 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_usdhc4>;
+	bus-width = <8>;
+	non-removable;
+	no-1-8-v;
+	keep-power-in-suspend;
+	vmmc-supply = <&sw2_reg>;
+	status = "okay";
+};
+
+&wdog1 {
+	status = "disabled";
+};
+
+&wdog2 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_wdog>;
+	fsl,ext-reset-output;
+	status = "okay";
+};
diff --git a/arch/arm/boot/dts/imx6q-yapp4-pegasus.dts b/arch/arm/boot/dts/imx6q-yapp4-pegasus.dts
new file mode 100644
index 000000000000..ec6651ba4ba2
--- /dev/null
+++ b/arch/arm/boot/dts/imx6q-yapp4-pegasus.dts
@@ -0,0 +1,58 @@
+// SPDX-License-Identifier: GPL-2.0
+//
+// Copyright (C) 2021 Y Soft Corporation, a.s.
+
+/dts-v1/;
+
+#include "imx6q.dtsi"
+#include "imx6dl-yapp43-common.dtsi"
+
+/ {
+	model = "Y Soft IOTA Pegasus i.MX6Quad board";
+	compatible = "ysoft,imx6q-yapp4-pegasus", "fsl,imx6q";
+
+	memory@10000000 {
+		device_type = "memory";
+		reg = <0x10000000 0xf0000000>;
+	};
+};
+
+&gpio_oled {
+	status = "okay";
+};
+
+&i2c3 {
+	status = "okay";
+};
+
+&leds {
+	status = "okay";
+};
+
+&oled_1305 {
+	status = "okay";
+};
+
+&oled_1309 {
+	status = "okay";
+};
+
+&reg_pu {
+	regulator-always-on;
+};
+
+&reg_usb_h1_vbus {
+	status = "okay";
+};
+
+&touchkeys {
+	status = "okay";
+};
+
+&usbh1 {
+	status = "okay";
+};
+
+&usbphy2 {
+	status = "okay";
+};
diff --git a/arch/arm/boot/dts/imx6qp-yapp4-pegasus-plus.dts b/arch/arm/boot/dts/imx6qp-yapp4-pegasus-plus.dts
new file mode 100644
index 000000000000..4a961a33bf2d
--- /dev/null
+++ b/arch/arm/boot/dts/imx6qp-yapp4-pegasus-plus.dts
@@ -0,0 +1,58 @@
+// SPDX-License-Identifier: GPL-2.0
+//
+// Copyright (C) 2021 Y Soft Corporation, a.s.
+
+/dts-v1/;
+
+#include "imx6qp.dtsi"
+#include "imx6dl-yapp43-common.dtsi"
+
+/ {
+	model = "Y Soft IOTA Pegasus+ i.MX6QuadPlus board";
+	compatible = "ysoft,imx6qp-yapp4-pegasus-plus", "fsl,imx6qp";
+
+	memory@10000000 {
+		device_type = "memory";
+		reg = <0x10000000 0xf0000000>;
+	};
+};
+
+&gpio_oled {
+	status = "okay";
+};
+
+&i2c3 {
+	status = "okay";
+};
+
+&leds {
+	status = "okay";
+};
+
+&oled_1305 {
+	status = "okay";
+};
+
+&oled_1309 {
+	status = "okay";
+};
+
+&reg_pu {
+	regulator-always-on;
+};
+
+&reg_usb_h1_vbus {
+	status = "okay";
+};
+
+&touchkeys {
+	status = "okay";
+};
+
+&usbh1 {
+	status = "okay";
+};
+
+&usbphy2 {
+	status = "okay";
+};
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 6/6] MAINTAINERS: Add Michal Vokáč as yapp4 boards maintainer
  2023-02-10 15:48 [PATCH 0/6] Add support for new boards in the imx6dl-yapp4 family Michal Vokáč
                   ` (4 preceding siblings ...)
  2023-02-10 15:48 ` [PATCH 5/6] ARM: dts: imx6dl-yapp43: Add support for new HW revision of the IOTA board Michal Vokáč
@ 2023-02-10 15:48 ` Michal Vokáč
  2023-02-11 11:46   ` Krzysztof Kozlowski
  5 siblings, 1 reply; 21+ messages in thread
From: Michal Vokáč @ 2023-02-10 15:48 UTC (permalink / raw)
  To: Rob Herring, Shawn Guo
  Cc: Krzysztof Kozlowski, Arnd Bergmann, Olof Johansson, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, NXP Linux Team,
	devicetree, linux-kernel, linux-arm-kernel,
	Michal Vokáč

Number of the boards is continually growing and we expect more to come.
Add myself as a maintainer of the yapp4 (ysoft appliance v4) platform to
state that we do take care about all of these.

Signed-off-by: Michal Vokáč <michal.vokac@ysoft.com>
---
 MAINTAINERS | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/MAINTAINERS b/MAINTAINERS
index fb1471cb5ed3..4d4d9ffc700c 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -23005,6 +23005,12 @@ S:	Maintained
 F:	Documentation/input/devices/yealink.rst
 F:	drivers/input/misc/yealink.*
 
+YSOFT IOTA BOARD SUPPORT
+M:	Michal Vokáč <michal.vokac@ysoft.com>
+L:	devicetree@vger.kernel.org
+S:	Supported
+F:	arch/arm/boot/dts/imx6*-yapp4*
+
 Z8530 DRIVER FOR AX.25
 M:	Joerg Reuter <jreuter@yaina.de>
 L:	linux-hams@vger.kernel.org
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* Re: [PATCH 1/6] dt-bindings: arm: fsl: Fix copy-paste error in comment
  2023-02-10 15:48 ` [PATCH 1/6] dt-bindings: arm: fsl: Fix copy-paste error in comment Michal Vokáč
@ 2023-02-11 11:45   ` Krzysztof Kozlowski
  2023-03-13  8:27   ` Shawn Guo
  1 sibling, 0 replies; 21+ messages in thread
From: Krzysztof Kozlowski @ 2023-02-11 11:45 UTC (permalink / raw)
  To: Michal Vokáč, Rob Herring, Shawn Guo
  Cc: Krzysztof Kozlowski, Arnd Bergmann, Olof Johansson, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, NXP Linux Team,
	devicetree, linux-kernel, linux-arm-kernel

On 10/02/2023 16:48, Michal Vokáč wrote:
> The imx6dl-yapp4-draco board is actually based on the i.MX6Solo SoC.
> Fix the comment to match reality.
> 
> Fixes: 24ef3b6e22fe ("dt-bindings: arm: Add Y Soft IOTA Draco, Hydra and Ursa boards")
> Signed-off-by: Michal Vokáč <michal.vokac@ysoft.com>
> ---
>  Documentation/devicetree/bindings/arm/fsl.yaml | 2 +-


Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 4/6] dt-bindings: arm: fsl: Add Y Soft IOTA Phoenix, Lynx, Pegasus and Pegasus+
  2023-02-10 15:48 ` [PATCH 4/6] dt-bindings: arm: fsl: Add Y Soft IOTA Phoenix, Lynx, Pegasus and Pegasus+ Michal Vokáč
@ 2023-02-11 11:45   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 21+ messages in thread
From: Krzysztof Kozlowski @ 2023-02-11 11:45 UTC (permalink / raw)
  To: Michal Vokáč, Rob Herring, Shawn Guo
  Cc: Krzysztof Kozlowski, Arnd Bergmann, Olof Johansson, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, NXP Linux Team,
	devicetree, linux-kernel, linux-arm-kernel

On 10/02/2023 16:48, Michal Vokáč wrote:
> These i.MX6 boards are based on a facelifted PCB from the previous designs.
> Routing for some unused parts was completely removed (uSD card, PCIe, audio
> codec) and some new parts were added (supercap backed RTC, secure element,
> PWM audio, GPIO button).
> 
> Signed-off-by: Michal Vokáč <michal.vokac@ysoft.com>
> ---
>  Documentation/devicetree/bindings/arm/fsl.yaml | 4 ++++


Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 6/6] MAINTAINERS: Add Michal Vokáč as yapp4 boards maintainer
  2023-02-10 15:48 ` [PATCH 6/6] MAINTAINERS: Add Michal Vokáč as yapp4 boards maintainer Michal Vokáč
@ 2023-02-11 11:46   ` Krzysztof Kozlowski
  2023-02-13  9:08     ` Michal Vokáč
  0 siblings, 1 reply; 21+ messages in thread
From: Krzysztof Kozlowski @ 2023-02-11 11:46 UTC (permalink / raw)
  To: Michal Vokáč, Rob Herring, Shawn Guo
  Cc: Krzysztof Kozlowski, Arnd Bergmann, Olof Johansson, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, NXP Linux Team,
	devicetree, linux-kernel, linux-arm-kernel

On 10/02/2023 16:48, Michal Vokáč wrote:
> Number of the boards is continually growing and we expect more to come.
> Add myself as a maintainer of the yapp4 (ysoft appliance v4) platform to
> state that we do take care about all of these.
> 
> Signed-off-by: Michal Vokáč <michal.vokac@ysoft.com>
> ---
>  MAINTAINERS | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index fb1471cb5ed3..4d4d9ffc700c 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -23005,6 +23005,12 @@ S:	Maintained
>  F:	Documentation/input/devices/yealink.rst
>  F:	drivers/input/misc/yealink.*
>  
> +YSOFT IOTA BOARD SUPPORT
> +M:	Michal Vokáč <michal.vokac@ysoft.com>
> +L:	devicetree@vger.kernel.org
> +S:	Supported
> +F:	arch/arm/boot/dts/imx6*-yapp4*

I don't think we add per-board maintainers. Otherwise, I have 50 more
entries to add...

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 6/6] MAINTAINERS: Add Michal Vokáč as yapp4 boards maintainer
  2023-02-11 11:46   ` Krzysztof Kozlowski
@ 2023-02-13  9:08     ` Michal Vokáč
  2023-02-13  9:18       ` Krzysztof Kozlowski
  0 siblings, 1 reply; 21+ messages in thread
From: Michal Vokáč @ 2023-02-13  9:08 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Rob Herring, Shawn Guo
  Cc: Krzysztof Kozlowski, Arnd Bergmann, Olof Johansson, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, NXP Linux Team,
	devicetree, linux-kernel, linux-arm-kernel

On 11. 02. 23 12:46, Krzysztof Kozlowski wrote:
> On 10/02/2023 16:48, Michal Vokáč wrote:
>> Number of the boards is continually growing and we expect more to come.
>> Add myself as a maintainer of the yapp4 (ysoft appliance v4) platform to
>> state that we do take care about all of these.
>>
>> Signed-off-by: Michal Vokáč <michal.vokac@ysoft.com>
>> ---
>>   MAINTAINERS | 6 ++++++
>>   1 file changed, 6 insertions(+)
>>
>> diff --git a/MAINTAINERS b/MAINTAINERS
>> index fb1471cb5ed3..4d4d9ffc700c 100644
>> --- a/MAINTAINERS
>> +++ b/MAINTAINERS
>> @@ -23005,6 +23005,12 @@ S:	Maintained
>>   F:	Documentation/input/devices/yealink.rst
>>   F:	drivers/input/misc/yealink.*
>>   
>> +YSOFT IOTA BOARD SUPPORT
>> +M:	Michal Vokáč <michal.vokac@ysoft.com>
>> +L:	devicetree@vger.kernel.org
>> +S:	Supported
>> +F:	arch/arm/boot/dts/imx6*-yapp4*
> 
> I don't think we add per-board maintainers. Otherwise, I have 50 more
> entries to add...

I have got drawn into it by the checkpatch.pl script saying:

WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?

So I went through the MAINTAINERS file and its git log with .dts related
changes. I found some individual board entries and quite recent changes
adding new ones. Hence I decided this could be right.

Never mind, I agree there is definitely not a maintainer entry for every
board supported by the kernel and this patch can be omitted.

Thank you and best regards,
Michal

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 6/6] MAINTAINERS: Add Michal Vokáč as yapp4 boards maintainer
  2023-02-13  9:08     ` Michal Vokáč
@ 2023-02-13  9:18       ` Krzysztof Kozlowski
  2023-02-13  9:50         ` Michal Vokáč
  0 siblings, 1 reply; 21+ messages in thread
From: Krzysztof Kozlowski @ 2023-02-13  9:18 UTC (permalink / raw)
  To: Michal Vokáč, Rob Herring, Shawn Guo
  Cc: Krzysztof Kozlowski, Arnd Bergmann, Olof Johansson, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, NXP Linux Team,
	devicetree, linux-kernel, linux-arm-kernel

On 13/02/2023 10:08, Michal Vokáč wrote:
> On 11. 02. 23 12:46, Krzysztof Kozlowski wrote:
>> On 10/02/2023 16:48, Michal Vokáč wrote:
>>> Number of the boards is continually growing and we expect more to come.
>>> Add myself as a maintainer of the yapp4 (ysoft appliance v4) platform to
>>> state that we do take care about all of these.
>>>
>>> Signed-off-by: Michal Vokáč <michal.vokac@ysoft.com>
>>> ---
>>>   MAINTAINERS | 6 ++++++
>>>   1 file changed, 6 insertions(+)
>>>
>>> diff --git a/MAINTAINERS b/MAINTAINERS
>>> index fb1471cb5ed3..4d4d9ffc700c 100644
>>> --- a/MAINTAINERS
>>> +++ b/MAINTAINERS
>>> @@ -23005,6 +23005,12 @@ S:	Maintained
>>>   F:	Documentation/input/devices/yealink.rst
>>>   F:	drivers/input/misc/yealink.*
>>>   
>>> +YSOFT IOTA BOARD SUPPORT
>>> +M:	Michal Vokáč <michal.vokac@ysoft.com>
>>> +L:	devicetree@vger.kernel.org
>>> +S:	Supported
>>> +F:	arch/arm/boot/dts/imx6*-yapp4*
>>
>> I don't think we add per-board maintainers. Otherwise, I have 50 more
>> entries to add...
> 
> I have got drawn into it by the checkpatch.pl script saying:
> 
> WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
> 
> So I went through the MAINTAINERS file and its git log with .dts related
> changes. I found some individual board entries and quite recent changes
> adding new ones. Hence I decided this could be right.

They are not right, but solution to that took some time:
https://lore.kernel.org/all/829b122da52482707b783dc3d93d3ff0179cb0ca.camel@perches.com/

> 
> Never mind, I agree there is definitely not a maintainer entry for every
> board supported by the kernel and this patch can be omitted.


Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 6/6] MAINTAINERS: Add Michal Vokáč as yapp4 boards maintainer
  2023-02-13  9:18       ` Krzysztof Kozlowski
@ 2023-02-13  9:50         ` Michal Vokáč
  0 siblings, 0 replies; 21+ messages in thread
From: Michal Vokáč @ 2023-02-13  9:50 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Rob Herring, Shawn Guo
  Cc: Krzysztof Kozlowski, Arnd Bergmann, Olof Johansson, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, NXP Linux Team,
	devicetree, linux-kernel, linux-arm-kernel

On 13. 02. 23 10:18, Krzysztof Kozlowski wrote:
>>>
>>> I don't think we add per-board maintainers. Otherwise, I have 50 more
>>> entries to add...
>>
>> I have got drawn into it by the checkpatch.pl script saying:
>>
>> WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
>>
>> So I went through the MAINTAINERS file and its git log with .dts related
>> changes. I found some individual board entries and quite recent changes
>> adding new ones. Hence I decided this could be right.
> 
> They are not right, but solution to that took some time:
> https://lore.kernel.org/all/829b122da52482707b783dc3d93d3ff0179cb0ca.camel@perches.com/
> 
OK, thank you for pointing that out!
Michal

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 5/6] ARM: dts: imx6dl-yapp43: Add support for new HW revision of the IOTA board
  2023-02-10 15:48 ` [PATCH 5/6] ARM: dts: imx6dl-yapp43: Add support for new HW revision of the IOTA board Michal Vokáč
@ 2023-03-13  8:23   ` Shawn Guo
  2023-03-13 16:42     ` Michal Vokáč
  0 siblings, 1 reply; 21+ messages in thread
From: Shawn Guo @ 2023-03-13  8:23 UTC (permalink / raw)
  To: Michal Vokáč
  Cc: Rob Herring, Krzysztof Kozlowski, Arnd Bergmann, Olof Johansson,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
	NXP Linux Team, devicetree, linux-kernel, linux-arm-kernel

On Fri, Feb 10, 2023 at 04:48:54PM +0100, Michal Vokáč wrote:
> The PCB used for all the current boards (Ursa, Draco, Hydra, Orion, Crux)
> was slightly redesigned and delivers some new features while some unused
> components were removed.
> 
> - External RTC chip with supercap added.
> - Secure element added.
> - LCD display power supply enable/disable signal added.
> - Touch keyboard reset and interrupt signals added.
> - Factory reset GPIO button added.
> - Audio codec LM49350 (EoL) removed and replaced by PWM audio output.
> - QCA8334 switch was replaced by Marvell 88E6141.
> - PCIe completely removed.
> - uSD card removed and replaced by board-to-board expansion connector.
> 
> There are four configuration variants of the new board:
> 
> 1. Pegasus
> The board configuration is based on Orion with the following major changes:
> 
> - Quad core SoC
> - 4GB of RAM
> - RTC with supercap added
> - Secure element added
> 
> 2. Pegasus+
> This is the very same board as Pegasus but uses the i.MX6QuadPlus SoC.
> 
> 3. Lynx
> The board configuration is based on Draco with the following major changes:
> 
> - DualLite SoC
> - 1GB of RAM
> - RTC with supercap added
> - Secure element added
> 
> 4. Phoenix
> The board configuration is based on Ursa with the following major changes:
> 
> - DualLite Soc
> - 1GB of RAM
> - RTC with supercap added
> - Secure element added
> - LCD display support removed
> - UART2 removed
> - Factory reset GPIO button added
> 
> Signed-off-by: Michal Vokáč <michal.vokac@ysoft.com>
> ---
>  arch/arm/boot/dts/Makefile                    |   4 +
>  arch/arm/boot/dts/imx6dl-yapp4-lynx.dts       |  58 ++
>  arch/arm/boot/dts/imx6dl-yapp4-phoenix.dts    |  42 ++
>  arch/arm/boot/dts/imx6dl-yapp43-common.dtsi   | 619 ++++++++++++++++++
>  arch/arm/boot/dts/imx6q-yapp4-pegasus.dts     |  58 ++
>  .../boot/dts/imx6qp-yapp4-pegasus-plus.dts    |  58 ++
>  6 files changed, 839 insertions(+)
>  create mode 100644 arch/arm/boot/dts/imx6dl-yapp4-lynx.dts
>  create mode 100644 arch/arm/boot/dts/imx6dl-yapp4-phoenix.dts
>  create mode 100644 arch/arm/boot/dts/imx6dl-yapp43-common.dtsi
>  create mode 100644 arch/arm/boot/dts/imx6q-yapp4-pegasus.dts
>  create mode 100644 arch/arm/boot/dts/imx6qp-yapp4-pegasus-plus.dts
> 
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index d08a3c450ce7..9a60d3fc0483 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -558,7 +558,9 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
>  	imx6dl-wandboard-revd1.dtb \
>  	imx6dl-yapp4-draco.dtb \
>  	imx6dl-yapp4-hydra.dtb \
> +	imx6dl-yapp4-lynx.dtb \
>  	imx6dl-yapp4-orion.dtb \
> +	imx6dl-yapp4-phoenix.dtb \
>  	imx6dl-yapp4-ursa.dtb \
>  	imx6q-apalis-eval.dtb \
>  	imx6q-apalis-ixora.dtb \
> @@ -625,6 +627,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
>  	imx6q-nitrogen6_max.dtb \
>  	imx6q-nitrogen6_som2.dtb \
>  	imx6q-novena.dtb \
> +	imx6q-yapp4-pegasus.dtb \
>  	imx6q-phytec-mira-rdk-emmc.dtb \

Break the alphabetic order?

>  	imx6q-phytec-mira-rdk-nand.dtb \
>  	imx6q-phytec-pbab01.dtb \
> @@ -680,6 +683,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
>  	imx6qp-vicutp.dtb \
>  	imx6qp-wandboard-revd1.dtb \
>  	imx6qp-yapp4-crux-plus.dtb \
> +	imx6qp-yapp4-pegasus-plus.dtb \
>  	imx6qp-zii-rdu2.dtb \
>  	imx6s-dhcom-drc02.dtb
>  dtb-$(CONFIG_SOC_IMX6SL) += \
> diff --git a/arch/arm/boot/dts/imx6dl-yapp4-lynx.dts b/arch/arm/boot/dts/imx6dl-yapp4-lynx.dts
> new file mode 100644
> index 000000000000..5c2cd517589b
> --- /dev/null
> +++ b/arch/arm/boot/dts/imx6dl-yapp4-lynx.dts
> @@ -0,0 +1,58 @@
> +// SPDX-License-Identifier: GPL-2.0
> +//
> +// Copyright (C) 2021 Y Soft Corporation, a.s.
> +
> +/dts-v1/;
> +
> +#include "imx6dl.dtsi"
> +#include "imx6dl-yapp43-common.dtsi"
> +
> +/ {
> +	model = "Y Soft IOTA Lynx i.MX6DualLite board";
> +	compatible = "ysoft,imx6dl-yapp4-lynx", "fsl,imx6dl";
> +
> +	memory@10000000 {
> +		device_type = "memory";
> +		reg = <0x10000000 0x40000000>;
> +	};
> +};
> +
> +&backlight {
> +	status = "okay";
> +};
> +
> +&lcd_display {
> +	status = "okay";
> +};
> +
> +&leds {
> +	status = "okay";
> +};
> +
> +&panel {
> +	status = "okay";
> +};
> +
> +&pwm1 {
> +	status = "okay";
> +};
> +
> +&reg_usb_h1_vbus {
> +	status = "okay";
> +};
> +
> +&touchscreen {
> +	status = "okay";
> +};
> +
> +&uart2 {
> +	status = "okay";
> +};
> +
> +&usbh1 {
> +	status = "okay";
> +};
> +
> +&usbphy2 {
> +	status = "okay";
> +};
> diff --git a/arch/arm/boot/dts/imx6dl-yapp4-phoenix.dts b/arch/arm/boot/dts/imx6dl-yapp4-phoenix.dts
> new file mode 100644
> index 000000000000..e0292f11d03e
> --- /dev/null
> +++ b/arch/arm/boot/dts/imx6dl-yapp4-phoenix.dts
> @@ -0,0 +1,42 @@
> +// SPDX-License-Identifier: GPL-2.0
> +//
> +// Copyright (C) 2021 Y Soft Corporation, a.s.
> +
> +/dts-v1/;
> +
> +#include "imx6dl.dtsi"
> +#include "imx6dl-yapp43-common.dtsi"
> +
> +/ {
> +	model = "Y Soft IOTA Phoenix i.MX6DualLite board";
> +	compatible = "ysoft,imx6dl-yapp4-phoenix", "fsl,imx6dl";
> +
> +	memory@10000000 {
> +		device_type = "memory";
> +		reg = <0x10000000 0x40000000>;
> +	};
> +};
> +
> +&aliases {
> +	/delete-property/ ethernet1;
> +};
> +
> +&gpio_keys {
> +	status = "okay";
> +};
> +
> +&reg_usb_h1_vbus {
> +	status = "okay";
> +};
> +
> +&switch_ports {
> +	/delete-node/ port@2;
> +};
> +
> +&usbh1 {
> +	status = "okay";
> +};
> +
> +&usbphy2 {
> +	status = "okay";
> +};
> diff --git a/arch/arm/boot/dts/imx6dl-yapp43-common.dtsi b/arch/arm/boot/dts/imx6dl-yapp43-common.dtsi
> new file mode 100644
> index 000000000000..30f354195e01
> --- /dev/null
> +++ b/arch/arm/boot/dts/imx6dl-yapp43-common.dtsi
> @@ -0,0 +1,619 @@
> +// SPDX-License-Identifier: GPL-2.0
> +//
> +// Copyright (C) 2021 Y Soft Corporation, a.s.
> +
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/interrupt-controller/irq.h>
> +#include <dt-bindings/input/input.h>
> +#include <dt-bindings/leds/common.h>
> +#include <dt-bindings/pwm/pwm.h>
> +
> +/ {
> +	aliases: aliases {
> +		ethernet1 = &eth1;
> +		ethernet2 = &eth2;
> +		mmc0 = &usdhc3;
> +		mmc1 = &usdhc4;
> +	};
> +
> +	backlight: backlight {
> +		compatible = "pwm-backlight";
> +		pwms = <&pwm1 0 500000 PWM_POLARITY_INVERTED>;
> +		brightness-levels = <0 32 64 128 255>;
> +		default-brightness-level = <32>;
> +		num-interpolated-steps = <8>;
> +		power-supply = <&sw2_reg>;
> +		status = "disabled";
> +	};
> +
> +	gpio_keys: gpio-keys {
> +		compatible = "gpio-keys";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_gpio_keys>;
> +		status = "disabled";
> +
> +		button {
> +			label = "Factory RESET";
> +			linux,code = <BTN_0>;
> +			gpios = <&gpio1 0 GPIO_ACTIVE_LOW>;
> +		};
> +	};
> +
> +	lcd_display: display {
> +		compatible = "fsl,imx-parallel-display";
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		interface-pix-fmt = "rgb24";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_ipu1>;
> +		status = "disabled";
> +
> +		port@0 {
> +			reg = <0>;
> +
> +			lcd_display_in: endpoint {
> +				remote-endpoint = <&ipu1_di0_disp0>;
> +			};
> +		};
> +
> +		port@1 {
> +			reg = <1>;
> +
> +			lcd_display_out: endpoint {
> +				remote-endpoint = <&lcd_panel_in>;
> +			};
> +		};
> +	};
> +
> +	panel: panel {
> +		compatible = "dataimage,scf0700c48ggu18";
> +		power-supply = <&sw2_reg>;
> +		backlight = <&backlight>;
> +		enable-gpios = <&gpio3 7 GPIO_ACTIVE_HIGH>;
> +		status = "disabled";
> +
> +		port {
> +			lcd_panel_in: endpoint {
> +				remote-endpoint = <&lcd_display_out>;
> +			};
> +		};
> +	};
> +
> +	reg_usb_h1_vbus: regulator-usb-h1-vbus {
> +		compatible = "regulator-fixed";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_usbh1_vbus>;
> +		regulator-name = "usb_h1_vbus";
> +		regulator-min-microvolt = <5000000>;
> +		regulator-max-microvolt = <5000000>;
> +		gpio = <&gpio1 29 GPIO_ACTIVE_HIGH>;
> +		enable-active-high;
> +		status = "disabled";
> +	};
> +
> +	reg_usb_otg_vbus: regulator-usb-otg-vbus {
> +		compatible = "regulator-fixed";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_usbotg_vbus>;
> +		regulator-name = "usb_otg_vbus";
> +		regulator-min-microvolt = <5000000>;
> +		regulator-max-microvolt = <5000000>;
> +		gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>;
> +		enable-active-high;
> +		status = "okay";
> +	};
> +};
> +
> +&fec {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_enet>;
> +	phy-mode = "rgmii-id";
> +	phy-reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
> +	phy-reset-duration = <20>;

Deprecated.  Check Documentation/devicetree/bindings/net/fsl,fec.yaml.

> +	phy-supply = <&sw2_reg>;
> +	status = "okay";
> +
> +	fixed-link {
> +		speed = <1000>;
> +		full-duplex;
> +	};
> +
> +	mdio {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +
> +		switch@0 {
> +			compatible = "marvell,mv88e6085";
> +			reg = <0>;
> +
> +			switch_ports: ports {
> +				#address-cells = <1>;
> +				#size-cells = <0>;
> +
> +				ethphy0: port@0 {
> +					reg = <0>;
> +					label = "cpu";
> +					phy-mode = "rgmii-id";
> +					ethernet = <&fec>;
> +
> +					fixed-link {
> +						speed = <1000>;
> +						full-duplex;
> +					};
> +				};
> +
> +				eth2: port@1 {
> +					reg = <1>;
> +					label = "eth2";
> +					phy-handle = <&phy_port1>;
> +				};
> +
> +				eth1: port@2 {
> +					reg = <2>;
> +					label = "eth1";
> +					phy-handle = <&phy_port2>;
> +				};
> +			};
> +
> +			mdio {
> +				#address-cells = <1>;
> +				#size-cells = <0>;
> +
> +				phy_port1: switchphy@11 {
> +					reg = <0x11>;
> +				};
> +
> +				phy_port2: switchphy@12 {
> +					reg = <0x12>;
> +				};
> +			};
> +		};
> +	};
> +};
> +
> +&i2c2 {
> +	clock-frequency = <100000>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_i2c2>;
> +	status = "okay";
> +
> +	pmic@8 {
> +		compatible = "fsl,pfuze200";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_pmic>;
> +		reg = <0x8>;
> +
> +		regulators {
> +			sw1a_reg: sw1ab {
> +				regulator-min-microvolt = <300000>;
> +				regulator-max-microvolt = <1875000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +				regulator-ramp-delay = <6250>;
> +			};
> +
> +			sw2_reg: sw2 {
> +				regulator-min-microvolt = <800000>;
> +				regulator-max-microvolt = <3300000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +			};
> +
> +			sw3a_reg: sw3a {
> +				regulator-min-microvolt = <400000>;
> +				regulator-max-microvolt = <1975000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +			};
> +
> +			sw3b_reg: sw3b {
> +				regulator-min-microvolt = <400000>;
> +				regulator-max-microvolt = <1975000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +			};
> +
> +			swbst_reg: swbst {
> +				regulator-min-microvolt = <5000000>;
> +				regulator-max-microvolt = <5150000>;
> +			};
> +
> +			vgen1_reg: vgen1 {
> +				regulator-min-microvolt = <800000>;
> +				regulator-max-microvolt = <1550000>;
> +			};
> +
> +			vgen2_reg: vgen2 {
> +				regulator-min-microvolt = <800000>;
> +				regulator-max-microvolt = <1550000>;
> +			};
> +
> +			vgen3_reg: vgen3 {
> +				regulator-min-microvolt = <1800000>;
> +				regulator-max-microvolt = <3300000>;
> +				regulator-always-on;
> +			};
> +
> +			vgen4_reg: vgen4 {
> +				regulator-min-microvolt = <1800000>;
> +				regulator-max-microvolt = <3300000>;
> +				regulator-always-on;
> +			};
> +
> +			vgen5_reg: vgen5 {
> +				regulator-min-microvolt = <1800000>;
> +				regulator-max-microvolt = <3300000>;
> +				regulator-always-on;
> +			};
> +
> +			vgen6_reg: vgen6 {
> +				regulator-min-microvolt = <1800000>;
> +				regulator-max-microvolt = <3300000>;
> +				regulator-always-on;
> +			};
> +
> +			vref_reg: vrefddr {
> +				regulator-boot-on;
> +				regulator-always-on;
> +			};
> +
> +			vsnvs_reg: vsnvs {
> +				regulator-min-microvolt = <1000000>;
> +				regulator-max-microvolt = <3000000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +			};
> +		};
> +	};
> +
> +	leds: led-controller@30 {
> +		compatible = "ti,lp5562";
> +		reg = <0x30>;
> +		clock-mode = /bits/ 8 <1>;
> +		status = "disabled";

Move 'status' to the end of property list.

> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +
> +		led@0 {
> +			chan-name = "R";
> +			led-cur = /bits/ 8 <0x20>;
> +			max-cur = /bits/ 8 <0x60>;
> +			reg = <0>;
> +			color = <LED_COLOR_ID_RED>;
> +		};
> +
> +		led@1 {
> +			chan-name = "G";
> +			led-cur = /bits/ 8 <0x20>;
> +			max-cur = /bits/ 8 <0x60>;
> +			reg = <1>;
> +			color = <LED_COLOR_ID_GREEN>;
> +		};
> +
> +		led@2 {
> +			chan-name = "B";
> +			led-cur = /bits/ 8 <0x20>;
> +			max-cur = /bits/ 8 <0x60>;
> +			reg = <2>;
> +			color = <LED_COLOR_ID_BLUE>;
> +		};
> +	};
> +
> +	eeprom@57 {
> +		compatible = "atmel,24c128";
> +		reg = <0x57>;
> +		pagesize = <64>;
> +		status = "okay";

The "okay" status is only needed to flip a "disabled" one.

> +	};
> +
> +	touchscreen: touchscreen@5c {
> +		compatible = "pixcir,pixcir_tangoc";
> +		reg = <0x5c>;
> +		pinctrl-0 = <&pinctrl_touch>;
> +		interrupt-parent = <&gpio4>;
> +		interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
> +		attb-gpio = <&gpio4 5 GPIO_ACTIVE_HIGH>;
> +		reset-gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
> +		touchscreen-size-x = <800>;
> +		touchscreen-size-y = <480>;
> +		status = "disabled";
> +	};
> +
> +	rtc: rtc@68 {
> +		compatible = "dallas,ds1341";
> +		reg = <0x68>;
> +		status = "okay";

Ditto

Shawn

> +	};
> +};
> +
> +&i2c3 {
> +	clock-frequency = <100000>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_i2c3>;
> +	status = "disabled";
> +
> +	oled_1309: oled@3c {
> +		compatible = "solomon,ssd1309fb-i2c";
> +		reg = <0x3c>;
> +		solomon,height = <64>;
> +		solomon,width = <128>;
> +		solomon,page-offset = <0>;
> +		solomon,segment-no-remap;
> +		solomon,prechargep2 = <15>;
> +		reset-gpios = <&gpio_oled 1 GPIO_ACTIVE_LOW>;
> +		vbat-supply = <&sw2_reg>;
> +		status = "disabled";
> +	};
> +
> +	oled_1305: oled@3d {
> +		compatible = "solomon,ssd1305fb-i2c";
> +		reg = <0x3d>;
> +		solomon,height = <64>;
> +		solomon,width = <128>;
> +		solomon,page-offset = <0>;
> +		solomon,col-offset = <4>;
> +		solomon,prechargep2 = <15>;
> +		reset-gpios = <&gpio_oled 1 GPIO_ACTIVE_LOW>;
> +		vbat-supply = <&sw2_reg>;
> +		status = "disabled";
> +	};
> +
> +	gpio_oled: gpio@41 {
> +		compatible = "nxp,pca9536";
> +		gpio-controller;
> +		#gpio-cells = <2>;
> +		reg = <0x41>;
> +		vcc-supply = <&sw2_reg>;
> +		status = "disabled";
> +	};
> +
> +	touchkeys: keys@5a {
> +		compatible = "fsl,mpr121-touchkey";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_touchkeys>;
> +		reg = <0x5a>;
> +		vdd-supply = <&sw2_reg>;
> +		autorepeat;
> +		linux,keycodes = <KEY_1>, <KEY_2>, <KEY_3>, <KEY_4>, <KEY_5>,
> +				<KEY_6>, <KEY_7>, <KEY_8>, <KEY_9>,
> +				<KEY_BACKSPACE>, <KEY_0>, <KEY_ENTER>;
> +		poll-interval = <50>;
> +		status = "disabled";
> +	};
> +};
> +
> +&iomuxc {
> +	pinctrl_enet: enetgrp {
> +		fsl,pins = <
> +			MX6QDL_PAD_ENET_MDIO__ENET_MDIO		0x1b020
> +			MX6QDL_PAD_ENET_MDC__ENET_MDC		0x1b020
> +			MX6QDL_PAD_RGMII_TXC__RGMII_TXC		0x1b020
> +			MX6QDL_PAD_RGMII_TD0__RGMII_TD0		0x1b020
> +			MX6QDL_PAD_RGMII_TD1__RGMII_TD1		0x1b020
> +			MX6QDL_PAD_RGMII_TD2__RGMII_TD2		0x1b020
> +			MX6QDL_PAD_RGMII_TD3__RGMII_TD3		0x1b020
> +			MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL	0x1b020
> +			MX6QDL_PAD_RGMII_RXC__RGMII_RXC		0x1b020
> +			MX6QDL_PAD_RGMII_RD0__RGMII_RD0		0x1b020
> +			MX6QDL_PAD_RGMII_RD1__RGMII_RD1		0x1b020
> +			MX6QDL_PAD_RGMII_RD2__RGMII_RD2		0x1b020
> +			MX6QDL_PAD_RGMII_RD3__RGMII_RD3		0x1b020
> +			MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL	0x1b020
> +			MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK	0x1b010
> +			MX6QDL_PAD_GPIO_16__ENET_REF_CLK	0x1b010
> +			MX6QDL_PAD_ENET_CRS_DV__GPIO1_IO25	0x1b098
> +		>;
> +	};
> +
> +	pinctrl_gpio_keys: gpiokeysgrp {
> +		fsl,pins = <
> +			MX6QDL_PAD_GPIO_0__GPIO1_IO00	0x1b0b0
> +		>;
> +	};
> +
> +	pinctrl_i2c2: i2c2grp {
> +		fsl,pins = <
> +			MX6QDL_PAD_KEY_COL3__I2C2_SCL	0x4001b899
> +			MX6QDL_PAD_KEY_ROW3__I2C2_SDA	0x4001b899
> +		>;
> +	};
> +
> +	pinctrl_i2c3: i2c3grp {
> +		fsl,pins = <
> +			MX6QDL_PAD_GPIO_3__I2C3_SCL	0x4001b899
> +			MX6QDL_PAD_GPIO_6__I2C3_SDA	0x4001b899
> +		>;
> +	};
> +
> +	pinctrl_ipu1: ipu1grp {
> +		fsl,pins = <
> +			MX6QDL_PAD_EIM_DA7__GPIO3_IO07                  0x1b0b0
> +			MX6QDL_PAD_DI0_DISP_CLK__IPU1_DI0_DISP_CLK	0x10
> +			MX6QDL_PAD_DI0_PIN2__IPU1_DI0_PIN02		0x10
> +			MX6QDL_PAD_DI0_PIN3__IPU1_DI0_PIN03		0x10
> +			MX6QDL_PAD_DISP0_DAT0__IPU1_DISP0_DATA00	0x10
> +			MX6QDL_PAD_DISP0_DAT1__IPU1_DISP0_DATA01	0x10
> +			MX6QDL_PAD_DISP0_DAT2__IPU1_DISP0_DATA02	0x10
> +			MX6QDL_PAD_DISP0_DAT3__IPU1_DISP0_DATA03	0x10
> +			MX6QDL_PAD_DISP0_DAT4__IPU1_DISP0_DATA04	0x10
> +			MX6QDL_PAD_DISP0_DAT5__IPU1_DISP0_DATA05	0x10
> +			MX6QDL_PAD_DISP0_DAT6__IPU1_DISP0_DATA06	0x10
> +			MX6QDL_PAD_DISP0_DAT7__IPU1_DISP0_DATA07	0x10
> +			MX6QDL_PAD_DISP0_DAT8__IPU1_DISP0_DATA08	0x10
> +			MX6QDL_PAD_DISP0_DAT9__IPU1_DISP0_DATA09	0x10
> +			MX6QDL_PAD_DISP0_DAT10__IPU1_DISP0_DATA10	0x10
> +			MX6QDL_PAD_DISP0_DAT11__IPU1_DISP0_DATA11	0x10
> +			MX6QDL_PAD_DISP0_DAT12__IPU1_DISP0_DATA12	0x10
> +			MX6QDL_PAD_DISP0_DAT13__IPU1_DISP0_DATA13	0x10
> +			MX6QDL_PAD_DISP0_DAT14__IPU1_DISP0_DATA14	0x10
> +			MX6QDL_PAD_DISP0_DAT15__IPU1_DISP0_DATA15	0x10
> +			MX6QDL_PAD_DISP0_DAT16__IPU1_DISP0_DATA16	0x10
> +			MX6QDL_PAD_DISP0_DAT17__IPU1_DISP0_DATA17	0x10
> +			MX6QDL_PAD_DISP0_DAT18__IPU1_DISP0_DATA18	0x10
> +			MX6QDL_PAD_DISP0_DAT19__IPU1_DISP0_DATA19	0x10
> +			MX6QDL_PAD_DISP0_DAT20__IPU1_DISP0_DATA20	0x10
> +			MX6QDL_PAD_DISP0_DAT21__IPU1_DISP0_DATA21	0x10
> +			MX6QDL_PAD_DISP0_DAT22__IPU1_DISP0_DATA22	0x10
> +			MX6QDL_PAD_DISP0_DAT23__IPU1_DISP0_DATA23	0x10
> +		>;
> +	};
> +
> +	pinctrl_pmic: pmicgrp {
> +		fsl,pins = <
> +			MX6QDL_PAD_GPIO_18__GPIO7_IO13	0x1b098
> +		>;
> +	};
> +
> +	pinctrl_pwm1: pwm1grp {
> +		fsl,pins = <
> +			MX6QDL_PAD_GPIO_9__PWM1_OUT	0x8
> +		>;
> +	};
> +
> +	pinctrl_touch: touchgrp {
> +		fsl,pins = <
> +			MX6QDL_PAD_GPIO_19__GPIO4_IO05	0x1b098
> +			MX6QDL_PAD_GPIO_2__GPIO1_IO02	0x1b098
> +		>;
> +	};
> +
> +	pinctrl_touchkeys: touchkeysgrp {
> +		fsl,pins = <
> +			MX6QDL_PAD_GPIO_17__GPIO7_IO12	0x1b098
> +			MX6QDL_PAD_GPIO_5__GPIO1_IO05	0x1b098
> +		>;
> +	};
> +
> +	pinctrl_uart1: uart1grp {
> +		fsl,pins = <
> +			MX6QDL_PAD_CSI0_DAT10__UART1_TX_DATA	0x1b0a8
> +			MX6QDL_PAD_CSI0_DAT11__UART1_RX_DATA	0x1b0a8
> +		>;
> +	};
> +
> +	pinctrl_uart2: uart2grp {
> +		fsl,pins = <
> +			MX6QDL_PAD_GPIO_7__UART2_TX_DATA	0x1b098
> +			MX6QDL_PAD_GPIO_8__UART2_RX_DATA	0x1b098
> +		>;
> +	};
> +
> +	pinctrl_usbh1: usbh1grp {
> +		fsl,pins = <
> +			MX6QDL_PAD_EIM_D30__USB_H1_OC	0x1b098
> +		>;
> +	};
> +
> +	pinctrl_usbh1_vbus: usbh1-vbus {
> +		fsl,pins = <
> +			MX6QDL_PAD_ENET_TXD1__GPIO1_IO29	0x98
> +		>;
> +	};
> +
> +	pinctrl_usbotg: usbotggrp {
> +		fsl,pins = <
> +			MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID	0x1b098
> +			MX6QDL_PAD_EIM_D21__USB_OTG_OC		0x1b098
> +		>;
> +	};
> +
> +	pinctrl_usbotg_vbus: usbotg-vbus {
> +		fsl,pins = <
> +			MX6QDL_PAD_EIM_D22__GPIO3_IO22	0x98
> +		>;
> +	};
> +
> +	pinctrl_usdhc4: usdhc4grp {
> +		fsl,pins = <
> +			MX6QDL_PAD_SD4_CMD__SD4_CMD	0x1f069
> +			MX6QDL_PAD_SD4_CLK__SD4_CLK	0x10069
> +			MX6QDL_PAD_SD4_DAT0__SD4_DATA0	0x17069
> +			MX6QDL_PAD_SD4_DAT1__SD4_DATA1	0x17069
> +			MX6QDL_PAD_SD4_DAT2__SD4_DATA2	0x17069
> +			MX6QDL_PAD_SD4_DAT3__SD4_DATA3	0x17069
> +			MX6QDL_PAD_SD4_DAT4__SD4_DATA4	0x17069
> +			MX6QDL_PAD_SD4_DAT5__SD4_DATA5	0x17069
> +			MX6QDL_PAD_SD4_DAT6__SD4_DATA6	0x17069
> +			MX6QDL_PAD_SD4_DAT7__SD4_DATA7	0x17069
> +		>;
> +	};
> +
> +	pinctrl_wdog: wdoggrp {
> +		fsl,pins = <
> +			MX6QDL_PAD_GPIO_1__WDOG2_B	0x1b0b0
> +		>;
> +	};
> +};
> +
> +&ipu1_di0_disp0 {
> +	remote-endpoint = <&lcd_display_in>;
> +};
> +
> +&pwm1 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_pwm1>;
> +	status = "disabled";
> +};
> +
> +&uart1 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_uart1>;
> +	status = "okay";
> +};
> +
> +&uart2 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_uart2>;
> +	status = "disabled";
> +};
> +
> +&usbh1 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_usbh1>;
> +	vbus-supply = <&reg_usb_h1_vbus>;
> +	over-current-active-low;
> +	status = "disabled";
> +};
> +
> +&usbotg {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_usbotg>;
> +	vbus-supply = <&reg_usb_otg_vbus>;
> +	over-current-active-low;
> +	srp-disable;
> +	hnp-disable;
> +	adp-disable;
> +	status = "okay";
> +};
> +
> +&usbphy1 {
> +	fsl,tx-d-cal = <106>;
> +	status = "okay";
> +};
> +
> +&usbphy2 {
> +	fsl,tx-d-cal = <109>;
> +	status = "disabled";
> +};
> +
> +&usdhc4 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_usdhc4>;
> +	bus-width = <8>;
> +	non-removable;
> +	no-1-8-v;
> +	keep-power-in-suspend;
> +	vmmc-supply = <&sw2_reg>;
> +	status = "okay";
> +};
> +
> +&wdog1 {
> +	status = "disabled";
> +};
> +
> +&wdog2 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_wdog>;
> +	fsl,ext-reset-output;
> +	status = "okay";
> +};
> diff --git a/arch/arm/boot/dts/imx6q-yapp4-pegasus.dts b/arch/arm/boot/dts/imx6q-yapp4-pegasus.dts
> new file mode 100644
> index 000000000000..ec6651ba4ba2
> --- /dev/null
> +++ b/arch/arm/boot/dts/imx6q-yapp4-pegasus.dts
> @@ -0,0 +1,58 @@
> +// SPDX-License-Identifier: GPL-2.0
> +//
> +// Copyright (C) 2021 Y Soft Corporation, a.s.
> +
> +/dts-v1/;
> +
> +#include "imx6q.dtsi"
> +#include "imx6dl-yapp43-common.dtsi"
> +
> +/ {
> +	model = "Y Soft IOTA Pegasus i.MX6Quad board";
> +	compatible = "ysoft,imx6q-yapp4-pegasus", "fsl,imx6q";
> +
> +	memory@10000000 {
> +		device_type = "memory";
> +		reg = <0x10000000 0xf0000000>;
> +	};
> +};
> +
> +&gpio_oled {
> +	status = "okay";
> +};
> +
> +&i2c3 {
> +	status = "okay";
> +};
> +
> +&leds {
> +	status = "okay";
> +};
> +
> +&oled_1305 {
> +	status = "okay";
> +};
> +
> +&oled_1309 {
> +	status = "okay";
> +};
> +
> +&reg_pu {
> +	regulator-always-on;
> +};
> +
> +&reg_usb_h1_vbus {
> +	status = "okay";
> +};
> +
> +&touchkeys {
> +	status = "okay";
> +};
> +
> +&usbh1 {
> +	status = "okay";
> +};
> +
> +&usbphy2 {
> +	status = "okay";
> +};
> diff --git a/arch/arm/boot/dts/imx6qp-yapp4-pegasus-plus.dts b/arch/arm/boot/dts/imx6qp-yapp4-pegasus-plus.dts
> new file mode 100644
> index 000000000000..4a961a33bf2d
> --- /dev/null
> +++ b/arch/arm/boot/dts/imx6qp-yapp4-pegasus-plus.dts
> @@ -0,0 +1,58 @@
> +// SPDX-License-Identifier: GPL-2.0
> +//
> +// Copyright (C) 2021 Y Soft Corporation, a.s.
> +
> +/dts-v1/;
> +
> +#include "imx6qp.dtsi"
> +#include "imx6dl-yapp43-common.dtsi"
> +
> +/ {
> +	model = "Y Soft IOTA Pegasus+ i.MX6QuadPlus board";
> +	compatible = "ysoft,imx6qp-yapp4-pegasus-plus", "fsl,imx6qp";
> +
> +	memory@10000000 {
> +		device_type = "memory";
> +		reg = <0x10000000 0xf0000000>;
> +	};
> +};
> +
> +&gpio_oled {
> +	status = "okay";
> +};
> +
> +&i2c3 {
> +	status = "okay";
> +};
> +
> +&leds {
> +	status = "okay";
> +};
> +
> +&oled_1305 {
> +	status = "okay";
> +};
> +
> +&oled_1309 {
> +	status = "okay";
> +};
> +
> +&reg_pu {
> +	regulator-always-on;
> +};
> +
> +&reg_usb_h1_vbus {
> +	status = "okay";
> +};
> +
> +&touchkeys {
> +	status = "okay";
> +};
> +
> +&usbh1 {
> +	status = "okay";
> +};
> +
> +&usbphy2 {
> +	status = "okay";
> +};
> -- 
> 2.25.1
> 

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 1/6] dt-bindings: arm: fsl: Fix copy-paste error in comment
  2023-02-10 15:48 ` [PATCH 1/6] dt-bindings: arm: fsl: Fix copy-paste error in comment Michal Vokáč
  2023-02-11 11:45   ` Krzysztof Kozlowski
@ 2023-03-13  8:27   ` Shawn Guo
  1 sibling, 0 replies; 21+ messages in thread
From: Shawn Guo @ 2023-03-13  8:27 UTC (permalink / raw)
  To: Michal Vokáč
  Cc: Rob Herring, Krzysztof Kozlowski, Arnd Bergmann, Olof Johansson,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
	NXP Linux Team, devicetree, linux-kernel, linux-arm-kernel

On Fri, Feb 10, 2023 at 04:48:50PM +0100, Michal Vokáč wrote:
> The imx6dl-yapp4-draco board is actually based on the i.MX6Solo SoC.
> Fix the comment to match reality.
> 
> Fixes: 24ef3b6e22fe ("dt-bindings: arm: Add Y Soft IOTA Draco, Hydra and Ursa boards")
> Signed-off-by: Michal Vokáč <michal.vokac@ysoft.com>

Applied, thanks!

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 2/6] ARM: dts: imx6dl-yapp4: Change LED channel names according to dt-binding
  2023-02-10 15:48 ` [PATCH 2/6] ARM: dts: imx6dl-yapp4: Change LED channel names according to dt-binding Michal Vokáč
@ 2023-03-13  8:28   ` Shawn Guo
  2023-03-13  8:48     ` Krzysztof Kozlowski
  0 siblings, 1 reply; 21+ messages in thread
From: Shawn Guo @ 2023-03-13  8:28 UTC (permalink / raw)
  To: Michal Vokáč
  Cc: Rob Herring, Krzysztof Kozlowski, Arnd Bergmann, Olof Johansson,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
	NXP Linux Team, devicetree, linux-kernel, linux-arm-kernel

On Fri, Feb 10, 2023 at 04:48:51PM +0100, Michal Vokáč wrote:
> The lp55xx LED controller binding was converted to schema and dtbs_check
> now complains:
> 
>   led-controller@30: 'chan@0', 'chan@1', 'chan@2' do not match any of the regexes
> 
> Use correct names to fix that.
> 
> Signed-off-by: Michal Vokáč <michal.vokac@ysoft.com>

It's been address as part of this commit:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4b0d1f2738899dbcc7a026d826373530019aa31b

Shawn

> ---
>  arch/arm/boot/dts/imx6dl-yapp4-common.dtsi | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/imx6dl-yapp4-common.dtsi b/arch/arm/boot/dts/imx6dl-yapp4-common.dtsi
> index 52162e8c7274..aacbf317feea 100644
> --- a/arch/arm/boot/dts/imx6dl-yapp4-common.dtsi
> +++ b/arch/arm/boot/dts/imx6dl-yapp4-common.dtsi
> @@ -274,7 +274,7 @@ leds: led-controller@30 {
>  		#address-cells = <1>;
>  		#size-cells = <0>;
>  
> -		chan@0 {
> +		led@0 {
>  			chan-name = "R";
>  			led-cur = /bits/ 8 <0x20>;
>  			max-cur = /bits/ 8 <0x60>;
> @@ -282,7 +282,7 @@ chan@0 {
>  			color = <LED_COLOR_ID_RED>;
>  		};
>  
> -		chan@1 {
> +		led@1 {
>  			chan-name = "G";
>  			led-cur = /bits/ 8 <0x20>;
>  			max-cur = /bits/ 8 <0x60>;
> @@ -290,7 +290,7 @@ chan@1 {
>  			color = <LED_COLOR_ID_GREEN>;
>  		};
>  
> -		chan@2 {
> +		led@2 {
>  			chan-name = "B";
>  			led-cur = /bits/ 8 <0x20>;
>  			max-cur = /bits/ 8 <0x60>;
> -- 
> 2.25.1
> 

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 3/6] ARM: dts: imx6dl-yapp4: Use reset-gpios property name
  2023-02-10 15:48 ` [PATCH 3/6] ARM: dts: imx6dl-yapp4: Use reset-gpios property name Michal Vokáč
@ 2023-03-13  8:29   ` Shawn Guo
  0 siblings, 0 replies; 21+ messages in thread
From: Shawn Guo @ 2023-03-13  8:29 UTC (permalink / raw)
  To: Michal Vokáč
  Cc: Rob Herring, Krzysztof Kozlowski, Arnd Bergmann, Olof Johansson,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
	NXP Linux Team, devicetree, linux-kernel, linux-arm-kernel

On Fri, Feb 10, 2023 at 04:48:52PM +0100, Michal Vokáč wrote:
> Use the gpios instead of gpio suffix that is mandated by the binding.
> This dtbs_check warning is fixed now:
> 
>   touchscreen@5c: Unevaluated properties are not allowed ('reset-gpio' was unexpected)
> 
> The reset signal worked correctly as both the "gpio" and "gpios" suffixes
> are actually allowed by the gpiolib.
> 
> Signed-off-by: Michal Vokáč <michal.vokac@ysoft.com>

Applied, thanks!

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 2/6] ARM: dts: imx6dl-yapp4: Change LED channel names according to dt-binding
  2023-03-13  8:28   ` Shawn Guo
@ 2023-03-13  8:48     ` Krzysztof Kozlowski
  2023-03-13 10:57       ` Michal Vokáč
  0 siblings, 1 reply; 21+ messages in thread
From: Krzysztof Kozlowski @ 2023-03-13  8:48 UTC (permalink / raw)
  To: Shawn Guo, Michal Vokáč
  Cc: Rob Herring, Krzysztof Kozlowski, Arnd Bergmann, Olof Johansson,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
	NXP Linux Team, devicetree, linux-kernel, linux-arm-kernel

On 13/03/2023 09:28, Shawn Guo wrote:
> On Fri, Feb 10, 2023 at 04:48:51PM +0100, Michal Vokáč wrote:
>> The lp55xx LED controller binding was converted to schema and dtbs_check
>> now complains:
>>
>>   led-controller@30: 'chan@0', 'chan@1', 'chan@2' do not match any of the regexes
>>
>> Use correct names to fix that.
>>
>> Signed-off-by: Michal Vokáč <michal.vokac@ysoft.com>
> 
> It's been address as part of this commit:
> 
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4b0d1f2738899dbcc7a026d826373530019aa31b
> 

Which is mainline, so it raises the question on what old tree this was
based on...

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 2/6] ARM: dts: imx6dl-yapp4: Change LED channel names according to dt-binding
  2023-03-13  8:48     ` Krzysztof Kozlowski
@ 2023-03-13 10:57       ` Michal Vokáč
  0 siblings, 0 replies; 21+ messages in thread
From: Michal Vokáč @ 2023-03-13 10:57 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Shawn Guo
  Cc: Rob Herring, Krzysztof Kozlowski, Arnd Bergmann, Olof Johansson,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
	NXP Linux Team, devicetree, linux-kernel, linux-arm-kernel

On 13. 03. 23 9:48, Krzysztof Kozlowski wrote:
> On 13/03/2023 09:28, Shawn Guo wrote:
>> On Fri, Feb 10, 2023 at 04:48:51PM +0100, Michal Vokáč wrote:
>>> The lp55xx LED controller binding was converted to schema and dtbs_check
>>> now complains:
>>>
>>>    led-controller@30: 'chan@0', 'chan@1', 'chan@2' do not match any of the regexes
>>>
>>> Use correct names to fix that.
>>>
>>> Signed-off-by: Michal Vokáč <michal.vokac@ysoft.com>
>>
>> It's been address as part of this commit:
>>
>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4b0d1f2738899dbcc7a026d826373530019aa31b
>>
> 
> Which is mainline, so it raises the question on what old tree this was
> based on...

The whole series is based on v6.2-rc7-11-g05ecb680708a which was
linux-stable tree master branch from February 6th. I was not aware
of the referenced commit as it was merged later into v6.3-rc.

Good that it is fixed already, this patch can be skipped.
It is just unfortunate that I was not Cc'd back then.

Thanks,
Michal



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 5/6] ARM: dts: imx6dl-yapp43: Add support for new HW revision of the IOTA board
  2023-03-13  8:23   ` Shawn Guo
@ 2023-03-13 16:42     ` Michal Vokáč
  2023-03-14  0:42       ` Shawn Guo
  0 siblings, 1 reply; 21+ messages in thread
From: Michal Vokáč @ 2023-03-13 16:42 UTC (permalink / raw)
  To: Shawn Guo
  Cc: Rob Herring, Krzysztof Kozlowski, Arnd Bergmann, Olof Johansson,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
	NXP Linux Team, devicetree, linux-kernel, linux-arm-kernel

On 13. 03. 23 9:23, Shawn Guo wrote:
> On Fri, Feb 10, 2023 at 04:48:54PM +0100, Michal Vokáč wrote:
>> The PCB used for all the current boards (Ursa, Draco, Hydra, Orion, Crux)
>> was slightly redesigned and delivers some new features while some unused
>> components were removed.
>>
>> - External RTC chip with supercap added.
>> - Secure element added.
>> - LCD display power supply enable/disable signal added.
>> - Touch keyboard reset and interrupt signals added.
>> - Factory reset GPIO button added.
>> - Audio codec LM49350 (EoL) removed and replaced by PWM audio output.
>> - QCA8334 switch was replaced by Marvell 88E6141.
>> - PCIe completely removed.
>> - uSD card removed and replaced by board-to-board expansion connector.
>>
>> There are four configuration variants of the new board:
>>
>> 1. Pegasus
>> The board configuration is based on Orion with the following major changes:
>>
>> - Quad core SoC
>> - 4GB of RAM
>> - RTC with supercap added
>> - Secure element added
>>
>> 2. Pegasus+
>> This is the very same board as Pegasus but uses the i.MX6QuadPlus SoC.
>>
>> 3. Lynx
>> The board configuration is based on Draco with the following major changes:
>>
>> - DualLite SoC
>> - 1GB of RAM
>> - RTC with supercap added
>> - Secure element added
>>
>> 4. Phoenix
>> The board configuration is based on Ursa with the following major changes:
>>
>> - DualLite Soc
>> - 1GB of RAM
>> - RTC with supercap added
>> - Secure element added
>> - LCD display support removed
>> - UART2 removed
>> - Factory reset GPIO button added
>>
>> Signed-off-by: Michal Vokáč <michal.vokac@ysoft.com>
>> ---
>>   arch/arm/boot/dts/Makefile                    |   4 +
>>   arch/arm/boot/dts/imx6dl-yapp4-lynx.dts       |  58 ++
>>   arch/arm/boot/dts/imx6dl-yapp4-phoenix.dts    |  42 ++
>>   arch/arm/boot/dts/imx6dl-yapp43-common.dtsi   | 619 ++++++++++++++++++
>>   arch/arm/boot/dts/imx6q-yapp4-pegasus.dts     |  58 ++
>>   .../boot/dts/imx6qp-yapp4-pegasus-plus.dts    |  58 ++
>>   6 files changed, 839 insertions(+)
>>   create mode 100644 arch/arm/boot/dts/imx6dl-yapp4-lynx.dts
>>   create mode 100644 arch/arm/boot/dts/imx6dl-yapp4-phoenix.dts
>>   create mode 100644 arch/arm/boot/dts/imx6dl-yapp43-common.dtsi
>>   create mode 100644 arch/arm/boot/dts/imx6q-yapp4-pegasus.dts
>>   create mode 100644 arch/arm/boot/dts/imx6qp-yapp4-pegasus-plus.dts
>>
>> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
>> index d08a3c450ce7..9a60d3fc0483 100644
>> --- a/arch/arm/boot/dts/Makefile
>> +++ b/arch/arm/boot/dts/Makefile
>> @@ -558,7 +558,9 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
>>   	imx6dl-wandboard-revd1.dtb \
>>   	imx6dl-yapp4-draco.dtb \
>>   	imx6dl-yapp4-hydra.dtb \
>> +	imx6dl-yapp4-lynx.dtb \
>>   	imx6dl-yapp4-orion.dtb \
>> +	imx6dl-yapp4-phoenix.dtb \
>>   	imx6dl-yapp4-ursa.dtb \
>>   	imx6q-apalis-eval.dtb \
>>   	imx6q-apalis-ixora.dtb \
>> @@ -625,6 +627,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
>>   	imx6q-nitrogen6_max.dtb \
>>   	imx6q-nitrogen6_som2.dtb \
>>   	imx6q-novena.dtb \
>> +	imx6q-yapp4-pegasus.dtb \
>>   	imx6q-phytec-mira-rdk-emmc.dtb \
> 
> Break the alphabetic order?

Sorry, for some reason I missed that line. Will be fixed in v2.
> 
>>   	imx6q-phytec-mira-rdk-nand.dtb \
>>   	imx6q-phytec-pbab01.dtb \
>> @@ -680,6 +683,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
>>   	imx6qp-vicutp.dtb \
>>   	imx6qp-wandboard-revd1.dtb \
>>   	imx6qp-yapp4-crux-plus.dtb \
>> +	imx6qp-yapp4-pegasus-plus.dtb \
>>   	imx6qp-zii-rdu2.dtb \
>>   	imx6s-dhcom-drc02.dtb
>>   dtb-$(CONFIG_SOC_IMX6SL) += \

[...snip...]

>> diff --git a/arch/arm/boot/dts/imx6dl-yapp43-common.dtsi b/arch/arm/boot/dts/imx6dl-yapp43-common.dtsi
>> new file mode 100644
>> index 000000000000..30f354195e01
>> --- /dev/null
>> +++ b/arch/arm/boot/dts/imx6dl-yapp43-common.dtsi
>> @@ -0,0 +1,619 @@
>> +// SPDX-License-Identifier: GPL-2.0
>> +//
>> +// Copyright (C) 2021 Y Soft Corporation, a.s.
>> +
>> +#include <dt-bindings/gpio/gpio.h>
>> +#include <dt-bindings/interrupt-controller/irq.h>
>> +#include <dt-bindings/input/input.h>
>> +#include <dt-bindings/leds/common.h>
>> +#include <dt-bindings/pwm/pwm.h>
>> +
>> +/ {
>> +	aliases: aliases {
>> +		ethernet1 = &eth1;
>> +		ethernet2 = &eth2;
>> +		mmc0 = &usdhc3;
>> +		mmc1 = &usdhc4;
>> +	};
>> +
>> +	backlight: backlight {
>> +		compatible = "pwm-backlight";
>> +		pwms = <&pwm1 0 500000 PWM_POLARITY_INVERTED>;
>> +		brightness-levels = <0 32 64 128 255>;
>> +		default-brightness-level = <32>;
>> +		num-interpolated-steps = <8>;
>> +		power-supply = <&sw2_reg>;
>> +		status = "disabled";
>> +	};
>> +
>> +	gpio_keys: gpio-keys {
>> +		compatible = "gpio-keys";
>> +		pinctrl-names = "default";
>> +		pinctrl-0 = <&pinctrl_gpio_keys>;
>> +		status = "disabled";
>> +
>> +		button {
>> +			label = "Factory RESET";
>> +			linux,code = <BTN_0>;
>> +			gpios = <&gpio1 0 GPIO_ACTIVE_LOW>;
>> +		};
>> +	};
>> +
>> +	lcd_display: display {
>> +		compatible = "fsl,imx-parallel-display";
>> +		#address-cells = <1>;
>> +		#size-cells = <0>;
>> +		interface-pix-fmt = "rgb24";
>> +		pinctrl-names = "default";
>> +		pinctrl-0 = <&pinctrl_ipu1>;
>> +		status = "disabled";
>> +
>> +		port@0 {
>> +			reg = <0>;
>> +
>> +			lcd_display_in: endpoint {
>> +				remote-endpoint = <&ipu1_di0_disp0>;
>> +			};
>> +		};
>> +
>> +		port@1 {
>> +			reg = <1>;
>> +
>> +			lcd_display_out: endpoint {
>> +				remote-endpoint = <&lcd_panel_in>;
>> +			};
>> +		};
>> +	};
>> +
>> +	panel: panel {
>> +		compatible = "dataimage,scf0700c48ggu18";
>> +		power-supply = <&sw2_reg>;
>> +		backlight = <&backlight>;
>> +		enable-gpios = <&gpio3 7 GPIO_ACTIVE_HIGH>;
>> +		status = "disabled";
>> +
>> +		port {
>> +			lcd_panel_in: endpoint {
>> +				remote-endpoint = <&lcd_display_out>;
>> +			};
>> +		};
>> +	};
>> +
>> +	reg_usb_h1_vbus: regulator-usb-h1-vbus {
>> +		compatible = "regulator-fixed";
>> +		pinctrl-names = "default";
>> +		pinctrl-0 = <&pinctrl_usbh1_vbus>;
>> +		regulator-name = "usb_h1_vbus";
>> +		regulator-min-microvolt = <5000000>;
>> +		regulator-max-microvolt = <5000000>;
>> +		gpio = <&gpio1 29 GPIO_ACTIVE_HIGH>;
>> +		enable-active-high;
>> +		status = "disabled";
>> +	};
>> +
>> +	reg_usb_otg_vbus: regulator-usb-otg-vbus {
>> +		compatible = "regulator-fixed";
>> +		pinctrl-names = "default";
>> +		pinctrl-0 = <&pinctrl_usbotg_vbus>;
>> +		regulator-name = "usb_otg_vbus";
>> +		regulator-min-microvolt = <5000000>;
>> +		regulator-max-microvolt = <5000000>;
>> +		gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>;
>> +		enable-active-high;
>> +		status = "okay";
>> +	};
>> +};
>> +
>> +&fec {
>> +	pinctrl-names = "default";
>> +	pinctrl-0 = <&pinctrl_enet>;
>> +	phy-mode = "rgmii-id";
>> +	phy-reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
>> +	phy-reset-duration = <20>;
> 
> Deprecated.  Check Documentation/devicetree/bindings/net/fsl,fec.yaml.

OK, I will remove the reset-duration property and move
the reset-gpios property under the mdio switch subnode.

>> +	phy-supply = <&sw2_reg>;
>> +	status = "okay";
>> +
>> +	fixed-link {
>> +		speed = <1000>;
>> +		full-duplex;
>> +	};
>> +
>> +	mdio {
>> +		#address-cells = <1>;
>> +		#size-cells = <0>;
>> +
>> +		switch@0 {
>> +			compatible = "marvell,mv88e6085";
>> +			reg = <0>;
>> +
>> +			switch_ports: ports {
>> +				#address-cells = <1>;
>> +				#size-cells = <0>;
>> +
>> +				ethphy0: port@0 {
>> +					reg = <0>;
>> +					label = "cpu";
>> +					phy-mode = "rgmii-id";
>> +					ethernet = <&fec>;
>> +
>> +					fixed-link {
>> +						speed = <1000>;
>> +						full-duplex;
>> +					};
>> +				};
>> +
>> +				eth2: port@1 {
>> +					reg = <1>;
>> +					label = "eth2";
>> +					phy-handle = <&phy_port1>;
>> +				};
>> +
>> +				eth1: port@2 {
>> +					reg = <2>;
>> +					label = "eth1";
>> +					phy-handle = <&phy_port2>;
>> +				};
>> +			};
>> +
>> +			mdio {
>> +				#address-cells = <1>;
>> +				#size-cells = <0>;
>> +
>> +				phy_port1: switchphy@11 {
>> +					reg = <0x11>;
>> +				};
>> +
>> +				phy_port2: switchphy@12 {
>> +					reg = <0x12>;
>> +				};
>> +			};
>> +		};
>> +	};
>> +};
>> +
>> +&i2c2 {
>> +	clock-frequency = <100000>;
>> +	pinctrl-names = "default";
>> +	pinctrl-0 = <&pinctrl_i2c2>;
>> +	status = "okay";
>> +
>> +	pmic@8 {
>> +		compatible = "fsl,pfuze200";
>> +		pinctrl-names = "default";
>> +		pinctrl-0 = <&pinctrl_pmic>;
>> +		reg = <0x8>;
>> +
>> +		regulators {
>> +			sw1a_reg: sw1ab {
>> +				regulator-min-microvolt = <300000>;
>> +				regulator-max-microvolt = <1875000>;
>> +				regulator-boot-on;
>> +				regulator-always-on;
>> +				regulator-ramp-delay = <6250>;
>> +			};
>> +
>> +			sw2_reg: sw2 {
>> +				regulator-min-microvolt = <800000>;
>> +				regulator-max-microvolt = <3300000>;
>> +				regulator-boot-on;
>> +				regulator-always-on;
>> +			};
>> +
>> +			sw3a_reg: sw3a {
>> +				regulator-min-microvolt = <400000>;
>> +				regulator-max-microvolt = <1975000>;
>> +				regulator-boot-on;
>> +				regulator-always-on;
>> +			};
>> +
>> +			sw3b_reg: sw3b {
>> +				regulator-min-microvolt = <400000>;
>> +				regulator-max-microvolt = <1975000>;
>> +				regulator-boot-on;
>> +				regulator-always-on;
>> +			};
>> +
>> +			swbst_reg: swbst {
>> +				regulator-min-microvolt = <5000000>;
>> +				regulator-max-microvolt = <5150000>;
>> +			};
>> +
>> +			vgen1_reg: vgen1 {
>> +				regulator-min-microvolt = <800000>;
>> +				regulator-max-microvolt = <1550000>;
>> +			};
>> +
>> +			vgen2_reg: vgen2 {
>> +				regulator-min-microvolt = <800000>;
>> +				regulator-max-microvolt = <1550000>;
>> +			};
>> +
>> +			vgen3_reg: vgen3 {
>> +				regulator-min-microvolt = <1800000>;
>> +				regulator-max-microvolt = <3300000>;
>> +				regulator-always-on;
>> +			};
>> +
>> +			vgen4_reg: vgen4 {
>> +				regulator-min-microvolt = <1800000>;
>> +				regulator-max-microvolt = <3300000>;
>> +				regulator-always-on;
>> +			};
>> +
>> +			vgen5_reg: vgen5 {
>> +				regulator-min-microvolt = <1800000>;
>> +				regulator-max-microvolt = <3300000>;
>> +				regulator-always-on;
>> +			};
>> +
>> +			vgen6_reg: vgen6 {
>> +				regulator-min-microvolt = <1800000>;
>> +				regulator-max-microvolt = <3300000>;
>> +				regulator-always-on;
>> +			};
>> +
>> +			vref_reg: vrefddr {
>> +				regulator-boot-on;
>> +				regulator-always-on;
>> +			};
>> +
>> +			vsnvs_reg: vsnvs {
>> +				regulator-min-microvolt = <1000000>;
>> +				regulator-max-microvolt = <3000000>;
>> +				regulator-boot-on;
>> +				regulator-always-on;
>> +			};
>> +		};
>> +	};
>> +
>> +	leds: led-controller@30 {
>> +		compatible = "ti,lp5562";
>> +		reg = <0x30>;
>> +		clock-mode = /bits/ 8 <1>;
>> +		status = "disabled";
> 
> Move 'status' to the end of property list.

Hmm, I am little bit surprised it is sorted like that.
I always put the status to the end. I am going to blame
author of the commit: b86d3d21cd4c (ARM: dts: imx6dl-yapp4:
Add reg property to the lp5562 channel node, 2020-08-12).

I will fix that in v2.

>> +		#address-cells = <1>;
>> +		#size-cells = <0>;
>> +
>> +		led@0 {
>> +			chan-name = "R";
>> +			led-cur = /bits/ 8 <0x20>;
>> +			max-cur = /bits/ 8 <0x60>;
>> +			reg = <0>;
>> +			color = <LED_COLOR_ID_RED>;
>> +		};
>> +
>> +		led@1 {
>> +			chan-name = "G";
>> +			led-cur = /bits/ 8 <0x20>;
>> +			max-cur = /bits/ 8 <0x60>;
>> +			reg = <1>;
>> +			color = <LED_COLOR_ID_GREEN>;
>> +		};
>> +
>> +		led@2 {
>> +			chan-name = "B";
>> +			led-cur = /bits/ 8 <0x20>;
>> +			max-cur = /bits/ 8 <0x60>;
>> +			reg = <2>;
>> +			color = <LED_COLOR_ID_BLUE>;
>> +		};
>> +	};
>> +
>> +	eeprom@57 {
>> +		compatible = "atmel,24c128";
>> +		reg = <0x57>;
>> +		pagesize = <64>;
>> +		status = "okay";
> 
> The "okay" status is only needed to flip a "disabled" one.

OK, I will remove the status "okay" from all device nodes defined
by this dtsi that should be enabled by default.

I assume that using status "okay" (or "disabled") for referenced
nodes coming from included SoC dtsi files is fine even if these
nodes already have the required status at the moment.

Otherwise I see no guarantee that the node will have my required
status in the future as well. The status in the included files
may be changed by someone else for whatever reason.

>> +	};
>> +
>> +	touchscreen: touchscreen@5c {
>> +		compatible = "pixcir,pixcir_tangoc";
>> +		reg = <0x5c>;
>> +		pinctrl-0 = <&pinctrl_touch>;
>> +		interrupt-parent = <&gpio4>;
>> +		interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
>> +		attb-gpio = <&gpio4 5 GPIO_ACTIVE_HIGH>;
>> +		reset-gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
>> +		touchscreen-size-x = <800>;
>> +		touchscreen-size-y = <480>;
>> +		status = "disabled";
>> +	};
>> +
>> +	rtc: rtc@68 {
>> +		compatible = "dallas,ds1341";
>> +		reg = <0x68>;
>> +		status = "okay";
> 
> Ditto
> 
> Shawn

ACK, will remove it in v2.
Thank you for the review.

Michal

[...snip...]

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 5/6] ARM: dts: imx6dl-yapp43: Add support for new HW revision of the IOTA board
  2023-03-13 16:42     ` Michal Vokáč
@ 2023-03-14  0:42       ` Shawn Guo
  0 siblings, 0 replies; 21+ messages in thread
From: Shawn Guo @ 2023-03-14  0:42 UTC (permalink / raw)
  To: Michal Vokáč
  Cc: Rob Herring, Krzysztof Kozlowski, Arnd Bergmann, Olof Johansson,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
	NXP Linux Team, devicetree, linux-kernel, linux-arm-kernel

On Mon, Mar 13, 2023 at 05:42:21PM +0100, Michal Vokáč wrote:
> > > +	eeprom@57 {
> > > +		compatible = "atmel,24c128";
> > > +		reg = <0x57>;
> > > +		pagesize = <64>;
> > > +		status = "okay";
> > 
> > The "okay" status is only needed to flip a "disabled" one.
> 
> OK, I will remove the status "okay" from all device nodes defined
> by this dtsi that should be enabled by default.
> 
> I assume that using status "okay" (or "disabled") for referenced
> nodes coming from included SoC dtsi files is fine even if these
> nodes already have the required status at the moment.

Yeah, that would be fine.

Shawn

> Otherwise I see no guarantee that the node will have my required
> status in the future as well. The status in the included files
> may be changed by someone else for whatever reason.

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2023-03-14  0:42 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-02-10 15:48 [PATCH 0/6] Add support for new boards in the imx6dl-yapp4 family Michal Vokáč
2023-02-10 15:48 ` [PATCH 1/6] dt-bindings: arm: fsl: Fix copy-paste error in comment Michal Vokáč
2023-02-11 11:45   ` Krzysztof Kozlowski
2023-03-13  8:27   ` Shawn Guo
2023-02-10 15:48 ` [PATCH 2/6] ARM: dts: imx6dl-yapp4: Change LED channel names according to dt-binding Michal Vokáč
2023-03-13  8:28   ` Shawn Guo
2023-03-13  8:48     ` Krzysztof Kozlowski
2023-03-13 10:57       ` Michal Vokáč
2023-02-10 15:48 ` [PATCH 3/6] ARM: dts: imx6dl-yapp4: Use reset-gpios property name Michal Vokáč
2023-03-13  8:29   ` Shawn Guo
2023-02-10 15:48 ` [PATCH 4/6] dt-bindings: arm: fsl: Add Y Soft IOTA Phoenix, Lynx, Pegasus and Pegasus+ Michal Vokáč
2023-02-11 11:45   ` Krzysztof Kozlowski
2023-02-10 15:48 ` [PATCH 5/6] ARM: dts: imx6dl-yapp43: Add support for new HW revision of the IOTA board Michal Vokáč
2023-03-13  8:23   ` Shawn Guo
2023-03-13 16:42     ` Michal Vokáč
2023-03-14  0:42       ` Shawn Guo
2023-02-10 15:48 ` [PATCH 6/6] MAINTAINERS: Add Michal Vokáč as yapp4 boards maintainer Michal Vokáč
2023-02-11 11:46   ` Krzysztof Kozlowski
2023-02-13  9:08     ` Michal Vokáč
2023-02-13  9:18       ` Krzysztof Kozlowski
2023-02-13  9:50         ` Michal Vokáč

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).