xref: /linux/arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi.dtsi (revision cb787f4ac0c2e439ea8d7e6387b925f74576bdf8)
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-node/panel@0;
95};
96
97&dsi_out {
98	remote-endpoint = <&anx7625_in>;
99};
100
101&i2c0 {
102	status = "okay";
103
104	touchscreen: touchscreen@10 {
105		compatible = "elan,ekth3500";
106		reg = <0x10>;
107
108		pinctrl-names = "default";
109		pinctrl-0 = <&touchscreen_pins>;
110
111		interrupts-extended = <&pio 155 IRQ_TYPE_LEVEL_LOW>;
112
113		reset-gpios = <&pio 156 GPIO_ACTIVE_LOW>;
114	};
115};
116
117&i2c2 {
118	pinctrl-names = "default";
119	pinctrl-0 = <&i2c2_pins>;
120	status = "okay";
121	clock-frequency = <400000>;
122
123	trackpad@15 {
124		compatible = "elan,ekth3000";
125		reg = <0x15>;
126
127		pinctrl-names = "default";
128		pinctrl-0 = <&trackpad_pins>;
129
130		interrupts-extended = <&pio 7 IRQ_TYPE_LEVEL_LOW>;
131
132		wakeup-source;
133	};
134};
135
136&i2c4 {
137	pinctrl-names = "default";
138	pinctrl-0 = <&i2c4_pins>;
139	status = "okay";
140	clock-frequency = <100000>;
141
142	anx_bridge: anx7625@58 {
143		compatible = "analogix,anx7625";
144		reg = <0x58>;
145		pinctrl-names = "default";
146		pinctrl-0 = <&anx7625_pins>;
147		enable-gpios = <&pio 45 GPIO_ACTIVE_HIGH>;
148		reset-gpios = <&pio 73 GPIO_ACTIVE_HIGH>;
149		vdd10-supply = <&pp1200_mipibrdg>;
150		vdd18-supply = <&pp1800_mipibrdg>;
151		vdd33-supply = <&vddio_mipibrdg>;
152
153		ports {
154			#address-cells = <1>;
155			#size-cells = <0>;
156
157			port@0 {
158				reg = <0>;
159
160				anx7625_in: endpoint {
161					remote-endpoint = <&dsi_out>;
162				};
163			};
164
165			port@1 {
166				reg = <1>;
167
168				anx7625_out: endpoint {
169					remote-endpoint = <&panel_in>;
170				};
171			};
172		};
173
174		aux-bus {
175			panel: panel {
176				compatible = "edp-panel";
177				power-supply = <&pp3300_panel>;
178				backlight = <&backlight_lcd0>;
179
180				port {
181					panel_in: endpoint {
182						remote-endpoint = <&anx7625_out>;
183					};
184				};
185			};
186		};
187	};
188};
189
190&i2c_tunnel {
191	google,remote-bus = <2>;
192};
193
194&pio {
195	/* 192 lines */
196	gpio-line-names =
197		"SPI_AP_EC_CS_L",
198		"SPI_AP_EC_MOSI",
199		"SPI_AP_EC_CLK",
200		"I2S3_DO",
201		"USB_PD_INT_ODL",
202		"",
203		"",
204		"",
205		"",
206		"IT6505_HPD_L",
207		"I2S3_TDM_D3",
208		"SOC_I2C6_1V8_SCL",
209		"SOC_I2C6_1V8_SDA",
210		"DPI_D0",
211		"DPI_D1",
212		"DPI_D2",
213		"DPI_D3",
214		"DPI_D4",
215		"DPI_D5",
216		"DPI_D6",
217		"DPI_D7",
218		"DPI_D8",
219		"DPI_D9",
220		"DPI_D10",
221		"DPI_D11",
222		"DPI_HSYNC",
223		"DPI_VSYNC",
224		"DPI_DE",
225		"DPI_CK",
226		"AP_MSDC1_CLK",
227		"AP_MSDC1_DAT3",
228		"AP_MSDC1_CMD",
229		"AP_MSDC1_DAT0",
230		"AP_MSDC1_DAT2",
231		"AP_MSDC1_DAT1",
232		"",
233		"",
234		"",
235		"",
236		"",
237		"",
238		"OTG_EN",
239		"DRVBUS",
240		"DISP_PWM",
241		"DSI_TE",
242		"LCM_RST_1V8",
243		"AP_CTS_WIFI_RTS",
244		"AP_RTS_WIFI_CTS",
245		"SOC_I2C5_1V8_SCL",
246		"SOC_I2C5_1V8_SDA",
247		"SOC_I2C3_1V8_SCL",
248		"SOC_I2C3_1V8_SDA",
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		"",
274		"",
275		"",
276		"",
277		"",
278		"SOC_I2C1_1V8_SDA",
279		"SOC_I2C0_1V8_SDA",
280		"SOC_I2C0_1V8_SCL",
281		"SOC_I2C1_1V8_SCL",
282		"AP_SPI_H1_MISO",
283		"AP_SPI_H1_CS_L",
284		"AP_SPI_H1_MOSI",
285		"AP_SPI_H1_CLK",
286		"I2S5_BCK",
287		"I2S5_LRCK",
288		"I2S5_DO",
289		"BOOTBLOCK_EN_L",
290		"MT8183_KPCOL0",
291		"SPI_AP_EC_MISO",
292		"UART_DBG_TX_AP_RX",
293		"UART_AP_TX_DBG_RX",
294		"I2S2_MCK",
295		"I2S2_BCK",
296		"CLK_5M_WCAM",
297		"CLK_2M_UCAM",
298		"I2S2_LRCK",
299		"I2S2_DI",
300		"SOC_I2C2_1V8_SCL",
301		"SOC_I2C2_1V8_SDA",
302		"SOC_I2C4_1V8_SCL",
303		"SOC_I2C4_1V8_SDA",
304		"",
305		"SCL8",
306		"SDA8",
307		"FCAM_PWDN_L",
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		"I2S_PMIC",
334		"I2S_PMIC",
335		"I2S_PMIC",
336		"I2S_PMIC",
337		"I2S_PMIC",
338		"I2S_PMIC",
339		"I2S_PMIC",
340		"I2S_PMIC",
341		"",
342		"",
343		"",
344		"",
345		"",
346		"",
347		/*
348		 * AP_FLASH_WP_L is crossystem ABI. Rev1 schematics
349		 * call it BIOS_FLASH_WP_R_L.
350		 */
351		"AP_FLASH_WP_L",
352		"EC_AP_INT_ODL",
353		"IT6505_INT_ODL",
354		"H1_INT_OD_L",
355		"",
356		"",
357		"",
358		"",
359		"",
360		"",
361		"",
362		"AP_SPI_FLASH_MISO",
363		"AP_SPI_FLASH_CS_L",
364		"AP_SPI_FLASH_MOSI",
365		"AP_SPI_FLASH_CLK",
366		"DA7219_IRQ",
367		"",
368		"",
369		"",
370		"",
371		"",
372		"",
373		"",
374		"",
375		"",
376		"",
377		"",
378		"",
379		"",
380		"",
381		"",
382		"",
383		"",
384		"",
385		"",
386		"",
387		"",
388		"",
389		"",
390		"",
391		"",
392		"";
393
394	pp1200_mipibrdg_en: pp1200-mipibrdg-en {
395		pins1 {
396			pinmux = <PINMUX_GPIO54__FUNC_GPIO54>;
397			output-low;
398		};
399	};
400
401	pp1800_lcd_en: pp1800-lcd-en {
402		pins1 {
403			pinmux = <PINMUX_GPIO36__FUNC_GPIO36>;
404			output-low;
405		};
406	};
407
408	pp3300_panel_pins: pp3300-panel-pins {
409		panel_3v3_enable: panel-3v3-enable {
410			pinmux = <PINMUX_GPIO35__FUNC_GPIO35>;
411			output-low;
412		};
413	};
414
415	ppvarp_lcd_en: ppvarp-lcd-en {
416		pins1 {
417			pinmux = <PINMUX_GPIO66__FUNC_GPIO66>;
418			output-low;
419		};
420	};
421
422	ppvarn_lcd_en: ppvarn-lcd-en {
423		pins1 {
424			pinmux = <PINMUX_GPIO166__FUNC_GPIO166>;
425			output-low;
426		};
427	};
428
429	anx7625_pins: anx7625-pins {
430		pins1 {
431			pinmux = <PINMUX_GPIO45__FUNC_GPIO45>,
432				 <PINMUX_GPIO73__FUNC_GPIO73>;
433			output-low;
434		};
435		pins2 {
436			pinmux = <PINMUX_GPIO4__FUNC_GPIO4>;
437			input-enable;
438			bias-pull-up;
439		};
440	};
441
442	touchscreen_pins: touchscreen-pins {
443		touch-int-odl {
444			pinmux = <PINMUX_GPIO155__FUNC_GPIO155>;
445			input-enable;
446			bias-pull-up;
447		};
448
449		touch-rst-l {
450			pinmux = <PINMUX_GPIO156__FUNC_GPIO156>;
451			output-high;
452		};
453	};
454
455	trackpad_pins: trackpad-pins {
456		trackpad-int {
457			pinmux = <PINMUX_GPIO7__FUNC_GPIO7>;
458			input-enable;
459			bias-disable; /* pulled externally */
460		};
461	};
462
463	vddio_mipibrdg_en: vddio-mipibrdg-en {
464		pins1 {
465			pinmux = <PINMUX_GPIO37__FUNC_GPIO37>;
466			output-low;
467		};
468	};
469
470	volume_button_pins: volume-button-pins {
471		voldn-btn-odl {
472			pinmux = <PINMUX_GPIO6__FUNC_GPIO6>;
473			input-enable;
474			bias-pull-up;
475		};
476
477		volup-btn-odl {
478			pinmux = <PINMUX_GPIO5__FUNC_GPIO5>;
479			input-enable;
480			bias-pull-up;
481		};
482	};
483};
484
485