1 // SPDX-License-Identifier: BSD-3-Clause
3 * Copyright (c) 2020, Konrad Dybcio
8 #include "msm8992.dtsi"
10 #include "pmi8994.dtsi"
11 #include <dt-bindings/gpio/gpio.h>
12 #include <dt-bindings/input/gpio-keys.h>
15 model = "Xiaomi Mi 4C";
16 compatible = "xiaomi,libra", "qcom,msm8992";
17 chassis-type = "handset";
19 /* required for bootloader to select correct board */
20 qcom,msm-id = <251 0>, <252 0>;
21 qcom,pmic-id = <65545 65546 0 0>;
22 qcom,board-id = <12 0>;
24 /* This enables graphical output via bootloader-enabled display */
26 bootargs = "earlycon=tty0 console=tty0 maxcpus=1";
32 framebuffer0: framebuffer@3400000 {
33 compatible = "simple-framebuffer";
34 reg = <0 0x3400000 0 (1080 * 1920 * 3)>;
37 stride = <(1080 * 3)>;
40 * That's a lot of clocks, but it's necessary due
41 * to unused clk cleanup & no panel driver yet..
43 clocks = <&mmcc MDSS_AHB_CLK>,
45 <&mmcc MDSS_VSYNC_CLK>,
47 <&mmcc MDSS_BYTE0_CLK>,
48 <&mmcc MDSS_PCLK0_CLK>,
49 <&mmcc MDSS_ESC0_CLK>;
50 power-domains = <&mmcc MDSS_GDSC>;
55 compatible = "gpio-keys";
60 gpios = <&pm8994_gpios 3 GPIO_ACTIVE_LOW>;
61 linux,input-type = <1>;
62 linux,code = <KEY_VOLUMEUP>;
64 debounce-interval = <15>;
73 /* This is for getting crash logs using Android downstream kernels */
75 compatible = "ramoops";
76 reg = <0x0 0xdfc00000 0x0 0x40000>;
77 console-size = <0x10000>;
78 record-size = <0x10000>;
79 ftrace-size = <0x10000>;
80 pmsg-size = <0x20000>;
83 modem_region: modem_region@9000000 {
84 reg = <0x0 0x9000000 0x0 0x5a00000>;
88 tzapp: modem_region@ea00000 {
89 reg = <0x0 0xea00000 0x0 0x1900000>;
98 /* Atmel or Synaptics touchscreen */
104 /* ST lsm6db0 gyro/accelerometer */
112 * TI USB320 Type-C controller,
113 * Pericom 30216a USB (de)mux switch
120 /* cm36686 proximity and ambient light sensor */
126 /* Silabs si4705 FM transmitter */
134 reg = <0x0 0x7400000 0x0 0x1c00000>;
138 &pm8994_spmi_regulators {
140 regulator-min-microvolt = <680000>;
141 regulator-max-microvolt = <1180000>;
146 /* APC1 is 3-phase, but quoting downstream, s11 is "the gang leader" */
148 regulator-min-microvolt = <700000>;
149 regulator-max-microvolt = <1225000>;
157 compatible = "qcom,rpm-pm8994-regulators";
159 vdd_l1-supply = <&pm8994_s7>;
160 vdd_l2_26_28-supply = <&pm8994_s3>;
161 vdd_l3_11-supply = <&pm8994_s3>;
162 vdd_l4_27_31-supply = <&pm8994_s3>;
163 vdd_l5_7-supply = <&pm8994_s3>;
164 vdd_l6_12_32-supply = <&pm8994_s5>;
165 vdd_l8_16_30-supply = <&vph_pwr>;
166 vdd_l9_10_18_22-supply = <&vph_pwr>;
167 vdd_l13_19_23_24-supply = <&vph_pwr>;
168 vdd_l14_15-supply = <&pm8994_s5>;
169 vdd_l17_29-supply = <&vph_pwr>;
170 vdd_l20_21-supply = <&vph_pwr>;
171 vdd_l25-supply = <&pm8994_s5>;
172 vdd_lvs1_2-supply = <&pm8994_s4>;
174 /* S1, S2, S6 and S12 are managed by RPMPD */
177 regulator-min-microvolt = <1300000>;
178 regulator-max-microvolt = <1300000>;
182 regulator-min-microvolt = <1800000>;
183 regulator-max-microvolt = <1800000>;
184 regulator-allow-set-load;
186 regulator-system-load = <325000>;
190 regulator-min-microvolt = <2150000>;
191 regulator-max-microvolt = <2150000>;
195 regulator-min-microvolt = <1000000>;
196 regulator-max-microvolt = <1000000>;
199 /* S8, S9, S10 and S11 - SPMI-managed VDD_APC */
202 regulator-min-microvolt = <1000000>;
203 regulator-max-microvolt = <1000000>;
207 regulator-min-microvolt = <1250000>;
208 regulator-max-microvolt = <1250000>;
212 regulator-min-microvolt = <1200000>;
213 regulator-max-microvolt = <1200000>;
217 regulator-min-microvolt = <1225000>;
218 regulator-max-microvolt = <1225000>;
221 /* L5 is inaccessible from RPM */
224 regulator-min-microvolt = <1800000>;
225 regulator-max-microvolt = <1800000>;
228 /* L7 is inaccessible from RPM */
231 regulator-min-microvolt = <1800000>;
232 regulator-max-microvolt = <1800000>;
236 regulator-min-microvolt = <1800000>;
237 regulator-max-microvolt = <1800000>;
241 regulator-min-microvolt = <1800000>;
242 regulator-max-microvolt = <1800000>;
246 regulator-min-microvolt = <1200000>;
247 regulator-max-microvolt = <1200000>;
251 regulator-min-microvolt = <1800000>;
252 regulator-max-microvolt = <1800000>;
256 regulator-min-microvolt = <1800000>;
257 regulator-max-microvolt = <2950000>;
261 regulator-min-microvolt = <1800000>;
262 regulator-max-microvolt = <1800000>;
266 regulator-min-microvolt = <1800000>;
267 regulator-max-microvolt = <1800000>;
271 regulator-min-microvolt = <2700000>;
272 regulator-max-microvolt = <2700000>;
276 regulator-min-microvolt = <2700000>;
277 regulator-max-microvolt = <2700000>;
281 regulator-min-microvolt = <2850000>;
282 regulator-max-microvolt = <2850000>;
287 regulator-min-microvolt = <2800000>;
288 regulator-max-microvolt = <2800000>;
292 regulator-min-microvolt = <2950000>;
293 regulator-max-microvolt = <2950000>;
296 regulator-allow-set-load;
297 regulator-system-load = <570000>;
301 regulator-min-microvolt = <2950000>;
302 regulator-max-microvolt = <2950000>;
307 regulator-min-microvolt = <3000000>;
308 regulator-max-microvolt = <3000000>;
312 regulator-min-microvolt = <2800000>;
313 regulator-max-microvolt = <2800000>;
317 regulator-min-microvolt = <3075000>;
318 regulator-max-microvolt = <3150000>;
322 regulator-min-microvolt = <1000000>;
323 regulator-max-microvolt = <1000000>;
327 regulator-min-microvolt = <987500>;
328 regulator-max-microvolt = <987500>;
333 regulator-min-microvolt = <1050000>;
334 regulator-max-microvolt = <1050000>;
338 regulator-min-microvolt = <1000000>;
339 regulator-max-microvolt = <1000000>;
343 regulator-min-microvolt = <2800000>;
344 regulator-max-microvolt = <2800000>;
348 regulator-min-microvolt = <1800000>;
349 regulator-max-microvolt = <1800000>;
353 regulator-min-microvolt = <1262500>;
354 regulator-max-microvolt = <1262500>;
358 regulator-min-microvolt = <1800000>;
359 regulator-max-microvolt = <1800000>;
362 pm8994_lvs1: lvs1 {};
363 pm8994_lvs2: lvs2 {};
366 pmi8994_regulators: pmi8994-regulators {
367 compatible = "qcom,rpm-pmi8994-regulators";
368 vdd_s1-supply = <&vph_pwr>;
369 vdd_bst_byp-supply = <&vph_pwr>;
372 regulator-min-microvolt = <1025000>;
373 regulator-max-microvolt = <1025000>;
376 /* S2 & S3 - VDD_GFX */
378 pmi8994_bby: boost-bypass {
379 regulator-min-microvolt = <3150000>;
380 regulator-max-microvolt = <3600000>;
389 vmmc-supply = <&pm8994_l20>;
390 vqmmc-supply = <&pm8994_s4>;