xref: /linux/arch/arm64/boot/dts/qcom/sc7180-trogdor-wormdingler.dtsi (revision 6efc0ab3b05de0d7bab8ec0597214e4788251071)
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Google Wormdingler 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-detachable.dtsi"
12
13/ {
14	avdd_lcd: avdd-lcd-regulator {
15		compatible = "regulator-fixed";
16		regulator-name = "avdd_lcd";
17
18		gpio = <&tlmm 88 GPIO_ACTIVE_HIGH>;
19		enable-active-high;
20		pinctrl-names = "default";
21		pinctrl-0 = <&avdd_lcd_en>;
22
23		vin-supply = <&pp5000_a>;
24	};
25
26	avee_lcd: avee-lcd-regulator {
27		compatible = "regulator-fixed";
28		regulator-name = "avee_lcd";
29
30		gpio = <&tlmm 21 GPIO_ACTIVE_HIGH>;
31		enable-active-high;
32		pinctrl-names = "default";
33		pinctrl-0 = <&avee_lcd_en>;
34
35		vin-supply = <&pp5000_a>;
36	};
37
38	pp1800_ts:
39	v1p8_mipi: v1p8-mipi-regulator {
40		compatible = "regulator-fixed";
41		regulator-name = "v1p8_mipi";
42
43		gpio = <&tlmm 86 GPIO_ACTIVE_HIGH>;
44		enable-active-high;
45		pinctrl-names = "default";
46		pinctrl-0 = <&mipi_1800_en>;
47
48		vin-supply = <&pp3300_a>;
49	};
50
51	thermal-zones {
52		skin_temp_thermal: skin-temp-thermal {
53			polling-delay-passive = <250>;
54
55			thermal-sensors = <&pm6150_adc_tm 1>;
56			sustainable-power = <574>;
57
58			trips {
59				skin_temp_alert0: trip-point0 {
60					temperature = <58000>;
61					hysteresis = <1000>;
62					type = "passive";
63				};
64
65				skin_temp_alert1: trip-point1 {
66					temperature = <62500>;
67					hysteresis = <1000>;
68					type = "passive";
69				};
70
71				skin-temp-crit {
72					temperature = <68000>;
73					hysteresis = <1000>;
74					type = "critical";
75				};
76			};
77
78			cooling-maps {
79				map0 {
80					trip = <&skin_temp_alert0>;
81					cooling-device = <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
82							 <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
83				};
84
85				map1 {
86					trip = <&skin_temp_alert1>;
87					cooling-device = <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
88							 <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
89				};
90			};
91		};
92	};
93};
94
95&backlight {
96	pwms = <&cros_ec_pwm 0>;
97};
98
99&camcc {
100	status = "okay";
101};
102
103&cros_ec {
104	base_detection: cbas {
105		compatible = "google,cros-cbas";
106	};
107};
108
109&i2c4 {
110	status = "okay";
111	clock-frequency = <400000>;
112
113	ap_ts: touchscreen@1 {
114		compatible = "hid-over-i2c";
115		reg = <0x01>;
116		pinctrl-names = "default";
117		pinctrl-0 = <&ts_int_l>;
118
119		interrupt-parent = <&tlmm>;
120		interrupts = <9 IRQ_TYPE_EDGE_FALLING>;
121
122		panel = <&panel>;
123		post-power-on-delay-ms = <70>;
124		hid-descr-addr = <0x0001>;
125
126		vdd-supply = <&pp3300_ts>;
127		vddl-supply = <&pp1800_ts>;
128	};
129};
130
131&mdss_dsi0 {
132
133	panel: panel@0 {
134		reg = <0>;
135		enable-gpios = <&tlmm 87 GPIO_ACTIVE_HIGH>;
136		pinctrl-names = "default";
137		pinctrl-0 = <&vdd_reset_1800>;
138		avdd-supply = <&avdd_lcd>;
139		avee-supply = <&avee_lcd>;
140		pp1800-supply = <&v1p8_mipi>;
141		pp3300-supply = <&pp3300_dx_edp>;
142		backlight = <&backlight>;
143		rotation = <270>;
144
145		port {
146			panel_in: endpoint {
147				remote-endpoint = <&mdss_dsi0_out>;
148			};
149		};
150	};
151
152	ports {
153		port@1 {
154			endpoint {
155				remote-endpoint = <&panel_in>;
156				data-lanes = <0 1 2 3>;
157			};
158		};
159	};
160};
161
162&pm6150_adc {
163	channel@4d {
164		reg = <ADC5_AMUX_THM1_100K_PU>;
165		qcom,ratiometric;
166		qcom,hw-settle-time = <200>;
167		label = "skin_therm";
168	};
169};
170
171&pm6150_adc_tm {
172	status = "okay";
173
174	skin-temp-thermistor@1 {
175		reg = <1>;
176		io-channels = <&pm6150_adc ADC5_AMUX_THM1_100K_PU>;
177		qcom,ratiometric;
178		qcom,hw-settle-time-us = <200>;
179	};
180};
181
182&pp1800_uf_cam {
183	status = "okay";
184};
185
186&pp1800_wf_cam {
187	status = "okay";
188};
189
190&pp2800_uf_cam {
191	status = "okay";
192};
193
194&pp2800_wf_cam {
195	status = "okay";
196};
197
198&wifi {
199	qcom,ath10k-calibration-variant = "GO_WORMDINGLER";
200};
201
202/*
203 * No eDP on this board but it's logically the same signal so just give it
204 * a new name and assign the proper GPIO.
205 */
206pp3300_disp_on: &pp3300_dx_edp {
207	gpio = <&tlmm 85 GPIO_ACTIVE_HIGH>;
208};
209
210/* PINCTRL - modifications to sc7180-trogdor.dtsi */
211
212/*
213 * No eDP on this board but it's logically the same signal so just give it
214 * a new name and assign the proper GPIO.
215 */
216
217tp_en: &en_pp3300_dx_edp {
218	pins = "gpio85";
219};
220
221/* PINCTRL - board-specific pinctrl */
222
223&tlmm {
224	gpio-line-names = "HUB_RST_L",
225			  "AP_RAM_ID0",
226			  "AP_SKU_ID2",
227			  "AP_RAM_ID1",
228			  "",
229			  "AP_RAM_ID2",
230			  "UF_CAM_EN",
231			  "WF_CAM_EN",
232			  "TS_RESET_L",
233			  "TS_INT_L",
234			  "",
235			  "",
236			  "AP_EDP_BKLTEN",
237			  "UF_CAM_MCLK",
238			  "WF_CAM_CLK",
239			  "",
240			  "",
241			  "UF_CAM_SDA",
242			  "UF_CAM_SCL",
243			  "WF_CAM_SDA",
244			  "WF_CAM_SCL",
245			  "AVEE_LCD_EN",
246			  "",
247			  "AMP_EN",
248			  "",
249			  "",
250			  "",
251			  "",
252			  "HP_IRQ",
253			  "WF_CAM_RST_L",
254			  "UF_CAM_RST_L",
255			  "AP_BRD_ID2",
256			  "",
257			  "AP_BRD_ID0",
258			  "AP_H1_SPI_MISO",
259			  "AP_H1_SPI_MOSI",
260			  "AP_H1_SPI_CLK",
261			  "AP_H1_SPI_CS_L",
262			  "BT_UART_CTS",
263			  "BT_UART_RTS",
264			  "BT_UART_TXD",
265			  "BT_UART_RXD",
266			  "H1_AP_INT_ODL",
267			  "",
268			  "UART_AP_TX_DBG_RX",
269			  "UART_DBG_TX_AP_RX",
270			  "HP_I2C_SDA",
271			  "HP_I2C_SCL",
272			  "FORCED_USB_BOOT",
273			  "AMP_BCLK",
274			  "AMP_LRCLK",
275			  "AMP_DIN",
276			  "",
277			  "HP_BCLK",
278			  "HP_LRCLK",
279			  "HP_DOUT",
280			  "HP_DIN",
281			  "HP_MCLK",
282			  "AP_SKU_ID0",
283			  "AP_EC_SPI_MISO",
284			  "AP_EC_SPI_MOSI",
285			  "AP_EC_SPI_CLK",
286			  "AP_EC_SPI_CS_L",
287			  "AP_SPI_CLK",
288			  "AP_SPI_MOSI",
289			  "AP_SPI_MISO",
290			  /*
291			   * AP_FLASH_WP_L is crossystem ABI. Schematics
292			   * call it BIOS_FLASH_WP_L.
293			   */
294			  "AP_FLASH_WP_L",
295			  "",
296			  "AP_SPI_CS0_L",
297			  "",
298			  "",
299			  "",
300			  "",
301			  "WLAN_SW_CTRL",
302			  "",
303			  "REPORT_E",
304			  "",
305			  "ID0",
306			  "",
307			  "ID1",
308			  "",
309			  "",
310			  "",
311			  "CODEC_PWR_EN",
312			  "HUB_EN",
313			  "TP_EN",
314			  "MIPI_1.8V_EN",
315			  "VDD_RESET_1.8V",
316			  "AVDD_LCD_EN",
317			  "",
318			  "AP_SKU_ID1",
319			  "AP_RST_REQ",
320			  "",
321			  "AP_BRD_ID1",
322			  "AP_EC_INT_L",
323			  "SDM_GRFC_3",
324			  "",
325			  "",
326			  "BOOT_CONFIG_4",
327			  "BOOT_CONFIG_2",
328			  "",
329			  "",
330			  "",
331			  "",
332			  "",
333			  "",
334			  "",
335			  "BOOT_CONFIG_3",
336			  "WCI2_LTE_COEX_TXD",
337			  "WCI2_LTE_COEX_RXD",
338			  "",
339			  "",
340			  "",
341			  "",
342			  "FORCED_USB_BOOT_POL",
343			  "AP_TS_PEN_I2C_SDA",
344			  "AP_TS_PEN_I2C_SCL",
345			  "DP_HOT_PLUG_DET",
346			  "EC_IN_RW_ODL";
347
348	avdd_lcd_en: avdd-lcd-en-state {
349		pins = "gpio88";
350		function = "gpio";
351		drive-strength = <2>;
352		bias-disable;
353	};
354
355	avee_lcd_en: avee-lcd-en-state {
356		pins = "gpio21";
357		function = "gpio";
358		drive-strength = <2>;
359		bias-disable;
360	};
361
362	mipi_1800_en: mipi-1800-en-state {
363		pins = "gpio86";
364		function = "gpio";
365		drive-strength = <2>;
366		bias-disable;
367	};
368
369	vdd_reset_1800: vdd-reset-1800-state {
370		pins = "gpio87";
371		function = "gpio";
372		drive-strength = <2>;
373		bias-disable;
374	};
375};
376