summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmanuele Ghidoli <emanuele.ghidoli@toradex.com>2023-03-20 17:05:28 +0100
committerEmanuele Ghidoli <emanuele.ghidoli@toradex.com>2023-03-29 09:36:34 +0200
commit9ea91adb929cb49a2cc8dc32dd9bd6c639ca2757 (patch)
treeb4674ffac443eee7c7e25606cd5944d7d307cdcb
parentb23b354afb8e9027c07869bcfc1e019a1e0358b2 (diff)
colibri-imx8x: move to one overlay per accessory
Move the existing overlays to dtsi files and include them into one accessory dts. Provide data-mapping timings appropriately for each machine instead of the hardcoding and use a single overlay per SoC to avoid code duplication. Related-to: ELB-4754 Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
-rw-r--r--overlays/Makefile11
-rw-r--r--overlays/colibri-imx8x_ad7879_overlay.dtsi (renamed from overlays/colibri-imx8x_ad7879_overlay.dts)9
-rw-r--r--overlays/colibri-imx8x_atmel-mxt-adapter_overlay.dtsi (renamed from overlays/colibri-imx8x_atmel-mxt-adapter_overlay.dts)20
-rw-r--r--overlays/colibri-imx8x_atmel-mxt-connector_overlay.dts21
-rw-r--r--overlays/colibri-imx8x_atmel-mxt-connector_overlay.dtsi15
-rw-r--r--overlays/colibri-imx8x_display-lcdif_overlay.dts49
-rw-r--r--overlays/colibri-imx8x_dsihdmi_overlay.dts6
-rw-r--r--overlays/colibri-imx8x_panel-cap-touch-10inch-lvds_overlay.dts22
-rw-r--r--overlays/colibri-imx8x_panel-cap-touch-7inch_adapter_overlay.dts22
-rw-r--r--overlays/colibri-imx8x_panel-cap-touch-7inch_overlay.dts19
-rw-r--r--overlays/colibri-imx8x_panel-res-touch-7inch_overlay.dts21
-rw-r--r--overlays/colibri-imx8x_parallel-rgb-lvds_overlay.dtsi (renamed from overlays/colibri-imx8x_parallel-rgb-lvds_overlay.dts)20
-rw-r--r--overlays/colibri-imx8x_parallel-rgb_overlay.dtsi (renamed from overlays/colibri-imx8x_parallel-rgb_overlay.dts)13
-rw-r--r--overlays/colibri-imx8x_vga-640x480_overlay.dts20
-rw-r--r--overlays/display-dpi-lt170410_overlay.dtsi32
-rw-r--r--overlays/display-fullhd_overlay.dtsi28
-rw-r--r--overlays/display-lt161010_overlay.dtsi27
-rw-r--r--overlays/display-lt170410_overlay.dtsi30
-rw-r--r--overlays/display-vga-640x480_overlay.dtsi30
19 files changed, 288 insertions, 127 deletions
diff --git a/overlays/Makefile b/overlays/Makefile
index 0c16417..7386810 100644
--- a/overlays/Makefile
+++ b/overlays/Makefile
@@ -30,15 +30,14 @@ dtb-y += apalis-imx8_panel-lvds-dual-channel-1080p_overlay.dtbo
dtb-y += apalis-imx8_resistive-touch_overlay.dtbo
dtb-y += apalis-imx8_spi1_spidev_overlay.dtbo
dtb-y += apalis-imx8_spi2_spidev_overlay.dtbo
-dtb-y += colibri-imx8x_ad7879_overlay.dtbo
-dtb-y += colibri-imx8x_atmel-mxt-adapter_overlay.dtbo
-dtb-y += colibri-imx8x_atmel-mxt-connector_overlay.dtbo
dtb-y += colibri-imx8x_disable-cm40-uart_overlay.dtbo
-dtb-y += colibri-imx8x_display-lcdif_overlay.dtbo
dtb-y += colibri-imx8x_dsihdmi_overlay.dtbo
dtb-y += colibri-imx8x_ov5640_overlay.dtbo
-dtb-y += colibri-imx8x_parallel-rgb-lvds_overlay.dtbo
-dtb-y += colibri-imx8x_parallel-rgb_overlay.dtbo
+dtb-y += colibri-imx8x_panel-cap-touch-7inch_overlay.dtbo
+dtb-y += colibri-imx8x_panel-cap-touch-7inch_adapter_overlay.dtbo
+dtb-y += colibri-imx8x_panel-res-touch-7inch_overlay.dtbo
+dtb-y += colibri-imx8x_panel-cap-touch-10inch-lvds_overlay.dtbo
+dtb-y += colibri-imx8x_vga-640x480_overlay.dtbo
dtb-y += colibri-imx8x_spidev_overlay.dtbo
dtb-y += display-dpi-lt170410_overlay.dtbo
dtb-y += display-edt5.7_overlay.dtbo
diff --git a/overlays/colibri-imx8x_ad7879_overlay.dts b/overlays/colibri-imx8x_ad7879_overlay.dtsi
index 0f6bad8..582f1df 100644
--- a/overlays/colibri-imx8x_ad7879_overlay.dts
+++ b/overlays/colibri-imx8x_ad7879_overlay.dtsi
@@ -5,13 +5,10 @@
// Enable the resistive touch controller (AD7879) on the module
-/dts-v1/;
-/plugin/;
-
-/ {
- compatible = "toradex,colibri-imx8x";
+&ad7879_ts {
+ status = "okay";
};
-&ad7879_ts {
+&i2c1 {
status = "okay";
};
diff --git a/overlays/colibri-imx8x_atmel-mxt-adapter_overlay.dts b/overlays/colibri-imx8x_atmel-mxt-adapter_overlay.dtsi
index 4b21c6a..3733961 100644
--- a/overlays/colibri-imx8x_atmel-mxt-adapter_overlay.dts
+++ b/overlays/colibri-imx8x_atmel-mxt-adapter_overlay.dtsi
@@ -3,18 +3,8 @@
* Copyright 2020-2021 Toradex
*/
-// Atmel MXT touchscreen for Capacitive Touch Adapter.
-// Supports the 7 inch and 10 inch capacitive touch displays orderable at Toradex.
-
-/dts-v1/;
-/plugin/;
-
-#include "dt-bindings/interrupt-controller/irq.h"
-#include "dt-bindings/gpio/gpio.h"
-
-/ {
- compatible = "toradex,colibri-imx8x";
-};
+// Atmel MXT capacitive touch controller for 7" and 10.1" displays
+// orderable at Toradex. Compatible with a Capacitive Touch Adapter.
&atmel_mxt_ts {
pinctrl-0 = <&pinctrl_atmel_adap>;
@@ -28,10 +18,10 @@
status = "okay";
};
-&pwm0 {
+&lsio_pwm0 {
status = "disabled";
};
-&pwm1 {
+&lsio_pwm1 {
status = "disabled";
-};
+}; \ No newline at end of file
diff --git a/overlays/colibri-imx8x_atmel-mxt-connector_overlay.dts b/overlays/colibri-imx8x_atmel-mxt-connector_overlay.dts
deleted file mode 100644
index 1dfa586..0000000
--- a/overlays/colibri-imx8x_atmel-mxt-connector_overlay.dts
+++ /dev/null
@@ -1,21 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
-/*
- * Copyright 2020-2021 Toradex
- */
-
-// Atmel MXT touchscreen for boards with TS connector. Supports the 7 inch and 10 inch display orderable at Toradex.
-
-/dts-v1/;
-/plugin/;
-
-/ {
- compatible = "toradex,colibri-imx8x";
-};
-
-&atmel_mxt_ts {
- status = "okay";
-};
-
-&i2c1 {
- status = "okay";
-};
diff --git a/overlays/colibri-imx8x_atmel-mxt-connector_overlay.dtsi b/overlays/colibri-imx8x_atmel-mxt-connector_overlay.dtsi
new file mode 100644
index 0000000..ba54d36
--- /dev/null
+++ b/overlays/colibri-imx8x_atmel-mxt-connector_overlay.dtsi
@@ -0,0 +1,15 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright 2020-2021 Toradex
+ */
+
+// Atmel MXT capacitive touch controller for the 7" and 10.1" displays
+// orderable at Toradex. Compatible with a Capacitive Touch Connector.
+
+&atmel_mxt_ts {
+ status = "okay";
+};
+
+&i2c1 {
+ status = "okay";
+};
diff --git a/overlays/colibri-imx8x_display-lcdif_overlay.dts b/overlays/colibri-imx8x_display-lcdif_overlay.dts
deleted file mode 100644
index 0976a22..0000000
--- a/overlays/colibri-imx8x_display-lcdif_overlay.dts
+++ /dev/null
@@ -1,49 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
-/*
- * Copyright 2020-2021 Toradex
- */
-
-// Enable the parallel RGB interface on Colibri iMX8X using DPU-enabled driver
-
-/dts-v1/;
-/plugin/;
-
-/ {
- compatible = "toradex,colibri-imx8x";
-};
-
-&adma_pwm {
- status = "okay";
-};
-
-&adma_pwm_lpcg {
- status = "okay";
-};
-
-&backlight {
- status = "okay";
-};
-
-&display_lcdif {
- status = "okay";
- #address-cells = <1>;
- #size-cells = <0>;
-
- port@1 {
- reg = <1>;
-
- display_lcdif_out: endpoint {
- remote-endpoint = <&lcd_panel_in>;
- };
- };
-};
-
-&panel_dpi {
- status = "okay";
-
- port {
- lcd_panel_in: endpoint {
- remote-endpoint = <&display_lcdif_out>;
- };
- };
-};
diff --git a/overlays/colibri-imx8x_dsihdmi_overlay.dts b/overlays/colibri-imx8x_dsihdmi_overlay.dts
index 2b7335c..afc9079 100644
--- a/overlays/colibri-imx8x_dsihdmi_overlay.dts
+++ b/overlays/colibri-imx8x_dsihdmi_overlay.dts
@@ -11,6 +11,10 @@
compatible = "toradex,colibri-imx8x";
};
+&hdmi_connector {
+ status = "okay";
+};
+
&i2c0_mipi_lvds0 {
status = "okay";
};
@@ -29,4 +33,4 @@
&pca9540_switch {
status = "okay";
-};
+}; \ No newline at end of file
diff --git a/overlays/colibri-imx8x_panel-cap-touch-10inch-lvds_overlay.dts b/overlays/colibri-imx8x_panel-cap-touch-10inch-lvds_overlay.dts
new file mode 100644
index 0000000..7d84d2a
--- /dev/null
+++ b/overlays/colibri-imx8x_panel-cap-touch-10inch-lvds_overlay.dts
@@ -0,0 +1,22 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright 2023 Toradex
+ */
+
+// Enable the parallel RGB interface on the Colibri iMX8X which communicate,
+// through X1 SODIMM connector, with the LVDS transceiver on the Iris v2.0A
+// connected with a capacitive touch 10.1" LVDS display.
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+
+/dts-v1/;
+/plugin/;
+
+/ {
+ compatible = "toradex,colibri-imx8x";
+};
+
+#include "colibri-imx8x_atmel-mxt-connector_overlay.dtsi"
+#include "colibri-imx8x_parallel-rgb-lvds_overlay.dtsi"
+#include "display-dpi-lt170410_overlay.dtsi"
diff --git a/overlays/colibri-imx8x_panel-cap-touch-7inch_adapter_overlay.dts b/overlays/colibri-imx8x_panel-cap-touch-7inch_adapter_overlay.dts
new file mode 100644
index 0000000..17daeda
--- /dev/null
+++ b/overlays/colibri-imx8x_panel-cap-touch-7inch_adapter_overlay.dts
@@ -0,0 +1,22 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright 2023 Toradex
+ */
+
+// Enable the parallel RGB interface on the Colibri iMX8X with a
+// connected capacitive touch 7" display, touch connected with
+// a separate adapter pcb.
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+
+/dts-v1/;
+/plugin/;
+
+/ {
+ compatible = "toradex,colibri-imx8x";
+};
+
+#include "colibri-imx8x_atmel-mxt-adapter_overlay.dtsi"
+#include "colibri-imx8x_parallel-rgb_overlay.dtsi"
+#include "display-lt161010_overlay.dtsi"
diff --git a/overlays/colibri-imx8x_panel-cap-touch-7inch_overlay.dts b/overlays/colibri-imx8x_panel-cap-touch-7inch_overlay.dts
new file mode 100644
index 0000000..8154996
--- /dev/null
+++ b/overlays/colibri-imx8x_panel-cap-touch-7inch_overlay.dts
@@ -0,0 +1,19 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright 2023 Toradex
+ */
+
+// Enable the parallel RGB interface on the Colibri iMX8X with a
+// connected capacitive touch 7" display, touch connected to a
+// dedicated connector e.g. as present on Iris v2.0A.
+
+/dts-v1/;
+/plugin/;
+
+/ {
+ compatible = "toradex,colibri-imx8x";
+};
+
+#include "colibri-imx8x_atmel-mxt-connector_overlay.dtsi"
+#include "colibri-imx8x_parallel-rgb_overlay.dtsi"
+#include "display-lt161010_overlay.dtsi"
diff --git a/overlays/colibri-imx8x_panel-res-touch-7inch_overlay.dts b/overlays/colibri-imx8x_panel-res-touch-7inch_overlay.dts
new file mode 100644
index 0000000..4f7a377
--- /dev/null
+++ b/overlays/colibri-imx8x_panel-res-touch-7inch_overlay.dts
@@ -0,0 +1,21 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright 2023 Toradex
+ */
+
+// Enable the parallel RGB interface on the Colibri iMX8X with a
+// connected resistive touch 7" display.
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+
+/dts-v1/;
+/plugin/;
+
+/ {
+ compatible = "toradex,colibri-imx8x";
+};
+
+#include "colibri-imx8x_ad7879_overlay.dtsi"
+#include "colibri-imx8x_parallel-rgb_overlay.dtsi"
+#include "display-lt161010_overlay.dtsi"
diff --git a/overlays/colibri-imx8x_parallel-rgb-lvds_overlay.dts b/overlays/colibri-imx8x_parallel-rgb-lvds_overlay.dtsi
index 40a20c2..f7fc663 100644
--- a/overlays/colibri-imx8x_parallel-rgb-lvds_overlay.dts
+++ b/overlays/colibri-imx8x_parallel-rgb-lvds_overlay.dtsi
@@ -5,14 +5,6 @@
// Enable the parallel RGB interface on Colibri iMX8X and the LVDS tranceiver on Iris v2.0
-#include <dt-bindings/gpio/gpio.h>
-
-/dts-v1/;
-/plugin/;
-/ {
- compatible = "toradex,colibri-imx8x";
-};
-
&adma_pwm {
status = "okay";
};
@@ -58,21 +50,11 @@
};
};
-&lsio_gpio3 {
- /* This turns the LVDS transceiver on */
- LVDS_PWRDWN {
- gpio-hog;
- gpios = <18 GPIO_ACTIVE_HIGH>;
- output-high;
- line-name = "LVDS_PWRDWN";
- };
-};
-
&panel_dpi {
pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_lvds_converter>;
status = "okay";
+ data-mapping = "bgr666";
port {
lcd_panel_in: endpoint {
remote-endpoint = <&display_lcdfif_out>;
diff --git a/overlays/colibri-imx8x_parallel-rgb_overlay.dts b/overlays/colibri-imx8x_parallel-rgb_overlay.dtsi
index 3c5a938..00f8668 100644
--- a/overlays/colibri-imx8x_parallel-rgb_overlay.dts
+++ b/overlays/colibri-imx8x_parallel-rgb_overlay.dtsi
@@ -1,17 +1,9 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
- * Copyright 2020-2021 Toradex
+ * Copyright 2021-2022 Toradex
*/
-// Enable the parallel RGB interface on Colibri iMX8X
-
-/dts-v1/;
-/plugin/;
-
-/ {
- compatible = "toradex,colibri-imx8x";
-};
-
+// Enable the parallel RGB interface on the Colibri iMX8X.
&adma_lcdif {
status = "okay";
#address-cells = <1>;
@@ -41,6 +33,7 @@
&panel_dpi {
status = "okay";
+ data-mapping = "bgr666";
port {
lcd_panel_in: endpoint {
remote-endpoint = <&adma_lcdif_out>;
diff --git a/overlays/colibri-imx8x_vga-640x480_overlay.dts b/overlays/colibri-imx8x_vga-640x480_overlay.dts
new file mode 100644
index 0000000..2f9db17
--- /dev/null
+++ b/overlays/colibri-imx8x_vga-640x480_overlay.dts
@@ -0,0 +1,20 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright 2022 Toradex
+ */
+
+// Enable the parallel RGB interface on the Colibri iMX8X and the
+// video DAC providing analog RGB on the VGA connector.
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+
+/dts-v1/;
+/plugin/;
+
+/ {
+ compatible = "toradex,colibri-imx8x";
+};
+
+#include "colibri-imx8x_parallel-rgb_overlay.dtsi"
+#include "display-vga-640x480_overlay.dtsi"
diff --git a/overlays/display-dpi-lt170410_overlay.dtsi b/overlays/display-dpi-lt170410_overlay.dtsi
new file mode 100644
index 0000000..62680bf
--- /dev/null
+++ b/overlays/display-dpi-lt170410_overlay.dtsi
@@ -0,0 +1,32 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright 2020-2022 Toradex
+ */
+
+// LT170410 panel with a resolution of 1280x800 pixel.
+
+&panel_dpi {
+ compatible = "panel-dpi";
+ status = "okay";
+
+ width-mm = <217>;
+ height-mm = <136>;
+
+ panel-timing {
+ clock-frequency = <68930000>;
+
+ hactive = <1280>;
+ hback-porch = <64>;
+ hfront-porch = <64>;
+ hsync-len = <40>;
+ vactive = <800>;
+ vback-porch = <5>;
+ vfront-porch = <5>;
+ vsync-len = <6>;
+
+ de-active = <1>;
+ hsync-active = <0>;
+ vsync-active = <0>;
+ pixelclk-active = <0>;
+ };
+};
diff --git a/overlays/display-fullhd_overlay.dtsi b/overlays/display-fullhd_overlay.dtsi
new file mode 100644
index 0000000..3519f16
--- /dev/null
+++ b/overlays/display-fullhd_overlay.dtsi
@@ -0,0 +1,28 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright 2020-2022 Toradex
+ */
+
+// FullHD VGA monitor in mode 1920x1080p60. Standard: SMPTE 274M
+
+&panel_dpi {
+ compatible = "panel-dpi";
+ status = "okay";
+
+ /* for 0.15mm pixels */
+ width-mm = <288>;
+ height-mm = <162>;
+
+ panel-timing {
+ clock-frequency = <148500000>;
+ hactive = <1920>;
+ hback-porch = <148>;
+ hfront-porch = <88>;
+ hsync-len = <44>;
+ vactive = <1080>;
+ vback-porch = <36>;
+ vfront-porch = <4>;
+ vsync-len = <5>;
+ pixelclk-active = <0>;
+ };
+};
diff --git a/overlays/display-lt161010_overlay.dtsi b/overlays/display-lt161010_overlay.dtsi
new file mode 100644
index 0000000..63fb1b2
--- /dev/null
+++ b/overlays/display-lt161010_overlay.dtsi
@@ -0,0 +1,27 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright 2020-2022 Toradex
+ */
+
+// LT161010 panel with a resolution of 800x480 pixel.
+
+&panel_dpi {
+ compatible = "panel-dpi";
+ 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.dtsi b/overlays/display-lt170410_overlay.dtsi
new file mode 100644
index 0000000..b505109
--- /dev/null
+++ b/overlays/display-lt170410_overlay.dtsi
@@ -0,0 +1,30 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright 2022 Toradex
+ */
+
+// LT170410 panel with a resolution of 1280x800 pixel.
+
+&panel_lvds {
+ 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>;
+ };
+};
diff --git a/overlays/display-vga-640x480_overlay.dtsi b/overlays/display-vga-640x480_overlay.dtsi
new file mode 100644
index 0000000..ab533cb
--- /dev/null
+++ b/overlays/display-vga-640x480_overlay.dtsi
@@ -0,0 +1,30 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright 2022 Toradex
+ */
+
+// VGA Signal 640x480@60Hz Industry standard timing
+
+&panel_dpi {
+ compatible = "panel-dpi";
+ status = "okay";
+
+ /* for 0.3mm pixels */
+ width-mm = <192>;
+ height-mm = <144>;
+
+ panel-timing {
+ clock-frequency = <25175000>;
+ hactive = <640>;
+ vactive = <480>;
+ hsync-len = <96>;
+ hfront-porch = <16>;
+ hback-porch = <48>;
+ vsync-len = <2>;
+ vfront-porch = <10>;
+ vback-porch = <33>;
+ hsync-active = <0>;
+ vsync-active = <0>;
+ pixelclk-active = <0>;
+ };
+};