blob: 5ca2ada266f495e4584a5143a8cce6f1f1c4ad78 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: GPL-2.0-only
2
3#include "msm8916-pm8916.dtsi"
Tom Rini93743d22024-04-01 09:08:13 -04004#include "msm8916-modem-qdsp6.dtsi"
5
Tom Rini53633a82024-02-29 12:33:36 -05006#include <dt-bindings/gpio/gpio.h>
7#include <dt-bindings/input/input.h>
8#include <dt-bindings/interrupt-controller/irq.h>
9
10/ {
11 aliases {
12 mmc0 = &sdhc_1; /* eMMC */
13 mmc1 = &sdhc_2; /* SD card */
14 serial0 = &blsp_uart2;
15 };
16
17 chosen {
18 stdout-path = "serial0";
19 };
20
21 reserved-memory {
22 /* Additional memory used by Samsung firmware modifications */
23 tz-apps@85500000 {
24 reg = <0x0 0x85500000 0x0 0xb00000>;
25 no-map;
26 };
27 };
28
29 gpio_hall_sensor: gpio-hall-sensor {
30 compatible = "gpio-keys";
31
32 pinctrl-names = "default";
33 pinctrl-0 = <&gpio_hall_sensor_default>;
34
35 label = "GPIO Hall Effect Sensor";
36
37 event-hall-sensor {
38 label = "Hall Effect Sensor";
39 gpios = <&tlmm 52 GPIO_ACTIVE_LOW>;
40 linux,input-type = <EV_SW>;
41 linux,code = <SW_LID>;
42 linux,can-disable;
43 };
44 };
45
46 gpio-keys {
47 compatible = "gpio-keys";
48
49 pinctrl-names = "default";
50 pinctrl-0 = <&gpio_keys_default>;
51
52 label = "GPIO Buttons";
53
54 button-volume-up {
55 label = "Volume Up";
56 gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
57 linux,code = <KEY_VOLUMEUP>;
58 };
59
60 button-home {
61 label = "Home Key";
62 gpios = <&tlmm 109 GPIO_ACTIVE_LOW>;
63 linux,code = <KEY_HOMEPAGE>;
64 };
65 };
66
67 i2c_muic: i2c-muic {
68 compatible = "i2c-gpio";
69 sda-gpios = <&tlmm 105 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
70 scl-gpios = <&tlmm 106 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
71
72 pinctrl-names = "default";
73 pinctrl-0 = <&muic_i2c_default>;
74
75 #address-cells = <1>;
76 #size-cells = <0>;
77
78 muic: extcon@25 {
79 compatible = "siliconmitus,sm5703-muic";
80 reg = <0x25>;
81
82 interrupt-parent = <&tlmm>;
83 interrupts = <12 IRQ_TYPE_EDGE_FALLING>;
84
85 pinctrl-names = "default";
86 pinctrl-0 = <&muic_int_default>;
87 };
88 };
89
90 i2c_sensors: i2c-sensors {
91 compatible = "i2c-gpio";
92
93 sda-gpios = <&tlmm 31 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
94 scl-gpios = <&tlmm 32 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
95
96 pinctrl-0 = <&sensors_i2c_default>;
97 pinctrl-names = "default";
98
99 #address-cells = <1>;
100 #size-cells = <0>;
101
102 accelerometer: accelerometer@1d {
103 compatible = "st,lis2hh12";
104 reg = <0x1d>;
105
106 interrupts-extended = <&tlmm 115 IRQ_TYPE_LEVEL_HIGH>;
107
108 pinctrl-0 = <&accel_int_default>;
109 pinctrl-names = "default";
110
111 st,drdy-int-pin = <1>;
112 };
113 };
114};
115
116&blsp_i2c5 {
117 status = "okay";
118
119 touchscreen: touchscreen@50 {
120 compatible = "imagis,ist3038c";
121 reg = <0x50>;
122
123 interrupt-parent = <&tlmm>;
124 interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
125
126 touchscreen-size-x = <720>;
127 touchscreen-size-y = <1280>;
128
129 vddio-supply = <&pm8916_l6>;
130
131 pinctrl-0 = <&tsp_int_default>;
132 pinctrl-names = "default";
133 };
134};
135
136&blsp_uart2 {
137 status = "okay";
138};
139
Tom Rini93743d22024-04-01 09:08:13 -0400140&mpss_mem {
141 reg = <0x0 0x86800000 0x0 0x5800000>;
142};
143
Tom Rini53633a82024-02-29 12:33:36 -0500144&pm8916_resin {
145 status = "okay";
146 linux,code = <KEY_VOLUMEDOWN>;
147};
148
149&sdhc_1 {
150 status = "okay";
151};
152
153&sdhc_2 {
154 status = "okay";
155
156 pinctrl-names = "default", "sleep";
157 pinctrl-0 = <&sdc2_default &sdc2_cd_default>;
158 pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>;
159
160 cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
161};
162
Tom Rini93743d22024-04-01 09:08:13 -0400163&sound {
164 model = "msm8916-1mic";
165 audio-routing =
166 "AMIC1", "MIC BIAS External1",
167 "AMIC2", "MIC BIAS Internal2",
168 "AMIC3", "MIC BIAS External1";
169};
170
Tom Rini53633a82024-02-29 12:33:36 -0500171&usb {
172 extcon = <&muic>, <&muic>;
173 status = "okay";
174};
175
176&usb_hs_phy {
177 extcon = <&muic>;
178};
179
180&venus {
181 status = "okay";
182};
183
184&venus_mem {
185 status = "okay";
186};
187
188&wcnss {
189 status = "okay";
190};
191
192&wcnss_iris {
193 compatible = "qcom,wcn3620";
194};
195
196&wcnss_mem {
197 status = "okay";
198};
199
200&tlmm {
201 accel_int_default: accel-int-default-state {
202 pins = "gpio115";
203 function = "gpio";
204 drive-strength = <2>;
205 bias-disable;
206 };
207
208 gpio_hall_sensor_default: gpio-hall-sensor-default-state {
209 pins = "gpio52";
210 function = "gpio";
211
212 drive-strength = <2>;
213 bias-disable;
214 };
215
216 gpio_keys_default: gpio-keys-default-state {
217 pins = "gpio107", "gpio109";
218 function = "gpio";
219
220 drive-strength = <2>;
221 bias-pull-up;
222 };
223
224 muic_i2c_default: muic-i2c-default-state {
225 pins = "gpio105", "gpio106";
226 function = "gpio";
227
228 drive-strength = <2>;
229 bias-disable;
230 };
231
232 muic_int_default: muic-int-default-state {
233 pins = "gpio12";
234 function = "gpio";
235
236 drive-strength = <2>;
237 bias-disable;
238 };
239
240 sdc2_cd_default: sdc2-cd-default-state {
241 pins = "gpio38";
242 function = "gpio";
243
244 drive-strength = <2>;
245 bias-disable;
246 };
247
248 sensors_i2c_default: sensors-i2c-default-state {
249 pins = "gpio31", "gpio32";
250 function = "gpio";
251 drive-strength = <2>;
252 bias-disable;
253 };
254
255 tsp_int_default: tsp-int-default-state {
256 pins = "gpio13";
257 function = "gpio";
258
259 drive-strength = <2>;
260 bias-disable;
261 };
262};