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