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