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