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