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