Linux Audio

Check our new training course

Linux kernel drivers training

Mar 31-Apr 9, 2025, special US time zones
Register
Loading...
Note: File does not exist in v3.1.
  1// SPDX-License-Identifier: (GPL-2.0 OR MIT)
  2/*
  3 * Copyright 2022 Google LLC
  4 */
  5
  6/dts-v1/;
  7#include "mt8186-corsola.dtsi"
  8#include <dt-bindings/gpio/gpio.h>
  9#include <dt-bindings/input/input.h>
 10
 11/{
 12	pp1000_edpbrdg: regulator-pp1000-edpbrdg {
 13		compatible = "regulator-fixed";
 14		regulator-name = "pp1000_edpbrdg";
 15		pinctrl-names = "default";
 16		pinctrl-0 = <&en_pp1000_edpbrdg>;
 17		enable-active-high;
 18		regulator-boot-on;
 19		gpio = <&pio 29 GPIO_ACTIVE_HIGH>;
 20		vin-supply = <&pp3300_z2>;
 21	};
 22
 23	pp1800_edpbrdg_dx: regulator-pp1800-edpbrdg-dx {
 24		compatible = "regulator-fixed";
 25		regulator-name = "pp1800_edpbrdg_dx";
 26		pinctrl-names = "default";
 27		pinctrl-0 = <&en_pp1800_edpbrdg>;
 28		enable-active-high;
 29		regulator-boot-on;
 30		gpio = <&pio 30 GPIO_ACTIVE_HIGH>;
 31		vin-supply = <&mt6366_vio18_reg>;
 32	};
 33
 34	pp3300_edp_dx: regulator-pp3300-edp-dx {
 35		compatible = "regulator-fixed";
 36		regulator-name = "pp3300_edp_dx";
 37		pinctrl-names = "default";
 38		pinctrl-0 = <&en_pp3300_edpbrdg>;
 39		enable-active-high;
 40		regulator-boot-on;
 41		gpio = <&pio 31 GPIO_ACTIVE_HIGH>;
 42		vin-supply = <&pp3300_z2>;
 43	};
 44};
 45
 46&dsi_out {
 47	remote-endpoint = <&anx7625_in>;
 48};
 49
 50&i2c0 {
 51	clock-frequency = <400000>;
 52
 53	anx_bridge: anx7625@58 {
 54		compatible = "analogix,anx7625";
 55		reg = <0x58>;
 56		pinctrl-names = "default";
 57		pinctrl-0 = <&anx7625_pins>;
 58		enable-gpios = <&pio 96 GPIO_ACTIVE_HIGH>;
 59		reset-gpios = <&pio 98 GPIO_ACTIVE_HIGH>;
 60		vdd10-supply = <&pp1000_edpbrdg>;
 61		vdd18-supply = <&pp1800_edpbrdg_dx>;
 62		vdd33-supply = <&pp3300_edp_dx>;
 63		analogix,lane0-swing = /bits/ 8 <0x70 0x30>;
 64		analogix,lane1-swing = /bits/ 8 <0x70 0x30>;
 65
 66		ports {
 67			#address-cells = <1>;
 68			#size-cells = <0>;
 69
 70			port@0 {
 71				reg = <0>;
 72
 73				anx7625_in: endpoint {
 74					remote-endpoint = <&dsi_out>;
 75					data-lanes = <0 1 2 3>;
 76				};
 77			};
 78
 79			port@1 {
 80				reg = <1>;
 81
 82				anx7625_out: endpoint {
 83					remote-endpoint = <&panel_in>;
 84				};
 85			};
 86		};
 87
 88		aux-bus {
 89			panel: panel {
 90				compatible = "edp-panel";
 91				power-supply = <&pp3300_disp_x>;
 92				backlight = <&backlight_lcd0>;
 93
 94				port {
 95					panel_in: endpoint {
 96						remote-endpoint = <&anx7625_out>;
 97					};
 98				};
 99			};
100		};
101	};
102};
103
104&i2c1 {
105	touchscreen: touchscreen@5d {
106		compatible = "goodix,gt7375p";
107		reg = <0x5d>;
108		interrupts-extended = <&pio 12 IRQ_TYPE_EDGE_FALLING>;
109		pinctrl-names = "default";
110		pinctrl-0 = <&touchscreen_pins>;
111		reset-gpios = <&pio 60 GPIO_ACTIVE_LOW>;
112		vdd-supply = <&pp3300_s3>;
113		goodix,no-reset-during-suspend;
114	};
115};
116
117&i2c2 {
118	i2c-scl-internal-delay-ns = <22000>;
119
120	/* second source component */
121	trackpad@2c {
122		compatible = "hid-over-i2c";
123		reg = <0x2c>;
124		hid-descr-addr = <0x20>;
125		interrupts-extended = <&pio 11 IRQ_TYPE_LEVEL_LOW>;
126		vdd-supply = <&pp3300_s3>;
127		wakeup-source;
128	};
129};
130
131&keyboard_controller {
132	function-row-physmap = <
133		MATRIX_KEY(0x00, 0x02, 0)	/* T1 */
134		MATRIX_KEY(0x03, 0x02, 0)	/* T2 */
135		MATRIX_KEY(0x02, 0x02, 0)	/* T3 */
136		MATRIX_KEY(0x01, 0x02, 0)	/* T4 */
137		MATRIX_KEY(0x03, 0x04, 0)	/* T5 */
138		MATRIX_KEY(0x02, 0x04, 0)	/* T6 */
139		MATRIX_KEY(0x01, 0x04, 0)	/* T7 */
140		MATRIX_KEY(0x02, 0x09, 0)	/* T8 */
141		MATRIX_KEY(0x01, 0x09, 0)	/* T9 */
142		MATRIX_KEY(0x00, 0x04, 0)	/* T10 */
143	>;
144
145	linux,keymap = <
146		MATRIX_KEY(0x00, 0x02, KEY_BACK)
147		MATRIX_KEY(0x03, 0x02, KEY_REFRESH)
148		MATRIX_KEY(0x02, 0x02, KEY_ZOOM)
149		MATRIX_KEY(0x01, 0x02, KEY_SCALE)
150		MATRIX_KEY(0x03, 0x04, KEY_BRIGHTNESSDOWN)
151		MATRIX_KEY(0x02, 0x04, KEY_BRIGHTNESSUP)
152		MATRIX_KEY(0x01, 0x04, KEY_MICMUTE)
153		MATRIX_KEY(0x02, 0x09, KEY_MUTE)
154		MATRIX_KEY(0x01, 0x09, KEY_VOLUMEDOWN)
155		MATRIX_KEY(0x00, 0x04, KEY_VOLUMEUP)
156		CROS_STD_MAIN_KEYMAP
157	>;
158};
159
160&pio {
161	anx7625_pins: anx7625-pins {
162		pins-int {
163			pinmux = <PINMUX_GPIO9__FUNC_GPIO9>;
164			input-enable;
165			bias-disable;
166		};
167
168		pins-reset {
169			pinmux = <PINMUX_GPIO98__FUNC_GPIO98>;
170			output-low;
171		};
172
173		pins-power-en {
174			pinmux = <PINMUX_GPIO96__FUNC_GPIO96>;
175			output-low;
176		};
177	};
178
179	en_pp1000_edpbrdg: pp1000-edpbrdg-en-pins {
180		pins-vreg-en {
181			pinmux = <PINMUX_GPIO29__FUNC_GPIO29>;
182			output-low;
183		};
184	};
185
186	en_pp1800_edpbrdg: pp1800-edpbrdg-en-pins {
187		pins-vreg-en {
188			pinmux = <PINMUX_GPIO30__FUNC_GPIO30>;
189			output-low;
190		};
191	};
192
193	en_pp3300_edpbrdg: pp3300-edpbrdg-en-pins {
194		pins-vreg-en {
195			pinmux = <PINMUX_GPIO31__FUNC_GPIO31>;
196			output-low;
197		};
198	};
199};