summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorParth Pancholi <parth.pancholi@toradex.com>2024-06-06 16:47:20 +0200
committerParth Pancholi <parth.pancholi@toradex.com>2024-06-07 09:50:54 +0200
commitb35838a95c661e80f76dd1d9d0e27d5735b2cb79 (patch)
tree0819fa009417ddaa2f6c0e7343c9bfb9a2c8361f
parent86375f34dfd894a0948552b5c82e6b1164b361c7 (diff)
aquila-am69: add DSI to 10inch LVDS panel overlay
Add Aquila DSI to 10inch capacitive touch LVDS panel adapter overlay. Related-to: ELB-5769 Signed-off-by: Parth Pancholi <parth.pancholi@toradex.com>
-rw-r--r--overlays/Makefile1
-rw-r--r--overlays/aquila-am69_dsi-to-lvds_panel-cap-touch-10inch-lvds_overlay.dts158
2 files changed, 159 insertions, 0 deletions
diff --git a/overlays/Makefile b/overlays/Makefile
index af8bdef..fe1d832 100644
--- a/overlays/Makefile
+++ b/overlays/Makefile
@@ -20,6 +20,7 @@ HOSTCC := gcc $(DTS_INCLUDES)
PWD := $(shell pwd)
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 += verdin-am62_dsi-to-hdmi_overlay.dtbo
dtb-y += verdin-am62_dsi-to-lvds_panel-cap-touch-10inch-lvds_overlay.dtbo
dtb-y += verdin-am62_hmp_overlay.dtbo
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..25df8b6
--- /dev/null
+++ b/overlays/aquila-am69_dsi-to-lvds_panel-cap-touch-10inch-lvds_overlay.dts
@@ -0,0 +1,158 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright 2024 Toradex
+ */
+
+// Toradex DSI to LVDS Adapter on Aquila DSI_1.
+
+/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_in_lvds: endpoint {
+ remote-endpoint = <&lvds_out_panel>;
+ };
+ };
+ };
+};
+
+&dphy_tx0 {
+ status = "okay";
+};
+
+&dsi0 {
+ status = "okay";
+};
+
+&dsi0_ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ dsi0_out: endpoint {
+ remote-endpoint = <&dsi84_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 {
+ status = "okay";
+};
+
+/* Aquila I2C_3_DSI1 */
+&main_i2c0 {
+ #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>;
+
+ dsi84_in: endpoint {
+ data-lanes = <1 2 3 4>;
+ remote-endpoint = <&dsi0_out>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+
+ lvds_out_panel: endpoint {
+ remote-endpoint = <&panel_in_lvds>;
+ };
+ };
+ };
+ };
+
+ 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>;
+ };
+};