blob: b2df22faafe8890da1fc9f234e3c17474a453f28 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Google Homestar board device tree source
4 *
5 * Copyright 2021 Google LLC.
6 */
7
Tom Rini53633a82024-02-29 12:33:36 -05008#include "sc7180-trogdor-rt5682i-sku.dtsi"
Tom Rini6b642ac2024-10-01 12:20:28 -06009#include "sc7180-trogdor-detachable.dtsi"
Tom Rini53633a82024-02-29 12:33:36 -050010
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>;
Tom Rini53633a82024-02-29 12:33:36 -050047
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
Tom Rini53633a82024-02-29 12:33:36 -0500136&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};