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
10/ {
11	aliases {
12		i2c4 = &i2c4;
13	};
14};
15
16&dsi_out {
17	remote-endpoint = <&ps8640_in>;
18};
19
20&i2c0 {
21	clock-frequency = <400000>;
22
23	edp-bridge@8 {
24		compatible = "parade,ps8640";
25		reg = <0x8>;
26		pinctrl-names = "default";
27		pinctrl-0 = <&ps8640_pins>;
28		powerdown-gpios = <&pio 96 GPIO_ACTIVE_LOW>;
29		reset-gpios = <&pio 98 GPIO_ACTIVE_LOW>;
30		vdd12-supply = <&mt6366_vrf12_reg>;
31		vdd33-supply = <&mt6366_vcn33_reg>;
32
33		ports {
34			#address-cells = <1>;
35			#size-cells = <0>;
36
37			port@0 {
38				reg = <0>;
39
40				ps8640_in: endpoint {
41					remote-endpoint = <&dsi_out>;
42				};
43			};
44
45			port@1 {
46				reg = <1>;
47
48				ps8640_out: endpoint {
49					remote-endpoint = <&panel_in>;
50				};
51			};
52		};
53
54		aux-bus {
55			panel {
56				compatible = "edp-panel";
57				power-supply = <&pp3300_disp_x>;
58				backlight = <&backlight_lcd0>;
59
60				port {
61					panel_in: endpoint {
62						remote-endpoint = <&ps8640_out>;
63					};
64				};
65			};
66		};
67	};
68};
69
70&i2c1 {
71	i2c-scl-internal-delay-ns = <10000>;
72
73	touchscreen: touchscreen@10 {
74		compatible = "hid-over-i2c";
75		reg = <0x10>;
76		interrupts-extended = <&pio 12 IRQ_TYPE_LEVEL_LOW>;
77		pinctrl-names = "default";
78		pinctrl-0 = <&touchscreen_pins>;
79		post-power-on-delay-ms = <10>;
80		hid-descr-addr = <0x0001>;
81		vdd-supply = <&pp3300_s3>;
82	};
83};
84
85&i2c4 {
86	pinctrl-names = "default";
87	pinctrl-0 = <&i2c4_pins>;
88	clock-frequency = <400000>;
89	status = "okay";
90
91	proximity@28 {
92		compatible = "semtech,sx9324";
93		reg = <0x28>;
94		#io-channel-cells = <1>;
95		interrupts-extended = <&pio 5 IRQ_TYPE_LEVEL_LOW>;
96		pinctrl-names = "default";
97		pinctrl-0 = <&sar_sensor_pins>;
98		vdd-supply = <&mt6366_vio18_reg>;
99		svdd-supply = <&mt6366_vio18_reg>;
100	};
101};
102
103&pio {
104	i2c4_pins: i2c4-pins {
105		pins-bus {
106			pinmux = <PINMUX_GPIO136__FUNC_SDA4>,
107				 <PINMUX_GPIO135__FUNC_SCL4>;
108			bias-disable;
109			drive-strength = <4>;
110			input-enable;
111		};
112	};
113
114	ps8640_pins: ps8640-pins {
115		pins-pwrdn-rst {
116			pinmux = <PINMUX_GPIO96__FUNC_GPIO96>,
117				 <PINMUX_GPIO98__FUNC_GPIO98>;
118			output-low;
119		};
120	};
121
122	sar_sensor_pins: sar-sensor-pins {
123		pins-irq {
124			pinmux = <PINMUX_GPIO5__FUNC_GPIO5>;
125			input-enable;
126			bias-pull-up;
127		};
128	};
129};
130