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