summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--overlays/display-lt170410-dsi-lvds_overlay.dtsi29
-rw-r--r--overlays/display-lt170410_sn65dsi84_overlay.dtsi54
-rw-r--r--overlays/display-rvt101hvdwc00b_overlay.dtsi56
-rw-r--r--overlays/display-rvt70hslnwca0_overlay.dtsi60
-rw-r--r--overlays/verdin-imx8_mipi-dsi-to-sn65dsi84.dtsi56
-rw-r--r--overlays/verdin-imx8mm_backlight-dsi_overlay.dtsi25
-rw-r--r--overlays/verdin-imx8mm_dsi-to-lvds_panel-cap-touch-10inch-lvds_overlay.dts109
-rw-r--r--overlays/verdin-imx8mm_panel-cap-touch-10inch-dsi_overlay.dts23
-rw-r--r--overlays/verdin-imx8mm_panel-cap-touch-7inch-dsi_overlay.dts23
-rw-r--r--overlays/verdin-imx8mp_backlight-dsi_overlay.dtsi25
-rw-r--r--overlays/verdin-imx8mp_dsi-to-lvds_panel-cap-touch-10inch-lvds_overlay.dts96
-rw-r--r--overlays/verdin-imx8mp_panel-cap-touch-10inch-dsi_overlay.dts29
-rw-r--r--overlays/verdin-imx8mp_panel-cap-touch-7inch-dsi_overlay.dts29
13 files changed, 353 insertions, 261 deletions
diff --git a/overlays/display-lt170410-dsi-lvds_overlay.dtsi b/overlays/display-lt170410-dsi-lvds_overlay.dtsi
new file mode 100644
index 0000000..345fbdf
--- /dev/null
+++ b/overlays/display-lt170410-dsi-lvds_overlay.dtsi
@@ -0,0 +1,29 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright 2025 Toradex
+ */
+
+// LT170410 panel with a resolution of 1280x800 pixel.
+
+&{/} {
+ panel_lt170410: panel-lt170410 {
+ compatible = "panel-lvds";
+ data-mapping = "vesa-24";
+ height-mm = <136>;
+ width-mm = <217>;
+
+ panel-timing {
+ clock-frequency = <68900000 71100000 73400000>;
+ de-active = <1>;
+ hactive = <1280 1280 1280>;
+ hback-porch = <23 60 71>;
+ hfront-porch = <23 60 71>;
+ hsync-len = <15 40 47>;
+ pixelclk-active = <1>; /* positive edge */
+ vactive = <800 800 800>;
+ vback-porch = <5 7 10>;
+ vfront-porch = <5 7 10>;
+ vsync-len = <6 9 12>;
+ };
+ };
+};
diff --git a/overlays/display-lt170410_sn65dsi84_overlay.dtsi b/overlays/display-lt170410_sn65dsi84_overlay.dtsi
deleted file mode 100644
index 14c8f3b..0000000
--- a/overlays/display-lt170410_sn65dsi84_overlay.dtsi
+++ /dev/null
@@ -1,54 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
-/*
- * Copyright 2022 Toradex
- */
-
-// Verdin DSI to LVDS Adapter with connected LT170410 display (10 inch) with a
-// resolution of 1280x800 pixel. Adapter and display can be ordered at Toradex.
-
-&lvds_ti_sn65dsi84 {
- status = "okay";
-
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
-
- port@2 {
- reg = <2>;
-
- lvds_out_panel: endpoint {
- remote-endpoint = <&panel_in_lvds>;
- };
- };
- };
-};
-
-&panel_lvds {
- compatible = "panel-lvds";
- backlight = <&backlight>;
- data-mapping = "vesa-24";
- height-mm = <136>;
- power-supply = <&reg_3p3v>;
- width-mm = <217>;
- status = "okay";
-
- panel-timing {
- clock-frequency = <68900000 71100000 73400000>;
- de-active = <1>;
- hactive = <1280 1280 1280>;
- hback-porch = <23 60 71>;
- hfront-porch = <23 60 71>;
- hsync-len = <15 40 47>;
- pixelclk-active = <1>; /* positive edge */
- vactive = <800 800 800>;
- vback-porch = <5 7 10>;
- vfront-porch = <5 7 10>;
- vsync-len = <6 9 12>;
- };
-
- port {
- panel_in_lvds: endpoint {
- remote-endpoint = <&lvds_out_panel>;
- };
- };
-};
diff --git a/overlays/display-rvt101hvdwc00b_overlay.dtsi b/overlays/display-rvt101hvdwc00b_overlay.dtsi
index e5bf1b5..a84df5e 100644
--- a/overlays/display-rvt101hvdwc00b_overlay.dtsi
+++ b/overlays/display-rvt101hvdwc00b_overlay.dtsi
@@ -5,38 +5,32 @@
// RVT101HVDWC00-B DSI display (10 inch) with a resolution of 1280x800 pixel.
-&panel_lvds {
- compatible = "panel-lvds";
- backlight = <&backlight>;
- data-mapping = "vesa-24";
- height-mm = <136>;
- width-mm = <217>;
- status = "okay";
+&{/} {
+ panel_rvt101hvdwc00: panel-rvt101hvdwc00 {
+ compatible = "panel-lvds";
+ data-mapping = "vesa-24";
+ height-mm = <136>;
+ width-mm = <217>;
- /*
- * These timings are hand-optimized and more stable then teorethical
- * In particular HBP+HS should be 88 (display datasheet)
- * Likely an higher value is needed due to dsi to lvds pipeline.
- */
- panel-timing {
- clock-frequency = <66300000 69300000 78900000>;
- de-active = <1>;
- hactive = <1280 1280 1280>;
- hback-porch = <64 64 64>;
- hfront-porch = <72 72 72>;
- hsync-active = <0>;
- hsync-len = <32 32 32>;
- pixelclk-active = <1>;
- vactive = <800 800 800>;
- vback-porch = <15 15 15>;
- vfront-porch = <15 15 15>;
- vsync-active = <0>;
- vsync-len = <8 8 8>;
- };
-
- port {
- panel_in_lvds_riv: endpoint {
- remote-endpoint = <&lvds_out_panel_riv>;
+ /*
+ * These timings are hand-optimized and more stable then teorethical
+ * In particular HBP+HS should be 88 (display datasheet)
+ * Likely an higher value is needed due to dsi to lvds pipeline.
+ */
+ panel-timing {
+ clock-frequency = <66300000 69300000 78900000>;
+ de-active = <1>;
+ hactive = <1280 1280 1280>;
+ hback-porch = <64 64 64>;
+ hfront-porch = <72 72 72>;
+ hsync-active = <0>;
+ hsync-len = <32 32 32>;
+ pixelclk-active = <1>;
+ vactive = <800 800 800>;
+ vback-porch = <15 15 15>;
+ vfront-porch = <15 15 15>;
+ vsync-active = <0>;
+ vsync-len = <8 8 8>;
};
};
};
diff --git a/overlays/display-rvt70hslnwca0_overlay.dtsi b/overlays/display-rvt70hslnwca0_overlay.dtsi
index 702b858..70703c2 100644
--- a/overlays/display-rvt70hslnwca0_overlay.dtsi
+++ b/overlays/display-rvt70hslnwca0_overlay.dtsi
@@ -5,40 +5,34 @@
// RVT70HSLNWCA0 DSI display (7 inch) with a resolution of 1024x600 pixel.
-&panel_lvds {
- compatible = "panel-lvds";
- backlight = <&backlight>;
- data-mapping = "vesa-24";
- height-mm = <86>;
- width-mm = <154>;
- status = "okay";
+&{/} {
+ panel_rvt70hslnwca0: panel-rvt70hslnwca0 {
+ compatible = "panel-lvds";
+ data-mapping = "vesa-24";
+ height-mm = <86>;
+ width-mm = <154>;
- /*
- * These timings are hand-optimized for improved stability compared to
- * theoretical values. Specifically, HBP is set to 100 and combined with
- * HS to total 160, matching the original HBP value in the datasheet. The
- * original horizontal timings caused issues with proper display functionality
- * on iMX8* platforms.
- */
- panel-timing {
- clock-frequency = <40800000 51200000 67200000>;
- de-active = <1>;
- hactive = <1024>;
- hback-porch = <100 100 100>;
- hfront-porch = <16 160 216>;
- hsync-active = <0>;
- hsync-len = <50 60 140>;
- pixelclk-active = <1>;
- vactive = <600>;
- vback-porch = <23 23 23>;
- vfront-porch = <1 12 126>;
- vsync-active = <0>;
- vsync-len = <1 10 20>;
- };
-
- port {
- panel_in_lvds_riv: endpoint {
- remote-endpoint = <&lvds_out_panel_riv>;
+ /*
+ * These timings are hand-optimized for improved stability compared to
+ * theoretical values. Specifically, HBP is set to 100 and combined with
+ * HS to total 160, matching the original HBP value in the datasheet. The
+ * original horizontal timings caused issues with proper display functionality
+ * on iMX8* platforms.
+ */
+ panel-timing {
+ clock-frequency = <40800000 51200000 67200000>;
+ de-active = <1>;
+ hactive = <1024>;
+ hback-porch = <100 100 100>;
+ hfront-porch = <16 160 216>;
+ hsync-active = <0>;
+ hsync-len = <50 60 140>;
+ pixelclk-active = <1>;
+ vactive = <600>;
+ vback-porch = <23 23 23>;
+ vfront-porch = <1 12 126>;
+ vsync-active = <0>;
+ vsync-len = <1 10 20>;
};
};
};
diff --git a/overlays/verdin-imx8_mipi-dsi-to-sn65dsi84.dtsi b/overlays/verdin-imx8_mipi-dsi-to-sn65dsi84.dtsi
deleted file mode 100644
index 889d175..0000000
--- a/overlays/verdin-imx8_mipi-dsi-to-sn65dsi84.dtsi
+++ /dev/null
@@ -1,56 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
-/*
- * Copyright 2022 Toradex
- */
-
-// Common Code to setup MIPI DSI to SN65DSI84
-
-#include <dt-bindings/gpio/gpio.h>
-
-&{/} {
- reg_dsi_lvds: regulator-dsi-lvds {
- compatible = "regulator-fixed";
- enable-active-high;
- regulator-boot-on;
- regulator-name = "DSI_1_PWR_EN";
- };
-};
-
-&lvds_ti_sn65dsi84 {
- compatible = "ti,sn65dsi84";
- vcc-supply = <&reg_dsi_lvds>;
- status = "okay";
-
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
-
- port@0 {
- reg = <0>;
-
- dsi84_in: endpoint {
- data-lanes = <1 2 3 4>;
- remote-endpoint = <&mipi_dsi_bridge1_out>;
- };
- };
- };
-};
-
-&mipi_dsi {
- samsung,esc-clock-frequency = <16000000>;
- status = "okay";
-
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
-
- port@1 {
- reg = <1>;
-
- mipi_dsi_bridge1_out: endpoint {
- attach-bridge;
- remote-endpoint = <&dsi84_in>;
- };
- };
- };
-};
diff --git a/overlays/verdin-imx8mm_backlight-dsi_overlay.dtsi b/overlays/verdin-imx8mm_backlight-dsi_overlay.dtsi
new file mode 100644
index 0000000..ea1ab26
--- /dev/null
+++ b/overlays/verdin-imx8mm_backlight-dsi_overlay.dtsi
@@ -0,0 +1,25 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright (C) 2025 Toradex
+ *
+ * Backlight on DSI connector
+ */
+
+&{/} {
+ backlight_verdin_dsi: backlight-verdin-dsi {
+ compatible = "pwm-backlight";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_i2s_2_d_out_dsi_1_bkl_en>;
+ brightness-levels = <0 45 63 88 119 158 203 255>;
+ default-brightness-level = <4>;
+ /* Verdin I2S_2_D_OUT (DSI_1_BKL_EN/DSI_1_BKL_EN_LVDS, SODIMM 46) */
+ enable-gpios = <&gpio3 24 GPIO_ACTIVE_HIGH>;
+ /* Verdin PWM_3_DSI */
+ pwms = <&pwm1 0 6666667 0>;
+ };
+};
+
+/* Verdin PWM_3_DSI */
+&pwm1 {
+ status = "okay";
+};
diff --git a/overlays/verdin-imx8mm_dsi-to-lvds_panel-cap-touch-10inch-lvds_overlay.dts b/overlays/verdin-imx8mm_dsi-to-lvds_panel-cap-touch-10inch-lvds_overlay.dts
index e9c1929..3ed39d0 100644
--- a/overlays/verdin-imx8mm_dsi-to-lvds_panel-cap-touch-10inch-lvds_overlay.dts
+++ b/overlays/verdin-imx8mm_dsi-to-lvds_panel-cap-touch-10inch-lvds_overlay.dts
@@ -13,38 +13,115 @@
compatible = "toradex,verdin-imx8mm";
};
-#include "verdin-imx8_mipi-dsi-to-sn65dsi84.dtsi"
-#include "display-lt170410_sn65dsi84_overlay.dtsi"
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/pwm/pwm.h>
-&atmel_mxt_ts {
- vdd-supply = <&reg_dsi_lvds>;
- status = "okay";
-};
+#include "verdin-imx8mm_backlight-dsi_overlay.dtsi"
+#include "display-lt170410-dsi-lvds_overlay.dtsi"
-&backlight {
- status = "okay";
+&{/} {
+ reg_dsi_lvds: regulator-dsi-lvds {
+ compatible = "regulator-fixed";
+ enable-active-high;
+ /* Verdin CTRL_SLEEP_MOCI# (SODIMM 256) */
+ gpio = <&gpio5 1 GPIO_ACTIVE_HIGH>;
+ regulator-boot-on;
+ regulator-name = "DSI_1_PWR_EN";
+ };
};
-/* Verdin I2C_2_DSI */
-&i2c2 {
- status = "okay";
+&backlight_verdin_dsi {
+ pwms = <&pwm1 0 6666667 PWM_POLARITY_INVERTED>;
};
/* Verdin I2C_1 */
&i2c4 {
+ #address-cells = <1>;
+ #size-cells = <0>;
status = "okay";
+
+ bridge@2c {
+ compatible = "ti,sn65dsi84";
+ reg = <0x2c>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_gpio_10_dsi>;
+ /* Verdin GPIO_9_DSI (SN65DSI84 IRQ, SODIMM 17, unused) */
+ /* Verdin GPIO_10_DSI (SODIMM 21) */
+ enable-gpios = <&gpio3 3 GPIO_ACTIVE_HIGH>;
+ vcc-supply = <&reg_dsi_lvds>;
+ status = "okay";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ dsi_lvds_bridge_in: endpoint {
+ data-lanes = <1 2 3 4>;
+ remote-endpoint = <&mipi_dsi_bridge1_out>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+
+ dsi_lvds_bridge_out: endpoint {
+ remote-endpoint = <&panel_in_lt170410>;
+ };
+ };
+ };
+ };
+
+ touch@4a {
+ compatible = "atmel,maxtouch";
+ reg = <0x4a>;
+ /*
+ * Verdin GPIO_9_DSI
+ * (TOUCH_INT#, SODIMM 17, also routed to SN65DSI84 IRQ albeit currently unused)
+ */
+ interrupt-parent = <&gpio3>;
+ interrupts = <15 IRQ_TYPE_EDGE_FALLING>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_gpio_9_dsi>, <&pinctrl_i2s_2_bclk_touch_reset>;
+ /* Verdin I2S_2_BCLK (TOUCH_RESET#, SODIMM 42) */
+ reset-gpios = <&gpio3 23 GPIO_ACTIVE_LOW>;
+ vdd-supply = <&reg_dsi_lvds>;
+ status = "okay";
+ };
};
&lcdif {
status = "okay";
};
-/* Verdin PWM_3_DSI */
-&pwm1 {
+&mipi_dsi {
+ samsung,esc-clock-frequency = <16000000>;
status = "okay";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@1 {
+ reg = <1>;
+
+ mipi_dsi_bridge1_out: endpoint {
+ attach-bridge;
+ remote-endpoint = <&dsi_lvds_bridge_in>;
+ };
+ };
+ };
};
-&reg_dsi_lvds {
- /* Verdin CTRL_SLEEP_MOCI# (SODIMM 256) */
- gpio = <&gpio5 1 GPIO_ACTIVE_HIGH>;
+&panel_lt170410 {
+ backlight = <&backlight_verdin_dsi>;
+
+ port {
+ panel_in_lt170410: endpoint {
+ remote-endpoint = <&dsi_lvds_bridge_out>;
+ };
+ };
};
diff --git a/overlays/verdin-imx8mm_panel-cap-touch-10inch-dsi_overlay.dts b/overlays/verdin-imx8mm_panel-cap-touch-10inch-dsi_overlay.dts
index fdc4bf1..9e2aab3 100644
--- a/overlays/verdin-imx8mm_panel-cap-touch-10inch-dsi_overlay.dts
+++ b/overlays/verdin-imx8mm_panel-cap-touch-10inch-dsi_overlay.dts
@@ -14,11 +14,18 @@
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/gpio/gpio.h>
+
#include "display-rvt101hvdwc00b_overlay.dtsi"
+#include "verdin-imx8mm_backlight-dsi_overlay.dtsi"
-&backlight {
- pwms = <&pwm1 0 6666667 0>;
- status = "okay";
+&panel_rvt101hvdwc00 {
+ backlight = <&backlight_verdin_dsi>;
+
+ port {
+ panel_in_rvt101hvdwc00: endpoint {
+ remote-endpoint = <&dsi_lvds_bridge_out>;
+ };
+ };
};
/* Verdin I2C_2_DSI */
@@ -35,6 +42,7 @@
enable-gpios = <&gpio3 3 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpio_10_dsi>;
+ status = "okay";
ports {
#address-cells = <1>;
@@ -43,7 +51,7 @@
port@0 {
reg = <0>;
- dsi_riv_in: endpoint {
+ dsi_lvds_bridge_in: endpoint {
data-lanes = <1 2 3 4>;
remote-endpoint = <&mipi_dsi_bridge1_out>;
};
@@ -52,8 +60,8 @@
port@2 {
reg = <2>;
- lvds_out_panel_riv: endpoint {
- remote-endpoint = <&panel_in_lvds_riv>;
+ dsi_lvds_bridge_out: endpoint {
+ remote-endpoint = <&panel_in_rvt101hvdwc00>;
};
};
};
@@ -69,6 +77,7 @@
pinctrl-0 = <&pinctrl_gpio_9_dsi>, <&pinctrl_i2s_2_bclk_touch_reset>;
/* Verdin I2S_2_BCLK (TOUCH_RESET#, SODIMM 42) */
reset-gpios = <&gpio3 23 GPIO_ACTIVE_LOW>;
+ status = "okay";
};
};
@@ -89,7 +98,7 @@
mipi_dsi_bridge1_out: endpoint {
attach-bridge;
- remote-endpoint = <&dsi_riv_in>;
+ remote-endpoint = <&dsi_lvds_bridge_in>;
};
};
};
diff --git a/overlays/verdin-imx8mm_panel-cap-touch-7inch-dsi_overlay.dts b/overlays/verdin-imx8mm_panel-cap-touch-7inch-dsi_overlay.dts
index 30131d6..9bc3666 100644
--- a/overlays/verdin-imx8mm_panel-cap-touch-7inch-dsi_overlay.dts
+++ b/overlays/verdin-imx8mm_panel-cap-touch-7inch-dsi_overlay.dts
@@ -14,11 +14,18 @@
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/gpio/gpio.h>
+
#include "display-rvt70hslnwca0_overlay.dtsi"
+#include "verdin-imx8mm_backlight-dsi_overlay.dtsi"
-&backlight {
- pwms = <&pwm1 0 6666667 0>;
- status = "okay";
+&panel_rvt70hslnwca0 {
+ backlight = <&backlight_verdin_dsi>;
+
+ port {
+ panel_in_rvt70hslnwca0: endpoint {
+ remote-endpoint = <&dsi_lvds_bridge_out>;
+ };
+ };
};
/* Verdin I2C_2_DSI */
@@ -35,6 +42,7 @@
enable-gpios = <&gpio3 3 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpio_10_dsi>;
+ status = "okay";
ports {
#address-cells = <1>;
@@ -43,7 +51,7 @@
port@0 {
reg = <0>;
- dsi_riv_in: endpoint {
+ dsi_lvds_bridge_in: endpoint {
data-lanes = <1 2 3 4>;
remote-endpoint = <&mipi_dsi_bridge1_out>;
};
@@ -52,8 +60,8 @@
port@2 {
reg = <2>;
- lvds_out_panel_riv: endpoint {
- remote-endpoint = <&panel_in_lvds_riv>;
+ dsi_lvds_bridge_out: endpoint {
+ remote-endpoint = <&panel_in_rvt70hslnwca0>;
};
};
};
@@ -69,6 +77,7 @@
pinctrl-0 = <&pinctrl_gpio_9_dsi>, <&pinctrl_i2s_2_bclk_touch_reset>;
/* Verdin I2S_2_BCLK (TOUCH_RESET#, SODIMM 42) */
reset-gpios = <&gpio3 23 GPIO_ACTIVE_LOW>;
+ status = "okay";
};
};
@@ -89,7 +98,7 @@
mipi_dsi_bridge1_out: endpoint {
attach-bridge;
- remote-endpoint = <&dsi_riv_in>;
+ remote-endpoint = <&dsi_lvds_bridge_in>;
};
};
};
diff --git a/overlays/verdin-imx8mp_backlight-dsi_overlay.dtsi b/overlays/verdin-imx8mp_backlight-dsi_overlay.dtsi
new file mode 100644
index 0000000..bb6d6d6
--- /dev/null
+++ b/overlays/verdin-imx8mp_backlight-dsi_overlay.dtsi
@@ -0,0 +1,25 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright (C) 2025 Toradex
+ *
+ * Backlight on DSI connector
+ */
+
+&{/} {
+ backlight_verdin_dsi: backlight-verdin-dsi {
+ compatible = "pwm-backlight";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_i2s_2_d_out_dsi_1_bkl_en>;
+ brightness-levels = <0 45 63 88 119 158 203 255>;
+ default-brightness-level = <4>;
+ /* Verdin I2S_2_D_OUT (DSI_1_BKL_EN/DSI_1_BKL_EN_LVDS, SODIMM 46) */
+ enable-gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>;
+ /* Verdin PWM_3_DSI */
+ pwms = <&pwm3 0 6666667 0>;
+ };
+};
+
+/* Verdin PWM_3_DSI */
+&pwm3 {
+ status = "okay";
+};
diff --git a/overlays/verdin-imx8mp_dsi-to-lvds_panel-cap-touch-10inch-lvds_overlay.dts b/overlays/verdin-imx8mp_dsi-to-lvds_panel-cap-touch-10inch-lvds_overlay.dts
index 80703c5..c0bf87e 100644
--- a/overlays/verdin-imx8mp_dsi-to-lvds_panel-cap-touch-10inch-lvds_overlay.dts
+++ b/overlays/verdin-imx8mp_dsi-to-lvds_panel-cap-touch-10inch-lvds_overlay.dts
@@ -9,36 +9,30 @@
/dts-v1/;
/plugin/;
+/ {
+ compatible = "toradex,verdin-imx8mp";
+};
+
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/pwm/pwm.h>
-/ {
- compatible = "toradex,verdin-imx8mp";
-};
+#include "verdin-imx8mp_backlight-dsi_overlay.dtsi"
+#include "display-lt170410-dsi-lvds_overlay.dtsi"
&{/} {
- backlight {
- compatible = "pwm-backlight";
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_i2s_2_d_out_dsi_1_bkl_en>;
- brightness-levels = <0 45 63 88 119 158 203 255>;
- default-brightness-level = <4>;
- /* Verdin I2S_2_D_OUT (DSI_1_BKL_EN/DSI_1_BKL_EN_LVDS, SODIMM 46) */
- enable-gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>;
- power-supply = <&reg_3p3v>;
- /* Verdin PWM_3_DSI/PWM_3_DSI_LVDS (SODIMM 19) */
- pwms = <&pwm3 0 6666667 PWM_POLARITY_INVERTED>;
- status = "okay";
+ reg_dsi_lvds: regulator-dsi-lvds {
+ compatible = "regulator-fixed";
+ enable-active-high;
+ /* Verdin CTRL_SLEEP_MOCI# (SODIMM 256) */
+ gpio = <&gpio4 29 GPIO_ACTIVE_HIGH>;
+ regulator-boot-on;
+ regulator-name = "DSI_1_PWR_EN";
};
+};
- panel_lvds: panel-lvds {
- compatible = "panel-lvds";
- backlight = <&backlight>;
- data-mapping = "vesa-24";
- height-mm = <136>;
- width-mm = <217>;
- };
+&backlight_verdin_dsi {
+ pwms = <&pwm3 0 6666667 PWM_POLARITY_INVERTED>;
};
/* Verdin I2C_1 */
@@ -47,7 +41,7 @@
#size-cells = <0>;
status = "okay";
- lvds_ti_sn65dsi84: bridge@2c {
+ bridge@2c {
compatible = "ti,sn65dsi84";
reg = <0x2c>;
pinctrl-names = "default";
@@ -55,6 +49,30 @@
/* Verdin GPIO_9_DSI (SN65DSI84 IRQ, SODIMM 17, unused) */
/* Verdin GPIO_10_DSI (SODIMM 21) */
enable-gpios = <&gpio4 28 GPIO_ACTIVE_HIGH>;
+ vcc-supply = <&reg_dsi_lvds>;
+ status = "okay";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ dsi_lvds_bridge_in: endpoint {
+ data-lanes = <1 2 3 4>;
+ remote-endpoint = <&mipi_dsi_bridge1_out>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+
+ dsi_lvds_bridge_out: endpoint {
+ remote-endpoint = <&panel_in_lt170410>;
+ };
+ };
+ };
};
touch@4a {
@@ -80,16 +98,32 @@
status = "okay";
};
-/* Verdin PWM_3_DSI */
-&pwm3 {
+&mipi_dsi {
+ samsung,esc-clock-frequency = <16000000>;
status = "okay";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@1 {
+ reg = <1>;
+
+ mipi_dsi_bridge1_out: endpoint {
+ attach-bridge;
+ remote-endpoint = <&dsi_lvds_bridge_in>;
+ };
+ };
+ };
};
-&reg_dsi_lvds {
- /* Verdin CTRL_SLEEP_MOCI# (SODIMM 256) */
- gpio = <&gpio4 29 GPIO_ACTIVE_HIGH>;
+&panel_lt170410 {
+ backlight = <&backlight_verdin_dsi>;
+
+ port {
+ panel_in_lt170410: endpoint {
+ remote-endpoint = <&dsi_lvds_bridge_out>;
+ };
+ };
};
-/* As the following make use of labels only just created above */
-#include "display-lt170410_sn65dsi84_overlay.dtsi"
-#include "verdin-imx8_mipi-dsi-to-sn65dsi84.dtsi"
diff --git a/overlays/verdin-imx8mp_panel-cap-touch-10inch-dsi_overlay.dts b/overlays/verdin-imx8mp_panel-cap-touch-10inch-dsi_overlay.dts
index fe0b115..91eedfe 100644
--- a/overlays/verdin-imx8mp_panel-cap-touch-10inch-dsi_overlay.dts
+++ b/overlays/verdin-imx8mp_panel-cap-touch-10inch-dsi_overlay.dts
@@ -15,14 +15,17 @@
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/gpio/gpio.h>
-&{/} {
- panel_lvds: panel-lvds {
- };
-};
+#include "display-rvt101hvdwc00b_overlay.dtsi"
+#include "verdin-imx8mm_backlight-dsi_overlay.dtsi"
-&backlight {
- pwms = <&pwm3 0 6666667 0>;
- status = "okay";
+&panel_rvt101hvdwc00 {
+ backlight = <&backlight_verdin_dsi>;
+
+ port {
+ panel_in_rvt101hvdwc00: endpoint {
+ remote-endpoint = <&dsi_lvds_bridge_out>;
+ };
+ };
};
/* Verdin I2C_2_DSI */
@@ -39,6 +42,7 @@
enable-gpios = <&gpio4 28 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpio_10_dsi>;
+ status = "okay";
ports {
#address-cells = <1>;
@@ -47,7 +51,7 @@
port@0 {
reg = <0>;
- dsi_riv_in: endpoint {
+ dsi_lvds_bridge_in: endpoint {
data-lanes = <1 2 3 4>;
remote-endpoint = <&mipi_dsi_bridge1_out>;
};
@@ -56,8 +60,8 @@
port@2 {
reg = <2>;
- lvds_out_panel_riv: endpoint {
- remote-endpoint = <&panel_in_lvds_riv>;
+ dsi_lvds_bridge_out: endpoint {
+ remote-endpoint = <&panel_in_rvt101hvdwc00>;
};
};
};
@@ -73,6 +77,7 @@
pinctrl-0 = <&pinctrl_gpio_9_dsi>, <&pinctrl_i2s_2_bclk_touch_reset>;
/* Verdin I2S_2_BCLK (TOUCH_RESET#, SODIMM 42) */
reset-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
+ status = "okay";
};
};
@@ -94,10 +99,8 @@
mipi_dsi_bridge1_out: endpoint {
attach-bridge;
- remote-endpoint = <&dsi_riv_in>;
+ remote-endpoint = <&dsi_lvds_bridge_in>;
};
};
};
};
-
-#include "display-rvt101hvdwc00b_overlay.dtsi"
diff --git a/overlays/verdin-imx8mp_panel-cap-touch-7inch-dsi_overlay.dts b/overlays/verdin-imx8mp_panel-cap-touch-7inch-dsi_overlay.dts
index 4fd4969..b34d101 100644
--- a/overlays/verdin-imx8mp_panel-cap-touch-7inch-dsi_overlay.dts
+++ b/overlays/verdin-imx8mp_panel-cap-touch-7inch-dsi_overlay.dts
@@ -15,14 +15,17 @@
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/gpio/gpio.h>
-&{/} {
- panel_lvds: panel-lvds {
- };
-};
+#include "display-rvt70hslnwca0_overlay.dtsi"
+#include "verdin-imx8mp_backlight-dsi_overlay.dtsi"
-&backlight {
- pwms = <&pwm3 0 6666667 0>;
- status = "okay";
+&panel_rvt70hslnwca0 {
+ backlight = <&backlight_verdin_dsi>;
+
+ port {
+ panel_in_rvt70hslnwca0: endpoint {
+ remote-endpoint = <&dsi_lvds_bridge_out>;
+ };
+ };
};
/* Verdin I2C_2_DSI */
@@ -39,6 +42,7 @@
enable-gpios = <&gpio4 28 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpio_10_dsi>;
+ status = "okay";
ports {
#address-cells = <1>;
@@ -47,7 +51,7 @@
port@0 {
reg = <0>;
- dsi_riv_in: endpoint {
+ dsi_lvds_bridge_in: endpoint {
data-lanes = <1 2 3 4>;
remote-endpoint = <&mipi_dsi_bridge1_out>;
};
@@ -56,8 +60,8 @@
port@2 {
reg = <2>;
- lvds_out_panel_riv: endpoint {
- remote-endpoint = <&panel_in_lvds_riv>;
+ dsi_lvds_bridge_out: endpoint {
+ remote-endpoint = <&panel_in_rvt70hslnwca0>;
};
};
};
@@ -73,6 +77,7 @@
pinctrl-0 = <&pinctrl_gpio_9_dsi>, <&pinctrl_i2s_2_bclk_touch_reset>;
/* Verdin I2S_2_BCLK (TOUCH_RESET#, SODIMM 42) */
reset-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
+ status = "okay";
};
};
@@ -94,10 +99,8 @@
mipi_dsi_bridge1_out: endpoint {
attach-bridge;
- remote-endpoint = <&dsi_riv_in>;
+ remote-endpoint = <&dsi_lvds_bridge_in>;
};
};
};
};
-
-#include "display-rvt70hslnwca0_overlay.dtsi"