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