xref: /linux/arch/arm64/boot/dts/mediatek/mt8183-kukui-kakadu.dtsi (revision 7f71507851fc7764b36a3221839607d3a45c2025)
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@50 {
96		compatible = "atmel,24c32";
97		reg = <0x50>;
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	cbas {
364		compatible = "google,cros-cbas";
365	};
366
367	keyboard-controller {
368		compatible = "google,cros-ec-keyb-switches";
369	};
370};
371
372&qca_wifi {
373	qcom,ath10k-calibration-variant = "GO_KAKADU";
374};
375
376&panel {
377	status = "okay";
378	/* compatible will be set in board dts */
379};
380