xref: /linux/arch/arm64/boot/dts/mediatek/mt8183-kukui-kakadu.dtsi (revision db4a3f0fbedb0398f77b9047e8b8bb2b49f355bb)
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&dsi0 {
65	#address-cells = <1>;
66	#size-cells = <0>;
67
68	panel: panel@0 {
69		/* compatible will be set in board dts */
70		reg = <0>;
71		enable-gpios = <&pio 45 0>;
72		pinctrl-names = "default";
73		pinctrl-0 = <&panel_pins_default>;
74		avdd-supply = <&ppvarn_lcd>;
75		avee-supply = <&ppvarp_lcd>;
76		pp1800-supply = <&pp1800_lcd>;
77		backlight = <&backlight_lcd0>;
78		rotation = <270>;
79		port {
80			panel_in: endpoint {
81				remote-endpoint = <&dsi_out>;
82			};
83		};
84	};
85};
86
87&dsi_out {
88	remote-endpoint = <&panel_in>;
89};
90
91&i2c0 {
92	status = "okay";
93};
94
95&mt6358_vcama2_reg {
96	regulator-min-microvolt = <2800000>;
97	regulator-max-microvolt = <2800000>;
98};
99
100&i2c2 {
101	pinctrl-names = "default";
102	pinctrl-0 = <&i2c2_pins>;
103	status = "okay";
104	clock-frequency = <400000>;
105	vbus-supply = <&mt6358_vcamio_reg>;
106
107	eeprom@58 {
108		compatible = "atmel,24c32";
109		reg = <0x58>;
110		pagesize = <32>;
111		vcc-supply = <&mt6358_vcama2_reg>;
112	};
113};
114
115&i2c4 {
116	pinctrl-names = "default";
117	pinctrl-0 = <&i2c4_pins>;
118	status = "okay";
119	clock-frequency = <400000>;
120	vbus-supply = <&mt6358_vcn18_reg>;
121
122	eeprom@50 {
123		compatible = "atmel,24c32";
124		reg = <0x50>;
125		pagesize = <32>;
126		vcc-supply = <&mt6358_vcn18_reg>;
127	};
128};
129
130&mipi_tx0 {
131	drive-strength-microamp = <5800>;
132};
133
134&pio {
135	/* 192 lines */
136	gpio-line-names =
137		"SPI_AP_EC_CS_L",
138		"SPI_AP_EC_MOSI",
139		"SPI_AP_EC_CLK",
140		"I2S3_DO",
141		"USB_PD_INT_ODL",
142		"",
143		"",
144		"",
145		"",
146		"IT6505_HPD_L",
147		"I2S3_TDM_D3",
148		"SOC_I2C6_1V8_SCL",
149		"SOC_I2C6_1V8_SDA",
150		"DPI_D0",
151		"DPI_D1",
152		"DPI_D2",
153		"DPI_D3",
154		"DPI_D4",
155		"DPI_D5",
156		"DPI_D6",
157		"DPI_D7",
158		"DPI_D8",
159		"DPI_D9",
160		"DPI_D10",
161		"DPI_D11",
162		"DPI_HSYNC",
163		"DPI_VSYNC",
164		"DPI_DE",
165		"DPI_CK",
166		"AP_MSDC1_CLK",
167		"AP_MSDC1_DAT3",
168		"AP_MSDC1_CMD",
169		"AP_MSDC1_DAT0",
170		"AP_MSDC1_DAT2",
171		"AP_MSDC1_DAT1",
172		"",
173		"",
174		"",
175		"",
176		"",
177		"",
178		"OTG_EN",
179		"DRVBUS",
180		"DISP_PWM",
181		"DSI_TE",
182		"LCM_RST_1V8",
183		"AP_CTS_WIFI_RTS",
184		"AP_RTS_WIFI_CTS",
185		"SOC_I2C5_1V8_SCL",
186		"SOC_I2C5_1V8_SDA",
187		"SOC_I2C3_1V8_SCL",
188		"SOC_I2C3_1V8_SDA",
189		"",
190		"",
191		"",
192		"",
193		"",
194		"",
195		"",
196		"",
197		"",
198		"",
199		"",
200		"",
201		"",
202		"",
203		"",
204		"",
205		"",
206		"",
207		"",
208		"",
209		"",
210		"",
211		"",
212		"",
213		"",
214		"",
215		"",
216		"",
217		"",
218		"SOC_I2C1_1V8_SDA",
219		"SOC_I2C0_1V8_SDA",
220		"SOC_I2C0_1V8_SCL",
221		"SOC_I2C1_1V8_SCL",
222		"AP_SPI_H1_MISO",
223		"AP_SPI_H1_CS_L",
224		"AP_SPI_H1_MOSI",
225		"AP_SPI_H1_CLK",
226		"I2S5_BCK",
227		"I2S5_LRCK",
228		"I2S5_DO",
229		"BOOTBLOCK_EN_L",
230		"MT8183_KPCOL0",
231		"SPI_AP_EC_MISO",
232		"UART_DBG_TX_AP_RX",
233		"UART_AP_TX_DBG_RX",
234		"I2S2_MCK",
235		"I2S2_BCK",
236		"CLK_5M_WCAM",
237		"CLK_2M_UCAM",
238		"I2S2_LRCK",
239		"I2S2_DI",
240		"SOC_I2C2_1V8_SCL",
241		"SOC_I2C2_1V8_SDA",
242		"SOC_I2C4_1V8_SCL",
243		"SOC_I2C4_1V8_SDA",
244		"",
245		"SCL8",
246		"SDA8",
247		"FCAM_PWDN_L",
248		"",
249		"",
250		"",
251		"",
252		"",
253		"",
254		"",
255		"",
256		"",
257		"",
258		"",
259		"",
260		"",
261		"",
262		"",
263		"",
264		"",
265		"",
266		"",
267		"",
268		"",
269		"",
270		"",
271		"",
272		"",
273		"I2S_PMIC",
274		"I2S_PMIC",
275		"I2S_PMIC",
276		"I2S_PMIC",
277		"I2S_PMIC",
278		"I2S_PMIC",
279		"I2S_PMIC",
280		"I2S_PMIC",
281		"",
282		"",
283		"",
284		"",
285		"",
286		"",
287		/*
288		 * AP_FLASH_WP_L is crossystem ABI. Rev1 schematics
289		 * call it BIOS_FLASH_WP_R_L.
290		 */
291		"AP_FLASH_WP_L",
292		"EC_AP_INT_ODL",
293		"IT6505_INT_ODL",
294		"H1_INT_OD_L",
295		"",
296		"",
297		"",
298		"",
299		"",
300		"",
301		"",
302		"AP_SPI_FLASH_MISO",
303		"AP_SPI_FLASH_CS_L",
304		"AP_SPI_FLASH_MOSI",
305		"AP_SPI_FLASH_CLK",
306		"DA7219_IRQ",
307		"",
308		"",
309		"",
310		"",
311		"",
312		"",
313		"",
314		"",
315		"",
316		"",
317		"",
318		"",
319		"",
320		"",
321		"",
322		"",
323		"",
324		"",
325		"",
326		"",
327		"",
328		"",
329		"",
330		"",
331		"",
332		"";
333
334	ppvarp_lcd_en: ppvarp-lcd-en-pins {
335		pins1 {
336			pinmux = <PINMUX_GPIO66__FUNC_GPIO66>;
337			output-low;
338		};
339	};
340
341	ppvarn_lcd_en: ppvarn-lcd-en-pins {
342		pins1 {
343			pinmux = <PINMUX_GPIO166__FUNC_GPIO166>;
344			output-low;
345		};
346	};
347
348	pp1800_lcd_en: pp1800-lcd-en-pins {
349		pins1 {
350			pinmux = <PINMUX_GPIO36__FUNC_GPIO36>;
351			output-low;
352		};
353	};
354
355	open_touch: opentouch-pins {
356		pins-intn {
357			pinmux = <PINMUX_GPIO155__FUNC_GPIO155>;
358			input-enable;
359			bias-pull-up;
360		};
361
362		pins-rst {
363			pinmux = <PINMUX_GPIO156__FUNC_GPIO156>;
364
365			/*
366			 * The pen driver doesn't currently support  driving
367			 * this reset line.  By specifying output-high here
368			 * we're relying on the fact that this pin has a default
369			 * pulldown at boot (which makes sure the pen was in
370			 * reset if it was powered) and then we set it high here
371			 * to take it out of reset.  Better would be if the pen
372			 * driver could control this and we could remove
373			 * "output-high" here.
374			 */
375			output-high;
376		};
377	};
378
379	pen_eject: pen-pins {
380		pins-eject {
381			pinmux = <PINMUX_GPIO6__FUNC_GPIO6>;
382			input-enable;
383			/* External pull-up. */
384			bias-disable;
385		};
386	};
387};
388
389&cros_ec {
390	cbas {
391		compatible = "google,cros-cbas";
392	};
393
394	keyboard-controller {
395		compatible = "google,cros-ec-keyb-switches";
396	};
397};
398
399&qca_wifi {
400	qcom,ath10k-calibration-variant = "GO_KAKADU";
401};
402
403&panel {
404	status = "okay";
405	/* compatible will be set in board dts */
406};
407