1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2021, Konrad Dybcio <konrad.dybcio@somainline.org>
4 */
5/dts-v1/;
6
7#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
8#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
9#include "sm6350.dtsi"
10#include "pm6350.dtsi"
11
12/ {
13	model = "Sony Xperia 10 III";
14	compatible = "sony,pdx213", "qcom,sm6350";
15	chassis-type = "handset";
16	qcom,msm-id = <434 0x10000>, <459 0x10000>;
17	qcom,board-id = <0x1000B 0>;
18
19	chosen {
20		#address-cells = <2>;
21		#size-cells = <2>;
22		ranges;
23
24		framebuffer: framebuffer@a0000000 {
25			compatible = "simple-framebuffer";
26			reg = <0 0xa0000000 0 0x2300000>;
27			width = <1080>;
28			height = <2520>;
29			stride = <(1080 * 4)>;
30			format = "a8r8g8b8";
31			clocks = <&gcc GCC_DISP_AXI_CLK>;
32		};
33	};
34
35	gpio-keys {
36		compatible = "gpio-keys";
37		pinctrl-names = "default";
38		pinctrl-0 = <&gpio_keys_state>;
39
40		key-volume-down {
41			label = "volume_down";
42			linux,code = <KEY_VOLUMEDOWN>;
43			gpios = <&pm6350_gpios 2 GPIO_ACTIVE_LOW>;
44		};
45	};
46};
47
48&apps_rsc {
49	regulators-0 {
50		compatible = "qcom,pm6350-rpmh-regulators";
51		qcom,pmic-id = "a";
52
53		pm6350_s1: smps1 {
54			regulator-min-microvolt = <1000000>;
55			regulator-max-microvolt = <1200000>;
56			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
57		};
58
59		pm6350_s2: smps2 {
60			regulator-min-microvolt = <1503000>;
61			regulator-max-microvolt = <2048000>;
62			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
63		};
64
65		pm6350_l2: ldo2 {
66			regulator-min-microvolt = <1503000>;
67			regulator-max-microvolt = <1980000>;
68			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
69		};
70
71		pm6350_l3: ldo3 {
72			regulator-min-microvolt = <2700000>;
73			regulator-max-microvolt = <3300000>;
74			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
75		};
76
77		pm6350_l4: ldo4 {
78			regulator-min-microvolt = <352000>;
79			regulator-max-microvolt = <801000>;
80			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
81		};
82
83		pm6350_l5: ldo5 {
84			regulator-min-microvolt = <1503000>;
85			regulator-max-microvolt = <1980000>;
86			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
87		};
88
89		pm6350_l6: ldo6 {
90			regulator-min-microvolt = <1710000>;
91			regulator-max-microvolt = <3544000>;
92			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
93		};
94
95		pm6350_l7: ldo7 {
96			regulator-min-microvolt = <1620000>;
97			regulator-max-microvolt = <1980000>;
98			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
99		};
100
101		pm6350_l8: ldo8 {
102			regulator-min-microvolt = <2500000>;
103			regulator-max-microvolt = <3544000>;
104			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
105		};
106
107		pm6350_l9: ldo9 {
108			regulator-min-microvolt = <1650000>;
109			regulator-max-microvolt = <3401000>;
110			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
111		};
112
113		pm6350_l11: ldo11 {
114			regulator-min-microvolt = <1800000>;
115			regulator-max-microvolt = <2000000>;
116			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
117		};
118
119		pm6350_l12: ldo12 {
120			regulator-min-microvolt = <1620000>;
121			regulator-max-microvolt = <1980000>;
122			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
123		};
124
125		pm6350_l13: ldo13 {
126			regulator-min-microvolt = <570000>;
127			regulator-max-microvolt = <650000>;
128			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
129		};
130
131		pm6350_l14: ldo14 {
132			regulator-min-microvolt = <1700000>;
133			regulator-max-microvolt = <1900000>;
134			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
135		};
136
137		pm6350_l15: ldo15 {
138			regulator-min-microvolt = <1100000>;
139			regulator-max-microvolt = <1305000>;
140			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
141		};
142
143		pm6350_l16: ldo16 {
144			regulator-min-microvolt = <830000>;
145			regulator-max-microvolt = <921000>;
146			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
147		};
148
149		pm6350_l18: ldo18 {
150			regulator-min-microvolt = <788000>;
151			regulator-max-microvolt = <1049000>;
152			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
153		};
154
155		pm6350_l19: ldo19 {
156			regulator-min-microvolt = <1080000>;
157			regulator-max-microvolt = <1305000>;
158			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
159		};
160
161		pm6350_l20: ldo20 {
162			regulator-min-microvolt = <530000>;
163			regulator-max-microvolt = <801000>;
164			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
165		};
166
167		pm6350_l21: ldo21 {
168			regulator-min-microvolt = <751000>;
169			regulator-max-microvolt = <825000>;
170			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
171		};
172
173		pm6350_l22: ldo22 {
174			regulator-min-microvolt = <1080000>;
175			regulator-max-microvolt = <1305000>;
176			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
177		};
178	};
179
180	regulators-1 {
181		compatible = "qcom,pm6150l-rpmh-regulators";
182		qcom,pmic-id = "e";
183
184		pm6150l_s8: smps8 {
185			regulator-min-microvolt = <313000>;
186			regulator-max-microvolt = <1395000>;
187			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
188		};
189
190		pm6150l_l1: ldo1 {
191			regulator-min-microvolt = <1620000>;
192			regulator-max-microvolt = <1980000>;
193			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
194		};
195
196		pm6150l_l2: ldo2 {
197			regulator-min-microvolt = <1170000>;
198			regulator-max-microvolt = <1305000>;
199			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
200		};
201
202		pm6150l_l3: ldo3 {
203			regulator-min-microvolt = <1100000>;
204			regulator-max-microvolt = <1299000>;
205			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
206		};
207
208		pm6150l_l4: ldo4 {
209			regulator-min-microvolt = <1620000>;
210			regulator-max-microvolt = <3300000>;
211			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
212		};
213
214		pm6150l_l5: ldo5 {
215			regulator-min-microvolt = <1620000>;
216			regulator-max-microvolt = <3300000>;
217			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
218		};
219
220		pm6150l_l6: ldo6 {
221			regulator-min-microvolt = <1700000>;
222			regulator-max-microvolt = <2950000>;
223			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
224			regulator-allow-set-load;
225			regulator-allowed-modes =
226			    <RPMH_REGULATOR_MODE_LPM
227			     RPMH_REGULATOR_MODE_HPM>;
228
229		};
230
231		pm6150l_l7: ldo7 {
232			regulator-min-microvolt = <2700000>;
233			regulator-max-microvolt = <3544000>;
234			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
235		};
236
237		pm6150l_l8: ldo8 {
238			regulator-min-microvolt = <1620000>;
239			regulator-max-microvolt = <2000000>;
240			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
241		};
242
243		pm6150l_l9: ldo9 {
244			regulator-min-microvolt = <2700000>;
245			regulator-max-microvolt = <2960000>;
246			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
247			regulator-allow-set-load;
248			regulator-allowed-modes =
249			    <RPMH_REGULATOR_MODE_LPM
250			     RPMH_REGULATOR_MODE_HPM>;
251
252		};
253
254		pm6150l_l10: ldo10 {
255			regulator-min-microvolt = <3000000>;
256			regulator-max-microvolt = <3401000>;
257			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
258		};
259
260		pm6150l_l11: ldo11 {
261			regulator-min-microvolt = <3000000>;
262			regulator-max-microvolt = <3401000>;
263			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
264		};
265
266		pm6150l_bob: bob {
267			regulator-min-microvolt = <1620000>;
268			regulator-max-microvolt = <5492000>;
269			regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
270			regulator-allow-bypass;
271		};
272	};
273};
274
275&gpi_dma0 {
276	status = "okay";
277};
278
279&gpi_dma1 {
280	status = "okay";
281};
282
283&pm6350_gpios {
284	gpio_keys_state: gpio-keys-state {
285		key-volume-down-pins {
286			pins = "gpio2";
287			function = PMIC_GPIO_FUNC_NORMAL;
288			power-source = <0>;
289			bias-disable;
290			input-enable;
291		};
292	};
293};
294
295&pm6350_resin {
296	linux,code = <KEY_VOLUMEUP>;
297	status = "okay";
298};
299
300&qupv3_id_0 {
301	status = "okay";
302};
303
304&qupv3_id_1 {
305	status = "okay";
306};
307
308&sdc2_off_state {
309	sd-cd-pins {
310		pins = "gpio94";
311		function = "gpio";
312		drive-strength = <2>;
313		bias-disable;
314	};
315};
316
317&sdc2_on_state {
318	sd-cd-pins {
319		pins = "gpio94";
320		function = "gpio";
321		drive-strength = <2>;
322		bias-pull-up;
323	};
324};
325
326&sdhc_2 {
327	status = "okay";
328
329	vmmc-supply = <&pm6150l_l9>;
330	vqmmc-supply = <&pm6150l_l6>;
331
332	cd-gpios = <&tlmm 94 GPIO_ACTIVE_HIGH>;
333};
334
335&tlmm {
336	gpio-reserved-ranges = <13 4>, <45 2>, <56 2>;
337};
338
339&usb_1 {
340	status = "okay";
341};
342
343&usb_1_dwc3 {
344	maximum-speed = "super-speed";
345	dr_mode = "peripheral";
346};
347
348&usb_1_hsphy {
349	status = "okay";
350};
351
352&usb_1_qmpphy {
353	status = "okay";
354};
355