xref: /linux/arch/arm64/boot/dts/qcom/sc7180-trogdor-homestar.dtsi (revision 0e9ab8e4d44ae9d9aaf213bfd2c90bbe7289337b)
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Google Homestar board device tree source
4 *
5 * Copyright 2021 Google LLC.
6 */
7
8/* This file must be included after sc7180-trogdor.dtsi */
9
10/ {
11	/* BOARD-SPECIFIC TOP LEVEL NODES */
12
13	max98360a_1: amplifier-1 {
14		compatible = "maxim,max98360a";
15		#sound-dai-cells = <0>;
16	};
17
18	max98360a_2: amplifier-2 {
19		compatible = "maxim,max98360a";
20		#sound-dai-cells = <0>;
21	};
22
23	max98360a_3: amplifier-3 {
24		compatible = "maxim,max98360a";
25		#sound-dai-cells = <0>;
26	};
27
28	pp3300_touch: pp3300-touch-regulator {
29		compatible = "regulator-fixed";
30		regulator-name = "pp3300_touch";
31
32		regulator-min-microvolt = <3300000>;
33		regulator-max-microvolt = <3300000>;
34
35		gpio = <&tlmm 87 GPIO_ACTIVE_HIGH>;
36		enable-active-high;
37		pinctrl-names = "default";
38		pinctrl-0 = <&en_pp3300_touch>;
39
40		vin-supply = <&pp3300_a>;
41	};
42
43	thermal-zones {
44		skin_temp_thermal: skin-temp-thermal {
45			polling-delay-passive = <250>;
46			polling-delay = <0>;
47
48			thermal-sensors = <&pm6150_adc_tm 1>;
49			sustainable-power = <965>;
50
51			trips {
52				skin_temp_alert0: trip-point0 {
53					temperature = <55000>;
54					hysteresis = <1000>;
55					type = "passive";
56				};
57
58				skin_temp_alert1: trip-point1 {
59					temperature = <58000>;
60					hysteresis = <1000>;
61					type = "passive";
62				};
63
64				skin-temp-crit {
65					temperature = <73000>;
66					hysteresis = <1000>;
67					type = "critical";
68				};
69			};
70
71			cooling-maps {
72				map0 {
73					trip = <&skin_temp_alert0>;
74					cooling-device = <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
75							 <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
76				};
77
78				map1 {
79					trip = <&skin_temp_alert1>;
80					cooling-device = <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
81							 <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
82				};
83			};
84		};
85	};
86};
87
88/*
89 * ADDITIONS TO FIXED REGULATORS DEFINED IN PARENT DEVICE TREE FILES
90 *
91 * Sort order matches the order in the parent files (parents before children).
92 */
93
94&pp3300_dx_edp {
95	/*
96	 * The atna33xc20 really likes to be power cycled to keep it from
97	 * getting in a bad state. This is the reason that the touchscreen
98	 * rail and eDP rails are separate from each other on homestar (but
99	 * not other trogdor devices) Make sure it starts "off" at bootup.
100	 */
101	/delete-property/ regulator-boot-on;
102};
103
104/* ADDITIONS TO NODES DEFINED IN PARENT DEVICE TREE FILES */
105
106ap_ts_pen_1v8: &i2c4 {
107	status = "okay";
108	clock-frequency = <400000>;
109
110	ap_ts: touchscreen@14 {
111		compatible = "goodix,gt7375p";
112		reg = <0x14>;
113		pinctrl-names = "default";
114		pinctrl-0 = <&ts_int_l>, <&ts_reset_l>;
115
116		interrupt-parent = <&tlmm>;
117		interrupts = <9 IRQ_TYPE_LEVEL_LOW>;
118
119		reset-gpios = <&tlmm 8 GPIO_ACTIVE_LOW>;
120
121		vdd-supply = <&pp3300_touch>;
122	};
123};
124
125/* Panel controls backlight over aux channel */
126
127&backlight {
128	status = "disabled";
129};
130
131&camcc {
132	status = "okay";
133};
134
135&cros_ec {
136	keyboard-controller {
137		compatible = "google,cros-ec-keyb-switches";
138	};
139};
140
141&panel {
142	compatible = "samsung,atna33xc20";
143	enable-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>;
144	/delete-property/ backlight;
145};
146
147&pm6150_adc {
148	skin-temp-thermistor@4d {
149		reg = <ADC5_AMUX_THM1_100K_PU>;
150		qcom,ratiometric;
151		qcom,hw-settle-time = <200>;
152	};
153};
154
155&pm6150_adc_tm {
156	status = "okay";
157
158	skin-temp-thermistor@1 {
159		reg = <1>;
160		io-channels = <&pm6150_adc ADC5_AMUX_THM1_100K_PU>;
161		qcom,ratiometric;
162		qcom,hw-settle-time-us = <200>;
163	};
164};
165
166&pp1800_uf_cam {
167	status = "okay";
168};
169
170&pp1800_wf_cam {
171	status = "okay";
172};
173
174&pp2800_uf_cam {
175	status = "okay";
176};
177
178&pp2800_wf_cam {
179	status = "okay";
180};
181
182&pp3300_dx_edp {
183	gpio = <&tlmm 67 GPIO_ACTIVE_HIGH>;
184};
185
186&secondary_mi2s {
187	qcom,playback-sd-lines = <0 1>;
188};
189
190&sound_multimedia1_codec {
191	sound-dai = <&max98360a>, <&max98360a_1>, <&max98360a_2>, <&max98360a_3> ;
192};
193
194&wifi {
195	qcom,ath10k-calibration-variant = "GO_HOMESTAR";
196};
197
198/* PINCTRL - modifications to sc7180-trogdor.dtsi */
199
200&en_pp3300_dx_edp {
201	pins = "gpio67";
202};
203
204&sec_mi2s_active {
205	pins = "gpio49", "gpio50", "gpio51", "gpio52";
206};
207
208&ts_reset_l {
209	/*
210	 * We want reset state by default and it will be up to the
211	 * driver to disable this when it's ready.
212	 */
213	output-low;
214};
215
216/* PINCTRL - board-specific pinctrl */
217
218&tlmm {
219	gpio-line-names = "HUB_RST_L",
220			  "AP_RAM_ID0",
221			  "AP_SKU_ID2",
222			  "AP_RAM_ID1",
223			  "",
224			  "AP_RAM_ID2",
225			  "UF_CAM_EN",
226			  "WF_CAM_EN",
227			  "TS_RESET_L",
228			  "TS_INT_L",
229			  "",
230			  "EDP_BRIJ_IRQ",
231			  "AP_EDP_BKLTEN",
232			  "UF_CAM_MCLK",
233			  "WF_CAM_CLK",
234			  "EDP_BRIJ_I2C_SDA",
235			  "EDP_BRIJ_I2C_SCL",
236			  "UF_CAM_SDA",
237			  "UF_CAM_SCL",
238			  "WF_CAM_SDA",
239			  "WF_CAM_SCL",
240			  "AVEE_LCD_EN",
241			  "",
242			  "AMP_EN",
243			  "AMP_EN2",
244			  "AP_SAR_SENSOR_SDA",
245			  "AP_SAR_SENSOR_SCL",
246			  "SEL_LCM",
247			  "HP_IRQ",
248			  "WF_CAM_RST_L",
249			  "UF_CAM_RST_L",
250			  "AP_BRD_ID2",
251			  "BRIJ_SUSPEND",
252			  "AP_BRD_ID0",
253			  "AP_H1_SPI_MISO",
254			  "AP_H1_SPI_MOSI",
255			  "AP_H1_SPI_CLK",
256			  "AP_H1_SPI_CS_L",
257			  "BT_UART_CTS",
258			  "BT_UART_RTS",
259			  "BT_UART_TXD",
260			  "BT_UART_RXD",
261			  "H1_AP_INT_ODL",
262			  "",
263			  "UART_AP_TX_DBG_RX",
264			  "UART_DBG_TX_AP_RX",
265			  "HP_I2C_SDA",
266			  "HP_I2C_SCL",
267			  "FORCED_USB_BOOT",
268			  "AMP_BCLK",
269			  "AMP_LRCLK",
270			  "AMP_DIN",
271			  "AMP_DIN_2",
272			  "HP_BCLK",
273			  "HP_LRCLK",
274			  "HP_DOUT",
275			  "HP_DIN",
276			  "HP_MCLK",
277			  "AP_SKU_ID0",
278			  "AP_EC_SPI_MISO",
279			  "AP_EC_SPI_MOSI",
280			  "AP_EC_SPI_CLK",
281			  "AP_EC_SPI_CS_L",
282			  "AP_SPI_CLK",
283			  "AP_SPI_MOSI",
284			  "AP_SPI_MISO",
285			  /*
286			   * AP_FLASH_WP_L is crossystem ABI. Schematics
287			   * call it BIOS_FLASH_WP_L.
288			   */
289			  "AP_FLASH_WP_L",
290			  "EN_PP3300_DX_EDP",
291			  "AP_SPI_CS0_L",
292			  "SD_CD_ODL",
293			  "",
294			  "",
295			  "",
296			  "WLAN_SW_CTRL",
297			  "",
298			  "REPORT_E",
299			  "VDD_RESET_1.8V",
300			  "ID0",
301			  "",
302			  "ID1",
303			  "AVDD_LCD_EN",
304			  "MIPI_1.8V_EN",
305			  "",
306			  "CODEC_PWR_EN",
307			  "HUB_EN",
308			  "",
309			  "PP1800_MIPI_SW_EN",
310			  "EN_PP3300_TOUCH",
311			  "",
312			  "",
313			  "AP_SKU_ID1",
314			  "AP_RST_REQ",
315			  "",
316			  "AP_BRD_ID1",
317			  "AP_EC_INT_L",
318			  "SDM_GRFC_3",
319			  "",
320			  "",
321			  "BOOT_CONFIG_4",
322			  "BOOT_CONFIG_2",
323			  "",
324			  "",
325			  "",
326			  "",
327			  "EDP_BRIJ_EN",
328			  "",
329			  "",
330			  "BOOT_CONFIG_3",
331			  "WCI2_LTE_COEX_TXD",
332			  "WCI2_LTE_COEX_RXD",
333			  "",
334			  "",
335			  "",
336			  "",
337			  "FORCED_USB_BOOT_POL",
338			  "AP_TS_PEN_I2C_SDA",
339			  "AP_TS_PEN_I2C_SCL",
340			  "DP_HOT_PLUG_DET",
341			  "EC_IN_RW_ODL";
342
343	en_pp3300_touch: en-pp3300-touch-state {
344		pins = "gpio87";
345		function = "gpio";
346		drive-strength = <2>;
347		bias-disable;
348	};
349};
350