Linux Audio

Check our new training course

Real-Time Linux with PREEMPT_RT training

Feb 18-20, 2025
Register
Loading...
Note: File does not exist in v4.6.
  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		pinctrl-names = "default";
 43		pinctrl-0 = <&pp3300_panel_pins>;
 44
 45		enable-active-high;
 46		regulator-boot-on;
 47
 48		gpio = <&pio 35 GPIO_ACTIVE_HIGH>;
 49		vin-supply = <&pp3300_alw>;
 50	};
 51
 52	pp3300_mipibrdg: pp3300-mipibrdg {
 53		compatible = "regulator-fixed";
 54		regulator-name = "pp3300_mipibrdg";
 55		pinctrl-names = "default";
 56		pinctrl-0 = <&pp3300_mipibrdg_en>;
 57
 58		enable-active-high;
 59		regulator-boot-on;
 60
 61		gpio = <&pio 37 GPIO_ACTIVE_HIGH>;
 62		vin-supply = <&pp3300_alw>;
 63	};
 64
 65	volume_buttons: volume-buttons {
 66		compatible = "gpio-keys";
 67		pinctrl-names = "default";
 68		pinctrl-0 = <&volume_button_pins>;
 69
 70		button-volume-down {
 71			label = "Volume Down";
 72			linux,code = <KEY_VOLUMEDOWN>;
 73			debounce-interval = <100>;
 74
 75			gpios = <&pio 6 GPIO_ACTIVE_LOW>;
 76		};
 77
 78		button-volume-up {
 79			label = "Volume Up";
 80			linux,code = <KEY_VOLUMEUP>;
 81			debounce-interval = <100>;
 82
 83			gpios = <&pio 5 GPIO_ACTIVE_LOW>;
 84		};
 85	};
 86};
 87
 88&cros_ec {
 89	cros_ec_pwm: pwm {
 90		compatible = "google,cros-ec-pwm";
 91		#pwm-cells = <1>;
 92		status = "disabled";
 93	};
 94};
 95
 96&dsi0 {
 97	status = "okay";
 98	/delete-node/panel@0;
 99};
100
101&dsi_out {
102	remote-endpoint = <&anx7625_in>;
103};
104
105&i2c0 {
106	status = "okay";
107
108	touchscreen: touchscreen@10 {
109		compatible = "elan,ekth3500";
110		reg = <0x10>;
111
112		pinctrl-names = "default";
113		pinctrl-0 = <&touchscreen_pins>;
114
115		interrupts-extended = <&pio 155 IRQ_TYPE_LEVEL_LOW>;
116
117		reset-gpios = <&pio 156 GPIO_ACTIVE_LOW>;
118	};
119};
120
121&i2c2 {
122	pinctrl-names = "default";
123	pinctrl-0 = <&i2c2_pins>;
124	status = "okay";
125	clock-frequency = <400000>;
126
127	trackpad@15 {
128		compatible = "elan,ekth3000";
129		reg = <0x15>;
130
131		pinctrl-names = "default";
132		pinctrl-0 = <&trackpad_pins>;
133
134		interrupts-extended = <&pio 7 IRQ_TYPE_LEVEL_LOW>;
135
136		wakeup-source;
137	};
138};
139
140&i2c4 {
141	pinctrl-names = "default";
142	pinctrl-0 = <&i2c4_pins>;
143	status = "okay";
144	clock-frequency = <100000>;
145
146	anx_bridge: anx7625@58 {
147		compatible = "analogix,anx7625";
148		reg = <0x58>;
149		pinctrl-names = "default";
150		pinctrl-0 = <&anx7625_pins>;
151		enable-gpios = <&pio 45 GPIO_ACTIVE_HIGH>;
152		reset-gpios = <&pio 73 GPIO_ACTIVE_HIGH>;
153		vdd10-supply = <&pp1000_mipibrdg>;
154		vdd18-supply = <&pp1800_mipibrdg>;
155		vdd33-supply = <&pp3300_mipibrdg>;
156
157		ports {
158			#address-cells = <1>;
159			#size-cells = <0>;
160
161			port@0 {
162				reg = <0>;
163
164				anx7625_in: endpoint {
165					remote-endpoint = <&dsi_out>;
166				};
167			};
168
169			port@1 {
170				reg = <1>;
171
172				anx7625_out: endpoint {
173					remote-endpoint = <&panel_in>;
174				};
175			};
176		};
177
178		aux-bus {
179			panel: panel {
180				compatible = "edp-panel";
181				power-supply = <&pp3300_panel>;
182				backlight = <&backlight_lcd0>;
183
184				port {
185					panel_in: endpoint {
186						remote-endpoint = <&anx7625_out>;
187					};
188				};
189			};
190		};
191	};
192};
193
194&i2c_tunnel {
195	google,remote-bus = <2>;
196};
197
198&pio {
199	/* 192 lines */
200	gpio-line-names =
201		"SPI_AP_EC_CS_L",
202		"SPI_AP_EC_MOSI",
203		"SPI_AP_EC_CLK",
204		"I2S3_DO",
205		"USB_PD_INT_ODL",
206		"",
207		"",
208		"",
209		"",
210		"IT6505_HPD_L",
211		"I2S3_TDM_D3",
212		"SOC_I2C6_1V8_SCL",
213		"SOC_I2C6_1V8_SDA",
214		"DPI_D0",
215		"DPI_D1",
216		"DPI_D2",
217		"DPI_D3",
218		"DPI_D4",
219		"DPI_D5",
220		"DPI_D6",
221		"DPI_D7",
222		"DPI_D8",
223		"DPI_D9",
224		"DPI_D10",
225		"DPI_D11",
226		"DPI_HSYNC",
227		"DPI_VSYNC",
228		"DPI_DE",
229		"DPI_CK",
230		"AP_MSDC1_CLK",
231		"AP_MSDC1_DAT3",
232		"AP_MSDC1_CMD",
233		"AP_MSDC1_DAT0",
234		"AP_MSDC1_DAT2",
235		"AP_MSDC1_DAT1",
236		"",
237		"",
238		"",
239		"",
240		"",
241		"",
242		"OTG_EN",
243		"DRVBUS",
244		"DISP_PWM",
245		"DSI_TE",
246		"LCM_RST_1V8",
247		"AP_CTS_WIFI_RTS",
248		"AP_RTS_WIFI_CTS",
249		"SOC_I2C5_1V8_SCL",
250		"SOC_I2C5_1V8_SDA",
251		"SOC_I2C3_1V8_SCL",
252		"SOC_I2C3_1V8_SDA",
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		"",
280		"",
281		"",
282		"SOC_I2C1_1V8_SDA",
283		"SOC_I2C0_1V8_SDA",
284		"SOC_I2C0_1V8_SCL",
285		"SOC_I2C1_1V8_SCL",
286		"AP_SPI_H1_MISO",
287		"AP_SPI_H1_CS_L",
288		"AP_SPI_H1_MOSI",
289		"AP_SPI_H1_CLK",
290		"I2S5_BCK",
291		"I2S5_LRCK",
292		"I2S5_DO",
293		"BOOTBLOCK_EN_L",
294		"MT8183_KPCOL0",
295		"SPI_AP_EC_MISO",
296		"UART_DBG_TX_AP_RX",
297		"UART_AP_TX_DBG_RX",
298		"I2S2_MCK",
299		"I2S2_BCK",
300		"CLK_5M_WCAM",
301		"CLK_2M_UCAM",
302		"I2S2_LRCK",
303		"I2S2_DI",
304		"SOC_I2C2_1V8_SCL",
305		"SOC_I2C2_1V8_SDA",
306		"SOC_I2C4_1V8_SCL",
307		"SOC_I2C4_1V8_SDA",
308		"",
309		"SCL8",
310		"SDA8",
311		"FCAM_PWDN_L",
312		"",
313		"",
314		"",
315		"",
316		"",
317		"",
318		"",
319		"",
320		"",
321		"",
322		"",
323		"",
324		"",
325		"",
326		"",
327		"",
328		"",
329		"",
330		"",
331		"",
332		"",
333		"",
334		"",
335		"",
336		"",
337		"I2S_PMIC",
338		"I2S_PMIC",
339		"I2S_PMIC",
340		"I2S_PMIC",
341		"I2S_PMIC",
342		"I2S_PMIC",
343		"I2S_PMIC",
344		"I2S_PMIC",
345		"",
346		"",
347		"",
348		"",
349		"",
350		"",
351		/*
352		 * AP_FLASH_WP_L is crossystem ABI. Rev1 schematics
353		 * call it BIOS_FLASH_WP_R_L.
354		 */
355		"AP_FLASH_WP_L",
356		"EC_AP_INT_ODL",
357		"IT6505_INT_ODL",
358		"H1_INT_OD_L",
359		"",
360		"",
361		"",
362		"",
363		"",
364		"",
365		"",
366		"AP_SPI_FLASH_MISO",
367		"AP_SPI_FLASH_CS_L",
368		"AP_SPI_FLASH_MOSI",
369		"AP_SPI_FLASH_CLK",
370		"DA7219_IRQ",
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		"",
396		"";
397
398	pp1000_mipibrdg_en: pp1000-mipibrdg-en {
399		pins1 {
400			pinmux = <PINMUX_GPIO54__FUNC_GPIO54>;
401			output-low;
402		};
403	};
404
405	pp1800_mipibrdg_en: pp1800-mipibrdg-en {
406		pins1 {
407			pinmux = <PINMUX_GPIO36__FUNC_GPIO36>;
408			output-low;
409		};
410	};
411
412	pp3300_panel_pins: pp3300-panel-pins {
413		panel_3v3_enable: panel-3v3-enable {
414			pinmux = <PINMUX_GPIO35__FUNC_GPIO35>;
415			output-low;
416		};
417	};
418
419	ppvarp_lcd_en: ppvarp-lcd-en {
420		pins1 {
421			pinmux = <PINMUX_GPIO66__FUNC_GPIO66>;
422			output-low;
423		};
424	};
425
426	ppvarn_lcd_en: ppvarn-lcd-en {
427		pins1 {
428			pinmux = <PINMUX_GPIO166__FUNC_GPIO166>;
429			output-low;
430		};
431	};
432
433	anx7625_pins: anx7625-pins {
434		pins1 {
435			pinmux = <PINMUX_GPIO45__FUNC_GPIO45>,
436				 <PINMUX_GPIO73__FUNC_GPIO73>;
437			output-low;
438		};
439		pins2 {
440			pinmux = <PINMUX_GPIO4__FUNC_GPIO4>;
441			input-enable;
442			bias-pull-up;
443		};
444	};
445
446	touchscreen_pins: touchscreen-pins {
447		touch-int-odl {
448			pinmux = <PINMUX_GPIO155__FUNC_GPIO155>;
449			input-enable;
450			bias-pull-up;
451		};
452
453		touch-rst-l {
454			pinmux = <PINMUX_GPIO156__FUNC_GPIO156>;
455			output-high;
456		};
457	};
458
459	trackpad_pins: trackpad-pins {
460		trackpad-int {
461			pinmux = <PINMUX_GPIO7__FUNC_GPIO7>;
462			input-enable;
463			bias-disable; /* pulled externally */
464		};
465	};
466
467	pp3300_mipibrdg_en: pp3300-mipibrdg-en {
468		pins1 {
469			pinmux = <PINMUX_GPIO37__FUNC_GPIO37>;
470			output-low;
471		};
472	};
473
474	volume_button_pins: volume-button-pins {
475		voldn-btn-odl {
476			pinmux = <PINMUX_GPIO6__FUNC_GPIO6>;
477			input-enable;
478			bias-pull-up;
479		};
480
481		volup-btn-odl {
482			pinmux = <PINMUX_GPIO5__FUNC_GPIO5>;
483			input-enable;
484			bias-pull-up;
485		};
486	};
487};
488