summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--overlays/Makefile12
-rw-r--r--overlays/aquila-am69_adapter_panel-cap-touch-10inch-dsi_overlay.dts127
-rw-r--r--overlays/aquila-am69_adapter_panel-cap-touch-7inch-dsi_overlay.dts127
-rw-r--r--overlays/aquila-am69_backlight-dsi_overlay.dtsi16
-rw-r--r--overlays/aquila-am69_csi1-ov5640-27mhz_overlay.dts17
-rw-r--r--overlays/aquila-am69_csi1-ov5640_overlay.dts85
-rw-r--r--overlays/aquila-am69_csi2-ov5640-27mhz_overlay.dts17
-rw-r--r--overlays/aquila-am69_csi2-ov5640_overlay.dts85
-rw-r--r--overlays/aquila-am69_dsi-to-hdmi_overlay.dts124
-rw-r--r--overlays/aquila-am69_dsi-to-lvds_panel-cap-touch-10inch-lvds_overlay.dts159
-rw-r--r--overlays/aquila-am69_panel-cap-touch-10inch-dsi_overlay.dts125
-rw-r--r--overlays/aquila-am69_panel-cap-touch-7inch-dsi_overlay.dts125
-rw-r--r--overlays/aquila-am69_spi1_spidev_overlay.dts28
-rw-r--r--overlays/aquila-am69_spi2_spidev_overlay.dts28
14 files changed, 1075 insertions, 0 deletions
diff --git a/overlays/Makefile b/overlays/Makefile
index e5176b5..7a93c10 100644
--- a/overlays/Makefile
+++ b/overlays/Makefile
@@ -37,6 +37,18 @@ dtb-y += apalis-imx6_tc358743_overlay.dtbo
dtb-y += apalis-imx6_vga-640x480_overlay.dtbo
dtb-y += apalis-imx8_spi1_spidev_overlay.dtbo
dtb-y += apalis-imx8_spi2_spidev_overlay.dtbo
+dtb-y += aquila-am69_adapter_panel-cap-touch-10inch-dsi_overlay.dtbo
+dtb-y += aquila-am69_adapter_panel-cap-touch-7inch-dsi_overlay.dtbo
+dtb-y += aquila-am69_csi1-ov5640-27mhz_overlay.dtbo
+dtb-y += aquila-am69_csi1-ov5640_overlay.dtbo
+dtb-y += aquila-am69_csi2-ov5640-27mhz_overlay.dtbo
+dtb-y += aquila-am69_csi2-ov5640_overlay.dtbo
+dtb-y += aquila-am69_dsi-to-hdmi_overlay.dtbo
+dtb-y += aquila-am69_dsi-to-lvds_panel-cap-touch-10inch-lvds_overlay.dtbo
+dtb-y += aquila-am69_panel-cap-touch-10inch-dsi_overlay.dtbo
+dtb-y += aquila-am69_panel-cap-touch-7inch-dsi_overlay.dtbo
+dtb-y += aquila-am69_spi1_spidev_overlay.dtbo
+dtb-y += aquila-am69_spi2_spidev_overlay.dtbo
dtb-y += colibri-imx6_hdmi_overlay.dtbo
dtb-y += colibri-imx6_panel-cap-touch-7inch_adapter_overlay.dtbo
dtb-y += colibri-imx6_panel-cap-touch-7inch_overlay.dtbo
diff --git a/overlays/aquila-am69_adapter_panel-cap-touch-10inch-dsi_overlay.dts b/overlays/aquila-am69_adapter_panel-cap-touch-10inch-dsi_overlay.dts
new file mode 100644
index 0000000..e8e5ddb
--- /dev/null
+++ b/overlays/aquila-am69_adapter_panel-cap-touch-10inch-dsi_overlay.dts
@@ -0,0 +1,127 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright (c) Toradex
+ *
+ * Aquila AM69 connected to Capacitive Touch Display 10.1" DSI using DSI adapter
+ *
+ * https://developer.toradex.com/hardware/accessories/displays/capacitive-touch-display-101inch-dsi
+ * https://www.toradex.com/accessories/capacitive-touch-display-10.1-inch-dsi
+ * https://developer.toradex.com/hardware/accessories/add-ons/dsi-display-adapter
+ * https://www.toradex.com/accessories/verdin-dsi-display-adapter
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+
+#include "aquila-am69_backlight-dsi_overlay.dtsi"
+#include "display-rvt101hvdwc00b_overlay.dtsi"
+
+/ {
+ compatible = "toradex,aquila-am69";
+};
+
+&dphy_tx0 {
+ status = "okay";
+};
+
+&dsi0 {
+ status = "okay";
+};
+
+&dsi0_ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ dsi0_out: endpoint {
+ remote-endpoint = <&dsi_lvds_bridge_in>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ dsi0_in: endpoint {
+ remote-endpoint = <&dpi2_out>;
+ };
+ };
+};
+
+&dss_ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@2 {
+ reg = <2>;
+
+ dpi2_out: endpoint {
+ remote-endpoint = <&dsi0_in>;
+ };
+ };
+};
+
+/* I2C on DSI Connector Pin #52 and #54 */
+&i2c_dsi_1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ status = "okay";
+
+ bridge@2c {
+ compatible = "ti,sn65dsi83";
+ reg = <0x2c>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_gpio_20_dsi_1>;
+ /* Aquila GPIO_20_DSI_1 (AQUILA B45) */
+ enable-gpios = <&main_gpio0 18 GPIO_ACTIVE_HIGH>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ dsi_lvds_bridge_in: endpoint {
+ data-lanes = <1 2 3 4>;
+ remote-endpoint = <&dsi0_out>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+
+ dsi_lvds_bridge_out: endpoint {
+ remote-endpoint = <&panel_rvt101hvdwc00_in>;
+ };
+ };
+ };
+ };
+
+ touch@41 {
+ compatible = "ilitek,ili2132";
+ reg = <0x41>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_gpio_17_dsi_1>, <&pinctrl_gpio_18_dsi_1>;
+ /* Aquila GPIO_17_DSI_1 (TOUCH_INT#, AQUILA B42) */
+ interrupt-parent = <&main_gpio0>;
+ interrupts = <12 IRQ_TYPE_EDGE_RISING>;
+ /* Aquila GPIO_18_DSI_1 (TOUCH_RESET#, AQUILA B43) */
+ reset-gpios = <&main_gpio0 31 GPIO_ACTIVE_LOW>;
+ };
+};
+
+&panel_rvt101hvdwc00 {
+ backlight = <&backlight_aquila_dsi>;
+
+ port {
+ panel_rvt101hvdwc00_in: endpoint {
+ remote-endpoint = <&dsi_lvds_bridge_out>;
+ };
+ };
+};
diff --git a/overlays/aquila-am69_adapter_panel-cap-touch-7inch-dsi_overlay.dts b/overlays/aquila-am69_adapter_panel-cap-touch-7inch-dsi_overlay.dts
new file mode 100644
index 0000000..f81ebb8
--- /dev/null
+++ b/overlays/aquila-am69_adapter_panel-cap-touch-7inch-dsi_overlay.dts
@@ -0,0 +1,127 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright (c) Toradex
+ *
+ * Aquila AM69 connected to Capacitive Touch Display 7" DSI using DSI adapter
+ *
+ * https://developer.toradex.com/hardware/accessories/displays/capacitive-touch-display-7inch-dsi
+ * https://www.toradex.com/accessories/capacitive-touch-display-7-inch-dsi
+ * https://developer.toradex.com/hardware/accessories/add-ons/dsi-display-adapter
+ * https://www.toradex.com/accessories/verdin-dsi-display-adapter
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+
+#include "aquila-am69_backlight-dsi_overlay.dtsi"
+#include "display-rvt70hslnwca0_overlay.dtsi"
+
+/ {
+ compatible = "toradex,aquila-am69";
+};
+
+&dphy_tx0 {
+ status = "okay";
+};
+
+&dsi0 {
+ status = "okay";
+};
+
+&dsi0_ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ dsi0_out: endpoint {
+ remote-endpoint = <&dsi_lvds_bridge_in>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ dsi0_in: endpoint {
+ remote-endpoint = <&dpi2_out>;
+ };
+ };
+};
+
+&dss_ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@2 {
+ reg = <2>;
+
+ dpi2_out: endpoint {
+ remote-endpoint = <&dsi0_in>;
+ };
+ };
+};
+
+/* I2C on DSI Connector Pin #52 and #54 */
+&i2c_dsi_1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ status = "okay";
+
+ bridge@2c {
+ compatible = "ti,sn65dsi83";
+ reg = <0x2c>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_gpio_20_dsi_1>;
+ /* Aquila GPIO_20_DSI_1 (AQUILA B45) */
+ enable-gpios = <&main_gpio0 18 GPIO_ACTIVE_HIGH>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ dsi_lvds_bridge_in: endpoint {
+ data-lanes = <1 2 3 4>;
+ remote-endpoint = <&dsi0_out>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+
+ dsi_lvds_bridge_out: endpoint {
+ remote-endpoint = <&panel_rvt70hslnwca0_in>;
+ };
+ };
+ };
+ };
+
+ touch@41 {
+ compatible = "ilitek,ili2132";
+ reg = <0x41>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_gpio_17_dsi_1>, <&pinctrl_gpio_18_dsi_1>;
+ /* Aquila GPIO_17_DSI_1 (TOUCH_INT#, AQUILA B42) */
+ interrupt-parent = <&main_gpio0>;
+ interrupts = <12 IRQ_TYPE_EDGE_RISING>;
+ /* Aquila GPIO_18_DSI_1 (TOUCH_RESET#, AQUILA B43) */
+ reset-gpios = <&main_gpio0 31 GPIO_ACTIVE_LOW>;
+ };
+};
+
+&panel_rvt70hslnwca0 {
+ backlight = <&backlight_aquila_dsi>;
+
+ port {
+ panel_rvt70hslnwca0_in: endpoint {
+ remote-endpoint = <&dsi_lvds_bridge_out>;
+ };
+ };
+};
diff --git a/overlays/aquila-am69_backlight-dsi_overlay.dtsi b/overlays/aquila-am69_backlight-dsi_overlay.dtsi
new file mode 100644
index 0000000..c122571
--- /dev/null
+++ b/overlays/aquila-am69_backlight-dsi_overlay.dtsi
@@ -0,0 +1,16 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright (c) Toradex
+ *
+ * Backlight on DSI connector
+ */
+
+&{/} {
+ backlight_aquila_dsi: backlight-aquila-dsi {
+ compatible = "pwm-backlight";
+ brightness-levels = <0 45 63 88 119 158 203 255>;
+ default-brightness-level = <4>;
+ /* Aquila PWM_3_DSI (AQUILA B46) */
+ pwms = <&main_ehrpwm5 0 6666667 0>;
+ };
+};
diff --git a/overlays/aquila-am69_csi1-ov5640-27mhz_overlay.dts b/overlays/aquila-am69_csi1-ov5640-27mhz_overlay.dts
new file mode 100644
index 0000000..189550d
--- /dev/null
+++ b/overlays/aquila-am69_csi1-ov5640-27mhz_overlay.dts
@@ -0,0 +1,17 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright (c) Toradex
+ *
+ * Aquila CSI_1 with CSI Camera Module OV5640 with 27MHz Oscillator
+ *
+ * https://developer.toradex.com/hardware/accessories/cameras/csi-camera-module-5mp-ov5640-arducam
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include "aquila-am69_csi1-ov5640_overlay.dts"
+
+&clk_csi1_ov5640 {
+ clock-frequency = <27000000>;
+};
diff --git a/overlays/aquila-am69_csi1-ov5640_overlay.dts b/overlays/aquila-am69_csi1-ov5640_overlay.dts
new file mode 100644
index 0000000..d06e5e4
--- /dev/null
+++ b/overlays/aquila-am69_csi1-ov5640_overlay.dts
@@ -0,0 +1,85 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright (c) Toradex
+ *
+ * Aquila CSI_1 with 5MP OV5640 CSI Camera Module
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+ compatible = "toradex,aquila-am69";
+};
+
+&{/} {
+ clk_csi1_ov5640: ov5640-csi1-clock {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <24000000>;
+ };
+
+ regulator_camera_csi_1: regulator-camera-csi-1 {
+ compatible = "regulator-fixed";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_gpio_12_csi_1>;
+ /* Aquila GPIO_12_CSI_1 - Camera Connector 24 */
+ gpio = <&main_gpio0 48 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ regulator-name = "V_CSI_1";
+ startup-delay-us = <5000>;
+ };
+};
+
+&csi0_port0 {
+ status = "okay";
+
+ csi0_port0_in: endpoint {
+ bus-type = <4>; /* CSI2 DPHY. */
+ clock-lanes = <0>;
+ data-lanes = <1 2>;
+ remote-endpoint = <&csi0_port0_cam_out>;
+ };
+};
+
+&dphy0 {
+ status = "okay";
+};
+
+/* Aquila I2C_4_CSI1 */
+&main_i2c1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ status = "okay";
+
+ camera@3c {
+ compatible = "ovti,ov5640";
+ reg = <0x3c>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_gpio_09_csi_1>, <&pinctrl_gpio_10_csi_1>;
+ clocks = <&clk_csi1_ov5640>;
+ clock-names = "xclk";
+ AVDD-supply = <&regulator_camera_csi_1>;
+ DVDD-supply = <&regulator_camera_csi_1>;
+ DOVDD-supply = <&regulator_camera_csi_1>;
+ /* Aquila GPIO_10_CSI_1 - Camera Connector 22 */
+ powerdown-gpios = <&main_gpio0 2 GPIO_ACTIVE_HIGH>;
+ /* Aquila GPIO_09_CSI_1 - Camera Connector 11 */
+ reset-gpios = <&main_gpio0 1 GPIO_ACTIVE_LOW>;
+
+ port {
+ csi0_port0_cam_out: endpoint {
+ clock-lanes = <0>;
+ data-lanes = <1 2>;
+ remote-endpoint = <&csi0_port0_in>;
+ };
+ };
+ };
+};
+
+&ti_csi2rx0 {
+ status = "okay";
+};
diff --git a/overlays/aquila-am69_csi2-ov5640-27mhz_overlay.dts b/overlays/aquila-am69_csi2-ov5640-27mhz_overlay.dts
new file mode 100644
index 0000000..0d66b35
--- /dev/null
+++ b/overlays/aquila-am69_csi2-ov5640-27mhz_overlay.dts
@@ -0,0 +1,17 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright (c) Toradex
+ *
+ * Aquila CSI_2 with CSI Camera Module OV5640 with 27MHz Oscillator
+ *
+ * https://developer.toradex.com/hardware/accessories/cameras/csi-camera-module-5mp-ov5640-arducam
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include "aquila-am69_csi2-ov5640_overlay.dts"
+
+&clk_csi2_ov5640 {
+ clock-frequency = <27000000>;
+};
diff --git a/overlays/aquila-am69_csi2-ov5640_overlay.dts b/overlays/aquila-am69_csi2-ov5640_overlay.dts
new file mode 100644
index 0000000..848edc6
--- /dev/null
+++ b/overlays/aquila-am69_csi2-ov5640_overlay.dts
@@ -0,0 +1,85 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright (c) Toradex
+ *
+ * Aquila CSI_2 with 5MP OV5640 CSI Camera Module
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+ compatible = "toradex,aquila-am69";
+};
+
+&{/} {
+ clk_csi2_ov5640: ov5640-csi2-clock {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <24000000>;
+ };
+
+ regulator_camera_csi_2: regulator-camera-csi-2 {
+ compatible = "regulator-fixed";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_gpio_16_csi_2>;
+ /* Aquila GPIO_16_CSI_2 - Camera Connector 24 */
+ gpio = <&wkup_gpio0 39 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ regulator-name = "V_CSI_2";
+ startup-delay-us = <5000>;
+ };
+};
+
+&csi1_port0 {
+ status = "okay";
+
+ csi1_port0_in: endpoint {
+ bus-type = <4>; /* CSI2 DPHY. */
+ clock-lanes = <0>;
+ data-lanes = <1 2>;
+ remote-endpoint = <&csi1_port0_cam_out>;
+ };
+};
+
+&dphy1 {
+ status = "okay";
+};
+
+/* Aquila I2C_5_CSI2 */
+&main_i2c2 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ status = "okay";
+
+ camera@3c {
+ compatible = "ovti,ov5640";
+ reg = <0x3c>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_gpio_13_csi_2>, <&pinctrl_gpio_14_csi_2>;
+ clocks = <&clk_csi2_ov5640>;
+ clock-names = "xclk";
+ AVDD-supply = <&regulator_camera_csi_2>;
+ DVDD-supply = <&regulator_camera_csi_2>;
+ DOVDD-supply = <&regulator_camera_csi_2>;
+ /* Aquila GPIO_14_CSI_2 - Camera Connector 22 */
+ powerdown-gpios = <&wkup_gpio0 33 GPIO_ACTIVE_HIGH>;
+ /* Aquila GPIO_13_CSI_2 - Camera Connector 11 */
+ reset-gpios = <&wkup_gpio0 32 GPIO_ACTIVE_LOW>;
+
+ port {
+ csi1_port0_cam_out: endpoint {
+ clock-lanes = <0>;
+ data-lanes = <1 2>;
+ remote-endpoint = <&csi1_port0_in>;
+ };
+ };
+ };
+};
+
+&ti_csi2rx1 {
+ status = "okay";
+};
diff --git a/overlays/aquila-am69_dsi-to-hdmi_overlay.dts b/overlays/aquila-am69_dsi-to-hdmi_overlay.dts
new file mode 100644
index 0000000..9b448f2
--- /dev/null
+++ b/overlays/aquila-am69_dsi-to-hdmi_overlay.dts
@@ -0,0 +1,124 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright (c) Toradex
+ *
+ * Toradex DSI to HDMI Adapter on Aquila DSI_1
+ *
+ * https://developer.toradex.com/hardware/accessories/add-ons/dsi-hdmi-adapter
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+
+/ {
+ compatible = "toradex,aquila-am69";
+};
+
+&{/} {
+ hdmi-connector {
+ compatible = "hdmi-connector";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_pwm3_dsi_gpio>;
+ /* I2C on DSI Connector Pin #52 and #54 */
+ ddc-i2c-bus = <&i2c_dsi_1>;
+ /* Aquila PWM_3_DSI (AQUILA B46) */
+ hpd-gpios = <&main_gpio0 33 GPIO_ACTIVE_HIGH>;
+ type = "a";
+
+ port {
+ hdmi_connector_in: endpoint {
+ remote-endpoint = <&dsi_hdmi_bridge_out>;
+ };
+ };
+ };
+};
+
+&dphy_tx0 {
+ status = "okay";
+};
+
+&dsi0 {
+ status = "okay";
+};
+
+&dsi0_ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ dsi0_out: endpoint {
+ remote-endpoint = <&dsi_hdmi_bridge_in>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ dsi0_in: endpoint {
+ remote-endpoint = <&dpi2_out>;
+ };
+ };
+};
+
+&dss_ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@2 {
+ reg = <2>;
+
+ dpi2_out: endpoint {
+ remote-endpoint = <&dsi0_in>;
+ };
+ };
+};
+
+/* Aquila PWM_3_DSI */
+&main_ehrpwm5 {
+ /* Aquila PWM_3_DSI (AQUILA B46) is used as HDMI HPD / GPIO, disable to avoid conflicts */
+ status = "disabled";
+};
+
+/* I2C on DSI Connector Pin #4 and #6 */
+&i2c_dsi_0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ status = "okay";
+
+ hdmi@48 {
+ compatible = "lontium,lt8912b";
+ reg = <0x48>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_gpio_20_dsi_1>;
+ /* Aquila GPIO_20_DSI_1 (AQUILA B45) */
+ reset-gpios = <&main_gpio0 18 GPIO_ACTIVE_LOW>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ dsi_hdmi_bridge_in: endpoint {
+ data-lanes = <1 2 3 4>;
+ remote-endpoint = <&dsi0_out>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ dsi_hdmi_bridge_out: endpoint {
+ remote-endpoint = <&hdmi_connector_in>;
+ };
+ };
+ };
+ };
+};
diff --git a/overlays/aquila-am69_dsi-to-lvds_panel-cap-touch-10inch-lvds_overlay.dts b/overlays/aquila-am69_dsi-to-lvds_panel-cap-touch-10inch-lvds_overlay.dts
new file mode 100644
index 0000000..aaecca9
--- /dev/null
+++ b/overlays/aquila-am69_dsi-to-lvds_panel-cap-touch-10inch-lvds_overlay.dts
@@ -0,0 +1,159 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright (c) Toradex
+ *
+ * Toradex DSI to LVDS Adapter with Capacitive Touch Display 10.1" on Aquila DSI_1
+ *
+ * https://developer.toradex.com/hardware/accessories/displays/capacitive-touch-display-101inch-lvds
+ * https://www.toradex.com/accessories/capacitive-touch-display-10.1-inch-lvds
+ * https://developer.toradex.com/hardware/accessories/add-ons/dsi-lvds-adapter
+ * https://www.toradex.com/accessories/verdin-dsi-to-lvds-adapter
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/pwm/pwm.h>
+
+/ {
+ compatible = "toradex,aquila-am69";
+};
+
+&{/} {
+ backlight_dsi1_lvds: backlight-dsi1-lvds {
+ compatible = "pwm-backlight";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_gpio_19_dsi_1>;
+ brightness-levels = <0 45 63 88 119 158 203 255>;
+ default-brightness-level = <4>;
+ /* Aquila GPIO_19_DSI_1 (AQUILA B44) */
+ enable-gpios = <&main_gpio0 13 GPIO_ACTIVE_HIGH>;
+ /* Aquila PWM_3_DSI (AQUILA B46) */
+ pwms = <&main_ehrpwm5 0 6666667 PWM_POLARITY_INVERTED>;
+ };
+
+ panel-lvds {
+ compatible = "panel-lvds";
+ backlight = <&backlight_dsi1_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 = <3 40 51>;
+ hfront-porch = <43 80 91>;
+ hsync-active = <0>;
+ 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-active = <0>;
+ vsync-len = <6 9 12>;
+ };
+
+ port {
+ panel_lvds_in: endpoint {
+ remote-endpoint = <&dsi_lvds_bridge_out>;
+ };
+ };
+ };
+};
+
+&dphy_tx0 {
+ status = "okay";
+};
+
+&dsi0 {
+ status = "okay";
+};
+
+&dsi0_ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ dsi0_out: endpoint {
+ remote-endpoint = <&dsi_lvds_bridge_in>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ dsi0_in: endpoint {
+ remote-endpoint = <&dpi2_out>;
+ };
+ };
+};
+
+&dss_ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@2 {
+ reg = <2>;
+
+ dpi2_out: endpoint {
+ remote-endpoint = <&dsi0_in>;
+ };
+ };
+};
+
+/* I2C on DSI Connector Pin #4 and #6 */
+&i2c_dsi_0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ status = "okay";
+
+ bridge@2c {
+ compatible = "ti,sn65dsi84";
+ reg = <0x2c>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_gpio_20_dsi_1>;
+ /* Aquila GPIO_20_DSI_1 (AQUILA B45) */
+ enable-gpios = <&main_gpio0 18 GPIO_ACTIVE_HIGH>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ dsi_lvds_bridge_in: endpoint {
+ data-lanes = <1 2 3 4>;
+ remote-endpoint = <&dsi0_out>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+
+ dsi_lvds_bridge_out: endpoint {
+ remote-endpoint = <&panel_lvds_in>;
+ };
+ };
+ };
+ };
+
+ touch@4a {
+ compatible = "atmel,maxtouch";
+ reg = <0x4a>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_gpio_17_dsi_1>, <&pinctrl_gpio_18_dsi_1>;
+ /* Aquila GPIO_17_DSI_1 (TOUCH_INT#, AQUILA B42) */
+ interrupt-parent = <&main_gpio0>;
+ interrupts = <12 IRQ_TYPE_EDGE_FALLING>;
+ /* Aquila GPIO_18_DSI_1 (TOUCH_RESET#, AQUILA B43) */
+ reset-gpios = <&main_gpio0 31 GPIO_ACTIVE_LOW>;
+ };
+};
diff --git a/overlays/aquila-am69_panel-cap-touch-10inch-dsi_overlay.dts b/overlays/aquila-am69_panel-cap-touch-10inch-dsi_overlay.dts
new file mode 100644
index 0000000..bac0654
--- /dev/null
+++ b/overlays/aquila-am69_panel-cap-touch-10inch-dsi_overlay.dts
@@ -0,0 +1,125 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright (c) Toradex
+ *
+ * Aquila AM69 connected to Capacitive Touch Display 10.1" DSI
+ *
+ * https://developer.toradex.com/hardware/accessories/displays/capacitive-touch-display-101inch-dsi
+ * https://www.toradex.com/accessories/capacitive-touch-display-10.1-inch-dsi
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+
+#include "aquila-am69_backlight-dsi_overlay.dtsi"
+#include "display-rvt101hvdwc00b_overlay.dtsi"
+
+/ {
+ compatible = "toradex,aquila-am69";
+};
+
+&dphy_tx0 {
+ status = "okay";
+};
+
+&dsi0 {
+ status = "okay";
+};
+
+&dsi0_ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ dsi0_out: endpoint {
+ remote-endpoint = <&dsi_lvds_bridge_in>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ dsi0_in: endpoint {
+ remote-endpoint = <&dpi2_out>;
+ };
+ };
+};
+
+&dss_ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@2 {
+ reg = <2>;
+
+ dpi2_out: endpoint {
+ remote-endpoint = <&dsi0_in>;
+ };
+ };
+};
+
+/* Aquila I2C_3_DSI1 */
+&main_i2c0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ status = "okay";
+
+ bridge@2c {
+ compatible = "ti,sn65dsi83";
+ reg = <0x2c>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_gpio_20_dsi_1>;
+ /* Aquila GPIO_20_DSI_1 (AQUILA B45) */
+ enable-gpios = <&main_gpio0 18 GPIO_ACTIVE_HIGH>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ dsi_lvds_bridge_in: endpoint {
+ data-lanes = <1 2 3 4>;
+ remote-endpoint = <&dsi0_out>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+
+ dsi_lvds_bridge_out: endpoint {
+ remote-endpoint = <&panel_rvt101hvdwc00_in>;
+ };
+ };
+ };
+ };
+
+ touch@41 {
+ compatible = "ilitek,ili2132";
+ reg = <0x41>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_gpio_17_dsi_1>, <&pinctrl_gpio_18_dsi_1>;
+ /* Aquila GPIO_17_DSI_1 (TOUCH_INT#, AQUILA B42) */
+ interrupt-parent = <&main_gpio0>;
+ interrupts = <12 IRQ_TYPE_EDGE_RISING>;
+ /* Aquila GPIO_18_DSI_1 (TOUCH_RESET#, AQUILA B43) */
+ reset-gpios = <&main_gpio0 31 GPIO_ACTIVE_LOW>;
+ };
+};
+
+&panel_rvt101hvdwc00 {
+ backlight = <&backlight_aquila_dsi>;
+
+ port {
+ panel_rvt101hvdwc00_in: endpoint {
+ remote-endpoint = <&dsi_lvds_bridge_out>;
+ };
+ };
+};
diff --git a/overlays/aquila-am69_panel-cap-touch-7inch-dsi_overlay.dts b/overlays/aquila-am69_panel-cap-touch-7inch-dsi_overlay.dts
new file mode 100644
index 0000000..d804906
--- /dev/null
+++ b/overlays/aquila-am69_panel-cap-touch-7inch-dsi_overlay.dts
@@ -0,0 +1,125 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright (c) Toradex
+ *
+ * Aquila AM69 connected to Capacitive Touch Display 7" DSI
+ *
+ * https://developer.toradex.com/hardware/accessories/displays/capacitive-touch-display-7inch-dsi
+ * https://www.toradex.com/accessories/capacitive-touch-display-7-inch-dsi
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+
+#include "aquila-am69_backlight-dsi_overlay.dtsi"
+#include "display-rvt70hslnwca0_overlay.dtsi"
+
+/ {
+ compatible = "toradex,aquila-am69";
+};
+
+&dphy_tx0 {
+ status = "okay";
+};
+
+&dsi0 {
+ status = "okay";
+};
+
+&dsi0_ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ dsi0_out: endpoint {
+ remote-endpoint = <&dsi_lvds_bridge_in>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ dsi0_in: endpoint {
+ remote-endpoint = <&dpi2_out>;
+ };
+ };
+};
+
+&dss_ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@2 {
+ reg = <2>;
+
+ dpi2_out: endpoint {
+ remote-endpoint = <&dsi0_in>;
+ };
+ };
+};
+
+/* Aquila I2C_3_DSI1 */
+&main_i2c0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ status = "okay";
+
+ bridge@2c {
+ compatible = "ti,sn65dsi83";
+ reg = <0x2c>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_gpio_20_dsi_1>;
+ /* Aquila GPIO_20_DSI_1 (AQUILA B45) */
+ enable-gpios = <&main_gpio0 18 GPIO_ACTIVE_HIGH>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ dsi_lvds_bridge_in: endpoint {
+ data-lanes = <1 2 3 4>;
+ remote-endpoint = <&dsi0_out>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+
+ dsi_lvds_bridge_out: endpoint {
+ remote-endpoint = <&panel_rvt70hslnwca0_in>;
+ };
+ };
+ };
+ };
+
+ touch@41 {
+ compatible = "ilitek,ili2132";
+ reg = <0x41>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_gpio_17_dsi_1>, <&pinctrl_gpio_18_dsi_1>;
+ /* Aquila GPIO_17_DSI_1 (TOUCH_INT#, AQUILA B42) */
+ interrupt-parent = <&main_gpio0>;
+ interrupts = <12 IRQ_TYPE_EDGE_RISING>;
+ /* Aquila GPIO_18_DSI_1 (TOUCH_RESET#, AQUILA B43) */
+ reset-gpios = <&main_gpio0 31 GPIO_ACTIVE_LOW>;
+ };
+};
+
+&panel_rvt70hslnwca0 {
+ backlight = <&backlight_aquila_dsi>;
+
+ port {
+ panel_rvt70hslnwca0_in: endpoint {
+ remote-endpoint = <&dsi_lvds_bridge_out>;
+ };
+ };
+};
diff --git a/overlays/aquila-am69_spi1_spidev_overlay.dts b/overlays/aquila-am69_spi1_spidev_overlay.dts
new file mode 100644
index 0000000..95883f6
--- /dev/null
+++ b/overlays/aquila-am69_spi1_spidev_overlay.dts
@@ -0,0 +1,28 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright (c) Toradex
+ *
+ * Aquila AM69 SPI_1 spidev
+ */
+
+/dts-v1/;
+/plugin/;
+
+/ {
+ compatible = "toradex,aquila-am69";
+};
+
+/* Aquila SPI_1 */
+&main_spi2 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ status = "okay";
+
+ spidev@0 {
+ /* Use compatible "rohm,dh2228fv" to bind spidev driver */
+ compatible = "rohm,dh2228fv";
+ reg = <0>;
+ spi-max-frequency = <10000000>;
+ };
+};
diff --git a/overlays/aquila-am69_spi2_spidev_overlay.dts b/overlays/aquila-am69_spi2_spidev_overlay.dts
new file mode 100644
index 0000000..4b92975
--- /dev/null
+++ b/overlays/aquila-am69_spi2_spidev_overlay.dts
@@ -0,0 +1,28 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright (c) Toradex
+ *
+ * Aquila AM69 SPI_2 spidev
+ */
+
+/dts-v1/;
+/plugin/;
+
+/ {
+ compatible = "toradex,aquila-am69";
+};
+
+/* Aquila SPI_2 */
+&main_spi0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ status = "okay";
+
+ spidev@0 {
+ /* Use compatible "rohm,dh2228fv" to bind spidev driver */
+ compatible = "rohm,dh2228fv";
+ reg = <0>;
+ spi-max-frequency = <10000000>;
+ };
+};