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