Merge tag 'hsi-for-6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi
[sfrench/cifs-2.6.git] / arch / arm64 / boot / dts / qcom / sm8250-xiaomi-elish-common.dtsi
1 // SPDX-License-Identifier: BSD-3-Clause
2 /*
3  * Copyright (c) 2022, 2023 Jianhua Lu <lujianhua000@gmail.com>
4  */
5
6 #include <dt-bindings/arm/qcom,ids.h>
7 #include <dt-bindings/phy/phy.h>
8 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
9 #include <dt-bindings/usb/pd.h>
10 #include "sm8250.dtsi"
11 #include "pm8150.dtsi"
12 #include "pm8150b.dtsi"
13 #include "pm8150l.dtsi"
14 #include "pm8009.dtsi"
15
16 /*
17  * Delete following upstream (sm8250.dtsi) reserved
18  * memory mappings which are different on this device.
19  */
20 /delete-node/ &adsp_mem;
21 /delete-node/ &cdsp_secure_heap;
22 /delete-node/ &slpi_mem;
23 /delete-node/ &spss_mem;
24 /delete-node/ &xbl_aop_mem;
25
26 / {
27         chassis-type = "tablet";
28
29         /* required for bootloader to select correct board */
30         qcom,msm-id = <QCOM_ID_SM8250 0x20001>; /* SM8250 v2.1 */
31         qcom,board-id = <0x10008 0>;
32
33         chosen {
34                 #address-cells = <2>;
35                 #size-cells = <2>;
36                 ranges;
37
38                 framebuffer: framebuffer@9c000000 {
39                         compatible = "simple-framebuffer";
40                         reg = <0x0 0x9c000000 0x0 0x2300000>;
41                         width = <1600>;
42                         height = <2560>;
43                         stride = <(1600 * 4)>;
44                         format = "a8r8g8b8";
45                 };
46         };
47
48         battery_l: battery-l {
49                 compatible = "simple-battery";
50                 voltage-min-design-microvolt = <3870000>;
51                 energy-full-design-microwatt-hours = <16600000>;
52                 charge-full-design-microamp-hours = <4300000>;
53         };
54
55         battery_r: battery-r {
56                 compatible = "simple-battery";
57                 voltage-min-design-microvolt = <3870000>;
58                 energy-full-design-microwatt-hours = <16600000>;
59                 charge-full-design-microamp-hours = <4300000>;
60         };
61
62         bl_vddpos_5p5: bl-vddpos-regulator {
63                 compatible = "regulator-fixed";
64                 regulator-name = "bl_vddpos_5p5";
65                 regulator-min-microvolt = <5500000>;
66                 regulator-max-microvolt = <5500000>;
67                 regulator-enable-ramp-delay = <233>;
68                 gpio = <&tlmm 130 GPIO_ACTIVE_HIGH>;
69                 enable-active-high;
70                 regulator-boot-on;
71         };
72
73         bl_vddneg_5p5: bl-vddneg-regulator {
74                 compatible = "regulator-fixed";
75                 regulator-name = "bl_vddneg_5p5";
76                 regulator-min-microvolt = <5500000>;
77                 regulator-max-microvolt = <5500000>;
78                 regulator-enable-ramp-delay = <233>;
79                 gpio = <&tlmm 131 GPIO_ACTIVE_HIGH>;
80                 enable-active-high;
81                 regulator-boot-on;
82         };
83
84         gpio_keys: gpio-keys {
85                 compatible = "gpio-keys";
86
87                 pinctrl-names = "default";
88                 pinctrl-0 = <&vol_up_n>;
89
90                 key-vol-up {
91                         label = "Volume Up";
92                         gpios = <&pm8150_gpios 6 GPIO_ACTIVE_LOW>;
93                         linux,code = <KEY_VOLUMEUP>;
94                         debounce-interval = <15>;
95                         linux,can-disable;
96                         wakeup-source;
97                 };
98         };
99
100         vph_pwr: vph-pwr-regulator {
101                 compatible = "regulator-fixed";
102                 regulator-name = "vph_pwr";
103                 regulator-min-microvolt = <3700000>;
104                 regulator-max-microvolt = <3700000>;
105         };
106
107         /* S6c is really ebi.lvl but it's there for supply map completeness sake. */
108         vreg_s6c_0p88: smpc6-regulator {
109                 compatible = "regulator-fixed";
110                 regulator-name = "vreg_s6c_0p88";
111                 regulator-min-microvolt = <880000>;
112                 regulator-max-microvolt = <880000>;
113                 regulator-always-on;
114                 vin-supply = <&vph_pwr>;
115         };
116
117         reserved-memory {
118                 xbl_aop_mem: xbl-aop@80600000 {
119                         reg = <0x0 0x80600000 0x0 0x260000>;
120                         no-map;
121                 };
122
123                 slpi_mem: slpi@88c00000 {
124                         reg = <0x0 0x88c00000 0x0 0x2f00000>;
125                         no-map;
126                 };
127
128                 adsp_mem: adsp@8bb00000 {
129                         reg = <0x0 0x8bb00000 0x0 0x2500000>;
130                         no-map;
131                 };
132
133                 spss_mem: spss@8e000000 {
134                         reg = <0x0 0x8e000000 0x0 0x100000>;
135                         no-map;
136                 };
137
138                 cdsp_secure_heap: cdsp-secure-heap@8e100000 {
139                         reg = <0x0 0x8e100000 0x0 0x4600000>;
140                         no-map;
141                 };
142
143                 cont_splash_mem: cont-splash@9c000000 {
144                         reg = <0x0 0x9c000000 0x0 0x2300000>;
145                         no-map;
146                 };
147
148                 ramoops@b0000000 {
149                         compatible = "ramoops";
150                         reg = <0x0 0xb0000000 0x0 0x400000>;
151                         record-size = <0x1000>;
152                         console-size = <0x200000>;
153                         ecc-size = <16>;
154                         no-map;
155                 };
156         };
157 };
158
159 &adsp {
160         firmware-name = "qcom/sm8250/xiaomi/elish/adsp.mbn";
161         status = "okay";
162 };
163
164 &apps_rsc {
165         regulators-0 {
166                 compatible = "qcom,pm8150-rpmh-regulators";
167                 qcom,pmic-id = "a";
168
169                 vdd-s1-supply = <&vph_pwr>;
170                 vdd-s2-supply = <&vph_pwr>;
171                 vdd-s3-supply = <&vph_pwr>;
172                 vdd-s4-supply = <&vph_pwr>;
173                 vdd-s5-supply = <&vph_pwr>;
174                 vdd-s6-supply = <&vph_pwr>;
175                 vdd-s7-supply = <&vph_pwr>;
176                 vdd-s8-supply = <&vph_pwr>;
177                 vdd-s9-supply = <&vph_pwr>;
178                 vdd-s10-supply = <&vph_pwr>;
179                 vdd-l1-l8-l11-supply = <&vreg_s6c_0p88>;
180                 vdd-l2-l10-supply = <&vreg_bob>;
181                 vdd-l3-l4-l5-l18-supply = <&vreg_s6a_0p95>;
182                 vdd-l6-l9-supply = <&vreg_s8c_1p35>;
183                 vdd-l7-l12-l14-l15-supply = <&vreg_s5a_1p9>;
184                 vdd-l13-l16-l17-supply = <&vreg_bob>;
185
186                 /* (S1+S2+S3) - cx.lvl (ARC) */
187
188                 vreg_s4a_1p8: smps4 {
189                         regulator-name = "vreg_s4a_1p8";
190                         regulator-min-microvolt = <1800000>;
191                         regulator-max-microvolt = <1920000>;
192                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
193                         regulator-allow-set-load;
194                         regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
195                                                    RPMH_REGULATOR_MODE_HPM>;
196                 };
197
198                 vreg_s5a_1p9: smps5 {
199                         regulator-name = "vreg_s5a_1p9";
200                         regulator-min-microvolt = <1900000>;
201                         regulator-max-microvolt = <2040000>;
202                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
203                 };
204
205                 vreg_s6a_0p95: smps6 {
206                         regulator-name = "vreg_s6a_0p95";
207                         regulator-min-microvolt = <950000>;
208                         regulator-max-microvolt = <1128000>;
209                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
210                 };
211
212                 vreg_l2a_3p1: ldo2 {
213                         regulator-name = "vreg_l2a_3p1";
214                         regulator-min-microvolt = <3072000>;
215                         regulator-max-microvolt = <3072000>;
216                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
217                 };
218
219                 vreg_l3a_0p9: ldo3 {
220                         regulator-name = "vreg_l3a_0p9";
221                         regulator-min-microvolt = <928000>;
222                         regulator-max-microvolt = <932000>;
223                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
224                 };
225
226                 /* L4 - lmx.lvl (ARC) */
227
228                 vreg_l5a_0p88: ldo5 {
229                         regulator-name = "vreg_l5a_0p88";
230                         regulator-min-microvolt = <880000>;
231                         regulator-max-microvolt = <880000>;
232                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
233                 };
234
235                 vreg_l6a_1p2: ldo6 {
236                         regulator-name = "vreg_l6a_1p2";
237                         regulator-min-microvolt = <1200000>;
238                         regulator-max-microvolt = <1200000>;
239                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
240                         regulator-allow-set-load;
241                         regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
242                                                    RPMH_REGULATOR_MODE_HPM>;
243                 };
244
245                 /* L7 is unused. */
246
247                 vreg_l9a_1p2: ldo9 {
248                         regulator-name = "vreg_l9a_1p2";
249                         regulator-min-microvolt = <1200000>;
250                         regulator-max-microvolt = <1200000>;
251                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
252                 };
253
254                 /* L10 is unused, L11 - lcx.lvl (ARC) */
255
256                 vreg_l12a_1p8: ldo12 {
257                         regulator-name = "vreg_l12a_1p8";
258                         regulator-min-microvolt = <1800000>;
259                         regulator-max-microvolt = <1800000>;
260                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
261                 };
262
263                 /* L13 is unused. */
264
265                 vreg_l14a_1p88: ldo14 {
266                         regulator-name = "vreg_l14a_1p88";
267                         regulator-min-microvolt = <1880000>;
268                         regulator-max-microvolt = <1880000>;
269                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
270                 };
271
272                 /* L15 & L16 are unused. */
273
274                 vreg_l17a_3p0: ldo17 {
275                         regulator-name = "vreg_l17a_3p0";
276                         regulator-min-microvolt = <2496000>;
277                         regulator-max-microvolt = <3008000>;
278                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
279                         regulator-allow-set-load;
280                         regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
281                                                    RPMH_REGULATOR_MODE_HPM>;
282                 };
283
284                 vreg_l18a_0p9: ldo18 {
285                         regulator-name = "vreg_l18a_0p9";
286                         regulator-min-microvolt = <800000>;
287                         regulator-max-microvolt = <920000>;
288                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
289                 };
290         };
291
292         /*
293          * Remaining regulators that are not yet supported:
294          * OLEDB: 4925000-8100000
295          * ab: 4600000-6100000
296          * ibb: 800000-5400000
297          */
298         regulators-1 {
299                 compatible = "qcom,pm8150l-rpmh-regulators";
300                 qcom,pmic-id = "c";
301
302                 vdd-s1-supply = <&vph_pwr>;
303                 vdd-s2-supply = <&vph_pwr>;
304                 vdd-s3-supply = <&vph_pwr>;
305                 vdd-s4-supply = <&vph_pwr>;
306                 vdd-s5-supply = <&vph_pwr>;
307                 vdd-s6-supply = <&vph_pwr>;
308                 vdd-s7-supply = <&vph_pwr>;
309                 vdd-s8-supply = <&vph_pwr>;
310                 vdd-l1-l8-supply = <&vreg_s4a_1p8>;
311                 vdd-l2-l3-supply = <&vreg_s8c_1p35>;
312                 vdd-l4-l5-l6-supply = <&vreg_bob>;
313                 vdd-l7-l11-supply = <&vreg_bob>;
314                 vdd-l9-l10-supply = <&vreg_bob>;
315                 vdd-bob-supply = <&vph_pwr>;
316
317                 vreg_bob: bob {
318                         regulator-name = "vreg_bob";
319                         regulator-min-microvolt = <3350000>;
320                         regulator-max-microvolt = <3960000>;
321                         regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
322                 };
323
324                 /*
325                  * S1-S6 are ARCs:
326                  * (S1+S2) - gfx.lvl,
327                  * S3 - mx.lvl,
328                  * (S4+S5) - mmcx.lvl,
329                  * S6 - ebi.lvl
330                  */
331
332                 vreg_s7c_0p35: smps7 {
333                         regulator-name = "vreg_s7c_0p35";
334                         regulator-min-microvolt = <348000>;
335                         regulator-max-microvolt = <1000000>;
336                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
337                 };
338
339                 vreg_s8c_1p35: smps8 {
340                         regulator-name = "vreg_s8c_1p35";
341                         regulator-min-microvolt = <1350000>;
342                         regulator-max-microvolt = <1400000>;
343                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
344                 };
345
346                 vreg_l1c_1p8: ldo1 {
347                         regulator-name = "vreg_l1c_1p8";
348                         regulator-min-microvolt = <1800000>;
349                         regulator-max-microvolt = <1800000>;
350                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
351                 };
352
353                 /* L2-4 are unused. */
354
355                 vreg_l5c_1p8: ldo5 {
356                         regulator-name = "vreg_l5c_1p8";
357                         regulator-min-microvolt = <1800000>;
358                         regulator-max-microvolt = <2800000>;
359                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
360                 };
361
362                 vreg_l6c_2p9: ldo6 {
363                         regulator-name = "vreg_l6c_2p9";
364                         regulator-min-microvolt = <1800000>;
365                         regulator-max-microvolt = <2960000>;
366                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
367                         regulator-allow-set-load;
368                         regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
369                                                    RPMH_REGULATOR_MODE_HPM>;
370                 };
371
372                 vreg_l7c_2p85: ldo7 {
373                         regulator-name = "vreg_l7c_2p85";
374                         regulator-min-microvolt = <2856000>;
375                         regulator-max-microvolt = <3104000>;
376                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
377                 };
378
379                 vreg_l8c_1p8: ldo8 {
380                         regulator-name = "vreg_l8c_1p8";
381                         regulator-min-microvolt = <1800000>;
382                         regulator-max-microvolt = <1800000>;
383                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
384                 };
385
386                 vreg_l9c_2p9: ldo9 {
387                         regulator-name = "vreg_l9c_2p9";
388                         regulator-min-microvolt = <2704000>;
389                         regulator-max-microvolt = <2960000>;
390                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
391                         regulator-allow-set-load;
392                         regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
393                                                    RPMH_REGULATOR_MODE_HPM>;
394                 };
395
396                 vreg_l10c_3p3: ldo10 {
397                         regulator-name = "vreg_l10c_3p3";
398                         regulator-min-microvolt = <3296000>;
399                         regulator-max-microvolt = <3296000>;
400                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
401                 };
402
403                 vreg_l11c_3p0: ldo11 {
404                         regulator-name = "vreg_l11c_3p0";
405                         regulator-min-microvolt = <3000000>;
406                         regulator-max-microvolt = <3000000>;
407                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
408                 };
409         };
410
411         regulators-2 {
412                 compatible = "qcom,pm8009-rpmh-regulators";
413                 qcom,pmic-id = "f";
414
415                 vdd-s1-supply = <&vph_pwr>;
416                 vdd-s2-supply = <&vreg_bob>;
417                 vdd-l2-supply = <&vreg_s8c_1p35>;
418                 vdd-l5-l6-supply = <&vreg_bob>;
419                 vdd-l7-supply = <&vreg_s4a_1p8>;
420
421                 vreg_s1f_1p2: smps1 {
422                         regulator-name = "vreg_s1f_1p2";
423                         regulator-min-microvolt = <1200000>;
424                         regulator-max-microvolt = <1200000>;
425                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
426                 };
427
428                 vreg_s2f_0p5: smps2 {
429                         regulator-name = "vreg_s2f_0p5";
430                         regulator-min-microvolt = <512000>;
431                         regulator-max-microvolt = <1100000>;
432                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
433                 };
434
435                 /* L1 is unused. */
436
437                 vreg_l2f_1p3: ldo2 {
438                         regulator-name = "vreg_l2f_1p3";
439                         regulator-min-microvolt = <1304000>;
440                         regulator-max-microvolt = <1304000>;
441                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
442                 };
443
444                 /* L3 & L4 are unused. */
445
446                 vreg_l5f_2p8: ldo5 {
447                         regulator-name = "vreg_l5f_2p85";
448                         regulator-min-microvolt = <2800000>;
449                         regulator-max-microvolt = <2800000>;
450                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
451                 };
452
453                 vreg_l6f_2p8: ldo6 {
454                         regulator-name = "vreg_l6f_2p8";
455                         regulator-min-microvolt = <2800000>;
456                         regulator-max-microvolt = <2800000>;
457                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
458                 };
459
460                 vreg_l7f_1p8: ldo7 {
461                         regulator-name = "vreg_l7f_1p8";
462                         regulator-min-microvolt = <1800000>;
463                         regulator-max-microvolt = <1800000>;
464                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
465                 };
466         };
467 };
468
469 &cdsp {
470         firmware-name = "qcom/sm8250/xiaomi/elish/cdsp.mbn";
471         status = "okay";
472 };
473
474 &gmu {
475         status = "okay";
476 };
477
478 &gpi_dma0 {
479         status = "okay";
480 };
481
482 &gpi_dma1 {
483         status = "okay";
484 };
485
486 &gpi_dma2 {
487         status = "okay";
488 };
489
490 &gpu {
491         status = "okay";
492
493         zap-shader {
494                 memory-region = <&gpu_mem>;
495                 firmware-name = "qcom/sm8250/xiaomi/elish/a650_zap.mbn";
496         };
497 };
498
499 &i2c0 {
500         clock-frequency = <400000>;
501         status = "okay";
502
503         fuel-gauge@55 {
504                 compatible = "ti,bq27z561";
505                 reg = <0x55>;
506                 monitored-battery = <&battery_r>;
507         };
508 };
509
510 &i2c11 {
511         clock-frequency = <400000>;
512         status = "okay";
513
514         backlight: backlight@11 {
515                 compatible = "kinetic,ktz8866";
516                 reg = <0x11>;
517                 vddpos-supply = <&bl_vddpos_5p5>;
518                 vddneg-supply = <&bl_vddneg_5p5>;
519                 enable-gpios = <&tlmm 139 GPIO_ACTIVE_HIGH>;
520                 current-num-sinks = <5>;
521                 kinetic,current-ramp-delay-ms = <128>;
522                 kinetic,led-enable-ramp-delay-ms = <1>;
523                 kinetic,enable-lcd-bias;
524         };
525 };
526
527 &i2c13 {
528         clock-frequency = <400000>;
529         status = "okay";
530
531         fuel-gauge@55 {
532                 compatible = "ti,bq27z561";
533                 reg = <0x55>;
534                 monitored-battery = <&battery_l>;
535         };
536 };
537
538 &mdss {
539         status = "okay";
540 };
541
542 &mdss_dsi0 {
543         vdda-supply = <&vreg_l9a_1p2>;
544         qcom,dual-dsi-mode;
545         qcom,sync-dual-dsi;
546         qcom,master-dsi;
547         status = "okay";
548
549         display_panel: panel@0 {
550                 reg = <0>;
551                 vddio-supply = <&vreg_l14a_1p88>;
552                 reset-gpios = <&tlmm 75 GPIO_ACTIVE_LOW>;
553                 backlight = <&backlight>;
554
555                 status = "disabled";
556
557                 ports {
558                         #address-cells = <1>;
559                         #size-cells = <0>;
560
561                         port@0 {
562                                 reg = <0>;
563
564                                 panel_in_0: endpoint {
565                                         remote-endpoint = <&mdss_dsi0_out>;
566                                 };
567                         };
568
569                         port@1 {
570                                 reg = <1>;
571
572                                 panel_in_1: endpoint {
573                                         remote-endpoint = <&mdss_dsi1_out>;
574                                 };
575                         };
576                 };
577         };
578 };
579
580 &mdss_dsi0_out {
581         data-lanes = <0 1 2>;
582         remote-endpoint = <&panel_in_0>;
583 };
584
585 &mdss_dsi0_phy {
586         vdds-supply = <&vreg_l5a_0p88>;
587         phy-type = <PHY_TYPE_CPHY>;
588         status = "okay";
589 };
590
591 &mdss_dsi1 {
592         vdda-supply = <&vreg_l9a_1p2>;
593         qcom,dual-dsi-mode;
594         qcom,sync-dual-dsi;
595         /* DSI1 is slave, so use DSI0 clocks */
596         assigned-clock-parents = <&mdss_dsi0_phy 0>, <&mdss_dsi0_phy 1>;
597         status = "okay";
598 };
599
600 &mdss_dsi1_out {
601         data-lanes = <0 1 2>;
602         remote-endpoint = <&panel_in_1>;
603 };
604
605 &mdss_dsi1_phy {
606         vdds-supply = <&vreg_l5a_0p88>;
607         phy-type = <PHY_TYPE_CPHY>;
608         status = "okay";
609 };
610
611 &pcie0 {
612         status = "okay";
613 };
614
615 &pcie0_phy {
616         vdda-phy-supply = <&vreg_l5a_0p88>;
617         vdda-pll-supply = <&vreg_l9a_1p2>;
618         status = "okay";
619 };
620
621 &pm8150_gpios {
622         vol_up_n: vol-up-n-state {
623                 pins = "gpio6";
624                 function = "normal";
625                 power-source = <1>;
626                 input-enable;
627                 bias-pull-up;
628         };
629 };
630
631 &pm8150b_typec {
632         vdd-pdphy-supply = <&vreg_l2a_3p1>;
633         status = "okay";
634
635         connector {
636                 compatible = "usb-c-connector";
637
638                 power-role = "source";
639                 data-role = "dual";
640                 self-powered;
641
642                 source-pdos = <PDO_FIXED(5000, 3000,
643                                          PDO_FIXED_DUAL_ROLE |
644                                          PDO_FIXED_USB_COMM |
645                                          PDO_FIXED_DATA_SWAP)>;
646
647                 ports {
648                         #address-cells = <1>;
649                         #size-cells = <0>;
650
651                         port@0 {
652                                 reg = <0>;
653
654                                 pm8150b_role_switch_in: endpoint {
655                                         remote-endpoint = <&usb_1_role_switch_out>;
656                                 };
657                         };
658                 };
659         };
660 };
661
662 &pm8150b_vbus {
663         status = "okay";
664 };
665
666 &pon_pwrkey {
667         status = "okay";
668 };
669
670 &pon_resin {
671         linux,code = <KEY_VOLUMEDOWN>;
672         status = "okay";
673 };
674
675 &qupv3_id_0 {
676         status = "okay";
677 };
678
679 &qupv3_id_1 {
680         status = "okay";
681 };
682
683 &qupv3_id_2 {
684         status = "okay";
685 };
686
687 &slpi {
688         firmware-name = "qcom/sm8250/xiaomi/elish/slpi.mbn";
689         status = "okay";
690 };
691
692 &tlmm {
693         gpio-reserved-ranges = <40 4>;
694 };
695
696 &usb_1 {
697         /* USB 2.0 only */
698         qcom,select-utmi-as-pipe-clk;
699         status = "okay";
700 };
701
702 &usb_1_dwc3 {
703         dr_mode = "otg";
704         maximum-speed = "high-speed";
705         /* Remove USB3 phy */
706         phys = <&usb_1_hsphy>;
707         phy-names = "usb2-phy";
708         usb-role-switch;
709 };
710
711 &usb_1_hsphy {
712         vdda-pll-supply = <&vreg_l5a_0p88>;
713         vdda18-supply = <&vreg_l12a_1p8>;
714         vdda33-supply = <&vreg_l2a_3p1>;
715         status = "okay";
716 };
717
718 &usb_1_role_switch_out {
719         remote-endpoint = <&pm8150b_role_switch_in>;
720 };
721
722 &ufs_mem_hc {
723         vcc-supply = <&vreg_l17a_3p0>;
724         vcc-max-microamp = <800000>;
725         vccq-supply = <&vreg_l6a_1p2>;
726         vccq-max-microamp = <800000>;
727         vccq2-supply = <&vreg_s4a_1p8>;
728         vccq2-max-microamp = <800000>;
729         status = "okay";
730 };
731
732 &ufs_mem_phy {
733         vdda-phy-supply = <&vreg_l5a_0p88>;
734         vdda-pll-supply = <&vreg_l9a_1p2>;
735         status = "okay";
736 };
737
738 &venus {
739         firmware-name = "qcom/sm8250/xiaomi/elish/venus.mbn";
740         status = "okay";
741 };