]> git.ipfire.org Git - thirdparty/u-boot.git/blame - src/arm64/qcom/sdm845-xiaomi-beryllium-common.dtsi
Squashed 'dts/upstream/' changes from aaba2d45dc2a..b35b9bd1d4ee
[thirdparty/u-boot.git] / src / arm64 / qcom / sdm845-xiaomi-beryllium-common.dtsi
CommitLineData
53633a89
TR
1// SPDX-License-Identifier: GPL-2.0
2
3/dts-v1/;
4
5#include <dt-bindings/leds/common.h>
6#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
7#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
8#include <dt-bindings/sound/qcom,q6afe.h>
9#include <dt-bindings/sound/qcom,q6asm.h>
10#include "sdm845.dtsi"
11#include "sdm845-wcd9340.dtsi"
12#include "pm8998.dtsi"
13#include "pmi8998.dtsi"
14
15/*
16 * Delete following upstream (sdm845.dtsi) reserved
17 * memory mappings which are different in this device.
18 */
19/delete-node/ &tz_mem;
20/delete-node/ &adsp_mem;
21/delete-node/ &wlan_msa_mem;
22/delete-node/ &mpss_region;
23/delete-node/ &venus_mem;
24/delete-node/ &cdsp_mem;
25/delete-node/ &mba_region;
26/delete-node/ &slpi_mem;
27/delete-node/ &spss_mem;
28/delete-node/ &rmtfs_mem;
29
30/ {
31 chassis-type = "handset";
32
33 /* required for bootloader to select correct board */
34 qcom,board-id = <69 0>;
35 qcom,msm-id = <321 0x20001>;
36
37 aliases {
38 serial1 = &uart6;
39 };
40
41 gpio-keys {
42 compatible = "gpio-keys";
43 autorepeat;
44
45 pinctrl-names = "default";
46 pinctrl-0 = <&vol_up_pin_a>;
47
48 key-vol-up {
49 label = "Volume Up";
50 linux,code = <KEY_VOLUMEUP>;
51 gpios = <&pm8998_gpios 6 GPIO_ACTIVE_LOW>;
52 };
53 };
54
55 /* Reserved memory changes from downstream */
56 reserved-memory {
57 tz_mem: memory@86200000 {
58 reg = <0 0x86200000 0 0x4900000>;
59 no-map;
60 };
61
62 adsp_mem: memory@8c500000 {
63 reg = <0 0x8c500000 0 0x1e00000>;
64 no-map;
65 };
66
67 wlan_msa_mem: memory@8e300000 {
68 reg = <0 0x8e300000 0 0x100000>;
69 no-map;
70 };
71
72 mpss_region: memory@8e400000 {
73 reg = <0 0x8e400000 0 0x7800000>;
74 no-map;
75 };
76
77 venus_mem: memory@95c00000 {
78 reg = <0 0x95c00000 0 0x500000>;
79 no-map;
80 };
81
82 cdsp_mem: memory@96100000 {
83 reg = <0 0x96100000 0 0x800000>;
84 no-map;
85 };
86
87 mba_region: memory@96900000 {
88 reg = <0 0x96900000 0 0x200000>;
89 no-map;
90 };
91
92 slpi_mem: memory@96b00000 {
93 reg = <0 0x96b00000 0 0x1400000>;
94 no-map;
95 };
96
97 spss_mem: memory@97f00000 {
98 reg = <0 0x97f00000 0 0x100000>;
99 no-map;
100 };
101
102 /* Cont splash region set up by the bootloader */
103 cont_splash_mem: framebuffer@9d400000 {
104 reg = <0 0x9d400000 0 0x2400000>;
105 no-map;
106 };
107
108 rmtfs_mem: memory@f6301000 {
109 compatible = "qcom,rmtfs-mem";
110 reg = <0 0xf6301000 0 0x200000>;
111 no-map;
112
113 qcom,client-id = <1>;
114 qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>;
115 };
116 };
117
118 battery: battery {
119 compatible = "simple-battery";
120
121 charge-full-design-microamp-hours = <4000000>;
122 voltage-min-design-microvolt = <3400000>;
123 voltage-max-design-microvolt = <4400000>;
124 };
125
126 vreg_s4a_1p8: vreg-s4a-1p8 {
127 compatible = "regulator-fixed";
128 regulator-name = "vreg_s4a_1p8";
129
130 regulator-min-microvolt = <1800000>;
131 regulator-max-microvolt = <1800000>;
132 regulator-always-on;
133 };
134};
135
136&adsp_pas {
137 status = "okay";
138 firmware-name = "qcom/sdm845/beryllium/adsp.mbn";
139};
140
141&apps_rsc {
142 regulators-0 {
143 compatible = "qcom,pm8998-rpmh-regulators";
144 qcom,pmic-id = "a";
145
146 vreg_l1a_0p875: ldo1 {
147 regulator-min-microvolt = <880000>;
148 regulator-max-microvolt = <880000>;
149 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
150 };
151
152 vreg_l5a_0p8: ldo5 {
153 regulator-min-microvolt = <800000>;
154 regulator-max-microvolt = <800000>;
155 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
156 };
157
158 vreg_l7a_1p8: ldo7 {
159 regulator-min-microvolt = <1800000>;
160 regulator-max-microvolt = <1800000>;
161 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
162 };
163
164 vreg_l12a_1p8: ldo12 {
165 regulator-min-microvolt = <1800000>;
166 regulator-max-microvolt = <1800000>;
167 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
168 };
169
170 vreg_l13a_2p95: ldo13 {
171 regulator-min-microvolt = <1800000>;
172 regulator-max-microvolt = <2960000>;
173 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
174 };
175
176 vreg_l14a_1p8: ldo14 {
177 regulator-min-microvolt = <1800000>;
178 regulator-max-microvolt = <1800000>;
179 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
180 regulator-boot-on;
181 regulator-always-on;
182 };
183
184 vreg_l17a_1p3: ldo17 {
185 regulator-min-microvolt = <1304000>;
186 regulator-max-microvolt = <1304000>;
187 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
188 };
189
190 vreg_l20a_2p95: ldo20 {
191 regulator-min-microvolt = <2960000>;
192 regulator-max-microvolt = <2968000>;
193 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
194 };
195
196 vreg_l21a_2p95: ldo21 {
197 regulator-min-microvolt = <2960000>;
198 regulator-max-microvolt = <2968000>;
199 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
200 };
201
202 vreg_l23a_3p3: ldo23 {
203 regulator-min-microvolt = <3300000>;
204 regulator-max-microvolt = <3312000>;
205 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
206 };
207
208 vreg_l24a_3p075: ldo24 {
209 regulator-min-microvolt = <3088000>;
210 regulator-max-microvolt = <3088000>;
211 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
212 };
213
214 vreg_l25a_3p3: ldo25 {
215 regulator-min-microvolt = <3300000>;
216 regulator-max-microvolt = <3312000>;
217 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
218 };
219
220 vreg_l26a_1p2: ldo26 {
221 regulator-min-microvolt = <1200000>;
222 regulator-max-microvolt = <1200000>;
223 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
224 regulator-boot-on;
225 };
226 };
227};
228
229&cdsp_pas {
230 status = "okay";
231 firmware-name = "qcom/sdm845/beryllium/cdsp.mbn";
232};
233
234&gcc {
235 protected-clocks = <GCC_QSPI_CORE_CLK>,
236 <GCC_QSPI_CORE_CLK_SRC>,
237 <GCC_QSPI_CNOC_PERIPH_AHB_CLK>,
238 <GCC_LPASS_Q6_AXI_CLK>,
239 <GCC_LPASS_SWAY_CLK>;
240};
241
242&gmu {
243 status = "okay";
244};
245
246&gpu {
247 status = "okay";
248
249 zap-shader {
250 memory-region = <&gpu_mem>;
251 firmware-name = "qcom/sdm845/beryllium/a630_zap.mbn";
252 };
253};
254
255&ibb {
256 regulator-min-microvolt = <4600000>;
257 regulator-max-microvolt = <6000000>;
258 regulator-over-current-protection;
259 regulator-pull-down;
260 regulator-soft-start;
261 qcom,discharge-resistor-kohms = <300>;
262};
263
264&lab {
265 regulator-min-microvolt = <4600000>;
266 regulator-max-microvolt = <6000000>;
267 regulator-over-current-protection;
268 regulator-pull-down;
269 regulator-soft-start;
270};
271
272&mdss {
273 status = "okay";
274};
275
276&mdss_dsi0 {
277 status = "okay";
278 vdda-supply = <&vreg_l26a_1p2>;
279
280 display_panel: panel@0 {
281 reg = <0>;
282 vddio-supply = <&vreg_l14a_1p8>;
283 vddpos-supply = <&lab>;
284 vddneg-supply = <&ibb>;
285
286 backlight = <&pmi8998_wled>;
287 reset-gpios = <&tlmm 6 GPIO_ACTIVE_LOW>;
288
289 status = "disabled";
290
291 port {
292 panel_in_0: endpoint {
293 remote-endpoint = <&mdss_dsi0_out>;
294 };
295 };
296 };
297};
298
299&mdss_dsi0_out {
300 remote-endpoint = <&panel_in_0>;
301 data-lanes = <0 1 2 3>;
302};
303
304&mdss_dsi0_phy {
305 status = "okay";
306 vdds-supply = <&vreg_l1a_0p875>;
307};
308
309&mss_pil {
310 status = "okay";
311 firmware-name = "qcom/sdm845/beryllium/mba.mbn", "qcom/sdm845/beryllium/modem.mbn";
312};
313
314&ipa {
315 qcom,gsi-loader = "self";
316 memory-region = <&ipa_fw_mem>;
317 firmware-name = "qcom/sdm845/beryllium/ipa_fws.mbn";
318 status = "okay";
319};
320
321&pm8998_gpios {
322 vol_up_pin_a: vol-up-active-state {
323 pins = "gpio6";
324 function = "normal";
325 input-enable;
326 bias-pull-up;
327 qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
328 };
329};
330
331&pmi8998_lpg {
332 status = "okay";
333
334 led@5 {
335 reg = <5>;
336 color = <LED_COLOR_ID_WHITE>;
337 function = LED_FUNCTION_STATUS;
338 };
339};
340
341&pmi8998_wled {
342 status = "okay";
343 qcom,current-boost-limit = <970>;
344 qcom,ovp-millivolt = <29600>;
345 qcom,current-limit-microamp = <20000>;
346 qcom,num-strings = <2>;
347 qcom,switching-freq = <600>;
348 qcom,external-pfet;
349 qcom,cabc;
350};
351
352&pmi8998_charger {
353 monitored-battery = <&battery>;
354
355 status = "okay";
356};
357
93743d24
TR
358&pmi8998_flash {
359 status = "okay";
360
361 led-0 {
362 function = LED_FUNCTION_FLASH;
363 color = <LED_COLOR_ID_WHITE>;
364 led-sources = <1>;
365 led-max-microamp = <500000>;
366 flash-max-microamp = <1500000>;
367 flash-max-timeout-us = <1280000>;
368 };
369
370 led-1 {
371 function = LED_FUNCTION_FLASH;
372 color = <LED_COLOR_ID_YELLOW>;
373 led-sources = <2>;
374 led-max-microamp = <500000>;
375 flash-max-microamp = <1500000>;
376 flash-max-timeout-us = <1280000>;
377 };
378};
379
53633a89
TR
380&pm8998_resin {
381 linux,code = <KEY_VOLUMEDOWN>;
382 status = "okay";
383};
384
385/* QUAT I2S Uses 1 I2S SD Line for audio on TAS2559/60 amplifiers */
386&q6afedai {
387 dai@22 {
388 reg = <QUATERNARY_MI2S_RX>;
389 qcom,sd-lines = <0>;
390 };
391};
392
393&q6asmdai {
394 dai@0 {
395 reg = <0>;
396 };
397
398 dai@1 {
399 reg = <1>;
400 };
401
402 dai@2 {
403 reg = <2>;
404 };
405};
406
407&qupv3_id_0 {
408 status = "okay";
409};
410
411&sdhc_2 {
412 status = "okay";
413
414 pinctrl-names = "default";
415 pinctrl-0 = <&sdc2_default_state &sdc2_card_det_n>;
416
417 vmmc-supply = <&vreg_l21a_2p95>;
418 vqmmc-supply = <&vreg_l13a_2p95>;
419
420 bus-width = <4>;
421 cd-gpios = <&tlmm 126 GPIO_ACTIVE_HIGH>;
422};
423
424&sound {
425 compatible = "qcom,db845c-sndcard", "qcom,sdm845-sndcard";
426 pinctrl-0 = <&quat_mi2s_active
427 &quat_mi2s_sd0_active>;
428 pinctrl-names = "default";
429 model = "Xiaomi Poco F1";
430 audio-routing =
431 "RX_BIAS", "MCLK",
432 "AMIC1", "MIC BIAS1",
433 "AMIC2", "MIC BIAS2",
434 "AMIC3", "MIC BIAS3";
435
436 mm1-dai-link {
437 link-name = "MultiMedia1";
438 cpu {
439 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>;
440 };
441 };
442
443 mm2-dai-link {
444 link-name = "MultiMedia2";
445 cpu {
446 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA2>;
447 };
448 };
449
450 mm3-dai-link {
451 link-name = "MultiMedia3";
452 cpu {
453 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA3>;
454 };
455 };
456
457 slim-dai-link {
458 link-name = "SLIM Playback";
459 cpu {
460 sound-dai = <&q6afedai SLIMBUS_0_RX>;
461 };
462
463 platform {
464 sound-dai = <&q6routing>;
465 };
466
467 codec {
468 sound-dai = <&wcd9340 0>;
469 };
470 };
471
472 slimcap-dai-link {
473 link-name = "SLIM Capture";
474 cpu {
475 sound-dai = <&q6afedai SLIMBUS_0_TX>;
476 };
477
478 platform {
479 sound-dai = <&q6routing>;
480 };
481
482 codec {
483 sound-dai = <&wcd9340 1>;
484 };
485 };
486};
487
488&tlmm {
489 gpio-reserved-ranges = <0 4>, <81 4>;
490
491 sdc2_default_state: sdc2-default-state {
492 clk-pins {
493 pins = "sdc2_clk";
494 bias-disable;
495 drive-strength = <16>;
496 };
497
498 cmd-pins {
499 pins = "sdc2_cmd";
500 bias-pull-up;
501 drive-strength = <10>;
502 };
503
504 data-pins {
505 pins = "sdc2_data";
506 bias-pull-up;
507 drive-strength = <10>;
508 };
509 };
510
511 sdc2_card_det_n: sd-card-det-n-state {
512 pins = "gpio126";
513 function = "gpio";
514 bias-pull-up;
515 };
516};
517
518&uart6 {
519 status = "okay";
520
521 pinctrl-0 = <&qup_uart6_4pin>;
522
523 bluetooth {
524 compatible = "qcom,wcn3990-bt";
525
526 vddio-supply = <&vreg_s4a_1p8>;
527 vddxo-supply = <&vreg_l7a_1p8>;
528 vddrf-supply = <&vreg_l17a_1p3>;
529 vddch0-supply = <&vreg_l25a_3p3>;
530 max-speed = <3200000>;
531 };
532};
533
534&ufs_mem_hc {
535 status = "okay";
536
537 reset-gpios = <&tlmm 150 GPIO_ACTIVE_LOW>;
538
539 vcc-supply = <&vreg_l20a_2p95>;
540 vcc-max-microamp = <800000>;
541};
542
543&ufs_mem_phy {
544 status = "okay";
545
546 vdda-phy-supply = <&vreg_l1a_0p875>;
547 vdda-pll-supply = <&vreg_l26a_1p2>;
548};
549
550&usb_1 {
551 status = "okay";
552};
553
554&usb_1_dwc3 {
555 dr_mode = "peripheral";
556};
557
558&usb_1_hsphy {
559 status = "okay";
560
561 vdd-supply = <&vreg_l1a_0p875>;
562 vdda-pll-supply = <&vreg_l12a_1p8>;
563 vdda-phy-dpdm-supply = <&vreg_l24a_3p075>;
564
565 qcom,imp-res-offset-value = <8>;
566 qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_21_6_MA>;
567 qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_5_PERCENT>;
568 qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>;
569};
570
571&usb_1_qmpphy {
572 status = "okay";
573
574 vdda-phy-supply = <&vreg_l26a_1p2>;
575 vdda-pll-supply = <&vreg_l1a_0p875>;
576};
577
578&venus {
579 status = "okay";
580 firmware-name = "qcom/sdm845/beryllium/venus.mbn";
581};
582
583&wcd9340 {
584 reset-gpios = <&tlmm 64 GPIO_ACTIVE_HIGH>;
585 vdd-buck-supply = <&vreg_s4a_1p8>;
586 vdd-buck-sido-supply = <&vreg_s4a_1p8>;
587 vdd-tx-supply = <&vreg_s4a_1p8>;
588 vdd-rx-supply = <&vreg_s4a_1p8>;
589 vdd-io-supply = <&vreg_s4a_1p8>;
590 qcom,micbias1-microvolt = <2700000>;
591 qcom,micbias2-microvolt = <1800000>;
592 qcom,micbias3-microvolt = <2700000>;
593 qcom,micbias4-microvolt = <2700000>;
594};
595
596&wifi {
597 status = "okay";
598
599 vdd-0.8-cx-mx-supply = <&vreg_l5a_0p8>;
600 vdd-1.8-xo-supply = <&vreg_l7a_1p8>;
601 vdd-1.3-rfa-supply = <&vreg_l17a_1p3>;
602 vdd-3.3-ch0-supply = <&vreg_l25a_3p3>;
603 vdd-3.3-ch1-supply = <&vreg_l23a_3p3>;
604};