• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// SPDX-License-Identifier: GPL-2.0-only
2
3#include "msm8916-pm8916.dtsi"
4#include <dt-bindings/gpio/gpio.h>
5#include <dt-bindings/input/input.h>
6#include <dt-bindings/interrupt-controller/irq.h>
7
8/ {
9	aliases {
10		serial0 = &blsp1_uart2;
11	};
12
13	chosen {
14		stdout-path = "serial0";
15	};
16
17	reserved-memory {
18		/* Additional memory used by Samsung firmware modifications */
19		tz-apps@85500000 {
20			reg = <0x0 0x85500000 0x0 0xb00000>;
21			no-map;
22		};
23	};
24
25	gpio-keys {
26		compatible = "gpio-keys";
27
28		pinctrl-names = "default";
29		pinctrl-0 = <&gpio_keys_default>;
30
31		label = "GPIO Buttons";
32
33		volume-up {
34			label = "Volume Up";
35			gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>;
36			linux,code = <KEY_VOLUMEUP>;
37		};
38
39		home {
40			label = "Home";
41			gpios = <&msmgpio 109 GPIO_ACTIVE_LOW>;
42			linux,code = <KEY_HOMEPAGE>;
43		};
44	};
45
46	gpio-hall-sensor {
47		compatible = "gpio-keys";
48
49		pinctrl-names = "default";
50		pinctrl-0 = <&gpio_hall_sensor_default>;
51
52		label = "GPIO Hall Effect Sensor";
53
54		hall-sensor {
55			label = "Hall Effect Sensor";
56			gpios = <&msmgpio 52 GPIO_ACTIVE_LOW>;
57			linux,input-type = <EV_SW>;
58			linux,code = <SW_LID>;
59			linux,can-disable;
60		};
61	};
62
63	reg_vdd_tsp: regulator-vdd-tsp {
64		compatible = "regulator-fixed";
65		regulator-name = "vdd_tsp";
66		regulator-min-microvolt = <3300000>;
67		regulator-max-microvolt = <3300000>;
68
69		gpio = <&msmgpio 73 GPIO_ACTIVE_HIGH>;
70		enable-active-high;
71
72		pinctrl-names = "default";
73		pinctrl-0 = <&tsp_en_default>;
74	};
75
76	i2c-muic {
77		compatible = "i2c-gpio";
78		sda-gpios = <&msmgpio 105 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
79		scl-gpios = <&msmgpio 106 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
80
81		pinctrl-names = "default";
82		pinctrl-0 = <&muic_i2c_default>;
83
84		#address-cells = <1>;
85		#size-cells = <0>;
86
87		muic: extcon@25 {
88			compatible = "siliconmitus,sm5502-muic";
89
90			reg = <0x25>;
91			interrupt-parent = <&msmgpio>;
92			interrupts = <12 IRQ_TYPE_EDGE_FALLING>;
93
94			pinctrl-names = "default";
95			pinctrl-0 = <&muic_int_default>;
96		};
97	};
98};
99
100&blsp_i2c2 {
101	status = "okay";
102
103	accelerometer: accelerometer@10 {
104		compatible = "bosch,bmc150_accel";
105		reg = <0x10>;
106		interrupt-parent = <&msmgpio>;
107		interrupts = <115 IRQ_TYPE_EDGE_RISING>;
108
109		vdd-supply = <&pm8916_l17>;
110		vddio-supply = <&pm8916_l5>;
111
112		pinctrl-names = "default";
113		pinctrl-0 = <&accel_int_default>;
114	};
115
116	magnetometer@12 {
117		compatible = "bosch,bmc150_magn";
118		reg = <0x12>;
119
120		vdd-supply = <&pm8916_l17>;
121		vddio-supply = <&pm8916_l5>;
122	};
123};
124
125&blsp1_uart2 {
126	status = "okay";
127};
128
129&dsi0 {
130	pinctrl-names = "default", "sleep";
131	pinctrl-0 = <&mdss_default>;
132	pinctrl-1 = <&mdss_sleep>;
133};
134
135&pm8916_resin {
136	status = "okay";
137	linux,code = <KEY_VOLUMEDOWN>;
138};
139
140&pronto {
141	status = "okay";
142};
143
144&sdhc_1 {
145	status = "okay";
146
147	pinctrl-names = "default", "sleep";
148	pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>;
149	pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>;
150};
151
152&sdhc_2 {
153	status = "okay";
154
155	pinctrl-names = "default", "sleep";
156	pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>;
157	pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
158
159	cd-gpios = <&msmgpio 38 GPIO_ACTIVE_LOW>;
160};
161
162&usb {
163	status = "okay";
164	extcon = <&muic>, <&muic>;
165};
166
167&usb_hs_phy {
168	extcon = <&muic>;
169};
170
171&smd_rpm_regulators {
172	vdd_l1_l2_l3-supply = <&pm8916_s3>;
173	vdd_l4_l5_l6-supply = <&pm8916_s4>;
174	vdd_l7-supply = <&pm8916_s4>;
175
176	s1 {
177		regulator-min-microvolt = <500000>;
178		regulator-max-microvolt = <1300000>;
179	};
180
181	s3 {
182		regulator-min-microvolt = <1200000>;
183		regulator-max-microvolt = <1300000>;
184	};
185
186	s4 {
187		regulator-min-microvolt = <1800000>;
188		regulator-max-microvolt = <2100000>;
189	};
190
191	l1 {
192		regulator-min-microvolt = <1225000>;
193		regulator-max-microvolt = <1225000>;
194	};
195
196	l2 {
197		regulator-min-microvolt = <1200000>;
198		regulator-max-microvolt = <1200000>;
199	};
200
201	l3 {
202		regulator-min-microvolt = <500000>;
203		regulator-max-microvolt = <1287500>;
204	};
205
206	l4 {
207		regulator-min-microvolt = <2050000>;
208		regulator-max-microvolt = <2050000>;
209	};
210
211	l5 {
212		regulator-min-microvolt = <1800000>;
213		regulator-max-microvolt = <1800000>;
214	};
215
216	l6 {
217		regulator-min-microvolt = <1800000>;
218		regulator-max-microvolt = <1800000>;
219	};
220
221	l7 {
222		regulator-min-microvolt = <1800000>;
223		regulator-max-microvolt = <1800000>;
224	};
225
226	l8 {
227		regulator-min-microvolt = <2850000>;
228		regulator-max-microvolt = <2900000>;
229	};
230
231	l9 {
232		regulator-min-microvolt = <3300000>;
233		regulator-max-microvolt = <3300000>;
234	};
235
236	l10 {
237		regulator-min-microvolt = <2700000>;
238		regulator-max-microvolt = <2800000>;
239	};
240
241	l11 {
242		regulator-min-microvolt = <1800000>;
243		regulator-max-microvolt = <2950000>;
244		regulator-allow-set-load;
245		regulator-system-load = <200000>;
246	};
247
248	l12 {
249		regulator-min-microvolt = <1800000>;
250		regulator-max-microvolt = <2950000>;
251	};
252
253	l13 {
254		regulator-min-microvolt = <3075000>;
255		regulator-max-microvolt = <3075000>;
256	};
257
258	l14 {
259		regulator-min-microvolt = <1800000>;
260		regulator-max-microvolt = <3300000>;
261	};
262
263	l15 {
264		regulator-min-microvolt = <1800000>;
265		regulator-max-microvolt = <3300000>;
266	};
267
268	l16 {
269		regulator-min-microvolt = <1800000>;
270		regulator-max-microvolt = <3300000>;
271	};
272
273	l17 {
274		regulator-min-microvolt = <2850000>;
275		regulator-max-microvolt = <2850000>;
276	};
277
278	l18 {
279		regulator-min-microvolt = <2700000>;
280		regulator-max-microvolt = <2700000>;
281	};
282};
283
284&msmgpio {
285	accel_int_default: accel-int-default {
286		pins = "gpio115";
287		function = "gpio";
288
289		drive-strength = <2>;
290		bias-disable;
291	};
292
293	gpio_keys_default: gpio-keys-default {
294		pins = "gpio107", "gpio109";
295		function = "gpio";
296
297		drive-strength = <2>;
298		bias-pull-up;
299	};
300
301	gpio_hall_sensor_default: gpio-hall-sensor-default {
302		pins = "gpio52";
303		function = "gpio";
304
305		drive-strength = <2>;
306		bias-disable;
307	};
308
309	mdss {
310		mdss_default: mdss-default {
311			pins = "gpio25";
312			function = "gpio";
313
314			drive-strength = <8>;
315			bias-disable;
316		};
317		mdss_sleep: mdss-sleep {
318			pins = "gpio25";
319			function = "gpio";
320
321			drive-strength = <2>;
322			bias-pull-down;
323		};
324	};
325
326	muic_i2c_default: muic-i2c-default {
327		pins = "gpio105", "gpio106";
328		function = "gpio";
329
330		drive-strength = <2>;
331		bias-disable;
332	};
333
334	muic_int_default: muic-int-default {
335		pins = "gpio12";
336		function = "gpio";
337
338		drive-strength = <2>;
339		bias-disable;
340	};
341
342	tsp_en_default: tsp-en-default {
343		pins = "gpio73";
344		function = "gpio";
345
346		drive-strength = <2>;
347		bias-disable;
348	};
349};
350