1// SPDX-License-Identifier: GPL-2.0-or-later OR MIT 2/* 3 * Copyright (c) Toradex 4 * 5 * Toradex Capacitive Touch Display 10.1" on Verdin DSI_1. 6 * On Dahlia (X17) and Development Board (X48), DSI_1 is exposed via a 7 * Samtec LSS-130 connector and requires the Toradex DSI Display Adapter 8 * to convert to FFC/FPC connector. 9 * 10 * https://developer.toradex.com/hardware/accessories/displays/capacitive-touch-display-101inch-dsi 11 * https://www.toradex.com/accessories/capacitive-touch-display-10.1-inch-dsi 12 * https://developer.toradex.com/hardware/accessories/add-ons/dsi-display-adapter 13 * https://www.toradex.com/accessories/verdin-dsi-display-adapter 14 */ 15 16/dts-v1/; 17/plugin/; 18 19#include <dt-bindings/gpio/gpio.h> 20#include <dt-bindings/interrupt-controller/irq.h> 21#include <dt-bindings/pwm/pwm.h> 22 23&{/} { 24 backlight_pwm3: backlight-pwm3 { 25 compatible = "pwm-backlight"; 26 brightness-levels = <0 45 63 88 119 158 203 255>; 27 default-brightness-level = <4>; 28 power-supply = <®_3v3>; 29 /* Verdin PWM_3_DSI (SODIMM 19) - PWM_3_DSI_LVDS */ 30 pwms = <&epwm1 0 6666667 0>; 31 }; 32 33 panel-lvds-bridge { 34 compatible = "riverdi,rvt101hvlnwc00", "panel-lvds"; 35 backlight = <&backlight_pwm3>; 36 data-mapping = "vesa-24"; 37 height-mm = <136>; 38 width-mm = <217>; 39 40 panel-timing { 41 clock-frequency = <72400000>; 42 de-active = <1>; 43 hactive = <1280>; 44 hback-porch = <88 88 88>; 45 hfront-porch = <12 72 132>; 46 hsync-active = <0>; 47 hsync-len = <1 5 40>; 48 pixelclk-active = <1>; 49 vactive = <800>; 50 vback-porch = <23 23 23>; 51 vfront-porch = <1 15 49>; 52 vsync-active = <0>; 53 vsync-len = <1 10 20>; 54 }; 55 56 port { 57 panel_lvds_bridge_in: endpoint { 58 remote-endpoint = <&dsi_lvds_bridge_out>; 59 }; 60 }; 61 }; 62}; 63 64&dsi_bridge { 65 status = "okay"; 66}; 67 68&dsi_bridge_ports { 69 #address-cells = <1>; 70 #size-cells = <0>; 71 72 port@1 { 73 reg = <1>; 74 75 dsi_bridge_out: endpoint { 76 remote-endpoint = <&dsi_lvds_bridge_in>; 77 }; 78 }; 79}; 80 81&dss { 82 status = "okay"; 83}; 84 85/* Verdin I2C_2_DSI */ 86&main_i2c2 { 87 #address-cells = <1>; 88 #size-cells = <0>; 89 90 bridge@2c { 91 compatible = "ti,sn65dsi83"; 92 reg = <0x2c>; 93 pinctrl-names = "default"; 94 pinctrl-0 = <&pinctrl_dsi1_bkl_en>; 95 /* Verdin GPIO_10_DSI (SODIMM 21) - DSI_1_BKL_EN */ 96 enable-gpios = <&main_gpio0 30 GPIO_ACTIVE_HIGH>; 97 98 ports { 99 #address-cells = <1>; 100 #size-cells = <0>; 101 102 port@0 { 103 reg = <0>; 104 105 dsi_lvds_bridge_in: endpoint { 106 remote-endpoint = <&dsi_bridge_out>; 107 data-lanes = <1 2 3 4>; 108 }; 109 }; 110 111 port@2 { 112 reg = <2>; 113 114 dsi_lvds_bridge_out: endpoint { 115 remote-endpoint = <&panel_lvds_bridge_in>; 116 }; 117 }; 118 }; 119 }; 120 121 touchscreen@41 { 122 compatible = "ilitek,ili2132"; 123 reg = <0x41>; 124 pinctrl-names = "default"; 125 pinctrl-0 = <&pinctrl_dsi1_int>, <&pinctrl_i2s_2_bclk_gpio>; 126 /* Verdin GPIO_9_DSI (SODIMM 17) - TOUCH_INT# */ 127 interrupt-parent = <&main_gpio1>; 128 interrupts = <49 IRQ_TYPE_EDGE_RISING>; 129 /* Verdin I2S_2_BCLK (SODIMM 42) - TOUCH_RESET# */ 130 reset-gpios = <&main_gpio0 35 GPIO_ACTIVE_LOW>; 131 }; 132}; 133