xref: /linux/arch/arm/boot/dts/qcom/msm8226-motorola-titan.dts (revision cbe8aadf1551f3f4a853f24b3b96d9f0eea49c53)
1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2026, David Wales <daviewales@disroot.org>
4 */
5
6/dts-v1/;
7
8#include "qcom-msm8226.dtsi"
9#include "pm8226.dtsi"
10
11/delete-node/ &smem_region;
12
13/ {
14	model = "Motorola Moto G2 (2014)";
15	compatible = "motorola,titan", "qcom,msm8226";
16	chassis-type = "handset";
17
18	aliases {
19		mmc0 = &sdhc_1; /* eMMC */
20	};
21
22	chosen {
23		#address-cells = <1>;
24		#size-cells = <1>;
25		ranges;
26
27		framebuffer@3200000 {
28			compatible = "simple-framebuffer";
29			reg = <0x03200000 0x800000>;
30			width = <720>;
31			height = <1280>;
32			stride = <(720 * 3)>;
33			format = "r8g8b8";
34			vsp-supply = <&reg_lcd_pos>;
35			vsn-supply = <&reg_lcd_neg>;
36			vddio-supply = <&vddio_disp_vreg>;
37
38			clocks = <&mmcc MDSS_AHB_CLK>,
39				 <&mmcc MDSS_AXI_CLK>,
40				 <&mmcc MDSS_BYTE0_CLK>,
41				 <&mmcc MDSS_ESC0_CLK>,
42				 <&mmcc MDSS_MDP_CLK>,
43				 <&mmcc MMSS_MISC_AHB_CLK>,
44				 <&mmcc MDSS_PCLK0_CLK>,
45				 <&mmcc MDSS_VSYNC_CLK>;
46			power-domains = <&mmcc MDSS_GDSC>;
47		};
48	};
49
50	gpio-keys {
51		compatible = "gpio-keys";
52
53		event-hall-sensor {
54			label = "Hall Effect Sensor";
55			gpios = <&tlmm 109 GPIO_ACTIVE_LOW>;
56			linux,input-type = <EV_SW>;
57			linux,code = <SW_LID>;
58			linux,can-disable;
59		};
60
61		key-volume-down {
62			label = "Volume Down";
63			gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
64			linux,code = <KEY_VOLUMEDOWN>;
65			debounce-interval = <15>;
66		};
67
68		key-volume-up {
69			label = "Volume Up";
70			gpios = <&tlmm 106 GPIO_ACTIVE_LOW>;
71			linux,code = <KEY_VOLUMEUP>;
72			debounce-interval = <15>;
73		};
74	};
75
76	vddio_disp_vreg: regulator-vddio-disp {
77		compatible = "regulator-fixed";
78		regulator-name = "vddio_disp";
79
80		gpio = <&tlmm 10 GPIO_ACTIVE_HIGH>;
81		startup-delay-us = <300>;
82		enable-active-high;
83		regulator-boot-on;
84	};
85
86	reserved-memory {
87		#address-cells = <1>;
88		#size-cells = <1>;
89		ranges;
90
91		framebuffer@3200000 {
92			reg = <0x03200000 0xfa0000>;
93			no-map;
94		};
95
96		dhob@f500000 {
97			reg = <0x0f500000 0x40000>;
98			no-map;
99		};
100
101		shob@f540000 {
102			reg = <0x0f540000 0x2000>;
103			no-map;
104		};
105
106		smem_region: smem@fa00000 {
107			reg = <0x0fa00000 0x100000>;
108			no-map;
109		};
110
111		reserved@fb00000 {
112			reg = <0x0fb00000 0x400000>;
113			no-map;
114		};
115	};
116};
117
118&blsp1_i2c4 {
119	status = "okay";
120
121	regulator@3e {
122		compatible = "ti,tps65132";
123		reg = <0x3e>;
124
125		pinctrl-0 = <&reg_lcd_default>;
126		pinctrl-names = "default";
127
128		reg_lcd_pos: outp {
129			regulator-name = "outp";
130			regulator-min-microvolt = <5400000>;
131			regulator-max-microvolt = <5600000>;
132			regulator-active-discharge = <1>;
133			regulator-boot-on;
134			enable-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>;
135		};
136
137		reg_lcd_neg: outn {
138			regulator-name = "outn";
139			regulator-min-microvolt = <5400000>;
140			regulator-max-microvolt = <5600000>;
141			regulator-active-discharge = <1>;
142			regulator-boot-on;
143			enable-gpios = <&tlmm 13 GPIO_ACTIVE_HIGH>;
144		};
145	};
146};
147
148&pm8226_vib {
149	status = "okay";
150};
151
152&rpm_requests {
153	regulators {
154		compatible = "qcom,rpm-pm8226-regulators";
155
156		pm8226_s3: s3 {
157			regulator-min-microvolt = <1200000>;
158			regulator-max-microvolt = <1300000>;
159		};
160
161		pm8226_s4: s4 {
162			regulator-min-microvolt = <1800000>;
163			regulator-max-microvolt = <2200000>;
164		};
165
166		pm8226_s5: s5 {
167			regulator-min-microvolt = <1150000>;
168			regulator-max-microvolt = <1150000>;
169		};
170
171		pm8226_l1: l1 {
172			regulator-min-microvolt = <1225000>;
173			regulator-max-microvolt = <1225000>;
174		};
175
176		pm8226_l2: l2 {
177			regulator-min-microvolt = <1200000>;
178			regulator-max-microvolt = <1200000>;
179		};
180
181		pm8226_l3: l3 {
182			regulator-min-microvolt = <750000>;
183			regulator-max-microvolt = <1337500>;
184		};
185
186		pm8226_l4: l4 {
187			regulator-min-microvolt = <1200000>;
188			regulator-max-microvolt = <1200000>;
189		};
190
191		pm8226_l5: l5 {
192			regulator-min-microvolt = <1200000>;
193			regulator-max-microvolt = <1200000>;
194		};
195
196		pm8226_l6: l6 {
197			/* Hall effect sensor */
198			regulator-min-microvolt = <1800000>;
199			regulator-max-microvolt = <1800000>;
200			regulator-always-on;
201		};
202
203		pm8226_l7: l7 {
204			regulator-min-microvolt = <1850000>;
205			regulator-max-microvolt = <1850000>;
206		};
207
208		pm8226_l8: l8 {
209			regulator-min-microvolt = <1800000>;
210			regulator-max-microvolt = <1800000>;
211		};
212
213		pm8226_l9: l9 {
214			regulator-min-microvolt = <2050000>;
215			regulator-max-microvolt = <2050000>;
216		};
217
218		pm8226_l10: l10 {
219			regulator-min-microvolt = <1800000>;
220			regulator-max-microvolt = <1800000>;
221		};
222
223		pm8226_l12: l12 {
224			regulator-min-microvolt = <1800000>;
225			regulator-max-microvolt = <1800000>;
226		};
227
228		pm8226_l14: l14 {
229			regulator-min-microvolt = <2750000>;
230			regulator-max-microvolt = <2750000>;
231		};
232
233		pm8226_l15: l15 {
234			regulator-min-microvolt = <2800000>;
235			regulator-max-microvolt = <2800000>;
236		};
237
238		pm8226_l16: l16 {
239			regulator-min-microvolt = <3000000>;
240			regulator-max-microvolt = <3350000>;
241		};
242
243		pm8226_l17: l17 {
244			regulator-min-microvolt = <2950000>;
245			regulator-max-microvolt = <2950000>;
246		};
247
248		pm8226_l18: l18 {
249			regulator-min-microvolt = <2950000>;
250			regulator-max-microvolt = <2950000>;
251		};
252
253		pm8226_l19: l19 {
254			regulator-min-microvolt = <2850000>;
255			regulator-max-microvolt = <2850000>;
256		};
257
258		pm8226_l20: l20 {
259			regulator-min-microvolt = <3075000>;
260			regulator-max-microvolt = <3075000>;
261		};
262
263		pm8226_l21: l21 {
264			regulator-min-microvolt = <1800000>;
265			regulator-max-microvolt = <2950000>;
266			regulator-allow-set-load;
267		};
268
269		pm8226_l22: l22 {
270			regulator-min-microvolt = <1800000>;
271			regulator-max-microvolt = <2950000>;
272		};
273
274		pm8226_l23: l23 {
275			regulator-min-microvolt = <1800000>;
276			regulator-max-microvolt = <2950000>;
277		};
278
279		pm8226_l24: l24 {
280			regulator-min-microvolt = <1300000>;
281			regulator-max-microvolt = <1350000>;
282		};
283
284		pm8226_l25: l25 {
285			regulator-min-microvolt = <1775000>;
286			regulator-max-microvolt = <2125000>;
287		};
288
289		pm8226_l26: l26 {
290			regulator-min-microvolt = <1225000>;
291			regulator-max-microvolt = <1225000>;
292		};
293
294		pm8226_l27: l27 {
295			regulator-min-microvolt = <2050000>;
296			regulator-max-microvolt = <2050000>;
297		};
298
299		pm8226_l28: l28 {
300			regulator-min-microvolt = <1800000>;
301			regulator-max-microvolt = <3400000>;
302			regulator-boot-on;
303		};
304
305		pm8226_lvs1: lvs1 {
306			/* Pull-up for I2C lines */
307			regulator-always-on;
308		};
309	};
310};
311
312&sdhc_1 {
313	vmmc-supply = <&pm8226_l17>;
314	vqmmc-supply = <&pm8226_l6>;
315	bus-width = <8>;
316	non-removable;
317
318	status = "okay";
319};
320
321&smbb {
322	qcom,fast-charge-safe-current = <2000000>;
323	qcom,fast-charge-current-limit = <1900000>;
324	qcom,fast-charge-safe-voltage = <4400000>;
325	qcom,minimum-input-voltage = <4300000>;
326
327	status = "okay";
328};
329
330&usb {
331	extcon = <&smbb>;
332	dr_mode = "peripheral";
333
334	status = "okay";
335};
336
337&usb_hs_phy {
338	extcon = <&smbb>;
339	v1p8-supply = <&pm8226_l10>;
340	v3p3-supply = <&pm8226_l20>;
341};
342
343&tlmm {
344	reg_lcd_default: reg-lcd-default-state {
345		pins = "gpio12", "gpio13";
346		function = "gpio";
347		drive-strength = <2>;
348		bias-disable;
349	};
350};
351