xref: /linux/arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi.dtsi (revision 7f71507851fc7764b36a3221839607d3a45c2025)
1// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2/*
3 * Copyright 2021 Google LLC
4 */
5
6#include "mt8183-kukui.dtsi"
7/* Must come after mt8183-kukui.dtsi to modify cros_ec */
8#include <arm/cros-ec-keyboard.dtsi>
9
10/ {
11	pp1000_mipibrdg: pp1000-mipibrdg {
12		compatible = "regulator-fixed";
13		regulator-name = "pp1000_mipibrdg";
14		regulator-min-microvolt = <1000000>;
15		regulator-max-microvolt = <1000000>;
16		pinctrl-names = "default";
17		pinctrl-0 = <&pp1000_mipibrdg_en>;
18
19		enable-active-high;
20		regulator-boot-on;
21
22		gpio = <&pio 54 GPIO_ACTIVE_HIGH>;
23		vin-supply = <&pp1800_alw>;
24	};
25
26	pp1800_mipibrdg: pp1800-mipibrdg {
27		compatible = "regulator-fixed";
28		regulator-name = "pp1800_mipibrdg";
29		pinctrl-names = "default";
30		pinctrl-0 = <&pp1800_mipibrdg_en>;
31
32		enable-active-high;
33		regulator-boot-on;
34
35		gpio = <&pio 36 GPIO_ACTIVE_HIGH>;
36		vin-supply = <&pp1800_alw>;
37	};
38
39	pp3300_panel: pp3300-panel {
40		compatible = "regulator-fixed";
41		regulator-name = "pp3300_panel";
42		regulator-min-microvolt = <3300000>;
43		regulator-max-microvolt = <3300000>;
44		pinctrl-names = "default";
45		pinctrl-0 = <&pp3300_panel_pins>;
46
47		enable-active-high;
48		regulator-boot-on;
49
50		gpio = <&pio 35 GPIO_ACTIVE_HIGH>;
51		vin-supply = <&pp3300_alw>;
52	};
53
54	pp3300_mipibrdg: pp3300-mipibrdg {
55		compatible = "regulator-fixed";
56		regulator-name = "pp3300_mipibrdg";
57		pinctrl-names = "default";
58		pinctrl-0 = <&pp3300_mipibrdg_en>;
59
60		enable-active-high;
61		regulator-boot-on;
62
63		gpio = <&pio 37 GPIO_ACTIVE_HIGH>;
64		vin-supply = <&pp3300_alw>;
65	};
66
67	volume_buttons: volume-buttons {
68		compatible = "gpio-keys";
69		pinctrl-names = "default";
70		pinctrl-0 = <&volume_button_pins>;
71
72		button-volume-down {
73			label = "Volume Down";
74			linux,code = <KEY_VOLUMEDOWN>;
75			debounce-interval = <100>;
76
77			gpios = <&pio 6 GPIO_ACTIVE_LOW>;
78		};
79
80		button-volume-up {
81			label = "Volume Up";
82			linux,code = <KEY_VOLUMEUP>;
83			debounce-interval = <100>;
84
85			gpios = <&pio 5 GPIO_ACTIVE_LOW>;
86		};
87	};
88};
89
90&cros_ec {
91	cros_ec_pwm: pwm {
92		compatible = "google,cros-ec-pwm";
93		#pwm-cells = <1>;
94		status = "disabled";
95	};
96};
97
98&dsi0 {
99	status = "okay";
100	/delete-node/panel@0;
101};
102
103&dsi_out {
104	remote-endpoint = <&anx7625_in>;
105};
106
107&i2c0 {
108	status = "okay";
109
110	touchscreen: touchscreen@10 {
111		compatible = "elan,ekth3500";
112		reg = <0x10>;
113
114		pinctrl-names = "default";
115		pinctrl-0 = <&touchscreen_pins>;
116
117		interrupts-extended = <&pio 155 IRQ_TYPE_LEVEL_LOW>;
118
119		reset-gpios = <&pio 156 GPIO_ACTIVE_LOW>;
120	};
121};
122
123&i2c2 {
124	pinctrl-names = "default";
125	pinctrl-0 = <&i2c2_pins>;
126	status = "okay";
127	clock-frequency = <400000>;
128
129	trackpad@15 {
130		compatible = "elan,ekth3000";
131		reg = <0x15>;
132
133		pinctrl-names = "default";
134		pinctrl-0 = <&trackpad_pins>;
135
136		interrupts-extended = <&pio 7 IRQ_TYPE_LEVEL_LOW>;
137
138		wakeup-source;
139	};
140};
141
142&i2c4 {
143	pinctrl-names = "default";
144	pinctrl-0 = <&i2c4_pins>;
145	status = "okay";
146	clock-frequency = <100000>;
147
148	anx_bridge: anx7625@58 {
149		compatible = "analogix,anx7625";
150		reg = <0x58>;
151		pinctrl-names = "default";
152		pinctrl-0 = <&anx7625_pins>;
153		enable-gpios = <&pio 45 GPIO_ACTIVE_HIGH>;
154		reset-gpios = <&pio 73 GPIO_ACTIVE_HIGH>;
155		vdd10-supply = <&pp1000_mipibrdg>;
156		vdd18-supply = <&pp1800_mipibrdg>;
157		vdd33-supply = <&pp3300_mipibrdg>;
158
159		ports {
160			#address-cells = <1>;
161			#size-cells = <0>;
162
163			port@0 {
164				reg = <0>;
165
166				anx7625_in: endpoint {
167					remote-endpoint = <&dsi_out>;
168				};
169			};
170
171			port@1 {
172				reg = <1>;
173
174				anx7625_out: endpoint {
175					remote-endpoint = <&panel_in>;
176				};
177			};
178		};
179
180		aux-bus {
181			panel: panel {
182				compatible = "edp-panel";
183				power-supply = <&pp3300_panel>;
184				backlight = <&backlight_lcd0>;
185
186				port {
187					panel_in: endpoint {
188						remote-endpoint = <&anx7625_out>;
189					};
190				};
191			};
192		};
193	};
194};
195
196&i2c_tunnel {
197	google,remote-bus = <2>;
198};
199
200&pio {
201	/* 192 lines */
202	gpio-line-names =
203		"SPI_AP_EC_CS_L",
204		"SPI_AP_EC_MOSI",
205		"SPI_AP_EC_CLK",
206		"I2S3_DO",
207		"USB_PD_INT_ODL",
208		"",
209		"",
210		"",
211		"",
212		"IT6505_HPD_L",
213		"I2S3_TDM_D3",
214		"SOC_I2C6_1V8_SCL",
215		"SOC_I2C6_1V8_SDA",
216		"DPI_D0",
217		"DPI_D1",
218		"DPI_D2",
219		"DPI_D3",
220		"DPI_D4",
221		"DPI_D5",
222		"DPI_D6",
223		"DPI_D7",
224		"DPI_D8",
225		"DPI_D9",
226		"DPI_D10",
227		"DPI_D11",
228		"DPI_HSYNC",
229		"DPI_VSYNC",
230		"DPI_DE",
231		"DPI_CK",
232		"AP_MSDC1_CLK",
233		"AP_MSDC1_DAT3",
234		"AP_MSDC1_CMD",
235		"AP_MSDC1_DAT0",
236		"AP_MSDC1_DAT2",
237		"AP_MSDC1_DAT1",
238		"",
239		"",
240		"",
241		"",
242		"",
243		"",
244		"OTG_EN",
245		"DRVBUS",
246		"DISP_PWM",
247		"DSI_TE",
248		"LCM_RST_1V8",
249		"AP_CTS_WIFI_RTS",
250		"AP_RTS_WIFI_CTS",
251		"SOC_I2C5_1V8_SCL",
252		"SOC_I2C5_1V8_SDA",
253		"SOC_I2C3_1V8_SCL",
254		"SOC_I2C3_1V8_SDA",
255		"",
256		"",
257		"",
258		"",
259		"",
260		"",
261		"",
262		"",
263		"",
264		"",
265		"",
266		"",
267		"",
268		"",
269		"",
270		"",
271		"",
272		"",
273		"",
274		"",
275		"",
276		"",
277		"",
278		"",
279		"",
280		"",
281		"",
282		"",
283		"",
284		"SOC_I2C1_1V8_SDA",
285		"SOC_I2C0_1V8_SDA",
286		"SOC_I2C0_1V8_SCL",
287		"SOC_I2C1_1V8_SCL",
288		"AP_SPI_H1_MISO",
289		"AP_SPI_H1_CS_L",
290		"AP_SPI_H1_MOSI",
291		"AP_SPI_H1_CLK",
292		"I2S5_BCK",
293		"I2S5_LRCK",
294		"I2S5_DO",
295		"BOOTBLOCK_EN_L",
296		"MT8183_KPCOL0",
297		"SPI_AP_EC_MISO",
298		"UART_DBG_TX_AP_RX",
299		"UART_AP_TX_DBG_RX",
300		"I2S2_MCK",
301		"I2S2_BCK",
302		"CLK_5M_WCAM",
303		"CLK_2M_UCAM",
304		"I2S2_LRCK",
305		"I2S2_DI",
306		"SOC_I2C2_1V8_SCL",
307		"SOC_I2C2_1V8_SDA",
308		"SOC_I2C4_1V8_SCL",
309		"SOC_I2C4_1V8_SDA",
310		"",
311		"SCL8",
312		"SDA8",
313		"FCAM_PWDN_L",
314		"",
315		"",
316		"",
317		"",
318		"",
319		"",
320		"",
321		"",
322		"",
323		"",
324		"",
325		"",
326		"",
327		"",
328		"",
329		"",
330		"",
331		"",
332		"",
333		"",
334		"",
335		"",
336		"",
337		"",
338		"",
339		"I2S_PMIC",
340		"I2S_PMIC",
341		"I2S_PMIC",
342		"I2S_PMIC",
343		"I2S_PMIC",
344		"I2S_PMIC",
345		"I2S_PMIC",
346		"I2S_PMIC",
347		"",
348		"",
349		"",
350		"",
351		"",
352		"",
353		/*
354		 * AP_FLASH_WP_L is crossystem ABI. Rev1 schematics
355		 * call it BIOS_FLASH_WP_R_L.
356		 */
357		"AP_FLASH_WP_L",
358		"EC_AP_INT_ODL",
359		"IT6505_INT_ODL",
360		"H1_INT_OD_L",
361		"",
362		"",
363		"",
364		"",
365		"",
366		"",
367		"",
368		"AP_SPI_FLASH_MISO",
369		"AP_SPI_FLASH_CS_L",
370		"AP_SPI_FLASH_MOSI",
371		"AP_SPI_FLASH_CLK",
372		"DA7219_IRQ",
373		"",
374		"",
375		"",
376		"",
377		"",
378		"",
379		"",
380		"",
381		"",
382		"",
383		"",
384		"",
385		"",
386		"",
387		"",
388		"",
389		"",
390		"",
391		"",
392		"",
393		"",
394		"",
395		"",
396		"",
397		"",
398		"";
399
400	pp1000_mipibrdg_en: pp1000-mipibrdg-en {
401		pins1 {
402			pinmux = <PINMUX_GPIO54__FUNC_GPIO54>;
403			output-low;
404		};
405	};
406
407	pp1800_mipibrdg_en: pp1800-mipibrdg-en {
408		pins1 {
409			pinmux = <PINMUX_GPIO36__FUNC_GPIO36>;
410			output-low;
411		};
412	};
413
414	pp3300_panel_pins: pp3300-panel-pins {
415		panel_3v3_enable: panel-3v3-enable {
416			pinmux = <PINMUX_GPIO35__FUNC_GPIO35>;
417			output-low;
418		};
419	};
420
421	ppvarp_lcd_en: ppvarp-lcd-en {
422		pins1 {
423			pinmux = <PINMUX_GPIO66__FUNC_GPIO66>;
424			output-low;
425		};
426	};
427
428	ppvarn_lcd_en: ppvarn-lcd-en {
429		pins1 {
430			pinmux = <PINMUX_GPIO166__FUNC_GPIO166>;
431			output-low;
432		};
433	};
434
435	anx7625_pins: anx7625-pins {
436		pins1 {
437			pinmux = <PINMUX_GPIO45__FUNC_GPIO45>,
438				 <PINMUX_GPIO73__FUNC_GPIO73>;
439			output-low;
440		};
441		pins2 {
442			pinmux = <PINMUX_GPIO4__FUNC_GPIO4>;
443			input-enable;
444			bias-pull-up;
445		};
446	};
447
448	touchscreen_pins: touchscreen-pins {
449		touch-int-odl {
450			pinmux = <PINMUX_GPIO155__FUNC_GPIO155>;
451			input-enable;
452			bias-pull-up;
453		};
454
455		touch-rst-l {
456			pinmux = <PINMUX_GPIO156__FUNC_GPIO156>;
457			output-high;
458		};
459	};
460
461	trackpad_pins: trackpad-pins {
462		trackpad-int {
463			pinmux = <PINMUX_GPIO7__FUNC_GPIO7>;
464			input-enable;
465			bias-disable; /* pulled externally */
466		};
467	};
468
469	pp3300_mipibrdg_en: pp3300-mipibrdg-en {
470		pins1 {
471			pinmux = <PINMUX_GPIO37__FUNC_GPIO37>;
472			output-low;
473		};
474	};
475
476	volume_button_pins: volume-button-pins {
477		voldn-btn-odl {
478			pinmux = <PINMUX_GPIO6__FUNC_GPIO6>;
479			input-enable;
480			bias-pull-up;
481		};
482
483		volup-btn-odl {
484			pinmux = <PINMUX_GPIO5__FUNC_GPIO5>;
485			input-enable;
486			bias-pull-up;
487		};
488	};
489};
490
491