1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Google Quackingstick board device tree source
4 *
5 * Copyright 2021 Google LLC.
6 */
7
8/dts-v1/;
9
10#include "sc7180-trogdor.dtsi"
11#include "sc7180-trogdor-rt5682i-sku.dtsi"
12#include "sc7180-trogdor-detachable.dtsi"
13
14/ {
15	ppvar_lcd: ppvar-lcd-regulator {
16		compatible = "regulator-fixed";
17		regulator-name = "ppvar_lcd";
18
19		gpio = <&tlmm 88 GPIO_ACTIVE_HIGH>;
20		enable-active-high;
21		pinctrl-names = "default";
22		pinctrl-0 = <&ppvar_lcd_en>;
23
24		vin-supply = <&pp5000_a>;
25	};
26
27	v1p8_disp: v1p8-disp-regulator {
28		compatible = "regulator-fixed";
29		regulator-name = "v1p8_disp";
30
31		gpio = <&tlmm 86 GPIO_ACTIVE_HIGH>;
32		enable-active-high;
33		pinctrl-names = "default";
34		pinctrl-0 = <&pp1800_disp_on>;
35
36		vin-supply = <&pp3300_a>;
37	};
38};
39
40&backlight {
41	pwms = <&cros_ec_pwm 0>;
42};
43
44&camcc {
45	status = "okay";
46};
47
48&gpio_keys {
49	status = "okay";
50};
51
52&i2c4 {
53	status = "okay";
54	clock-frequency = <400000>;
55
56	ap_ts: touchscreen@10 {
57		compatible = "hid-over-i2c";
58		reg = <0x10>;
59		pinctrl-names = "default";
60		pinctrl-0 = <&ts_int_l>, <&ts_reset_l>;
61
62		interrupt-parent = <&tlmm>;
63		interrupts = <9 IRQ_TYPE_LEVEL_LOW>;
64
65		panel = <&panel>;
66		post-power-on-delay-ms = <20>;
67		hid-descr-addr = <0x0001>;
68
69		vdd-supply = <&pp3300_ts>;
70	};
71};
72
73&mdss_dsi0 {
74	panel: panel@0 {
75		/* Compatible will be filled in per-board */
76		reg = <0>;
77		enable-gpios = <&tlmm 87 GPIO_ACTIVE_HIGH>;
78		pinctrl-names = "default";
79		pinctrl-0 = <&lcd_rst>;
80		avdd-supply = <&ppvar_lcd>;
81		pp1800-supply = <&v1p8_disp>;
82		pp3300-supply = <&pp3300_dx_edp>;
83		backlight = <&backlight>;
84		rotation = <270>;
85
86		port {
87			panel_in: endpoint {
88				remote-endpoint = <&mdss_dsi0_out>;
89			};
90		};
91	};
92
93	ports {
94		port@1 {
95			endpoint {
96				remote-endpoint = <&panel_in>;
97				data-lanes = <0 1 2 3>;
98			};
99		};
100	};
101};
102
103&sdhc_2 {
104	status = "okay";
105};
106
107&pp1800_uf_cam {
108	status = "okay";
109};
110
111&pp1800_wf_cam {
112	status = "okay";
113};
114
115&pp2800_uf_cam {
116	status = "okay";
117};
118
119&pp2800_wf_cam {
120	status = "okay";
121};
122
123/*
124 * No eDP on this board but it's logically the same signal so just give it
125 * a new name and assign the proper GPIO.
126 */
127pp3300_disp_on: &pp3300_dx_edp {
128	gpio = <&tlmm 67 GPIO_ACTIVE_HIGH>;
129};
130
131/* This board only has 1 USB Type-C port. */
132&usb_c1 {
133	status = "disabled";
134};
135
136/* PINCTRL - modifications to sc7180-trogdor.dtsi */
137
138/*
139 * No eDP on this board but it's logically the same signal so just give it
140 * a new name and assign the proper GPIO.
141 */
142
143tp_en: &en_pp3300_dx_edp {
144	pins = "gpio67";
145};
146
147/* PINCTRL - board-specific pinctrl */
148
149&tlmm {
150	gpio-line-names = "HUB_RST_L",
151			  "AP_RAM_ID0",
152			  "AP_SKU_ID2",
153			  "AP_RAM_ID1",
154			  "",
155			  "AP_RAM_ID2",
156			  "UF_CAM_EN",
157			  "WF_CAM_EN",
158			  "TS_RESET_L",
159			  "TS_INT_L",
160			  "",
161			  "",
162			  "AP_EDP_BKLTEN",
163			  "UF_CAM_MCLK",
164			  "WF_CAM_CLK",
165			  "EDP_BRIJ_I2C_SDA",
166			  "EDP_BRIJ_I2C_SCL",
167			  "UF_CAM_SDA",
168			  "UF_CAM_SCL",
169			  "WF_CAM_SDA",
170			  "WF_CAM_SCL",
171			  "",
172			  "",
173			  "AMP_EN",
174			  "P_SENSOR_INT_L",
175			  "AP_SAR_SENSOR_SDA",
176			  "AP_SAR_SENSOR_SCL",
177			  "",
178			  "HP_IRQ",
179			  "WF_CAM_RST_L",
180			  "UF_CAM_RST_L",
181			  "AP_BRD_ID2",
182			  "",
183			  "AP_BRD_ID0",
184			  "AP_H1_SPI_MISO",
185			  "AP_H1_SPI_MOSI",
186			  "AP_H1_SPI_CLK",
187			  "AP_H1_SPI_CS_L",
188			  "",
189			  "",
190			  "",
191			  "",
192			  "H1_AP_INT_ODL",
193			  "",
194			  "UART_AP_TX_DBG_RX",
195			  "UART_DBG_TX_AP_RX",
196			  "HP_I2C_SDA",
197			  "HP_I2C_SCL",
198			  "FORCED_USB_BOOT",
199			  "",
200			  "",
201			  "AMP_DIN",
202			  "PEN_DET_ODL",
203			  "HP_BCLK",
204			  "HP_LRCLK",
205			  "HP_DOUT",
206			  "HP_DIN",
207			  "HP_MCLK",
208			  "AP_SKU_ID0",
209			  "AP_EC_SPI_MISO",
210			  "AP_EC_SPI_MOSI",
211			  "AP_EC_SPI_CLK",
212			  "AP_EC_SPI_CS_L",
213			  "AP_SPI_CLK",
214			  "AP_SPI_MOSI",
215			  "AP_SPI_MISO",
216			  /*
217			   * AP_FLASH_WP_L is crossystem ABI. Schematics
218			   * call it BIOS_FLASH_WP_L.
219			   */
220			  "AP_FLASH_WP_L",
221			  "EN_PP3300_DX_EDP",
222			  "AP_SPI_CS0_L",
223			  "SD_CD_ODL",
224			  "",
225			  "",
226			  "",
227			  "",
228			  "",
229			  "UIM2_DATA",
230			  "UIM2_CLK",
231			  "UIM2_RST",
232			  "UIM2_PRESENT_L",
233			  "UIM1_DATA",
234			  "UIM1_CLK",
235			  "UIM1_RST",
236			  "",
237			  "CODEC_PWR_EN",
238			  "HUB_EN",
239			  "",
240			  "PP1800_DISP_ON",
241			  "LCD_RST",
242			  "PPVAR_LCD_EN",
243			  "",
244			  "AP_SKU_ID1",
245			  "AP_RST_REQ",
246			  "",
247			  "AP_BRD_ID1",
248			  "AP_EC_INT_L",
249			  "",
250			  "",
251			  "",
252			  "",
253			  "",
254			  "",
255			  "",
256			  "",
257			  "",
258			  "",
259			  "",
260			  "",
261			  "",
262			  "",
263			  "",
264			  "",
265			  "",
266			  "",
267			  "",
268			  "",
269			  "AP_TS_I2C_SDA",
270			  "AP_TS_I2C_SCL",
271			  "DP_HOT_PLUG_DET",
272			  "EC_IN_RW_ODL";
273
274	lcd_rst: lcd-rst-state {
275		pins = "gpio87";
276		function = "gpio";
277		drive-strength = <2>;
278		bias-disable;
279	};
280
281	ppvar_lcd_en: ppvar-lcd-en-state {
282		pins = "gpio88";
283		function = "gpio";
284		drive-strength = <2>;
285		bias-disable;
286	};
287
288	pp1800_disp_on: pp1800-disp-on-state {
289		pins = "gpio86";
290		function = "gpio";
291		drive-strength = <2>;
292		bias-disable;
293	};
294};
295