diff options
Diffstat (limited to 'overlays/verdin-am62_panel-cap-touch-10inch-dsi_overlay.dts')
-rw-r--r-- | overlays/verdin-am62_panel-cap-touch-10inch-dsi_overlay.dts | 140 |
1 files changed, 140 insertions, 0 deletions
diff --git a/overlays/verdin-am62_panel-cap-touch-10inch-dsi_overlay.dts b/overlays/verdin-am62_panel-cap-touch-10inch-dsi_overlay.dts new file mode 100644 index 0000000..6c8fcd9 --- /dev/null +++ b/overlays/verdin-am62_panel-cap-touch-10inch-dsi_overlay.dts @@ -0,0 +1,140 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2023 Toradex + */ + +// Verdin with connected Capacitive Touch Display 10.1" DSI. +// Adapter and display can be ordered at Toradex. + +/dts-v1/; +/plugin/; + +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/interrupt-controller/irq.h> +#include <dt-bindings/pwm/pwm.h> + +/ { + compatible = "toradex,verdin-am62"; +}; + +&{/} { + backlight: backlight { + compatible = "pwm-backlight"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_i2s_2_d_out_gpio>; + brightness-levels = <0 45 63 88 119 158 203 255>; + default-brightness-level = <4>; + /* Verdin DSI_1_BKL_EN_LVDS (shared with I2S_2_D_OUT from MCASP1, SODIMM 46) */ + enable-gpios = <&main_gpio0 34 GPIO_ACTIVE_HIGH>; + power-supply = <®_3v3>; + /* Verdin PWM_3_DSI/PWM_3_DSI_LVDS (SODIMM 19) */ + pwms = <&epwm1 0 6666667 PWM_POLARITY_INVERTED>; + }; + + panel-lvds { + compatible = "panel-lvds"; + backlight = <&backlight>; + 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 = <88 88 88>; + hfront-porch = <12 72 132>; + hsync-active = <0>; + hsync-len = <1 16 40>; + pixelclk-active = <1>; + vactive = <800 800 800>; + vback-porch = <23 23 23>; + vfront-porch = <1 16 49>; + vsync-active = <0>; + vsync-len = <1 16 20>; + }; + + port { + panel_in_lvds: endpoint { + remote-endpoint = <&lvds_out_panel>; + }; + }; + }; +}; + +&dsi_bridge { + status = "okay"; +}; + +&dsi_bridge_ports { + #address-cells = <1>; + #size-cells = <0>; + + port@1 { + reg = <1>; + + mipi_dsi_bridge1_out: endpoint { + remote-endpoint = <&dsi84_in>; + }; + }; +}; + +&dss { + status = "okay"; +}; + +/* Verdin PWM_3_DSI */ +&epwm1 { + status = "okay"; +}; + +/* Verdin I2C_2_DSI */ +&main_i2c2 { + #address-cells = <1>; + #size-cells = <0>; + status = "okay"; + + bridge@2c { + compatible = "ti,sn65dsi83"; + reg = <0x2c>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_dsi1_bkl_en>; + /* SN65DSI83 IRQ, not connected) */ + /* Verdin DSI_1_BKL_EN (SODIMM 21) */ + enable-gpios = <&main_gpio0 30 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 = <&mipi_dsi_bridge1_out>; + }; + }; + + port@2 { + reg = <2>; + + lvds_out_panel: endpoint { + remote-endpoint = <&panel_in_lvds>; + }; + }; + }; + }; + + touch@41 { + compatible = "ilitek,ili2132"; + reg = <0x41>; + /* Verdin DSI_1_INT# (TOUCH_INT#, SODIMM 17) */ + interrupt-parent = <&main_gpio1>; + interrupts = <49 IRQ_TYPE_EDGE_FALLING>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_dsi1_int>, <&pinctrl_i2s_2_bclk_gpio>; + /* Verdin I2S_2_BCLK (TOUCH_RESET#, SODIMM 42) */ + reset-gpios = <&main_gpio0 35 GPIO_ACTIVE_LOW>; + }; +}; |