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