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	touch_en_vreg: touch-en-regulator {
48		compatible = "regulator-fixed";
49		regulator-name = "touch_en_vreg";
50		gpio = <&tlmm 10 GPIO_ACTIVE_HIGH>;
51		enable-active-high;
52
53		vin-supply = <&pm6350_l6>;
54	};
55};
56
57&apps_rsc {
58	regulators-0 {
59		compatible = "qcom,pm6350-rpmh-regulators";
60		qcom,pmic-id = "a";
61
62		pm6350_s1: smps1 {
63			regulator-min-microvolt = <1000000>;
64			regulator-max-microvolt = <1200000>;
65			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
66		};
67
68		pm6350_s2: smps2 {
69			regulator-min-microvolt = <1503000>;
70			regulator-max-microvolt = <2048000>;
71			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
72		};
73
74		pm6350_l2: ldo2 {
75			regulator-min-microvolt = <1503000>;
76			regulator-max-microvolt = <1980000>;
77			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
78		};
79
80		pm6350_l3: ldo3 {
81			regulator-min-microvolt = <2700000>;
82			regulator-max-microvolt = <3300000>;
83			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
84		};
85
86		pm6350_l4: ldo4 {
87			regulator-min-microvolt = <352000>;
88			regulator-max-microvolt = <801000>;
89			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
90		};
91
92		pm6350_l5: ldo5 {
93			regulator-min-microvolt = <1503000>;
94			regulator-max-microvolt = <1980000>;
95			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
96		};
97
98		pm6350_l6: ldo6 {
99			regulator-min-microvolt = <1710000>;
100			regulator-max-microvolt = <3544000>;
101			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
102		};
103
104		pm6350_l7: ldo7 {
105			regulator-min-microvolt = <1620000>;
106			regulator-max-microvolt = <1980000>;
107			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
108		};
109
110		pm6350_l8: ldo8 {
111			regulator-min-microvolt = <2500000>;
112			regulator-max-microvolt = <3544000>;
113			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
114		};
115
116		pm6350_l9: ldo9 {
117			regulator-min-microvolt = <1650000>;
118			regulator-max-microvolt = <3401000>;
119			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
120		};
121
122		pm6350_l11: ldo11 {
123			regulator-min-microvolt = <1800000>;
124			regulator-max-microvolt = <2000000>;
125			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
126		};
127
128		pm6350_l12: ldo12 {
129			regulator-min-microvolt = <1620000>;
130			regulator-max-microvolt = <1980000>;
131			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
132		};
133
134		pm6350_l13: ldo13 {
135			regulator-min-microvolt = <570000>;
136			regulator-max-microvolt = <650000>;
137			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
138		};
139
140		pm6350_l14: ldo14 {
141			regulator-min-microvolt = <1700000>;
142			regulator-max-microvolt = <1900000>;
143			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
144		};
145
146		pm6350_l15: ldo15 {
147			regulator-min-microvolt = <1100000>;
148			regulator-max-microvolt = <1305000>;
149			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
150		};
151
152		pm6350_l16: ldo16 {
153			regulator-min-microvolt = <830000>;
154			regulator-max-microvolt = <921000>;
155			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
156		};
157
158		pm6350_l18: ldo18 {
159			regulator-min-microvolt = <788000>;
160			regulator-max-microvolt = <1049000>;
161			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
162		};
163
164		pm6350_l19: ldo19 {
165			regulator-min-microvolt = <1080000>;
166			regulator-max-microvolt = <1305000>;
167			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
168		};
169
170		pm6350_l20: ldo20 {
171			regulator-min-microvolt = <530000>;
172			regulator-max-microvolt = <801000>;
173			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
174		};
175
176		pm6350_l21: ldo21 {
177			regulator-min-microvolt = <751000>;
178			regulator-max-microvolt = <825000>;
179			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
180		};
181
182		pm6350_l22: ldo22 {
183			regulator-min-microvolt = <1080000>;
184			regulator-max-microvolt = <1305000>;
185			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
186		};
187	};
188
189	regulators-1 {
190		compatible = "qcom,pm6150l-rpmh-regulators";
191		qcom,pmic-id = "e";
192
193		pm6150l_s8: smps8 {
194			regulator-min-microvolt = <313000>;
195			regulator-max-microvolt = <1395000>;
196			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
197		};
198
199		pm6150l_l1: ldo1 {
200			regulator-min-microvolt = <1620000>;
201			regulator-max-microvolt = <1980000>;
202			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
203		};
204
205		pm6150l_l2: ldo2 {
206			regulator-min-microvolt = <1170000>;
207			regulator-max-microvolt = <1305000>;
208			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
209		};
210
211		pm6150l_l3: ldo3 {
212			regulator-min-microvolt = <1100000>;
213			regulator-max-microvolt = <1299000>;
214			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
215		};
216
217		pm6150l_l4: ldo4 {
218			regulator-min-microvolt = <1620000>;
219			regulator-max-microvolt = <3300000>;
220			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
221		};
222
223		pm6150l_l5: ldo5 {
224			regulator-min-microvolt = <1620000>;
225			regulator-max-microvolt = <3300000>;
226			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
227		};
228
229		pm6150l_l6: ldo6 {
230			regulator-min-microvolt = <1700000>;
231			regulator-max-microvolt = <2950000>;
232			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
233			regulator-allow-set-load;
234			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
235						   RPMH_REGULATOR_MODE_HPM>;
236
237		};
238
239		pm6150l_l7: ldo7 {
240			regulator-min-microvolt = <2700000>;
241			regulator-max-microvolt = <3544000>;
242			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
243		};
244
245		pm6150l_l8: ldo8 {
246			regulator-min-microvolt = <1620000>;
247			regulator-max-microvolt = <2000000>;
248			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
249		};
250
251		pm6150l_l9: ldo9 {
252			regulator-min-microvolt = <2700000>;
253			regulator-max-microvolt = <2960000>;
254			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
255			regulator-allow-set-load;
256			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
257						   RPMH_REGULATOR_MODE_HPM>;
258
259		};
260
261		pm6150l_l10: ldo10 {
262			regulator-min-microvolt = <3000000>;
263			regulator-max-microvolt = <3401000>;
264			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
265		};
266
267		pm6150l_l11: ldo11 {
268			regulator-min-microvolt = <3000000>;
269			regulator-max-microvolt = <3401000>;
270			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
271		};
272
273		pm6150l_bob: bob {
274			regulator-min-microvolt = <1620000>;
275			regulator-max-microvolt = <5492000>;
276			regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
277			regulator-allow-bypass;
278		};
279	};
280};
281
282&gpi_dma0 {
283	status = "okay";
284};
285
286&gpi_dma1 {
287	status = "okay";
288};
289
290&i2c8 {
291	clock-frequency = <400000>;
292	status = "okay";
293
294	touchscreen@48 {
295		compatible = "samsung,s6sy761";
296		reg = <0x48>;
297		interrupt-parent = <&tlmm>;
298		interrupts = <22 0x2008>;
299		vdd-supply = <&pm6350_l11>;
300		avdd-supply = <&touch_en_vreg>;
301
302		pinctrl-names = "default";
303		pinctrl-0 = <&ts_int_default &ts_active>;
304	};
305};
306
307&pm6350_gpios {
308	gpio_keys_state: gpio-keys-state {
309		key-volume-down-pins {
310			pins = "gpio2";
311			function = PMIC_GPIO_FUNC_NORMAL;
312			power-source = <0>;
313			bias-disable;
314			input-enable;
315		};
316	};
317};
318
319&pm6350_resin {
320	linux,code = <KEY_VOLUMEUP>;
321	status = "okay";
322};
323
324&qupv3_id_0 {
325	status = "okay";
326};
327
328&qupv3_id_1 {
329	status = "okay";
330};
331
332&sdc2_off_state {
333	sd-cd-pins {
334		pins = "gpio94";
335		function = "gpio";
336		drive-strength = <2>;
337		bias-disable;
338	};
339};
340
341&sdc2_on_state {
342	sd-cd-pins {
343		pins = "gpio94";
344		function = "gpio";
345		drive-strength = <2>;
346		bias-pull-up;
347	};
348};
349
350&sdhc_2 {
351	status = "okay";
352
353	vmmc-supply = <&pm6150l_l9>;
354	vqmmc-supply = <&pm6150l_l6>;
355
356	cd-gpios = <&tlmm 94 GPIO_ACTIVE_HIGH>;
357};
358
359&tlmm {
360	gpio-reserved-ranges = <13 4>, <45 2>, <56 2>;
361
362	ts_active: ts-active-state {
363		pins = "gpio21";
364		function = "gpio";
365		drive-strength = <8>;
366		bias-pull-up;
367	};
368
369	ts_int_default: ts-int-default-state {
370		pins = "gpio22";
371		function = "gpio";
372		drive-strength = <2>;
373		bias-disable;
374		input-enable;
375	};
376};
377
378&usb_1 {
379	status = "okay";
380};
381
382&usb_1_dwc3 {
383	maximum-speed = "super-speed";
384	dr_mode = "peripheral";
385};
386
387&usb_1_hsphy {
388	status = "okay";
389};
390
391&usb_1_qmpphy {
392	status = "okay";
393};
394