xref: /linux/scripts/dtc/include-prefixes/arm64/qcom/sm6125-xiaomi-ginkgo-common.dtsi (revision 0fc8f6200d2313278fbf4539bbab74677c685531)
1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2025, Gabriel Gonzales <semfault@disroot.org>
4 */
5
6/dts-v1/;
7
8#include <dt-bindings/arm/qcom,ids.h>
9#include <dt-bindings/gpio/gpio.h>
10#include <dt-bindings/input/input.h>
11#include <dt-bindings/input/gpio-keys.h>
12#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
13#include "sm6125.dtsi"
14#include "pm6125.dtsi"
15
16/delete-node/ &adsp_pil_mem;
17/delete-node/ &cont_splash_mem;
18/delete-node/ &gpu_mem;
19/delete-node/ &ipa_fw_mem;
20/delete-node/ &ipa_gsi_mem;
21
22/ {
23	model = "Xiaomi Redmi Note 8";
24	compatible = "xiaomi,ginkgo", "qcom,sm6125";
25	chassis-type = "handset";
26
27	qcom,msm-id = <QCOM_ID_SM6125 0x10000>;
28
29	aliases {
30		serial0 = &uart4;
31	};
32
33	chosen {
34		#address-cells = <2>;
35		#size-cells = <2>;
36		ranges;
37
38		framebuffer {
39			compatible = "simple-framebuffer";
40			memory-region = <&framebuffer_mem>;
41			width = <1080>;
42			height = <2340>;
43			stride = <(1080 * 4)>;
44			format = "a8r8g8b8";
45		};
46	};
47
48	reserved-memory {
49		adsp_pil_mem: adsp_pil_mem@55300000 {
50			reg = <0x0 0x55300000 0x0 0x2200000>;
51			no-map;
52		};
53
54		ipa_fw_mem: ipa_fw_mem@57500000 {
55			reg = <0x0 0x57500000 0x0 0x10000>;
56			no-map;
57		};
58
59		ipa_gsi_mem: ipa_gsi_mem@57510000 {
60			reg = <0x0 0x57510000 0x0 0x5000>;
61			no-map;
62		};
63
64		gpu_mem: gpu_mem@57515000 {
65			reg = <0x0 0x57515000 0x0 0x2000>;
66			no-map;
67		};
68
69		framebuffer_mem: framebuffer@5c000000 {
70			reg = <0x0 0x5c000000 0x0 (2340 * 1080 * 4)>;
71			no-map;
72		};
73
74		/* Matching with recovery values to be able to get the results. */
75		ramoops@61600000 {
76			compatible = "ramoops";
77			reg = <0x0 0x61600000 0x0 0x400000>;
78			record-size = <0x80000>;
79			pmsg-size = <0x200000>;
80			console-size = <0x100000>;
81		};
82	};
83
84	gpio-keys {
85		compatible = "gpio-keys";
86
87		pinctrl-0 = <&vol_up_n>;
88		pinctrl-names = "default";
89
90		key-volume-up {
91			label = "Volume Up";
92			gpios = <&pm6125_gpios 5 GPIO_ACTIVE_LOW>;
93			linux,code = <KEY_VOLUMEUP>;
94			debounce-interval = <15>;
95			linux,can-disable;
96			wakeup-source;
97		};
98	};
99};
100
101&pm6125_gpios {
102	vol_up_n: vol-up-n-state {
103		pins = "gpio5";
104		function = "normal";
105		power-source = <0>;
106		bias-pull-up;
107		input-enable;
108	};
109};
110
111&hsusb_phy1 {
112	vdd-supply = <&vreg_l7a>;
113	vdda-pll-supply = <&vreg_l10a>;
114	vdda-phy-dpdm-supply = <&vreg_l15a>;
115	status = "okay";
116};
117
118&pon_pwrkey {
119	status = "okay";
120};
121
122&pon_resin {
123	linux,code = <KEY_VOLUMEDOWN>;
124	status = "okay";
125};
126
127&qupv3_id_0 {
128	status = "okay";
129};
130
131&rpm_requests {
132	regulators-0 {
133		compatible = "qcom,rpm-pm6125-regulators";
134
135		vreg_s6a: s6 {
136			regulator-min-microvolt = <936000>;
137			regulator-max-microvolt = <1422000>;
138		};
139
140		vreg_l1a: l1 {
141			regulator-min-microvolt = <1200000>;
142			regulator-max-microvolt = <1256000>;
143		};
144
145		vreg_l2a: l2 {
146			regulator-min-microvolt = <1000000>;
147			regulator-max-microvolt = <1056000>;
148		};
149
150		vreg_l3a: l3 {
151			regulator-min-microvolt = <1000000>;
152			regulator-max-microvolt = <1064000>;
153		};
154
155		vreg_l4a: l4 {
156			regulator-min-microvolt = <872000>;
157			regulator-max-microvolt = <976000>;
158			regulator-allow-set-load;
159		};
160
161		vreg_l5a: l5 {
162			regulator-min-microvolt = <1648000>;
163			regulator-max-microvolt = <2950000>;
164			regulator-allow-set-load;
165		};
166
167		vreg_l6a: l6 {
168			regulator-min-microvolt = <576000>;
169			regulator-max-microvolt = <656000>;
170		};
171
172		vreg_l7a: l7 {
173			regulator-min-microvolt = <872000>;
174			regulator-max-microvolt = <976000>;
175		};
176
177		vreg_l8a: l8 {
178			regulator-min-microvolt = <400000>;
179			regulator-max-microvolt = <728000>;
180		};
181
182		vreg_l9a: l9 {
183			regulator-min-microvolt = <1800000>;
184			regulator-max-microvolt = <1896000>;
185		};
186
187		vreg_l10a: l10 {
188			regulator-min-microvolt = <1800000>;
189			regulator-max-microvolt = <1896000>;
190			regulator-allow-set-load;
191		};
192
193		vreg_l11a: l11 {
194			regulator-min-microvolt = <1800000>;
195			regulator-max-microvolt = <1952000>;
196			regulator-allow-set-load;
197		};
198
199		vreg_l12a: l12 {
200			regulator-min-microvolt = <1800000>;
201			regulator-max-microvolt = <1996000>;
202		};
203
204		vreg_l13a: l13 {
205			regulator-min-microvolt = <1800000>;
206			regulator-max-microvolt = <1832000>;
207		};
208
209		vreg_l14a: l14 {
210			regulator-min-microvolt = <1800000>;
211			regulator-max-microvolt = <1904000>;
212		};
213
214		vreg_l15a: l15 {
215			regulator-min-microvolt = <3104000>;
216			regulator-max-microvolt = <3232000>;
217		};
218
219		vreg_l16a: l16 {
220			regulator-min-microvolt = <1800000>;
221			regulator-max-microvolt = <1904000>;
222		};
223
224		vreg_l17a: l17 {
225			regulator-min-microvolt = <1248000>;
226			regulator-max-microvolt = <1304000>;
227		};
228
229		vreg_l18a: l18 {
230			regulator-min-microvolt = <1200000>;
231			regulator-max-microvolt = <1264000>;
232			regulator-allow-set-load;
233		};
234
235		vreg_l19a: l19 {
236			regulator-min-microvolt = <1648000>;
237			regulator-max-microvolt = <2952000>;
238		};
239
240		vreg_l20a: l20 {
241			regulator-min-microvolt = <1648000>;
242			regulator-max-microvolt = <2952000>;
243		};
244
245		vreg_l21a: l21 {
246			regulator-min-microvolt = <2600000>;
247			regulator-max-microvolt = <2856000>;
248		};
249
250		vreg_l22a: l22 {
251			regulator-min-microvolt = <2944000>;
252			regulator-max-microvolt = <2950000>;
253			regulator-allow-set-load;
254		};
255
256		vreg_l23a: l23 {
257			regulator-min-microvolt = <3000000>;
258			regulator-max-microvolt = <3400000>;
259		};
260
261		vreg_l24a: l24 {
262			regulator-min-microvolt = <2944000>;
263			regulator-max-microvolt = <2950000>;
264			regulator-allow-set-load;
265		};
266
267	};
268};
269
270&sdc2_off_state {
271	sd-cd-pins {
272		pins = "gpio98";
273		function = "gpio";
274		drive-strength = <2>;
275		bias-disable;
276	};
277};
278
279&sdc2_on_state {
280	sd-cd-pins {
281		pins = "gpio98";
282		function = "gpio";
283		drive-strength = <2>;
284		bias-pull-up;
285	};
286};
287
288&sdhc_1 {
289	vmmc-supply = <&vreg_l24a>;
290	vqmmc-supply = <&vreg_l11a>;
291	status = "okay";
292};
293
294&sdhc_2 {
295	cd-gpios = <&tlmm 98 GPIO_ACTIVE_HIGH>;
296	vmmc-supply = <&vreg_l22a>;
297	vqmmc-supply = <&vreg_l5a>;
298	no-sdio;
299	no-mmc;
300	status = "okay";
301};
302
303&tlmm {
304	gpio-reserved-ranges = <0 4>, <30 4>;
305};
306
307&uart4 {
308	status = "okay";
309};
310
311&usb3 {
312	status = "okay";
313};
314