xref: /linux/scripts/dtc/include-prefixes/arm64/ti/k3-am625-verdin-panel-cap-touch-7inch-dsi.dtso (revision b2128290c29902315e632ea59e0504d6bc9e9b42)
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 = <&reg_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,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 = <160 160 160>;
45			hfront-porch = <16 160 216>;
46			hsync-active = <0>;
47			hsync-len = <1 5 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&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