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