1*d5b0e70fSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*d5b0e70fSEmmanuel Vadot/*
3*d5b0e70fSEmmanuel Vadot * Google Villager board device tree source
4*d5b0e70fSEmmanuel Vadot *
5*d5b0e70fSEmmanuel Vadot * Copyright 2022 Google LLC.
6*d5b0e70fSEmmanuel Vadot */
7*d5b0e70fSEmmanuel Vadot
8*d5b0e70fSEmmanuel Vadot/dts-v1/;
9*d5b0e70fSEmmanuel Vadot
10*d5b0e70fSEmmanuel Vadot#include "sc7280-herobrine.dtsi"
11*d5b0e70fSEmmanuel Vadot
12*d5b0e70fSEmmanuel Vadot/ {
13*d5b0e70fSEmmanuel Vadot	model = "Google Villager (rev0+)";
14*d5b0e70fSEmmanuel Vadot	compatible = "google,villager", "qcom,sc7280";
15*d5b0e70fSEmmanuel Vadot};
16*d5b0e70fSEmmanuel Vadot
17*d5b0e70fSEmmanuel Vadot/*
18*d5b0e70fSEmmanuel Vadot * ADDITIONS TO FIXED REGULATORS DEFINED IN PARENT DEVICE TREE FILES
19*d5b0e70fSEmmanuel Vadot *
20*d5b0e70fSEmmanuel Vadot * Sort order matches the order in the parent files (parents before children).
21*d5b0e70fSEmmanuel Vadot */
22*d5b0e70fSEmmanuel Vadot
23*d5b0e70fSEmmanuel Vadot&pp3300_codec {
24*d5b0e70fSEmmanuel Vadot	status = "okay";
25*d5b0e70fSEmmanuel Vadot};
26*d5b0e70fSEmmanuel Vadot
27*d5b0e70fSEmmanuel Vadot/* ADDITIONS TO NODES DEFINED IN PARENT DEVICE TREE FILES */
28*d5b0e70fSEmmanuel Vadot
29*d5b0e70fSEmmanuel Vadotap_tp_i2c: &i2c0 {
30*d5b0e70fSEmmanuel Vadot	status = "okay";
31*d5b0e70fSEmmanuel Vadot	clock-frequency = <400000>;
32*d5b0e70fSEmmanuel Vadot
33*d5b0e70fSEmmanuel Vadot	trackpad: trackpad@2c {
34*d5b0e70fSEmmanuel Vadot		compatible = "hid-over-i2c";
35*d5b0e70fSEmmanuel Vadot		reg = <0x2c>;
36*d5b0e70fSEmmanuel Vadot		pinctrl-names = "default";
37*d5b0e70fSEmmanuel Vadot		pinctrl-0 = <&tp_int_odl>;
38*d5b0e70fSEmmanuel Vadot
39*d5b0e70fSEmmanuel Vadot		interrupt-parent = <&tlmm>;
40*d5b0e70fSEmmanuel Vadot		interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
41*d5b0e70fSEmmanuel Vadot
42*d5b0e70fSEmmanuel Vadot		hid-descr-addr = <0x20>;
43*d5b0e70fSEmmanuel Vadot		vcc-supply = <&pp3300_z1>;
44*d5b0e70fSEmmanuel Vadot
45*d5b0e70fSEmmanuel Vadot		wakeup-source;
46*d5b0e70fSEmmanuel Vadot	};
47*d5b0e70fSEmmanuel Vadot};
48*d5b0e70fSEmmanuel Vadot
49*d5b0e70fSEmmanuel Vadot&ap_sar_sensor_i2c {
50*d5b0e70fSEmmanuel Vadot	status = "okay";
51*d5b0e70fSEmmanuel Vadot};
52*d5b0e70fSEmmanuel Vadot
53*d5b0e70fSEmmanuel Vadot&ap_sar_sensor0 {
54*d5b0e70fSEmmanuel Vadot	status = "okay";
55*d5b0e70fSEmmanuel Vadot};
56*d5b0e70fSEmmanuel Vadot
57*d5b0e70fSEmmanuel Vadot&ap_sar_sensor1 {
58*d5b0e70fSEmmanuel Vadot	status = "okay";
59*d5b0e70fSEmmanuel Vadot};
60*d5b0e70fSEmmanuel Vadot
61*d5b0e70fSEmmanuel Vadot&mdss_edp {
62*d5b0e70fSEmmanuel Vadot	status = "okay";
63*d5b0e70fSEmmanuel Vadot};
64*d5b0e70fSEmmanuel Vadot
65*d5b0e70fSEmmanuel Vadot&mdss_edp_phy {
66*d5b0e70fSEmmanuel Vadot	status = "okay";
67*d5b0e70fSEmmanuel Vadot};
68*d5b0e70fSEmmanuel Vadot
69*d5b0e70fSEmmanuel Vadot/* For nvme */
70*d5b0e70fSEmmanuel Vadot&pcie1 {
71*d5b0e70fSEmmanuel Vadot	status = "okay";
72*d5b0e70fSEmmanuel Vadot};
73*d5b0e70fSEmmanuel Vadot
74*d5b0e70fSEmmanuel Vadot/* For nvme */
75*d5b0e70fSEmmanuel Vadot&pcie1_phy {
76*d5b0e70fSEmmanuel Vadot	status = "okay";
77*d5b0e70fSEmmanuel Vadot};
78*d5b0e70fSEmmanuel Vadot
79*d5b0e70fSEmmanuel Vadot/* For eMMC */
80*d5b0e70fSEmmanuel Vadot&sdhc_1 {
81*d5b0e70fSEmmanuel Vadot	status = "okay";
82*d5b0e70fSEmmanuel Vadot};
83*d5b0e70fSEmmanuel Vadot
84*d5b0e70fSEmmanuel Vadot/* PINCTRL - BOARD-SPECIFIC */
85*d5b0e70fSEmmanuel Vadot
86*d5b0e70fSEmmanuel Vadot/*
87*d5b0e70fSEmmanuel Vadot * Methodology for gpio-line-names:
88*d5b0e70fSEmmanuel Vadot * - If a pin goes to herobrine board and is named it gets that name.
89*d5b0e70fSEmmanuel Vadot * - If a pin goes to herobrine board and is not named, it gets no name.
90*d5b0e70fSEmmanuel Vadot * - If a pin is totally internal to Qcard then it gets Qcard name.
91*d5b0e70fSEmmanuel Vadot * - If a pin is not hooked up on Qcard, it gets no name.
92*d5b0e70fSEmmanuel Vadot */
93*d5b0e70fSEmmanuel Vadot
94*d5b0e70fSEmmanuel Vadot&pm8350c_gpios {
95*d5b0e70fSEmmanuel Vadot	gpio-line-names = "FLASH_STROBE_1",		/* 1 */
96*d5b0e70fSEmmanuel Vadot			  "AP_SUSPEND",
97*d5b0e70fSEmmanuel Vadot			  "PM8008_1_RST_N",
98*d5b0e70fSEmmanuel Vadot			  "",
99*d5b0e70fSEmmanuel Vadot			  "",
100*d5b0e70fSEmmanuel Vadot			  "",
101*d5b0e70fSEmmanuel Vadot			  "PMIC_EDP_BL_EN",
102*d5b0e70fSEmmanuel Vadot			  "PMIC_EDP_BL_PWM",
103*d5b0e70fSEmmanuel Vadot			  "";
104*d5b0e70fSEmmanuel Vadot};
105*d5b0e70fSEmmanuel Vadot
106*d5b0e70fSEmmanuel Vadot&tlmm {
107*d5b0e70fSEmmanuel Vadot	gpio-line-names = "AP_TP_I2C_SDA",		/* 0 */
108*d5b0e70fSEmmanuel Vadot			  "AP_TP_I2C_SCL",
109*d5b0e70fSEmmanuel Vadot			  "SSD_RST_L",
110*d5b0e70fSEmmanuel Vadot			  "PE_WAKE_ODL",
111*d5b0e70fSEmmanuel Vadot			  "AP_SAR_SDA",
112*d5b0e70fSEmmanuel Vadot			  "AP_SAR_SCL",
113*d5b0e70fSEmmanuel Vadot			  "PRB_SC_GPIO_6",
114*d5b0e70fSEmmanuel Vadot			  "TP_INT_ODL",
115*d5b0e70fSEmmanuel Vadot			  "HP_I2C_SDA",
116*d5b0e70fSEmmanuel Vadot			  "HP_I2C_SCL",
117*d5b0e70fSEmmanuel Vadot
118*d5b0e70fSEmmanuel Vadot			  "GNSS_L1_EN",			/* 10 */
119*d5b0e70fSEmmanuel Vadot			  "GNSS_L5_EN",
120*d5b0e70fSEmmanuel Vadot			  "SPI_AP_MOSI",
121*d5b0e70fSEmmanuel Vadot			  "SPI_AP_MISO",
122*d5b0e70fSEmmanuel Vadot			  "SPI_AP_CLK",
123*d5b0e70fSEmmanuel Vadot			  "SPI_AP_CS0_L",
124*d5b0e70fSEmmanuel Vadot			  /*
125*d5b0e70fSEmmanuel Vadot			   * AP_FLASH_WP is crossystem ABI. Schematics
126*d5b0e70fSEmmanuel Vadot			   * call it BIOS_FLASH_WP_OD.
127*d5b0e70fSEmmanuel Vadot			   */
128*d5b0e70fSEmmanuel Vadot			  "AP_FLASH_WP",
129*d5b0e70fSEmmanuel Vadot			  "",
130*d5b0e70fSEmmanuel Vadot			  "AP_EC_INT_L",
131*d5b0e70fSEmmanuel Vadot			  "",
132*d5b0e70fSEmmanuel Vadot
133*d5b0e70fSEmmanuel Vadot			  "UF_CAM_RST_L",		/* 20 */
134*d5b0e70fSEmmanuel Vadot			  "WF_CAM_RST_L",
135*d5b0e70fSEmmanuel Vadot			  "UART_AP_TX_DBG_RX",
136*d5b0e70fSEmmanuel Vadot			  "UART_DBG_TX_AP_RX",
137*d5b0e70fSEmmanuel Vadot			  "",
138*d5b0e70fSEmmanuel Vadot			  "PM8008_IRQ_1",
139*d5b0e70fSEmmanuel Vadot			  "HOST2WLAN_SOL",
140*d5b0e70fSEmmanuel Vadot			  "WLAN2HOST_SOL",
141*d5b0e70fSEmmanuel Vadot			  "MOS_BT_UART_CTS",
142*d5b0e70fSEmmanuel Vadot			  "MOS_BT_UART_RFR",
143*d5b0e70fSEmmanuel Vadot
144*d5b0e70fSEmmanuel Vadot			  "MOS_BT_UART_TX",		/* 30 */
145*d5b0e70fSEmmanuel Vadot			  "MOS_BT_UART_RX",
146*d5b0e70fSEmmanuel Vadot			  "PRB_SC_GPIO_32",
147*d5b0e70fSEmmanuel Vadot			  "HUB_RST_L",
148*d5b0e70fSEmmanuel Vadot			  "",
149*d5b0e70fSEmmanuel Vadot			  "",
150*d5b0e70fSEmmanuel Vadot			  "AP_SPI_FP_MISO",
151*d5b0e70fSEmmanuel Vadot			  "AP_SPI_FP_MOSI",
152*d5b0e70fSEmmanuel Vadot			  "AP_SPI_FP_CLK",
153*d5b0e70fSEmmanuel Vadot			  "AP_SPI_FP_CS_L",
154*d5b0e70fSEmmanuel Vadot
155*d5b0e70fSEmmanuel Vadot			  "AP_EC_SPI_MISO",		/* 40 */
156*d5b0e70fSEmmanuel Vadot			  "AP_EC_SPI_MOSI",
157*d5b0e70fSEmmanuel Vadot			  "AP_EC_SPI_CLK",
158*d5b0e70fSEmmanuel Vadot			  "AP_EC_SPI_CS_L",
159*d5b0e70fSEmmanuel Vadot			  "LCM_RST_L",
160*d5b0e70fSEmmanuel Vadot			  "EARLY_EUD_N",
161*d5b0e70fSEmmanuel Vadot			  "",
162*d5b0e70fSEmmanuel Vadot			  "DP_HOT_PLUG_DET",
163*d5b0e70fSEmmanuel Vadot			  "IO_BRD_MLB_ID0",
164*d5b0e70fSEmmanuel Vadot			  "IO_BRD_MLB_ID1",
165*d5b0e70fSEmmanuel Vadot
166*d5b0e70fSEmmanuel Vadot			  "IO_BRD_MLB_ID2",		/* 50 */
167*d5b0e70fSEmmanuel Vadot			  "SSD_EN",
168*d5b0e70fSEmmanuel Vadot			  "TS_I2C_SDA_CONN",
169*d5b0e70fSEmmanuel Vadot			  "TS_I2C_CLK_CONN",
170*d5b0e70fSEmmanuel Vadot			  "TS_RST_CONN",
171*d5b0e70fSEmmanuel Vadot			  "TS_INT_CONN",
172*d5b0e70fSEmmanuel Vadot			  "AP_I2C_TPM_SDA",
173*d5b0e70fSEmmanuel Vadot			  "AP_I2C_TPM_SCL",
174*d5b0e70fSEmmanuel Vadot			  "PRB_SC_GPIO_58",
175*d5b0e70fSEmmanuel Vadot			  "PRB_SC_GPIO_59",
176*d5b0e70fSEmmanuel Vadot
177*d5b0e70fSEmmanuel Vadot			  "EDP_HOT_PLUG_DET_N",		/* 60 */
178*d5b0e70fSEmmanuel Vadot			  "FP_TO_AP_IRQ_L",
179*d5b0e70fSEmmanuel Vadot			  "",
180*d5b0e70fSEmmanuel Vadot			  "AMP_EN",
181*d5b0e70fSEmmanuel Vadot			  "CAM0_MCLK_GPIO_64",
182*d5b0e70fSEmmanuel Vadot			  "CAM1_MCLK_GPIO_65",
183*d5b0e70fSEmmanuel Vadot			  "WF_CAM_MCLK",
184*d5b0e70fSEmmanuel Vadot			  "PRB_SC_GPIO_67",
185*d5b0e70fSEmmanuel Vadot			  "FPMCU_BOOT0",
186*d5b0e70fSEmmanuel Vadot			  "UF_CAM_SDA",
187*d5b0e70fSEmmanuel Vadot
188*d5b0e70fSEmmanuel Vadot			  "UF_CAM_SCL",			/* 70 */
189*d5b0e70fSEmmanuel Vadot			  "",
190*d5b0e70fSEmmanuel Vadot			  "",
191*d5b0e70fSEmmanuel Vadot			  "WF_CAM_SDA",
192*d5b0e70fSEmmanuel Vadot			  "WF_CAM_SCL",
193*d5b0e70fSEmmanuel Vadot			  "",
194*d5b0e70fSEmmanuel Vadot			  "",
195*d5b0e70fSEmmanuel Vadot			  "EN_FP_RAILS",
196*d5b0e70fSEmmanuel Vadot			  "FP_RST_L",
197*d5b0e70fSEmmanuel Vadot			  "PCIE1_CLKREQ_ODL",
198*d5b0e70fSEmmanuel Vadot
199*d5b0e70fSEmmanuel Vadot			  "EN_PP3300_DX_EDP",		/* 80 */
200*d5b0e70fSEmmanuel Vadot			  "SC_GPIO_81",
201*d5b0e70fSEmmanuel Vadot			  "FORCED_USB_BOOT",
202*d5b0e70fSEmmanuel Vadot			  "WCD_RESET_N",
203*d5b0e70fSEmmanuel Vadot			  "MOS_WLAN_EN",
204*d5b0e70fSEmmanuel Vadot			  "MOS_BT_EN",
205*d5b0e70fSEmmanuel Vadot			  "MOS_SW_CTRL",
206*d5b0e70fSEmmanuel Vadot			  "MOS_PCIE0_RST",
207*d5b0e70fSEmmanuel Vadot			  "MOS_PCIE0_CLKREQ_N",
208*d5b0e70fSEmmanuel Vadot			  "MOS_PCIE0_WAKE_N",
209*d5b0e70fSEmmanuel Vadot
210*d5b0e70fSEmmanuel Vadot			  "MOS_LAA_AS_EN",		/* 90 */
211*d5b0e70fSEmmanuel Vadot			  "SD_CD_ODL",
212*d5b0e70fSEmmanuel Vadot			  "",
213*d5b0e70fSEmmanuel Vadot			  "",
214*d5b0e70fSEmmanuel Vadot			  "MOS_BT_WLAN_SLIMBUS_CLK",
215*d5b0e70fSEmmanuel Vadot			  "MOS_BT_WLAN_SLIMBUS_DAT0",
216*d5b0e70fSEmmanuel Vadot			  "HP_MCLK",
217*d5b0e70fSEmmanuel Vadot			  "HP_BCLK",
218*d5b0e70fSEmmanuel Vadot			  "HP_DOUT",
219*d5b0e70fSEmmanuel Vadot			  "HP_DIN",
220*d5b0e70fSEmmanuel Vadot
221*d5b0e70fSEmmanuel Vadot			  "HP_LRCLK",			/* 100 */
222*d5b0e70fSEmmanuel Vadot			  "HP_IRQ",
223*d5b0e70fSEmmanuel Vadot			  "",
224*d5b0e70fSEmmanuel Vadot			  "",
225*d5b0e70fSEmmanuel Vadot			  "GSC_AP_INT_ODL",
226*d5b0e70fSEmmanuel Vadot			  "EN_PP3300_CODEC",
227*d5b0e70fSEmmanuel Vadot			  "AMP_BCLK",
228*d5b0e70fSEmmanuel Vadot			  "AMP_DIN",
229*d5b0e70fSEmmanuel Vadot			  "AMP_LRCLK",
230*d5b0e70fSEmmanuel Vadot			  "UIM1_DATA_GPIO_109",
231*d5b0e70fSEmmanuel Vadot
232*d5b0e70fSEmmanuel Vadot			  "UIM1_CLK_GPIO_110",		/* 110 */
233*d5b0e70fSEmmanuel Vadot			  "UIM1_RESET_GPIO_111",
234*d5b0e70fSEmmanuel Vadot			  "PRB_SC_GPIO_112",
235*d5b0e70fSEmmanuel Vadot			  "UIM0_DATA",
236*d5b0e70fSEmmanuel Vadot			  "UIM0_CLK",
237*d5b0e70fSEmmanuel Vadot			  "UIM0_RST",
238*d5b0e70fSEmmanuel Vadot			  "UIM0_PRESENT_ODL",
239*d5b0e70fSEmmanuel Vadot			  "SDM_RFFE0_CLK",
240*d5b0e70fSEmmanuel Vadot			  "SDM_RFFE0_DATA",
241*d5b0e70fSEmmanuel Vadot			  "WF_CAM_EN",
242*d5b0e70fSEmmanuel Vadot
243*d5b0e70fSEmmanuel Vadot			  "FASTBOOT_SEL_0",		/* 120 */
244*d5b0e70fSEmmanuel Vadot			  "SC_GPIO_121",
245*d5b0e70fSEmmanuel Vadot			  "FASTBOOT_SEL_1",
246*d5b0e70fSEmmanuel Vadot			  "SC_GPIO_123",
247*d5b0e70fSEmmanuel Vadot			  "FASTBOOT_SEL_2",
248*d5b0e70fSEmmanuel Vadot			  "SM_RFFE4_CLK_GRFC_8",
249*d5b0e70fSEmmanuel Vadot			  "SM_RFFE4_DATA_GRFC_9",
250*d5b0e70fSEmmanuel Vadot			  "WLAN_COEX_UART1_RX",
251*d5b0e70fSEmmanuel Vadot			  "WLAN_COEX_UART1_TX",
252*d5b0e70fSEmmanuel Vadot			  "PRB_SC_GPIO_129",
253*d5b0e70fSEmmanuel Vadot
254*d5b0e70fSEmmanuel Vadot			  "LCM_ID0",			/* 130 */
255*d5b0e70fSEmmanuel Vadot			  "LCM_ID1",
256*d5b0e70fSEmmanuel Vadot			  "",
257*d5b0e70fSEmmanuel Vadot			  "SDR_QLINK_REQ",
258*d5b0e70fSEmmanuel Vadot			  "SDR_QLINK_EN",
259*d5b0e70fSEmmanuel Vadot			  "QLINK0_WMSS_RESET_N",
260*d5b0e70fSEmmanuel Vadot			  "SMR526_QLINK1_REQ",
261*d5b0e70fSEmmanuel Vadot			  "SMR526_QLINK1_EN",
262*d5b0e70fSEmmanuel Vadot			  "SMR526_QLINK1_WMSS_RESET_N",
263*d5b0e70fSEmmanuel Vadot			  "PRB_SC_GPIO_139",
264*d5b0e70fSEmmanuel Vadot
265*d5b0e70fSEmmanuel Vadot			  "SAR1_IRQ_ODL",		/* 140 */
266*d5b0e70fSEmmanuel Vadot			  "SAR0_IRQ_ODL",
267*d5b0e70fSEmmanuel Vadot			  "PRB_SC_GPIO_142",
268*d5b0e70fSEmmanuel Vadot			  "",
269*d5b0e70fSEmmanuel Vadot			  "WCD_SWR_TX_CLK",
270*d5b0e70fSEmmanuel Vadot			  "WCD_SWR_TX_DATA0",
271*d5b0e70fSEmmanuel Vadot			  "WCD_SWR_TX_DATA1",
272*d5b0e70fSEmmanuel Vadot			  "WCD_SWR_RX_CLK",
273*d5b0e70fSEmmanuel Vadot			  "WCD_SWR_RX_DATA0",
274*d5b0e70fSEmmanuel Vadot			  "WCD_SWR_RX_DATA1",
275*d5b0e70fSEmmanuel Vadot
276*d5b0e70fSEmmanuel Vadot			  "DMIC01_CLK",			/* 150 */
277*d5b0e70fSEmmanuel Vadot			  "DMIC01_DATA",
278*d5b0e70fSEmmanuel Vadot			  "DMIC23_CLK",
279*d5b0e70fSEmmanuel Vadot			  "DMIC23_DATA",
280*d5b0e70fSEmmanuel Vadot			  "",
281*d5b0e70fSEmmanuel Vadot			  "",
282*d5b0e70fSEmmanuel Vadot			  "EC_IN_RW_ODL",
283*d5b0e70fSEmmanuel Vadot			  "HUB_EN",
284*d5b0e70fSEmmanuel Vadot			  "WCD_SWR_TX_DATA2",
285*d5b0e70fSEmmanuel Vadot			  "",
286*d5b0e70fSEmmanuel Vadot
287*d5b0e70fSEmmanuel Vadot			  "",				/* 160 */
288*d5b0e70fSEmmanuel Vadot			  "",
289*d5b0e70fSEmmanuel Vadot			  "",
290*d5b0e70fSEmmanuel Vadot			  "",
291*d5b0e70fSEmmanuel Vadot			  "",
292*d5b0e70fSEmmanuel Vadot			  "",
293*d5b0e70fSEmmanuel Vadot			  "",
294*d5b0e70fSEmmanuel Vadot			  "",
295*d5b0e70fSEmmanuel Vadot			  "",
296*d5b0e70fSEmmanuel Vadot			  "",
297*d5b0e70fSEmmanuel Vadot
298*d5b0e70fSEmmanuel Vadot			  "",				/* 170 */
299*d5b0e70fSEmmanuel Vadot			  "MOS_BLE_UART_TX",
300*d5b0e70fSEmmanuel Vadot			  "MOS_BLE_UART_RX",
301*d5b0e70fSEmmanuel Vadot			  "",
302*d5b0e70fSEmmanuel Vadot			  "",
303*d5b0e70fSEmmanuel Vadot			  "";
304*d5b0e70fSEmmanuel Vadot};
305