From fc95c1137968488a172c45dc66813fd3e79286e8 Mon Sep 17 00:00:00 2001 From: Igor Opaniuk Date: Tue, 26 May 2020 13:23:43 +0300 Subject: overlays: add initial overlays Naming format: __overlay.dts Signed-off-by: Igor Opaniuk --- overlays/apalis-imx6_atmel-mxt_overlay.dts | 22 ++ overlays/apalis-imx6_lvds_overlay.dts | 14 ++ overlays/apalis-imx6_parallel-rgb_overlay.dts | 14 ++ overlays/apalis-imx8qm_atmel-mxt_overlay.dts | 43 ++++ .../apalis-imx8qm_display-lt170410_overlay.dts | 47 ++++ overlays/apalis-imx8qm_st-m41t0_overlay.dts | 29 +++ overlays/apalis-imx8x_ad7879_overlay.dts | 48 ++++ overlays/apalis-imx8x_atmel-mxt_overlay.dts | 43 ++++ overlays/apalis-imx8x_display-lt161010_overlay.dts | 42 ++++ overlays/apalis-imx8x_display-lt170410_overlay.dts | 40 +++ overlays/colibri-imx6-aster_atmel-mxt_overlay.dts | 40 +++ overlays/colibri-imx6-eval_atmel-mxt_overlay.dts | 33 +++ overlays/colibri-imx7-aster_atmel-mxt_overlay.dts | 34 +++ overlays/colibri-imx7-eval_atmel-mxt_overlay.dts | 52 ++++ overlays/colibri-imx8x_ad7879_overlay.dts | 47 ++++ overlays/colibri-imx8x_atmel-mxt_overlay.dts | 43 ++++ .../colibri-imx8x_disable-parallel-rgb_overlay.dts | 18 ++ .../colibri-imx8x_display-lt170410_overlay.dts | 42 ++++ overlays/colibri-imx8x_dsihdmi_overlay.dts | 270 +++++++++++++++++++++ overlays/display-edt5.7_overlay.dts | 27 +++ overlays/display-edt7_overlay.dts | 27 +++ overlays/display-lt161010_overlay.dts | 28 +++ overlays/display-lt170410_overlay.dts | 34 +++ 23 files changed, 1037 insertions(+) create mode 100644 overlays/apalis-imx6_atmel-mxt_overlay.dts create mode 100644 overlays/apalis-imx6_lvds_overlay.dts create mode 100644 overlays/apalis-imx6_parallel-rgb_overlay.dts create mode 100644 overlays/apalis-imx8qm_atmel-mxt_overlay.dts create mode 100644 overlays/apalis-imx8qm_display-lt170410_overlay.dts create mode 100644 overlays/apalis-imx8qm_st-m41t0_overlay.dts create mode 100644 overlays/apalis-imx8x_ad7879_overlay.dts create mode 100644 overlays/apalis-imx8x_atmel-mxt_overlay.dts create mode 100644 overlays/apalis-imx8x_display-lt161010_overlay.dts create mode 100644 overlays/apalis-imx8x_display-lt170410_overlay.dts create mode 100644 overlays/colibri-imx6-aster_atmel-mxt_overlay.dts create mode 100644 overlays/colibri-imx6-eval_atmel-mxt_overlay.dts create mode 100644 overlays/colibri-imx7-aster_atmel-mxt_overlay.dts create mode 100644 overlays/colibri-imx7-eval_atmel-mxt_overlay.dts create mode 100644 overlays/colibri-imx8x_ad7879_overlay.dts create mode 100644 overlays/colibri-imx8x_atmel-mxt_overlay.dts create mode 100644 overlays/colibri-imx8x_disable-parallel-rgb_overlay.dts create mode 100644 overlays/colibri-imx8x_display-lt170410_overlay.dts create mode 100644 overlays/colibri-imx8x_dsihdmi_overlay.dts create mode 100644 overlays/display-edt5.7_overlay.dts create mode 100644 overlays/display-edt7_overlay.dts create mode 100644 overlays/display-lt161010_overlay.dts create mode 100644 overlays/display-lt170410_overlay.dts 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 = <<8912_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>; + }; + }; + }; +}; -- cgit v1.2.3