1// SPDX-License-Identifier: GPL-2.0-or-later OR MIT 2/* 3 * Copyright (c) Toradex 4 * 5 * Toradex Capacitive Touch Display 7" 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-7inch-dsi 11 * https://www.toradex.com/accessories/capacitive-touch-display-7-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 = <®_3p3v>; 29 /* Verdin PWM_3_DSI (SODIMM 19) */ 30 pwms = <&pwm1 0 6666667 0>; 31 }; 32 33 panel-lvds-bridge { 34 compatible = "riverdi,rvt70hslnwca0", "panel-lvds"; 35 backlight = <&backlight_pwm3>; 36 data-mapping = "vesa-24"; 37 height-mm = <86>; 38 width-mm = <154>; 39 40 panel-timing { 41 clock-frequency = <51200000>; 42 de-active = <1>; 43 hactive = <1024>; 44 hback-porch = <100 100 100>; 45 hfront-porch = <16 160 216>; 46 hsync-active = <0>; 47 hsync-len = <50 60 140>; 48 pixelclk-active = <1>; 49 vactive = <600>; 50 vback-porch = <23 23 23>; 51 vfront-porch = <1 12 126>; 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/* Verdin I2C_2_DSI */ 65&i2c2 { 66 #address-cells = <1>; 67 #size-cells = <0>; 68 69 status = "okay"; 70 71 bridge@2c { 72 compatible = "ti,sn65dsi83"; 73 reg = <0x2c>; 74 pinctrl-names = "default"; 75 pinctrl-0 = <&pinctrl_gpio_10_dsi>; 76 /* Verdin GPIO_10_DSI (SODIMM 21) - DSI_1_BKL_EN */ 77 enable-gpios = <&gpio3 3 GPIO_ACTIVE_HIGH>; 78 vcc-supply = <®_1p8v>; 79 80 ports { 81 #address-cells = <1>; 82 #size-cells = <0>; 83 84 port@0 { 85 reg = <0>; 86 87 dsi_lvds_bridge_in: endpoint { 88 data-lanes = <1 2 3 4>; 89 remote-endpoint = <&mipi_dsi_out>; 90 }; 91 }; 92 93 port@2 { 94 reg = <2>; 95 96 dsi_lvds_bridge_out: endpoint { 97 remote-endpoint = <&panel_lvds_bridge_in>; 98 }; 99 }; 100 }; 101 }; 102 103 touchscreen@41 { 104 compatible = "ilitek,ili2132"; 105 reg = <0x41>; 106 pinctrl-names = "default"; 107 pinctrl-0 = <&pinctrl_gpio_9_dsi>, <&pinctrl_i2s_2_bclk_touch_reset>; 108 /* Verdin GPIO_9_DSI (SODIMM 17) - TOUCH_INT# */ 109 /* Rising edge avoids spurious interrupts from the noisy falling edge. */ 110 interrupt-parent = <&gpio3>; 111 interrupts = <15 IRQ_TYPE_EDGE_RISING>; 112 /* Verdin I2S_2_BCLK (SODIMM 42) - TOUCH_RESET# */ 113 reset-gpios = <&gpio3 23 GPIO_ACTIVE_LOW>; 114 }; 115}; 116 117&lcdif { 118 status = "okay"; 119}; 120 121&mipi_dsi { 122 samsung,esc-clock-frequency = <16000000>; 123 124 status = "okay"; 125}; 126 127&mipi_dsi_out { 128 remote-endpoint = <&dsi_lvds_bridge_in>; 129}; 130