xref: /linux/arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama.dtsi (revision 7f71507851fc7764b36a3221839607d3a45c2025)
1// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2/*
3 * Copyright 2021 Google LLC
4 */
5
6/dts-v1/;
7#include "mt8183-kukui.dtsi"
8#include "mt8183-kukui-audio-ts3a227e-max98357a.dtsi"
9
10/ {
11	ppvarn_lcd: ppvarn-lcd {
12		compatible = "regulator-fixed";
13		regulator-name = "ppvarn_lcd";
14		pinctrl-names = "default";
15		pinctrl-0 = <&ppvarn_lcd_en>;
16
17		enable-active-high;
18
19		gpio = <&pio 66 GPIO_ACTIVE_HIGH>;
20	};
21
22	ppvarp_lcd: ppvarp-lcd {
23		compatible = "regulator-fixed";
24		regulator-name = "ppvarp_lcd";
25		pinctrl-names = "default";
26		pinctrl-0 = <&ppvarp_lcd_en>;
27
28		enable-active-high;
29
30		gpio = <&pio 166 GPIO_ACTIVE_HIGH>;
31	};
32
33	pp1800_lcd: pp1800-lcd {
34		compatible = "regulator-fixed";
35		regulator-name = "pp1800_lcd";
36		pinctrl-names = "default";
37		pinctrl-0 = <&pp1800_lcd_en>;
38
39		enable-active-high;
40
41		gpio = <&pio 36 GPIO_ACTIVE_HIGH>;
42	};
43};
44
45&i2c0 {
46	status = "okay";
47
48	touchscreen: touchscreen@10 {
49		compatible = "hid-over-i2c";
50		reg = <0x10>;
51		interrupts-extended = <&pio 155 IRQ_TYPE_LEVEL_LOW>;
52		pinctrl-names = "default";
53		pinctrl-0 = <&touch_default>;
54
55		post-power-on-delay-ms = <10>;
56		hid-descr-addr = <0x0001>;
57	};
58};
59
60&i2c2 {
61        pinctrl-names = "default";
62	pinctrl-0 = <&i2c2_pins>;
63	status = "okay";
64	clock-frequency = <400000>;
65	vbus-supply = <&mt6358_vcamio_reg>;
66
67	eeprom@58 {
68		compatible = "atmel,24c64";
69		reg = <0x58>;
70		pagesize = <32>;
71		vcc-supply = <&mt6358_vcamio_reg>;
72	};
73};
74
75&i2c4 {
76        pinctrl-names = "default";
77	pinctrl-0 = <&i2c4_pins>;
78	status = "okay";
79	clock-frequency = <400000>;
80	vbus-supply = <&mt6358_vcn18_reg>;
81
82	eeprom@50 {
83		compatible = "atmel,24c64";
84		reg = <0x50>;
85		pagesize = <32>;
86		vcc-supply = <&mt6358_vcn18_reg>;
87	};
88};
89
90&mt6358_vcama2_reg {
91	regulator-min-microvolt = <2800000>;
92	regulator-max-microvolt = <2800000>;
93};
94
95&pio {
96	/* 192 lines */
97	gpio-line-names =
98		"SPI_AP_EC_CS_L",
99		"SPI_AP_EC_MOSI",
100		"SPI_AP_EC_CLK",
101		"I2S3_DO",
102		"USB_PD_INT_ODL",
103		"",
104		"",
105		"",
106		"",
107		"IT6505_HPD_L",
108		"I2S3_TDM_D3",
109		"SOC_I2C6_1V8_SCL",
110		"SOC_I2C6_1V8_SDA",
111		"DPI_D0",
112		"DPI_D1",
113		"DPI_D2",
114		"DPI_D3",
115		"DPI_D4",
116		"DPI_D5",
117		"DPI_D6",
118		"DPI_D7",
119		"DPI_D8",
120		"DPI_D9",
121		"DPI_D10",
122		"DPI_D11",
123		"DPI_HSYNC",
124		"DPI_VSYNC",
125		"DPI_DE",
126		"DPI_CK",
127		"AP_MSDC1_CLK",
128		"AP_MSDC1_DAT3",
129		"AP_MSDC1_CMD",
130		"AP_MSDC1_DAT0",
131		"AP_MSDC1_DAT2",
132		"AP_MSDC1_DAT1",
133		"",
134		"",
135		"",
136		"",
137		"",
138		"",
139		"OTG_EN",
140		"DRVBUS",
141		"DISP_PWM",
142		"DSI_TE",
143		"LCM_RST_1V8",
144		"AP_CTS_WIFI_RTS",
145		"AP_RTS_WIFI_CTS",
146		"SOC_I2C5_1V8_SCL",
147		"SOC_I2C5_1V8_SDA",
148		"SOC_I2C3_1V8_SCL",
149		"SOC_I2C3_1V8_SDA",
150		"",
151		"",
152		"",
153		"",
154		"",
155		"",
156		"",
157		"",
158		"",
159		"",
160		"",
161		"",
162		"",
163		"",
164		"",
165		"",
166		"",
167		"",
168		"",
169		"",
170		"",
171		"",
172		"",
173		"",
174		"",
175		"",
176		"",
177		"",
178		"",
179		"SOC_I2C1_1V8_SDA",
180		"SOC_I2C0_1V8_SDA",
181		"SOC_I2C0_1V8_SCL",
182		"SOC_I2C1_1V8_SCL",
183		"AP_SPI_H1_MISO",
184		"AP_SPI_H1_CS_L",
185		"AP_SPI_H1_MOSI",
186		"AP_SPI_H1_CLK",
187		"I2S5_BCK",
188		"I2S5_LRCK",
189		"I2S5_DO",
190		"BOOTBLOCK_EN_L",
191		"MT8183_KPCOL0",
192		"SPI_AP_EC_MISO",
193		"UART_DBG_TX_AP_RX",
194		"UART_AP_TX_DBG_RX",
195		"I2S2_MCK",
196		"I2S2_BCK",
197		"CLK_5M_WCAM",
198		"CLK_2M_UCAM",
199		"I2S2_LRCK",
200		"I2S2_DI",
201		"SOC_I2C2_1V8_SCL",
202		"SOC_I2C2_1V8_SDA",
203		"SOC_I2C4_1V8_SCL",
204		"SOC_I2C4_1V8_SDA",
205		"",
206		"SCL8",
207		"SDA8",
208		"FCAM_PWDN_L",
209		"",
210		"",
211		"",
212		"",
213		"",
214		"",
215		"",
216		"",
217		"",
218		"",
219		"",
220		"",
221		"",
222		"",
223		"",
224		"",
225		"",
226		"",
227		"",
228		"",
229		"",
230		"",
231		"",
232		"",
233		"",
234		"I2S_PMIC",
235		"I2S_PMIC",
236		"I2S_PMIC",
237		"I2S_PMIC",
238		"I2S_PMIC",
239		"I2S_PMIC",
240		"I2S_PMIC",
241		"I2S_PMIC",
242		"",
243		"",
244		"",
245		"",
246		"",
247		"",
248		/*
249		 * AP_FLASH_WP_L is crossystem ABI. Rev1 schematics
250		 * call it BIOS_FLASH_WP_R_L.
251		 */
252		"AP_FLASH_WP_L",
253		"EC_AP_INT_ODL",
254		"IT6505_INT_ODL",
255		"H1_INT_OD_L",
256		"",
257		"",
258		"",
259		"",
260		"",
261		"",
262		"",
263		"AP_SPI_FLASH_MISO",
264		"AP_SPI_FLASH_CS_L",
265		"AP_SPI_FLASH_MOSI",
266		"AP_SPI_FLASH_CLK",
267		"DA7219_IRQ",
268		"",
269		"",
270		"",
271		"",
272		"",
273		"",
274		"",
275		"",
276		"",
277		"",
278		"",
279		"",
280		"",
281		"",
282		"",
283		"",
284		"",
285		"",
286		"",
287		"",
288		"",
289		"",
290		"",
291		"",
292		"",
293		"";
294
295	ppvarp_lcd_en: ppvarp-lcd-en {
296		pins1 {
297			pinmux = <PINMUX_GPIO66__FUNC_GPIO66>;
298			output-low;
299		};
300	};
301
302	ppvarn_lcd_en: ppvarn-lcd-en {
303		pins1 {
304			pinmux = <PINMUX_GPIO166__FUNC_GPIO166>;
305			output-low;
306		};
307	};
308
309	pp1800_lcd_en: pp1800-lcd-en {
310		pins1 {
311			pinmux = <PINMUX_GPIO36__FUNC_GPIO36>;
312			output-low;
313		};
314	};
315
316	touch_default: touchdefault {
317		pin_irq {
318			pinmux = <PINMUX_GPIO155__FUNC_GPIO155>;
319			input-enable;
320			bias-pull-up;
321		};
322
323		touch_pin_reset: pin_reset {
324			pinmux = <PINMUX_GPIO156__FUNC_GPIO156>;
325
326			/*
327			 * The touchscreen driver doesn't currently support driving
328			 * this reset line.  By specifying output-high here
329			 * we're relying on the fact that this pin has a default
330			 * pulldown at boot (which makes sure the controller was in
331			 * reset if it was powered) and then we set it high here
332			 * to take it out of reset.  Better would be if the touchscreen
333			 * driver could control this and we could remove
334			 * "output-high" here.
335			 */
336			output-high;
337		};
338	};
339};
340
341&cros_ec {
342	cbas {
343		compatible = "google,cros-cbas";
344	};
345
346	keyboard-controller {
347		compatible = "google,cros-ec-keyb-switches";
348	};
349};
350
351&qca_wifi {
352	qcom,ath10k-calibration-variant = "GO_KODAMA";
353};
354
355&i2c_tunnel {
356        google,remote-bus = <2>;
357};
358