diff options
author | Parth Pancholi <parth.pancholi@toradex.com> | 2024-06-06 16:47:20 +0200 |
---|---|---|
committer | Parth Pancholi <parth.pancholi@toradex.com> | 2024-06-07 09:50:54 +0200 |
commit | b35838a95c661e80f76dd1d9d0e27d5735b2cb79 (patch) | |
tree | 0819fa009417ddaa2f6c0e7343c9bfb9a2c8361f | |
parent | 86375f34dfd894a0948552b5c82e6b1164b361c7 (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/Makefile | 1 | ||||
-rw-r--r-- | overlays/aquila-am69_dsi-to-lvds_panel-cap-touch-10inch-lvds_overlay.dts | 158 |
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>; + }; +}; |