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		panel_flags = <1>;
153		enable-gpios = <&pio 45 GPIO_ACTIVE_HIGH>;
154		reset-gpios = <&pio 73 GPIO_ACTIVE_HIGH>;
155		vdd10-supply = <&pp1200_mipibrdg>;
156		vdd18-supply = <&pp1800_mipibrdg>;
157		vdd33-supply = <&vddio_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	pp1200_mipibrdg_en: pp1200-mipibrdg-en {
401		pins1 {
402			pinmux = <PINMUX_GPIO54__FUNC_GPIO54>;
403			output-low;
404		};
405	};
406
407	pp1800_lcd_en: pp1800-lcd-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	vddio_mipibrdg_en: vddio-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