1// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2/*
3 * Copyright 2023 Google LLC
4 */
5
6/dts-v1/;
7#include "mt8186-corsola.dtsi"
8
9/ {
10	en_pp6000_mipi_disp_150ma: en-pp6000-mipi-disp-150ma {
11		compatible = "regulator-fixed";
12		regulator-name = "en_pp6000_mipi_disp_150ma";
13		gpio = <&pio 154 GPIO_ACTIVE_HIGH>;
14		enable-active-high;
15		pinctrl-names = "default";
16		pinctrl-0 = <&en_pp6000_mipi_disp_150ma_fixed_pins>;
17	};
18
19	/*
20	 * Starmie does not have 3.3V display regulator. It is replaced
21	 * with 6V module for enabling panel, re-using eDP GPIOs.
22	 */
23	/delete-node/ pp3300_disp_x;
24	en_pp6000_mipi_disp: en-regulator-pp6000-mipi-disp {
25		compatible = "regulator-fixed";
26		pinctrl-names = "default";
27		pinctrl-0 = <&edp_panel_fixed_pins>;
28		gpios = <&pio 153 GPIO_ACTIVE_HIGH>;
29		regulator-name = "en_pp6000_mipi_disp";
30		enable-active-high;
31		regulator-enable-ramp-delay = <3000>;
32		vin-supply = <&pp3300_z2>;
33	};
34
35	tboard_thermistor1: thermal-sensor1 {
36		compatible = "generic-adc-thermal";
37		#thermal-sensor-cells = <0>;
38		io-channels = <&auxadc 0>;
39		io-channel-names = "sensor-channel";
40		temperature-lookup-table = <    (-5000) 1492
41						0 1413
42						5000 1324
43						10000 1227
44						15000 1121
45						20000 1017
46						25000 900
47						30000 797
48						35000 698
49						40000 606
50						45000 522
51						50000 449
52						55000 383
53						60000 327
54						65000 278
55						70000 236
56						75000 201
57						80000 171
58						85000 145
59						90000 163
60						95000 124
61						100000 91
62						105000 78
63						110000 67
64						115000 58
65						120000 50
66						125000 44>;
67	};
68
69	tboard_thermistor2: thermal-sensor2 {
70		compatible = "generic-adc-thermal";
71		#thermal-sensor-cells = <0>;
72		io-channels = <&auxadc 1>;
73		io-channel-names = "sensor-channel";
74		temperature-lookup-table = <    (-5000) 1492
75						0 1413
76						5000 1324
77						10000 1227
78						15000 1121
79						20000 1017
80						25000 900
81						30000 797
82						35000 698
83						40000 606
84						45000 522
85						50000 449
86						55000 383
87						60000 327
88						65000 278
89						70000 236
90						75000 201
91						80000 171
92						85000 145
93						90000 163
94						95000 124
95						100000 91
96						105000 78
97						110000 67
98						115000 58
99						120000 50
100						125000 44>;
101	};
102};
103
104/*
105 * Starmie does not have EC keyboard. Remove default keyboard controller
106 * and replace it with the driver for side switches.
107 */
108/delete-node/ &keyboard_controller;
109
110&cros_ec {
111	cbas: cbas {
112		compatible = "google,cros-cbas";
113	};
114
115	keyboard-controller {
116		compatible = "google,cros-ec-keyb-switches";
117	};
118};
119
120&dsi0 {
121	#address-cells = <1>;
122	#size-cells = <0>;
123	panel: panel@0 {
124		/* compatible will be set in board dts */
125		reg = <0>;
126		enable-gpios = <&pio 98 0>;
127		pinctrl-names = "default";
128		pinctrl-0 = <&panel_default_pins>;
129		avdd-supply = <&en_pp6000_mipi_disp>;
130		avee-supply = <&en_pp6000_mipi_disp_150ma>;
131		pp1800-supply = <&mt6366_vio18_reg>;
132		backlight = <&backlight_lcd0>;
133		rotation = <270>;
134		port {
135			panel_in: endpoint {
136				remote-endpoint = <&dsi_out>;
137			};
138		};
139	};
140};
141
142&dsi_out {
143	remote-endpoint = <&panel_in>;
144};
145
146&i2c0 {
147	status = "disabled";
148};
149
150&i2c2 {
151	status = "disabled";
152};
153
154&i2c4 {
155	status = "disabled";
156};
157
158&i2c5 {
159	clock-frequency = <400000>;
160};
161
162&mmc1_pins_default {
163	pins-clk {
164		drive-strength = <8>;
165	};
166
167	pins-cmd-dat {
168		drive-strength = <8>;
169	};
170};
171
172&mmc1_pins_uhs {
173	pins-clk {
174		drive-strength = <8>;
175	};
176
177	pins-cmd-dat {
178		drive-strength = <8>;
179	};
180};
181
182&pen_insert {
183	wakeup-event-action = <EV_ACT_ANY>;
184};
185
186&pio {
187	/* 185 lines */
188	gpio-line-names = "TP",
189			  "TP",
190			  "TP",
191			  "I2S0_HP_DI",
192			  "I2S3_DP_SPKR_DO",
193			  "SAR_INT_ODL",
194			  "BT_WAKE_AP_ODL",
195			  "WIFI_INT_ODL",
196			  "DPBRDG_INT_ODL",
197			  "NC",
198			  "EC_AP_HPD_OD",
199			  "NC",
200			  "TCHSCR_INT_1V8_ODL",
201			  "EC_AP_INT_ODL",
202			  "EC_IN_RW_ODL",
203			  "GSC_AP_INT_ODL",
204			  /*
205			   * AP_FLASH_WP_L is crossystem ABI. Rev1 schematics
206			   * call it AP_WP_ODL.
207			   */
208			  "AP_FLASH_WP_L",
209			  "HP_INT_ODL",
210			  "PEN_EJECT_OD",
211			  "NC",
212			  "NC",
213			  "UCAM_SEN_EN",
214			  "NC",
215			  "NC",
216			  "NC",
217			  "I2S2_DP_SPK_MCK",
218			  "I2S2_DP_SPKR_BCK",
219			  "I2S2_DP_SPKR_LRCK",
220			  "NC",
221			  "NC",
222			  "NC",
223			  "NC",
224			  "UART_GSC_TX_AP_RX",
225			  "UART_AP_TX_GSC_RX",
226			  "UART_DBGCON_TX_ADSP_RX",
227			  "UART_ADSP_TX_DBGCON_RX",
228			  "NC",
229			  "TCHSCR_REPORT_DISABLE",
230			  "NC",
231			  "EN_PP1800_DPBRDG",
232			  "SPI_AP_CLK_EC",
233			  "SPI_AP_CS_EC_L",
234			  "SPI_AP_DO_EC_DI",
235			  "SPI_AP_DI_EC_DO",
236			  "SPI_AP_CLK_GSC",
237			  "SPI_AP_CS_GSC_L",
238			  "SPI_AP_DO_GSC_DI",
239			  "SPI_AP_DI_GSC_DO",
240			  "UART_DBGCON_TX_SCP_RX",
241			  "UART_SCP_TX_DBGCON_RX",
242			  "EN_PP1200_CAM_X",
243			  "WLAN_MODULE_RST_L",
244			  "NC",
245			  "NC",
246			  "NC",
247			  "NC",
248			  "I2S1_HP_DO",
249			  "I2S1_HP_BCK",
250			  "I2S1_HP_LRCK",
251			  "I2S1_HP_MCK",
252			  "TCHSCR_RST_1V8_L",
253			  "SPI_AP_CLK_ROM",
254			  "SPI_AP_CS_ROM_L",
255			  "SPI_AP_DO_ROM_DI",
256			  "SPI_AP_DI_ROM_DO",
257			  "NC",
258			  "NC",
259			  "EMMC_STRB",
260			  "EMMC_CLK",
261			  "EMMC_CMD",
262			  "EMMC_RST_L",
263			  "EMMC_DATA0",
264			  "EMMC_DATA1",
265			  "EMMC_DATA2",
266			  "EMMC_DATA3",
267			  "EMMC_DATA4",
268			  "EMMC_DATA5",
269			  "EMMC_DATA6",
270			  "EMMC_DATA7",
271			  "AP_KPCOL0",
272			  "NC",
273			  "NC",
274			  "NC",
275			  "TP",
276			  "SDIO_CLK",
277			  "SDIO_CMD",
278			  "SDIO_DATA0",
279			  "SDIO_DATA1",
280			  "SDIO_DATA2",
281			  "SDIO_DATA3",
282			  "NC",
283			  "NC",
284			  "NC",
285			  "NC",
286			  "NC",
287			  "NC",
288			  "NC",
289			  "MIPI_BL_PWM_1V8",
290			  "DISP_RST_1V8_L",
291			  "MIPI_DPI_CLK",
292			  "MIPI_DPI_VSYNC",
293			  "MIPI_DPI_HSYNC",
294			  "MIPI_DPI_DE",
295			  "MIPI_DPI_D0",
296			  "MIPI_DPI_D1",
297			  "MIPI_DPI_D2",
298			  "MIPI_DPI_D3",
299			  "MIPI_DPI_D4",
300			  "MIPI_DPI_D5",
301			  "MIPI_DPI_D6",
302			  "MIPI_DPI_DA7",
303			  "MIPI_DPI_D8",
304			  "MIPI_DPI_D9",
305			  "MIPI_DPI_D10",
306			  "MIPI_DPI_D11",
307			  "PCM_BT_CLK",
308			  "PCM_BT_SYNC",
309			  "PCM_BT_DI",
310			  "PCM_BT_DO",
311			  "JTAG_TMS_TP",
312			  "JTAG_TCK_TP",
313			  "JTAG_TDI_TP",
314			  "JTAG_TDO_TP",
315			  "JTAG_TRSTN_TP",
316			  "NC",
317			  "NC",
318			  "UCAM_DET_ODL",
319			  "NC",
320			  "NC",
321			  "AP_I2C_TCHSCR_SCL_1V8",
322			  "AP_I2C_TCHSCR_SDA_1V8",
323			  "NC",
324			  "NC",
325			  "AP_I2C_DPBRDG_SCL_1V8",
326			  "AP_I2C_DPBRDG_SDA_1V8",
327			  "NC",
328			  "NC",
329			  "AP_I2C_AUD_SCL_1V8",
330			  "AP_I2C_AUD_SDA_1V8",
331			  "AP_I2C_DISP_SCL_1V8",
332			  "AP_I2C_DISP_SDA_1V8",
333			  "NC",
334			  "NC",
335			  "NC",
336			  "NC",
337			  "SCP_I2C_SENSOR_SCL_1V8",
338			  "SCP_I2C_SENSOR_SDA_1V8",
339			  "AP_EC_WARM_RST_REQ",
340			  "AP_XHCI_INIT_DONE",
341			  "USB3_HUB_RST_L",
342			  "EN_SPKR",
343			  "BEEP_ON",
344			  "AP_DISP_BKLTEN",
345			  "EN_PP6000_MIPI_DISP",
346			  "EN_PP6000_MIPI_DISP_150MA",
347			  "BT_KILL_1V8_L",
348			  "WIFI_KILL_1V8_L",
349			  "PWRAP_SPI0_CSN",
350			  "PWRAP_SPI0_CK",
351			  "PWRAP_SPI0_MO",
352			  "PWRAP_SPI0_MI",
353			  "SRCLKENA0",
354			  "SRCLKENA1",
355			  "SCP_VREQ_VAO",
356			  "AP_RTC_CLK32K",
357			  "AP_PMIC_WDTRST_L",
358			  "AUD_CLK_MOSI",
359			  "AUD_SYNC_MOSI",
360			  "AUD_DAT_MOSI0",
361			  "AUD_DAT_MOSI1",
362			  "AUD_CLK_MISO",
363			  "AUD_SYNC_MISO",
364			  "AUD_DAT_MISO0",
365			  "AUD_DAT_MISO1",
366			  "NC",
367			  "NC",
368			  "NC",
369			  "DPBRDG_RST_L",
370			  "LTE_W_DISABLE_L",
371			  "LTE_SAR_DETECT_L",
372			  "EN_PP3300_LTE_X",
373			  "LTE_PWR_OFF_L",
374			  "LTE_RESET_L",
375			  "TP",
376			  "TP";
377
378	dpi_default_pins: dpi-default-pins {
379		pins-cmd-dat {
380			pinmux = <PINMUX_GPIO103__FUNC_GPIO103>,
381				 <PINMUX_GPIO104__FUNC_GPIO104>,
382				 <PINMUX_GPIO105__FUNC_GPIO105>,
383				 <PINMUX_GPIO106__FUNC_GPIO106>,
384				 <PINMUX_GPIO107__FUNC_GPIO107>,
385				 <PINMUX_GPIO108__FUNC_GPIO108>,
386				 <PINMUX_GPIO109__FUNC_GPIO109>,
387				 <PINMUX_GPIO110__FUNC_GPIO110>,
388				 <PINMUX_GPIO111__FUNC_GPIO111>,
389				 <PINMUX_GPIO112__FUNC_GPIO112>,
390				 <PINMUX_GPIO113__FUNC_GPIO113>,
391				 <PINMUX_GPIO114__FUNC_GPIO114>,
392				 <PINMUX_GPIO101__FUNC_GPIO101>,
393				 <PINMUX_GPIO100__FUNC_GPIO100>,
394				 <PINMUX_GPIO102__FUNC_GPIO102>,
395				 <PINMUX_GPIO99__FUNC_GPIO99>;
396			drive-strength = <10>;
397			output-low;
398		};
399	};
400
401	dpi_func_pins: dpi-func-pins {
402		pins-cmd-dat {
403			pinmux = <PINMUX_GPIO103__FUNC_DPI_DATA0>,
404				 <PINMUX_GPIO104__FUNC_DPI_DATA1>,
405				 <PINMUX_GPIO105__FUNC_DPI_DATA2>,
406				 <PINMUX_GPIO106__FUNC_DPI_DATA3>,
407				 <PINMUX_GPIO107__FUNC_DPI_DATA4>,
408				 <PINMUX_GPIO108__FUNC_DPI_DATA5>,
409				 <PINMUX_GPIO109__FUNC_DPI_DATA6>,
410				 <PINMUX_GPIO110__FUNC_DPI_DATA7>,
411				 <PINMUX_GPIO111__FUNC_DPI_DATA8>,
412				 <PINMUX_GPIO112__FUNC_DPI_DATA9>,
413				 <PINMUX_GPIO113__FUNC_DPI_DATA10>,
414				 <PINMUX_GPIO114__FUNC_DPI_DATA11>,
415				 <PINMUX_GPIO101__FUNC_DPI_HSYNC>,
416				 <PINMUX_GPIO100__FUNC_DPI_VSYNC>,
417				 <PINMUX_GPIO102__FUNC_DPI_DE>,
418				 <PINMUX_GPIO99__FUNC_DPI_PCLK>;
419			drive-strength = <10>;
420		};
421	};
422
423	en_pp6000_mipi_disp_150ma_fixed_pins: en_pp6000-mipi-disp-150ma-fixed-pins {
424		pins-en {
425			pinmux = <PINMUX_GPIO154__FUNC_GPIO154>;
426			output-low;
427		};
428	};
429
430	panel_default_pins: panel-default-pins {
431		pins-en {
432			pinmux = <PINMUX_GPIO98__FUNC_GPIO98>;
433			output-low;
434		};
435	};
436};
437
438&usb_c1 {
439	status = "disabled";
440};
441
442&thermal_zones {
443	tboard1-thermal {
444		polling-delay = <1000>; /* milliseconds */
445		polling-delay-passive = <0>; /* milliseconds */
446		thermal-sensors = <&tboard_thermistor1>;
447	};
448
449	tboard2-thermal {
450		polling-delay = <1000>; /* milliseconds */
451		polling-delay-passive = <0>; /* milliseconds */
452		thermal-sensors = <&tboard_thermistor2>;
453	};
454};
455
456&wifi_pwrseq {
457	reset-gpios = <&pio 51 1>;
458};
459
460/*
461 * Battery on Starmie is using a different address than default.
462 * Remove old node to reuse "battery" alias.
463 */
464/delete-node/ &battery;
465&i2c_tunnel {
466	battery: sbs-battery@f {
467		compatible = "sbs,sbs-battery";
468		reg = <0xf>;
469		sbs,i2c-retry-count = <2>;
470		sbs,poll-retry-count = <1>;
471	};
472};
473