xref: /linux/arch/arm/boot/dts/qcom/qcom-msm8926-motorola-peregrine.dts (revision a3a02a52bcfcbcc4a637d4b68bf1bc391c9fad02)
1// SPDX-License-Identifier: BSD-3-Clause
2
3/dts-v1/;
4
5#include "qcom-msm8226.dtsi"
6#include "pm8226.dtsi"
7
8/delete-node/ &smem_region;
9
10/ {
11	model = "Motorola Moto G 4G (2013)";
12	compatible = "motorola,peregrine", "qcom,msm8926", "qcom,msm8226";
13	chassis-type = "handset";
14
15	aliases {
16		mmc0 = &sdhc_1; /* SDC1 eMMC slot */
17		mmc1 = &sdhc_2; /* SDC2 SD card slot */
18	};
19
20	chosen {
21		#address-cells = <1>;
22		#size-cells = <1>;
23		ranges;
24
25		framebuffer0: framebuffer@3200000 {
26			compatible = "simple-framebuffer";
27			reg = <0x03200000 0x800000>;
28			width = <720>;
29			height = <1280>;
30			stride = <(720 * 3)>;
31			format = "r8g8b8";
32			vsp-supply = <&reg_lcd_pos>;
33			vsn-supply = <&reg_lcd_neg>;
34			vdd-supply = <&pm8226_l28>;
35			vddio-supply = <&vddio_disp_vreg>;
36		};
37	};
38
39	gpio-keys {
40		compatible = "gpio-keys";
41
42		event-hall-sensor {
43			label = "Hall Effect Sensor";
44			gpios = <&tlmm 51 GPIO_ACTIVE_LOW>;
45			linux,input-type = <EV_SW>;
46			linux,code = <SW_LID>;
47			linux,can-disable;
48		};
49
50		key-volume-up {
51			label = "Volume Up";
52			gpios = <&tlmm 106 GPIO_ACTIVE_LOW>;
53			linux,code = <KEY_VOLUMEUP>;
54			debounce-interval = <15>;
55		};
56	};
57
58	vddio_disp_vreg: regulator-vddio-disp {
59		compatible = "regulator-fixed";
60		regulator-name = "vddio_disp";
61		gpio = <&tlmm 34 GPIO_ACTIVE_HIGH>;
62		startup-delay-us = <300>;
63		enable-active-high;
64		regulator-boot-on;
65		vin-supply = <&pm8226_l8>;
66		pinctrl-0 = <&disp_vddio_default>;
67		pinctrl-names = "default";
68	};
69
70	reserved-memory {
71		#address-cells = <1>;
72		#size-cells = <1>;
73		ranges;
74
75		framebuffer@3200000 {
76			reg = <0x03200000 0x800000>;
77			no-map;
78		};
79
80		smem_region: smem@fa00000 {
81			reg = <0x0fa00000 0x100000>;
82			no-map;
83		};
84	};
85};
86
87&blsp1_i2c2 {
88	clock-frequency = <100000>;
89	status = "okay";
90
91	magnetometer@c {
92		compatible = "asahi-kasei,ak8963";
93		reg = <0xc>;
94		interrupts-extended = <&tlmm 38 IRQ_TYPE_EDGE_FALLING>;
95		reset-gpios = <&tlmm 62 GPIO_ACTIVE_LOW>;
96		vdd-supply = <&pm8226_l19>;
97		pinctrl-0 = <&mag_int_default &mag_reset_default>;
98		pinctrl-names = "default";
99	};
100
101	accelerometer@18 {
102		compatible = "st,lis3dh-accel";
103		reg = <0x18>;
104		interrupts-extended = <&tlmm 1 IRQ_TYPE_EDGE_FALLING>;
105		vdd-supply = <&pm8226_l19>;
106		pinctrl-0 = <&accel_int_default>;
107		pinctrl-names = "default";
108		st,drdy-int-pin = <1>;
109	};
110};
111
112&blsp1_i2c3 {
113	clock-frequency = <400000>;
114	status = "okay";
115
116	regulator@3e {
117		compatible = "ti,tps65132";
118		reg = <0x3e>;
119		pinctrl-0 = <&reg_lcd_default>;
120		pinctrl-names = "default";
121
122		reg_lcd_pos: outp {
123			regulator-name = "outp";
124			regulator-min-microvolt = <4000000>;
125			regulator-max-microvolt = <6000000>;
126			regulator-active-discharge = <1>;
127			regulator-boot-on;
128			enable-gpios = <&tlmm 31 GPIO_ACTIVE_HIGH>;
129		};
130
131		reg_lcd_neg: outn {
132			regulator-name = "outn";
133			regulator-min-microvolt = <4000000>;
134			regulator-max-microvolt = <6000000>;
135			regulator-active-discharge = <1>;
136			regulator-boot-on;
137			enable-gpios = <&tlmm 33 GPIO_ACTIVE_HIGH>;
138		};
139	};
140
141	sensor@48 {
142		compatible = "ti,tmp108";
143		reg = <0x48>;
144		interrupts-extended = <&tlmm 13 IRQ_TYPE_LEVEL_LOW>;
145		pinctrl-0 = <&temp_alert_default>;
146		pinctrl-names = "default";
147		#thermal-sensor-cells = <0>;
148	};
149};
150
151&blsp1_uart3 {
152	status = "okay";
153};
154
155&pm8226_resin {
156	linux,code = <KEY_VOLUMEDOWN>;
157	status = "okay";
158};
159
160&pm8226_vib {
161	status = "okay";
162};
163
164&rpm_requests {
165	regulators {
166		compatible = "qcom,rpm-pm8226-regulators";
167
168		pm8226_s3: s3 {
169			regulator-min-microvolt = <1200000>;
170			regulator-max-microvolt = <1300000>;
171		};
172
173		pm8226_s4: s4 {
174			regulator-min-microvolt = <1800000>;
175			regulator-max-microvolt = <2200000>;
176		};
177
178		pm8226_s5: s5 {
179			regulator-min-microvolt = <1150000>;
180			regulator-max-microvolt = <1150000>;
181		};
182
183		pm8226_l1: l1 {
184			regulator-min-microvolt = <1225000>;
185			regulator-max-microvolt = <1225000>;
186		};
187
188		pm8226_l2: l2 {
189			regulator-min-microvolt = <1200000>;
190			regulator-max-microvolt = <1200000>;
191		};
192
193		pm8226_l3: l3 {
194			regulator-min-microvolt = <750000>;
195			regulator-max-microvolt = <1337500>;
196		};
197
198		pm8226_l4: l4 {
199			regulator-min-microvolt = <1200000>;
200			regulator-max-microvolt = <1200000>;
201		};
202
203		pm8226_l5: l5 {
204			regulator-min-microvolt = <1200000>;
205			regulator-max-microvolt = <1200000>;
206		};
207
208		pm8226_l6: l6 {
209			regulator-min-microvolt = <1800000>;
210			regulator-max-microvolt = <1800000>;
211			regulator-allow-set-load;
212		};
213
214		pm8226_l7: l7 {
215			regulator-min-microvolt = <1850000>;
216			regulator-max-microvolt = <1850000>;
217		};
218
219		pm8226_l8: l8 {
220			regulator-min-microvolt = <1800000>;
221			regulator-max-microvolt = <1800000>;
222		};
223
224		pm8226_l9: l9 {
225			regulator-min-microvolt = <2050000>;
226			regulator-max-microvolt = <2050000>;
227		};
228
229		pm8226_l10: l10 {
230			regulator-min-microvolt = <1800000>;
231			regulator-max-microvolt = <1800000>;
232		};
233
234		pm8226_l12: l12 {
235			regulator-min-microvolt = <1800000>;
236			regulator-max-microvolt = <1800000>;
237		};
238
239		pm8226_l14: l14 {
240			regulator-min-microvolt = <2750000>;
241			regulator-max-microvolt = <2750000>;
242		};
243
244		pm8226_l15: l15 {
245			regulator-min-microvolt = <2800000>;
246			regulator-max-microvolt = <2800000>;
247		};
248
249		pm8226_l16: l16 {
250			regulator-min-microvolt = <3000000>;
251			regulator-max-microvolt = <3350000>;
252		};
253
254		pm8226_l17: l17 {
255			regulator-min-microvolt = <2950000>;
256			regulator-max-microvolt = <2950000>;
257		};
258
259		pm8226_l18: l18 {
260			regulator-min-microvolt = <2950000>;
261			regulator-max-microvolt = <2950000>;
262		};
263
264		pm8226_l19: l19 {
265			regulator-min-microvolt = <2850000>;
266			regulator-max-microvolt = <2850000>;
267		};
268
269		pm8226_l20: l20 {
270			regulator-min-microvolt = <3075000>;
271			regulator-max-microvolt = <3075000>;
272		};
273
274		pm8226_l21: l21 {
275			regulator-min-microvolt = <1800000>;
276			regulator-max-microvolt = <2950000>;
277			regulator-allow-set-load;
278		};
279
280		pm8226_l22: l22 {
281			regulator-min-microvolt = <1800000>;
282			regulator-max-microvolt = <2950000>;
283		};
284
285		pm8226_l23: l23 {
286			regulator-min-microvolt = <1800000>;
287			regulator-max-microvolt = <2950000>;
288		};
289
290		pm8226_l24: l24 {
291			regulator-min-microvolt = <1300000>;
292			regulator-max-microvolt = <1350000>;
293		};
294
295		pm8226_l25: l25 {
296			regulator-min-microvolt = <1775000>;
297			regulator-max-microvolt = <2125000>;
298		};
299
300		pm8226_l26: l26 {
301			regulator-min-microvolt = <1225000>;
302			regulator-max-microvolt = <1225000>;
303		};
304
305		pm8226_l27: l27 {
306			regulator-min-microvolt = <2050000>;
307			regulator-max-microvolt = <2050000>;
308		};
309
310		pm8226_l28: l28 {
311			regulator-min-microvolt = <1800000>;
312			regulator-max-microvolt = <3400000>;
313			regulator-boot-on;
314		};
315
316		pm8226_lvs1: lvs1 {
317			/* Pull-up for I2C lines */
318			regulator-always-on;
319		};
320	};
321};
322
323&sdhc_1 {
324	vmmc-supply = <&pm8226_l17>;
325	vqmmc-supply = <&pm8226_l6>;
326
327	bus-width = <8>;
328	non-removable;
329
330	status = "okay";
331};
332
333&sdhc_2 {
334	vmmc-supply = <&pm8226_l18>;
335	vqmmc-supply = <&pm8226_l21>;
336
337	bus-width = <4>;
338	cd-gpios = <&tlmm 115 GPIO_ACTIVE_HIGH>;
339
340	status = "okay";
341};
342
343&smbb {
344	qcom,fast-charge-safe-current = <2000000>;
345	qcom,fast-charge-current-limit = <1900000>;
346	qcom,fast-charge-safe-voltage = <4400000>;
347	qcom,minimum-input-voltage = <4300000>;
348
349	status = "okay";
350};
351
352&tlmm {
353	accel_int_default: accel-int-default-state {
354		pins = "gpio1";
355		function = "gpio";
356		drive-strength = <2>;
357		bias-disable;
358		output-disable;
359	};
360
361	disp_vddio_default: disp-vddio-default-state {
362		pins = "gpio34";
363		function = "gpio";
364		drive-strength = <2>;
365		bias-disable;
366		output-high;
367	};
368
369	mag_int_default: mag-int-default-state {
370		pins = "gpio38";
371		function = "gpio";
372		drive-strength = <2>;
373		bias-disable;
374		output-disable;
375	};
376
377	mag_reset_default: mag-reset-default-state {
378		pins = "gpio62";
379		function = "gpio";
380		drive-strength = <2>;
381		bias-disable;
382		output-high;
383	};
384
385	reg_lcd_default: reg-lcd-default-state {
386		pins = "gpio31", "gpio33";
387		function = "gpio";
388		drive-strength = <2>;
389		bias-disable;
390		output-high;
391	};
392
393	temp_alert_default: temp-alert-default-state {
394		pins = "gpio13";
395		function = "gpio";
396		drive-strength = <2>;
397		bias-disable;
398		output-disable;
399	};
400};
401
402&usb {
403	extcon = <&smbb>;
404	dr_mode = "peripheral";
405	status = "okay";
406};
407
408&usb_hs_phy {
409	extcon = <&smbb>;
410	v1p8-supply = <&pm8226_l10>;
411	v3p3-supply = <&pm8226_l20>;
412};
413