xref: /linux/arch/arm64/boot/dts/qcom/sc7180-trogdor-homestar.dtsi (revision 66e72a01b60ae6950ddbb3585fdc1424d303e14b)
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#include "sc7180-trogdor-rt5682i-sku.dtsi"
9#include "sc7180-trogdor-detachable.dtsi"
10
11/ {
12	/* BOARD-SPECIFIC TOP LEVEL NODES */
13
14	max98360a_1: amplifier-1 {
15		compatible = "maxim,max98360a";
16		#sound-dai-cells = <0>;
17	};
18
19	max98360a_2: amplifier-2 {
20		compatible = "maxim,max98360a";
21		#sound-dai-cells = <0>;
22	};
23
24	max98360a_3: amplifier-3 {
25		compatible = "maxim,max98360a";
26		#sound-dai-cells = <0>;
27	};
28
29	pp3300_touch: pp3300-touch-regulator {
30		compatible = "regulator-fixed";
31		regulator-name = "pp3300_touch";
32
33		regulator-min-microvolt = <3300000>;
34		regulator-max-microvolt = <3300000>;
35
36		gpio = <&tlmm 87 GPIO_ACTIVE_HIGH>;
37		enable-active-high;
38		pinctrl-names = "default";
39		pinctrl-0 = <&en_pp3300_touch>;
40
41		vin-supply = <&pp3300_a>;
42	};
43
44	thermal-zones {
45		skin_temp_thermal: skin-temp-thermal {
46			polling-delay-passive = <250>;
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		panel = <&panel>;
120		reset-gpios = <&tlmm 8 GPIO_ACTIVE_LOW>;
121
122		vdd-supply = <&pp3300_touch>;
123	};
124};
125
126/* Panel controls backlight over aux channel */
127
128&backlight {
129	status = "disabled";
130};
131
132&camcc {
133	status = "okay";
134};
135
136&panel {
137	compatible = "samsung,atna33xc20";
138	enable-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>;
139	/delete-property/ backlight;
140};
141
142&pm6150_adc {
143	channel@4d {
144		reg = <ADC5_AMUX_THM1_100K_PU>;
145		qcom,ratiometric;
146		qcom,hw-settle-time = <200>;
147		label = "skin_therm";
148	};
149};
150
151&pm6150_adc_tm {
152	status = "okay";
153
154	skin-temp-thermistor@1 {
155		reg = <1>;
156		io-channels = <&pm6150_adc ADC5_AMUX_THM1_100K_PU>;
157		qcom,ratiometric;
158		qcom,hw-settle-time-us = <200>;
159	};
160};
161
162&pp1800_uf_cam {
163	status = "okay";
164};
165
166&pp1800_wf_cam {
167	status = "okay";
168};
169
170&pp2800_uf_cam {
171	status = "okay";
172};
173
174&pp2800_wf_cam {
175	status = "okay";
176};
177
178&pp3300_dx_edp {
179	gpio = <&tlmm 67 GPIO_ACTIVE_HIGH>;
180};
181
182&secondary_mi2s {
183	qcom,playback-sd-lines = <0 1>;
184};
185
186&sound_multimedia1_codec {
187	sound-dai = <&max98360a>, <&max98360a_1>, <&max98360a_2>, <&max98360a_3> ;
188};
189
190&wifi {
191	qcom,ath10k-calibration-variant = "GO_HOMESTAR";
192};
193
194/* PINCTRL - modifications to sc7180-trogdor.dtsi */
195
196&en_pp3300_dx_edp {
197	pins = "gpio67";
198};
199
200&sec_mi2s_active {
201	pins = "gpio49", "gpio50", "gpio51", "gpio52";
202};
203
204&ts_reset_l {
205	/*
206	 * We want reset state by default and it will be up to the
207	 * driver to disable this when it's ready.
208	 */
209	output-low;
210};
211
212/* PINCTRL - board-specific pinctrl */
213
214&tlmm {
215	gpio-line-names = "HUB_RST_L",
216			  "AP_RAM_ID0",
217			  "AP_SKU_ID2",
218			  "AP_RAM_ID1",
219			  "",
220			  "AP_RAM_ID2",
221			  "UF_CAM_EN",
222			  "WF_CAM_EN",
223			  "TS_RESET_L",
224			  "TS_INT_L",
225			  "",
226			  "EDP_BRIJ_IRQ",
227			  "AP_EDP_BKLTEN",
228			  "UF_CAM_MCLK",
229			  "WF_CAM_CLK",
230			  "EDP_BRIJ_I2C_SDA",
231			  "EDP_BRIJ_I2C_SCL",
232			  "UF_CAM_SDA",
233			  "UF_CAM_SCL",
234			  "WF_CAM_SDA",
235			  "WF_CAM_SCL",
236			  "AVEE_LCD_EN",
237			  "",
238			  "AMP_EN",
239			  "AMP_EN2",
240			  "AP_SAR_SENSOR_SDA",
241			  "AP_SAR_SENSOR_SCL",
242			  "SEL_LCM",
243			  "HP_IRQ",
244			  "WF_CAM_RST_L",
245			  "UF_CAM_RST_L",
246			  "AP_BRD_ID2",
247			  "BRIJ_SUSPEND",
248			  "AP_BRD_ID0",
249			  "AP_H1_SPI_MISO",
250			  "AP_H1_SPI_MOSI",
251			  "AP_H1_SPI_CLK",
252			  "AP_H1_SPI_CS_L",
253			  "BT_UART_CTS",
254			  "BT_UART_RTS",
255			  "BT_UART_TXD",
256			  "BT_UART_RXD",
257			  "H1_AP_INT_ODL",
258			  "",
259			  "UART_AP_TX_DBG_RX",
260			  "UART_DBG_TX_AP_RX",
261			  "HP_I2C_SDA",
262			  "HP_I2C_SCL",
263			  "FORCED_USB_BOOT",
264			  "AMP_BCLK",
265			  "AMP_LRCLK",
266			  "AMP_DIN",
267			  "AMP_DIN_2",
268			  "HP_BCLK",
269			  "HP_LRCLK",
270			  "HP_DOUT",
271			  "HP_DIN",
272			  "HP_MCLK",
273			  "AP_SKU_ID0",
274			  "AP_EC_SPI_MISO",
275			  "AP_EC_SPI_MOSI",
276			  "AP_EC_SPI_CLK",
277			  "AP_EC_SPI_CS_L",
278			  "AP_SPI_CLK",
279			  "AP_SPI_MOSI",
280			  "AP_SPI_MISO",
281			  /*
282			   * AP_FLASH_WP_L is crossystem ABI. Schematics
283			   * call it BIOS_FLASH_WP_L.
284			   */
285			  "AP_FLASH_WP_L",
286			  "EN_PP3300_DX_EDP",
287			  "AP_SPI_CS0_L",
288			  "SD_CD_ODL",
289			  "",
290			  "",
291			  "",
292			  "WLAN_SW_CTRL",
293			  "",
294			  "REPORT_E",
295			  "VDD_RESET_1.8V",
296			  "ID0",
297			  "",
298			  "ID1",
299			  "AVDD_LCD_EN",
300			  "MIPI_1.8V_EN",
301			  "",
302			  "CODEC_PWR_EN",
303			  "HUB_EN",
304			  "",
305			  "PP1800_MIPI_SW_EN",
306			  "EN_PP3300_TOUCH",
307			  "",
308			  "",
309			  "AP_SKU_ID1",
310			  "AP_RST_REQ",
311			  "",
312			  "AP_BRD_ID1",
313			  "AP_EC_INT_L",
314			  "SDM_GRFC_3",
315			  "",
316			  "",
317			  "BOOT_CONFIG_4",
318			  "BOOT_CONFIG_2",
319			  "",
320			  "",
321			  "",
322			  "",
323			  "EDP_BRIJ_EN",
324			  "",
325			  "",
326			  "BOOT_CONFIG_3",
327			  "WCI2_LTE_COEX_TXD",
328			  "WCI2_LTE_COEX_RXD",
329			  "",
330			  "",
331			  "",
332			  "",
333			  "FORCED_USB_BOOT_POL",
334			  "AP_TS_PEN_I2C_SDA",
335			  "AP_TS_PEN_I2C_SCL",
336			  "DP_HOT_PLUG_DET",
337			  "EC_IN_RW_ODL";
338
339	en_pp3300_touch: en-pp3300-touch-state {
340		pins = "gpio87";
341		function = "gpio";
342		drive-strength = <2>;
343		bias-disable;
344	};
345};
346