summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgor Opaniuk <igor.opaniuk@toradex.com>2020-05-26 13:23:43 +0300
committerIgor Opaniuk <igor.opaniuk@toradex.com>2020-05-26 14:37:06 +0300
commitfc95c1137968488a172c45dc66813fd3e79286e8 (patch)
tree6736f7d3ac676bc261cd497458cec925f794fba9
overlays: add initial overlays
Naming format: <machine>_<function>_overlay.dts Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
-rw-r--r--overlays/apalis-imx6_atmel-mxt_overlay.dts22
-rw-r--r--overlays/apalis-imx6_lvds_overlay.dts14
-rw-r--r--overlays/apalis-imx6_parallel-rgb_overlay.dts14
-rw-r--r--overlays/apalis-imx8qm_atmel-mxt_overlay.dts43
-rw-r--r--overlays/apalis-imx8qm_display-lt170410_overlay.dts47
-rw-r--r--overlays/apalis-imx8qm_st-m41t0_overlay.dts29
-rw-r--r--overlays/apalis-imx8x_ad7879_overlay.dts48
-rw-r--r--overlays/apalis-imx8x_atmel-mxt_overlay.dts43
-rw-r--r--overlays/apalis-imx8x_display-lt161010_overlay.dts42
-rw-r--r--overlays/apalis-imx8x_display-lt170410_overlay.dts40
-rw-r--r--overlays/colibri-imx6-aster_atmel-mxt_overlay.dts40
-rw-r--r--overlays/colibri-imx6-eval_atmel-mxt_overlay.dts33
-rw-r--r--overlays/colibri-imx7-aster_atmel-mxt_overlay.dts34
-rw-r--r--overlays/colibri-imx7-eval_atmel-mxt_overlay.dts52
-rw-r--r--overlays/colibri-imx8x_ad7879_overlay.dts47
-rw-r--r--overlays/colibri-imx8x_atmel-mxt_overlay.dts43
-rw-r--r--overlays/colibri-imx8x_disable-parallel-rgb_overlay.dts18
-rw-r--r--overlays/colibri-imx8x_display-lt170410_overlay.dts42
-rw-r--r--overlays/colibri-imx8x_dsihdmi_overlay.dts270
-rw-r--r--overlays/display-edt5.7_overlay.dts27
-rw-r--r--overlays/display-edt7_overlay.dts27
-rw-r--r--overlays/display-lt161010_overlay.dts28
-rw-r--r--overlays/display-lt170410_overlay.dts34
23 files changed, 1037 insertions, 0 deletions
diff --git a/overlays/apalis-imx6_atmel-mxt_overlay.dts b/overlays/apalis-imx6_atmel-mxt_overlay.dts
new file mode 100644
index 0000000..6fae23b
--- /dev/null
+++ b/overlays/apalis-imx6_atmel-mxt_overlay.dts
@@ -0,0 +1,22 @@
+// Atmel MXT touchscreen for the 7inch and 10inch display orderable at Toradex.
+
+/dts-v1/;
+/plugin/;
+
+/ {
+ compatible = "toradex,apalis_imx6q";
+ fragment@0 {
+ target-path="/soc/aips-bus@2100000/i2c@21a0000";
+ __overlay__ {
+ status = "okay";
+ atmel_mxt_ts: atmel_mxt_ts@4a {
+ compatible = "atmel,maxtouch";
+ reg = <0x4a>;
+ interrupt-parent = <&gpio6>;
+ interrupts = <10 2>;
+ reset-gpios = <&gpio6 9 0>;
+ status = "okay";
+ };
+ };
+ };
+};
diff --git a/overlays/apalis-imx6_lvds_overlay.dts b/overlays/apalis-imx6_lvds_overlay.dts
new file mode 100644
index 0000000..6adcf93
--- /dev/null
+++ b/overlays/apalis-imx6_lvds_overlay.dts
@@ -0,0 +1,14 @@
+// Enable the LVDS interface on the Apalis iMX6Q. Make sure to also select a valid display configuration.
+
+/dts-v1/;
+/plugin/;
+
+/ {
+ compatible = "toradex,apalis_imx6q";
+ fragment@0 {
+ target-path = "/ldb";
+ __overlay__ {
+ status = "okay";
+ };
+ };
+};
diff --git a/overlays/apalis-imx6_parallel-rgb_overlay.dts b/overlays/apalis-imx6_parallel-rgb_overlay.dts
new file mode 100644
index 0000000..b8eacde
--- /dev/null
+++ b/overlays/apalis-imx6_parallel-rgb_overlay.dts
@@ -0,0 +1,14 @@
+// Enable the parallel RGB interface on the Apalis iMX6Q. Make sure to also select a valid display configuration.
+
+/dts-v1/;
+/plugin/;
+
+/ {
+ compatible = "toradex,apalis_imx6q";
+ fragment@0 {
+ target-path = "/disp0";
+ __overlay__ {
+ status = "okay";
+ };
+ };
+};
diff --git a/overlays/apalis-imx8qm_atmel-mxt_overlay.dts b/overlays/apalis-imx8qm_atmel-mxt_overlay.dts
new file mode 100644
index 0000000..0c60ad6
--- /dev/null
+++ b/overlays/apalis-imx8qm_atmel-mxt_overlay.dts
@@ -0,0 +1,43 @@
+// Atmel MXT touchscreen for the 7inch and 10inch display orderable at Toradex.
+
+/dts-v1/;
+/plugin/;
+
+#include "dt-bindings/interrupt-controller/irq.h"
+#include "dt-bindings/gpio/gpio.h"
+#include "dt-bindings/pinctrl/pads-imx8qm.h"
+
+/ {
+ compatible = "toradex,apalis-imx8qm";
+ fragment@0 {
+ target = <&i2c2>;
+ __overlay__ {
+ /* Atmel maxtouch controller */
+ atmel_mxt_ts: atmel_mxt_ts@4a {
+ compatible = "atmel,maxtouch";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_touch>;
+ reg = <0x4a>;
+ interrupt-parent = <&gpio4>;
+ interrupts = <1 IRQ_TYPE_EDGE_FALLING>; /* Apalis GPIO5 */
+ reset-gpios = <&gpio4 2 GPIO_ACTIVE_HIGH>; /* Apalis GPIO6 */
+ status = "okay";
+ };
+ };
+ };
+
+ fragment@1 {
+ target = <&iomuxc>;
+ __overlay__ {
+ apalis-imx8qm {
+ /* Apalis GPIO5+6 */
+ pinctrl_touch: touchgrp {
+ fsl,pins = <
+ SC_P_FLEXCAN2_RX_LSIO_GPIO4_IO01 0x06000021
+ SC_P_FLEXCAN2_TX_LSIO_GPIO4_IO02 0x06000021
+ >;
+ };
+ };
+ };
+ };
+};
diff --git a/overlays/apalis-imx8qm_display-lt170410_overlay.dts b/overlays/apalis-imx8qm_display-lt170410_overlay.dts
new file mode 100644
index 0000000..88a6a1d
--- /dev/null
+++ b/overlays/apalis-imx8qm_display-lt170410_overlay.dts
@@ -0,0 +1,47 @@
+// LT170410 display (10inch) with a resolution of 1280x800 pixel. This display can be ordered at Toradex.
+
+/dts-v1/;
+/plugin/;
+/ {
+ compatible = "toradex,apalis-imx8qm";
+ fragment@0 {
+ target = <&ldb2>;
+ __overlay__ {
+ status = "okay";
+ };
+ };
+
+ fragment@1 {
+ target = <&ldb2_phy>;
+ __overlay__ {
+ status = "okay";
+ };
+ };
+
+ fragment@2 {
+ target-path = "/lvds1_panel";
+ __overlay__ {
+ status = "okay";
+ compatible = "panel-lvds";
+
+ data-mapping = "vesa-24";
+ width-mm = <1280>;
+ height-mm = <800>;
+
+ panel-timing {
+ clock-frequency = <68930000>;
+ hactive = <1280>;
+ vactive = <800>;
+ hback-porch = <64>;
+ hfront-porch = <64>;
+ vback-porch = <5>;
+ vfront-porch = <5>;
+ hsync-len = <40>;
+ vsync-len = <6>;
+ hsync-active = <0>;
+ vsync-active = <0>;
+ pixelclk-active = <0>;
+ };
+ };
+ };
+};
diff --git a/overlays/apalis-imx8qm_st-m41t0_overlay.dts b/overlays/apalis-imx8qm_st-m41t0_overlay.dts
new file mode 100644
index 0000000..5a91eef
--- /dev/null
+++ b/overlays/apalis-imx8qm_st-m41t0_overlay.dts
@@ -0,0 +1,29 @@
+// Enble the external m41t0 RTC from ST
+
+/dts-v1/;
+/plugin/;
+
+#include "dt-bindings/interrupt-controller/irq.h"
+#include "dt-bindings/gpio/gpio.h"
+
+/ {
+ compatible = "toradex,apalis-imx8qm";
+ fragment@0 {
+ target = <&i2c2>;
+ __overlay__ {
+ /* M41T0M6 real time clock on carrier board */
+ rtc_i2c: rtc@68 {
+ compatible = "st,m41t0";
+ reg = <0x68>;
+ };
+ };
+ };
+ fragment@1 {
+ target-path = "/aliases";
+ __overlay__ {
+ aliases {
+ rtc0 = &rtc_i2c;
+ };
+ };
+ };
+};
diff --git a/overlays/apalis-imx8x_ad7879_overlay.dts b/overlays/apalis-imx8x_ad7879_overlay.dts
new file mode 100644
index 0000000..84511cb
--- /dev/null
+++ b/overlays/apalis-imx8x_ad7879_overlay.dts
@@ -0,0 +1,48 @@
+// Enable the resistive touch controller (AD7879) on the module
+
+/dts-v1/;
+/plugin/;
+
+#include "dt-bindings/interrupt-controller/irq.h"
+#include "dt-bindings/gpio/gpio.h"
+#include "dt-bindings/pinctrl/pads-imx8qxp.h"
+
+/ {
+ compatible = "toradex,apalis-imx8qxp";
+ fragment@0 {
+ target = <&i2c0>;
+ __overlay__ {
+ /* Touch controller */
+ ad7879@2c {
+ compatible = "adi,ad7879-1";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_ad7879_int>;
+ reg = <0x2c>;
+ interrupt-parent = <&gpio3>;
+ interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
+ touchscreen-max-pressure = <4096>;
+ adi,resistance-plate-x = <120>;
+ adi,first-conversion-delay = /bits/ 8 <3>;
+ adi,acquisition-time = /bits/ 8 <1>;
+ adi,median-filter-size = /bits/ 8 <2>;
+ adi,averaging = /bits/ 8 <1>;
+ adi,conversion-interval = /bits/ 8 <255>;
+ };
+ };
+ };
+
+ fragment@1 {
+ target = <&iomuxc>;
+ __overlay__ {
+ apalis-imx8qxp {
+ /* On-module touch pen-down interrupt */
+ pinctrl_ad7879_int: ad7879-int {
+ fsl,pins = <
+ SC_P_MIPI_CSI0_I2C0_SCL_LSIO_GPIO3_IO05 0x21
+ >;
+ };
+ };
+ };
+ };
+
+};
diff --git a/overlays/apalis-imx8x_atmel-mxt_overlay.dts b/overlays/apalis-imx8x_atmel-mxt_overlay.dts
new file mode 100644
index 0000000..1cb649f
--- /dev/null
+++ b/overlays/apalis-imx8x_atmel-mxt_overlay.dts
@@ -0,0 +1,43 @@
+// Atmel MXT touchscreen for the 7inch and 10inch display orderable at Toradex.
+
+/dts-v1/;
+/plugin/;
+
+#include "dt-bindings/interrupt-controller/irq.h"
+#include "dt-bindings/gpio/gpio.h"
+#include "dt-bindings/pinctrl/pads-imx8qxp.h"
+
+/ {
+ compatible = "toradex,apalis-imx8qxp";
+ fragment@0 {
+ target = <&i2c1>;
+ __overlay__ {
+ /* Atmel maxtouch controller */
+ atmel_mxt_ts: atmel_mxt_ts@4a {
+ compatible = "atmel,maxtouch";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_touch>;
+ reg = <0x4a>;
+ interrupt-parent = <&gpio3>;
+ interrupts = <17 IRQ_TYPE_EDGE_FALLING>; /* Apalis GPIO5 */
+ reset-gpios = <&gpio3 18 GPIO_ACTIVE_HIGH>; /* Apalis GPIO6 */
+ status = "okay";
+ };
+ };
+ };
+
+ fragment@1 {
+ target = <&iomuxc>;
+ __overlay__ {
+ apalis-imx8qxp {
+ /* Apalis GPIO5+6 */
+ pinctrl_touch: touchgrp {
+ fsl,pins = <
+ SC_P_QSPI0B_SCLK_LSIO_GPIO3_IO17 0x21 /* MXM3 11 */
+ SC_P_QSPI0B_DATA0_LSIO_GPIO3_IO18 0x21 /* MXM3 13 */
+ >;
+ };
+ };
+ };
+ };
+};
diff --git a/overlays/apalis-imx8x_display-lt161010_overlay.dts b/overlays/apalis-imx8x_display-lt161010_overlay.dts
new file mode 100644
index 0000000..2e94aa7
--- /dev/null
+++ b/overlays/apalis-imx8x_display-lt161010_overlay.dts
@@ -0,0 +1,42 @@
+// LT161010 display (7inch) with a resolution of 800x480 pixel. This display can be ordered at Toradex.
+
+/dts-v1/;
+/plugin/;
+/ {
+ compatible = "toradex,apalis-imx8qxp";
+ fragment@0 {
+ target-path = "/lcdif@5a180000";
+ __overlay__ {
+ status = "okay";
+ };
+ };
+
+ fragment@1 {
+ target-path = "/panel-1";
+ __overlay__ {
+ compatible = "panel-dpi";
+
+ width-mm = <217>;
+ height-mm = <136>;
+
+ data-mapping = "bgr666";
+
+ panel-timing {
+ clock-frequency = <33260000>;
+ hactive = <800>;
+ vactive = <480>;
+ hback-porch = <88>;
+ hfront-porch = <40>;
+ vback-porch = <32>;
+ vfront-porch = <13>;
+ hsync-len = <48>;
+ vsync-len = <3>;
+
+ de-active = <1>;
+ hsync-active = <0>;
+ vsync-active = <0>;
+ pixelclk-active = <1>;
+ };
+ };
+ };
+};
diff --git a/overlays/apalis-imx8x_display-lt170410_overlay.dts b/overlays/apalis-imx8x_display-lt170410_overlay.dts
new file mode 100644
index 0000000..57a2a88
--- /dev/null
+++ b/overlays/apalis-imx8x_display-lt170410_overlay.dts
@@ -0,0 +1,40 @@
+// LT170410 display (10inch) with a resolution of 1280x800 pixel. This display can be ordered at Toradex.
+
+/dts-v1/;
+/plugin/;
+/ {
+ compatible = "toradex,apalis-imx8qxp";
+ fragment@0 {
+ target = <&ldb1>;
+ __overlay__ {
+ status = "okay";
+ };
+ };
+
+ fragment@1 {
+ target = <&panel_2>;
+ __overlay__ {
+ status = "okay";
+ compatible = "panel-lvds";
+
+ data-mapping = "vesa-24";
+ width-mm = <1280>;
+ height-mm = <800>;
+
+ panel-timing {
+ clock-frequency = <68930000>;
+ hactive = <1280>;
+ vactive = <800>;
+ hback-porch = <64>;
+ hfront-porch = <64>;
+ vback-porch = <5>;
+ vfront-porch = <5>;
+ hsync-len = <40>;
+ vsync-len = <6>;
+ hsync-active = <0>;
+ vsync-active = <0>;
+ pixelclk-active = <0>;
+ };
+ };
+ };
+};
diff --git a/overlays/colibri-imx6-aster_atmel-mxt_overlay.dts b/overlays/colibri-imx6-aster_atmel-mxt_overlay.dts
new file mode 100644
index 0000000..11fd1ea
--- /dev/null
+++ b/overlays/colibri-imx6-aster_atmel-mxt_overlay.dts
@@ -0,0 +1,40 @@
+// Atmel touchscreen for the 7inch capacitive display orderable at Toradex. Use this devicetree on the Aster board.
+
+/dts-v1/;
+/plugin/;
+
+/ {
+ compatible = "toradex,colibri_imx6dl";
+ fragment@0 {
+ target = <&weim>;
+ __overlay__{
+ status = "disabled";
+ };
+ };
+ fragment@1 {
+ target = <&iomuxc>;
+ __overlay__ {
+ pinctrl_atmel_mxt_ts: atmelmxttsgrp {
+ fsl,pins = <
+ 0x300 0x6e8 0x000 0x5 0x0 0x1b0b1
+ 0x140 0x510 0x000 0x5 0x0 0x1b0b1
+ >;
+ };
+ };
+ };
+ fragment@2 {
+ target = <&i2c3>;
+ __overlay__ {
+ atmel_mxt_ts: atmel_mxt_ts@4a {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_atmel_mxt_ts>;
+ compatible = "atmel,maxtouch";
+ reg = <0x4a>;
+ interrupt-parent = <&gpio2>;
+ interrupts = <24 2>;
+ reset-gpios = <&gpio1 14 0>;
+ status = "okay";
+ };
+ };
+ };
+};
diff --git a/overlays/colibri-imx6-eval_atmel-mxt_overlay.dts b/overlays/colibri-imx6-eval_atmel-mxt_overlay.dts
new file mode 100644
index 0000000..fac62f0
--- /dev/null
+++ b/overlays/colibri-imx6-eval_atmel-mxt_overlay.dts
@@ -0,0 +1,33 @@
+// Atmel touchscreen for the 7inch and 10inch display orderable at Toradex. Use this devicetree on the Evaluation or Iris board.
+
+/dts-v1/;
+/plugin/;
+
+/ {
+ compatible = "toradex,colibri_imx6dl";
+ fragment@0 {
+ target = <&i2c3>;
+ __overlay__ {
+ atmel_mxt_ts: atmel_mxt_ts@4a {
+ compatible = "atmel,maxtouch";
+ reg = <0x4a>;
+ interrupt-parent = <&gpio1>;
+ interrupts = <9 2>;
+ reset-gpios = <&gpio2 10 0>;
+ status = "okay";
+ };
+ };
+ };
+ fragment@1 {
+ target = <&pwm1>;
+ __overlay__ {
+ status = "disabled";
+ };
+ };
+ fragment@2 {
+ target = <&pwm4>;
+ __overlay__{
+ status = "disabled";
+ };
+ };
+};
diff --git a/overlays/colibri-imx7-aster_atmel-mxt_overlay.dts b/overlays/colibri-imx7-aster_atmel-mxt_overlay.dts
new file mode 100644
index 0000000..0fef20c
--- /dev/null
+++ b/overlays/colibri-imx7-aster_atmel-mxt_overlay.dts
@@ -0,0 +1,34 @@
+// Atmel touchscreen for the 7inch capacitive display orderable at Toradex. Use this devicetree on the Aster board.
+
+/dts-v1/;
+/plugin/;
+/ {
+ compatible = "toradex,colibri-imx7d-emmc";
+ fragment@0 {
+ target = <&i2c4>;
+ __overlay__ {
+ atmel_mxt_ts: atmel_mxt_ts@4a {
+ compatible = "atmel,maxtouch";
+ reg = <0x4a>;
+ interrupt-parent = <&gpio2>;
+ interrupts = <15 2>;
+ reset-gpios = <&gpio2 28 0>;
+ status = "okay";
+ };
+ };
+ };
+
+ fragment@1 {
+ target = <&pwm2>;
+ __overlay__ {
+ status = "disabled";
+ };
+ };
+
+ fragment@2 {
+ target = <&pwm3>;
+ __overlay__ {
+ status = "disabled";
+ };
+ };
+};
diff --git a/overlays/colibri-imx7-eval_atmel-mxt_overlay.dts b/overlays/colibri-imx7-eval_atmel-mxt_overlay.dts
new file mode 100644
index 0000000..2f29eff
--- /dev/null
+++ b/overlays/colibri-imx7-eval_atmel-mxt_overlay.dts
@@ -0,0 +1,52 @@
+// Atmel touchscreen for the 7inch capacitive display orderable at Toradex. Use this devicetree on the Evaluation or Iris board.
+
+/dts-v1/;
+/plugin/;
+
+/ {
+ compatible = "toradex,colibri-imx7d-emmc";
+ fragment@0 {
+ target = <&i2c4>;
+ __overlay__ {
+ atmel_mxt_ts: atmel_mxt_ts@4a {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_atmel_mxt_ts>;
+ compatible = "atmel,maxtouch";
+ reg = <0x4a>;
+ interrupt-parent = <&gpio1>;
+ interrupts = <9 2>;
+ reset-gpios = <&gpio1 10 0>;
+ status = "okay";
+ };
+ };
+ };
+ fragment@1 {
+ target = <&pwm2>;
+ __overlay__ {
+ status = "disabled";
+ };
+ };
+ fragment@2 {
+ target = <&pwm3>;
+ __overlay__{
+ status = "disabled";
+ };
+ };
+ fragment@3 {
+ target = <&iomuxc_lpsr>;
+ __overlay__ {
+ pinctrl_atmel_mxt_ts: atmelmxttsgrp {
+ fsl,pins = <
+ 0x0018 0x0270 0x0000 0x0 0x0 0x59
+ 0x001C 0x0274 0x0000 0x0 0x0 0x59
+ >;
+ };
+ };
+ };
+ fragment@4 {
+ target = <&uart1>;
+ __overlay__ {
+ pinctrl-0 = <&pinctrl_uart1 &pinctrl_uart1_ctrl1>;
+ };
+ };
+};
diff --git a/overlays/colibri-imx8x_ad7879_overlay.dts b/overlays/colibri-imx8x_ad7879_overlay.dts
new file mode 100644
index 0000000..5587032
--- /dev/null
+++ b/overlays/colibri-imx8x_ad7879_overlay.dts
@@ -0,0 +1,47 @@
+// Enable the resistive touch controller (AD7879) on the module
+
+/dts-v1/;
+/plugin/;
+
+#include "dt-bindings/interrupt-controller/irq.h"
+#include "dt-bindings/gpio/gpio.h"
+#include "dt-bindings/pinctrl/pads-imx8qxp.h"
+
+/ {
+ compatible = "toradex,colibri-imx8qxp";
+ fragment@0 {
+ target = <&i2c0>;
+ __overlay__ {
+ /* Touch controller */
+ ad7879@2c {
+ compatible = "adi,ad7879-1";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_ad7879_int>;
+ reg = <0x2c>;
+ interrupt-parent = <&gpio3>;
+ interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
+ touchscreen-max-pressure = <4096>;
+ adi,resistance-plate-x = <120>;
+ adi,first-conversion-delay = /bits/ 8 <3>;
+ adi,acquisition-time = /bits/ 8 <1>;
+ adi,median-filter-size = /bits/ 8 <2>;
+ adi,averaging = /bits/ 8 <1>;
+ adi,conversion-interval = /bits/ 8 <255>;
+ };
+ };
+ };
+
+ fragment@1 {
+ target = <&iomuxc>;
+ __overlay__ {
+ colibri-imx8qxp {
+ /* On-module touch pen-down interrupt */
+ pinctrl_ad7879_int: ad7879-int {
+ fsl,pins = <
+ SC_P_MIPI_CSI0_I2C0_SCL_LSIO_GPIO3_IO05 0x21
+ >;
+ };
+ };
+ };
+ };
+};
diff --git a/overlays/colibri-imx8x_atmel-mxt_overlay.dts b/overlays/colibri-imx8x_atmel-mxt_overlay.dts
new file mode 100644
index 0000000..1c4f74b
--- /dev/null
+++ b/overlays/colibri-imx8x_atmel-mxt_overlay.dts
@@ -0,0 +1,43 @@
+// Atmel MXT touchscreen for the 7inch and 10inch display orderable at Toradex.
+
+/dts-v1/;
+/plugin/;
+
+#include "dt-bindings/interrupt-controller/irq.h"
+#include "dt-bindings/gpio/gpio.h"
+#include "dt-bindings/pinctrl/pads-imx8qxp.h"
+
+/ {
+ compatible = "toradex,colibri-imx8qxp";
+
+ fragment@0 {
+ target = <&i2c1>;
+ __overlay__ {
+ /* Atmel maxtouch controller */
+ atmel_mxt_ts: atmel_mxt_ts@4a {
+ compatible = "atmel,maxtouch";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_mxt_ts>;
+ reg = <0x4a>;
+ interrupt-parent = <&gpio3>;
+ interrupts = <20 IRQ_TYPE_EDGE_FALLING>; /* SODIMM 107 */
+ reset-gpios = <&gpio3 24 GPIO_ACTIVE_HIGH>; /* SODIMM 106 */
+ status = "okay";
+ };
+ };
+ };
+
+ fragment@1 {
+ target = <&iomuxc>;
+ __overlay__ {
+ colibri-imx8qxp {
+ pinctrl_mxt_ts: mxt-ts {
+ fsl,pins = <
+ SC_P_QSPI0B_DATA2_LSIO_GPIO3_IO20 0x20 /* SODIMM 107 */
+ SC_P_QSPI0B_SS1_B_LSIO_GPIO3_IO24 0x20 /* SODIMM 106 */
+ >;
+ };
+ };
+ };
+ };
+};
diff --git a/overlays/colibri-imx8x_disable-parallel-rgb_overlay.dts b/overlays/colibri-imx8x_disable-parallel-rgb_overlay.dts
new file mode 100644
index 0000000..b513e38
--- /dev/null
+++ b/overlays/colibri-imx8x_disable-parallel-rgb_overlay.dts
@@ -0,0 +1,18 @@
+// Disable the parallel RGB interface on Colibri iMX8X
+
+#include "dt-bindings/gpio/gpio.h"
+#include "dt-bindings/pinctrl/pads-imx8qxp.h"
+
+/dts-v1/;
+/plugin/;
+/ {
+ compatible = "toradex,colibri-imx8qxp";
+
+ fragment@0 {
+ target = <&adma_lcdif>;
+
+ __overlay__ {
+ status = "dsabled";
+ };
+ };
+};
diff --git a/overlays/colibri-imx8x_display-lt170410_overlay.dts b/overlays/colibri-imx8x_display-lt170410_overlay.dts
new file mode 100644
index 0000000..df315d7
--- /dev/null
+++ b/overlays/colibri-imx8x_display-lt170410_overlay.dts
@@ -0,0 +1,42 @@
+// LT170410 display (10inch) with a resolution of 1280x800 pixel. This display can be ordered at Toradex.
+
+/dts-v1/;
+/plugin/;
+/ {
+ compatible = "toradex,colibri-imx8qxp";
+ fragment@0 {
+ target = <&adma_lcdif>;
+ __overlay__ {
+ status = "okay";
+ };
+ };
+
+ fragment@1 {
+ target-path = "/panel";
+ __overlay__ {
+ compatible = "panel-dpi";
+
+ width-mm = <217>;
+ height-mm = <136>;
+
+ data-mapping = "bgr666";
+
+ panel-timing {
+ clock-frequency = <33260000>;
+ hactive = <800>;
+ vactive = <480>;
+ hback-porch = <88>;
+ hfront-porch = <40>;
+ vback-porch = <32>;
+ vfront-porch = <13>;
+ hsync-len = <48>;
+ vsync-len = <3>;
+
+ de-active = <1>;
+ hsync-active = <0>;
+ vsync-active = <0>;
+ pixelclk-active = <1>;
+ };
+ };
+ };
+};
diff --git a/overlays/colibri-imx8x_dsihdmi_overlay.dts b/overlays/colibri-imx8x_dsihdmi_overlay.dts
new file mode 100644
index 0000000..f1ccfb5
--- /dev/null
+++ b/overlays/colibri-imx8x_dsihdmi_overlay.dts
@@ -0,0 +1,270 @@
+// Enable the dsi to hdmi adapter orderable at Toradex for Colibri iMX8X
+
+#include "dt-bindings/gpio/gpio.h"
+#include "dt-bindings/pinctrl/pads-imx8qxp.h"
+
+/dts-v1/;
+/plugin/;
+/ {
+ compatible = "toradex,colibri-imx8qxp";
+
+ fragment@0 {
+ target = <&ldb2>;
+ __overlay__ {
+ status = "okay";
+ };
+ };
+
+ fragment@1 {
+ target = <&ldb2_phy>;
+ __overlay__ {
+ status = "okay";
+ };
+ };
+
+ fragment@2 {
+ target = <&mipi_dsi_phy1>;
+ __overlay__ {
+ status = "okay";
+ };
+ };
+
+ fragment@3 {
+ target = <&mipi_dsi1>;
+ __overlay__ {
+ status = "okay";
+ };
+ };
+
+ fragment@4 {
+ target = <&mipi_dsi_bridge1>;
+ __overlay__ {
+ status = "okay";
+ port@1 {
+ mipi_dsi_bridge1_out: endpoint {
+ remote-endpoint = <&lt8912_1_in>;
+ };
+ };
+ };
+ };
+
+ fragment@5 {
+ target = <&iomuxc>;
+ __overlay__ {
+ colibri-imx8qxp {
+ /* DSI/LVDS Hot Plug Detect on FFC (X2) */
+ pinctrl_gpio_hpd: gpio-hpd {
+ fsl,pins = <
+ SC_P_MIPI_DSI1_GPIO0_00_LSIO_GPIO1_IO31 0x20 /* SODIMM 138 */
+ >;
+ };
+ };
+ };
+ };
+
+ fragment@6 {
+ target = <&i2c0_mipi_lvds0>;
+
+ __overlay__ {
+ status = "okay";
+
+ /* DSI to HDMI Adapter V1.1A */
+ i2c-switch@70 {
+ compatible = "nxp,pca9540";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x70>;
+ i2c-mux-idle-disconnect;
+
+ i2c_sw0: i2c-sw@0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+
+ /* DDC/EDID */
+ };
+
+ i2c-sw@1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <1>;
+
+ lt8912@48 {
+ compatible = "lontium,lt8912";
+ ddc-i2c-bus = <&i2c_sw0>;
+ hpd-gpios = <&gpio1 31 GPIO_ACTIVE_HIGH>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_gpio_hpd>;
+ reg = <0x48>;
+
+ port {
+ lt8912_1_in: endpoint {
+ remote-endpoint = <&mipi_dsi_bridge1_out>;
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+
+ fragment@7 {
+ target = <&pixel_combiner>;
+
+ __overlay__ {
+ status = "okay";
+ };
+ };
+
+ fragment@8 {
+ target = <&prg1>;
+
+ __overlay__ {
+ status = "okay";
+ };
+ };
+
+ fragment@9 {
+ target = <&prg2>;
+
+ __overlay__ {
+ status = "okay";
+ };
+ };
+
+ fragment@10 {
+ target = <&prg3>;
+
+ __overlay__ {
+ status = "okay";
+ };
+ };
+
+ fragment@11 {
+ target = <&prg4>;
+
+ __overlay__ {
+ status = "okay";
+ };
+ };
+
+ fragment@12 {
+ target = <&prg5>;
+
+ __overlay__ {
+ status = "okay";
+ };
+ };
+
+ fragment@13 {
+ target = <&prg6>;
+
+ __overlay__ {
+ status = "okay";
+ };
+ };
+
+ fragment@14 {
+ target = <&prg7>;
+
+ __overlay__ {
+ status = "okay";
+ };
+ };
+
+ fragment@15 {
+ target = <&prg8>;
+
+ __overlay__ {
+ status = "okay";
+ };
+ };
+
+ fragment@16 {
+ target = <&prg9>;
+
+ __overlay__ {
+ status = "okay";
+ };
+ };
+
+ fragment@17 {
+ target = <&ldb1_phy>;
+
+ __overlay__ {
+ status = "disabled";
+ };
+ };
+
+ fragment@18 {
+ target = <&ldb1>;
+
+ __overlay__ {
+ status = "disabled";
+ };
+ };
+
+ fragment@19 {
+ target = <&gpu_3d0>;
+
+ __overlay__ {
+ status = "okay";
+ };
+ };
+
+ fragment@20 {
+ target = <&dpu1>;
+
+ __overlay__ {
+ status = "okay";
+ };
+ };
+
+ fragment@21 {
+ target = <&dpr1_channel1>;
+
+ __overlay__ {
+ status = "okay";
+ };
+ };
+
+ fragment@22 {
+ target = <&dpr1_channel2>;
+
+ __overlay__ {
+ status = "okay";
+ };
+ };
+
+ fragment@23 {
+ target = <&dpr1_channel3>;
+
+ __overlay__ {
+ status = "okay";
+ };
+ };
+
+ fragment@24 {
+ target = <&dpr2_channel1>;
+
+ __overlay__ {
+ status = "okay";
+ };
+ };
+
+ fragment@25 {
+ target = <&dpr2_channel2>;
+
+ __overlay__ {
+ status = "okay";
+ };
+ };
+
+ fragment@26 {
+ target = <&dpr2_channel3>;
+
+ __overlay__ {
+ status = "okay";
+ };
+ };
+};
diff --git a/overlays/display-edt5.7_overlay.dts b/overlays/display-edt5.7_overlay.dts
new file mode 100644
index 0000000..07aef51
--- /dev/null
+++ b/overlays/display-edt5.7_overlay.dts
@@ -0,0 +1,27 @@
+// EDT5.7 display with a resolution of 640x480 pixel
+
+/dts-v1/;
+/plugin/;
+
+/ {
+ compatible = "toradex,colibri-imx7d-emmc","toradex,apalis_imx6q", "toradex,colibri_imx6dl";
+ fragment@0 {
+ target-path = "/panel-dpi";
+ __overlay__ {
+ status = "okay";
+ width-mm = <116>;
+ height-mm = <86>;
+ panel-timing {
+ clock-frequency = <25175000>;
+ hactive = <640>;
+ vactive = <480>;
+ hsync-len = <30>;
+ hfront-porch = <16>;
+ hback-porch = <114>;
+ vsync-len = <3>;
+ vfront-porch = <10>;
+ vback-porch = <32>;
+ };
+ };
+ };
+};
diff --git a/overlays/display-edt7_overlay.dts b/overlays/display-edt7_overlay.dts
new file mode 100644
index 0000000..a62cfea
--- /dev/null
+++ b/overlays/display-edt7_overlay.dts
@@ -0,0 +1,27 @@
+// EDT7 display with a resolution of 800x480 pixel
+
+/dts-v1/;
+/plugin/;
+
+/ {
+ compatible = "toradex,colibri-imx7d-emmc","toradex,apalis_imx6q", "toradex,colibri_imx6dl";
+ fragment@0 {
+ target-path = "/panel-dpi";
+ __overlay__ {
+ status = "okay";
+ width-mm = <155>;
+ height-mm = <91>;
+ panel-timing {
+ clock-frequency = <33230769>;
+ hactive = <800>;
+ vactive = <480>;
+ hsync-len = <128>;
+ hfront-porch = <40>;
+ hback-porch = <88>;
+ vsync-len = <1>;
+ vfront-porch = <10>;
+ vback-porch = <33>;
+ };
+ };
+ };
+};
diff --git a/overlays/display-lt161010_overlay.dts b/overlays/display-lt161010_overlay.dts
new file mode 100644
index 0000000..5fba8d9
--- /dev/null
+++ b/overlays/display-lt161010_overlay.dts
@@ -0,0 +1,28 @@
+// LT161010 display (7inch) with a resolution of 800x480 pixel. This display can be ordered at Toradex.
+
+/dts-v1/;
+/plugin/;
+
+/ {
+ compatible = "toradex,colibri-imx7d-emmc","toradex,apalis_imx6q", "toradex,colibri_imx6dl";
+ fragment@0 {
+ target-path = "/panel-dpi";
+ __overlay__ {
+ status = "okay";
+ width-mm = <154>;
+ height-mm = <86>;
+ panel-timing {
+ clock-frequency = <33230769>;
+ hactive = <800>;
+ vactive = <480>;
+ hsync-len = <128>;
+ hfront-porch = <40>;
+ hback-porch = <88>;
+ vsync-len = <1>;
+ vfront-porch = <10>;
+ vback-porch = <33>;
+ pixelclk-active = <1>;
+ };
+ };
+ };
+};
diff --git a/overlays/display-lt170410_overlay.dts b/overlays/display-lt170410_overlay.dts
new file mode 100644
index 0000000..5c9fc34
--- /dev/null
+++ b/overlays/display-lt170410_overlay.dts
@@ -0,0 +1,34 @@
+// LT170410 display (10inch) with a resolution of 1280x800 pixel. This display can be ordered at Toradex.
+
+/dts-v1/;
+/plugin/;
+
+/ {
+ compatible = "toradex,apalis_imx6q";
+
+ fragment@0 {
+ target-path="/panel-lvds";
+ __overlay__ {
+ status = "okay";
+
+ data-mapping = "vesa-24";
+ width-mm = <217>;
+ height-mm = <136>;
+
+ panel-timing {
+ clock-frequency = <68930000>;
+ hactive = <1280>;
+ vactive = <800>;
+ hback-porch = <64>;
+ hfront-porch = <64>;
+ vback-porch = <5>;
+ vfront-porch = <5>;
+ hsync-len = <40>;
+ vsync-len = <6>;
+ hsync-active = <0>;
+ vsync-active = <0>;
+ pixelclk-active = <0>;
+ };
+ };
+ };
+};