~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/arm64/boot/dts/qcom/sm8150-microsoft-surface-duo.dts

Version: ~ [ linux-6.11-rc3 ] ~ [ linux-6.10.4 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.45 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.104 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.164 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.223 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.281 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.319 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 // SPDX-License-Identifier: BSD-3-Clause
  2 /*
  3  * Copyright (C) 2021, Microsoft Corporation
  4  */
  5 
  6 /dts-v1/;
  7 
  8 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
  9 #include <dt-bindings/gpio/gpio.h>
 10 #include "sm8150.dtsi"
 11 #include "pm8150.dtsi"
 12 #include "pm8150b.dtsi"
 13 #include "pm8150l.dtsi"
 14 
 15 / {
 16         model = "Microsoft Surface Duo";
 17         compatible = "microsoft,surface-duo", "qcom,sm8150";
 18         chassis-type = "handset";
 19 
 20         aliases {
 21                 serial0 = &uart2;
 22         };
 23 
 24         chosen {
 25                 stdout-path = "serial0:115200n8";
 26         };
 27 
 28         vph_pwr: vph-pwr-regulator {
 29                 compatible = "regulator-fixed";
 30                 regulator-name = "vph_pwr";
 31                 regulator-min-microvolt = <3700000>;
 32                 regulator-max-microvolt = <3700000>;
 33         };
 34 
 35         /*
 36          * Apparently RPMh does not provide support for PM8150 S4 because it
 37          * is always-on; model it as a fixed regulator.
 38          */
 39         vreg_s4a_1p8: pm8150-s4 {
 40                 compatible = "regulator-fixed";
 41                 regulator-name = "vreg_s4a_1p8";
 42 
 43                 regulator-min-microvolt = <1800000>;
 44                 regulator-max-microvolt = <1800000>;
 45 
 46                 regulator-always-on;
 47                 regulator-boot-on;
 48 
 49                 vin-supply = <&vph_pwr>;
 50         };
 51 
 52         gpio-keys {
 53                 compatible = "gpio-keys";
 54 
 55                 key-vol-up {
 56                         label = "Volume Up";
 57                         gpios = <&pm8150_gpios 6 GPIO_ACTIVE_LOW>;
 58                         linux,code = <KEY_VOLUMEUP>;
 59                 };
 60         };
 61 };
 62 
 63 &apps_rsc {
 64         regulators-0 {
 65                 compatible = "qcom,pm8150-rpmh-regulators";
 66                 qcom,pmic-id = "a";
 67 
 68                 vdd-s1-supply = <&vph_pwr>;
 69                 vdd-s2-supply = <&vph_pwr>;
 70                 vdd-s3-supply = <&vph_pwr>;
 71                 vdd-s4-supply = <&vph_pwr>;
 72                 vdd-s5-supply = <&vph_pwr>;
 73                 vdd-s6-supply = <&vph_pwr>;
 74                 vdd-s7-supply = <&vph_pwr>;
 75                 vdd-s8-supply = <&vph_pwr>;
 76                 vdd-s9-supply = <&vph_pwr>;
 77                 vdd-s10-supply = <&vph_pwr>;
 78 
 79                 vdd-l1-l8-l11-supply = <&vreg_s6a_0p9>;
 80                 vdd-l2-l10-supply = <&vreg_bob>;
 81                 vdd-l3-l4-l5-l18-supply = <&vreg_s6a_0p9>;
 82                 vdd-l6-l9-supply = <&vreg_s8c_1p3>;
 83                 vdd-l7-l12-l14-l15-supply = <&vreg_s5a_2p0>;
 84                 vdd-l13-l16-l17-supply = <&vreg_bob>;
 85 
 86                 vreg_s5a_2p0: smps5 {
 87                         regulator-min-microvolt = <1904000>;
 88                         regulator-max-microvolt = <2000000>;
 89                 };
 90 
 91                 vreg_s6a_0p9: smps6 {
 92                         regulator-min-microvolt = <920000>;
 93                         regulator-max-microvolt = <1128000>;
 94                 };
 95 
 96                 vdda_wcss_pll:
 97                 vreg_l1a_0p75: ldo1 {
 98                         regulator-min-microvolt = <752000>;
 99                         regulator-max-microvolt = <752000>;
100                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
101                 };
102 
103                 vdd_pdphy:
104                 vdda_usb_hs_3p1:
105                 vreg_l2a_3p1: ldo2 {
106                         regulator-min-microvolt = <3072000>;
107                         regulator-max-microvolt = <3072000>;
108                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
109                 };
110 
111                 vreg_l3a_0p8: ldo3 {
112                         regulator-min-microvolt = <480000>;
113                         regulator-max-microvolt = <932000>;
114                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
115                 };
116 
117                 vdd_usb_hs_core:
118                 vdda_csi_0_0p9:
119                 vdda_csi_1_0p9:
120                 vdda_csi_2_0p9:
121                 vdda_csi_3_0p9:
122                 vdda_dsi_0_0p9:
123                 vdda_dsi_1_0p9:
124                 vdda_dsi_0_pll_0p9:
125                 vdda_dsi_1_pll_0p9:
126                 vdda_pcie_1ln_core:
127                 vdda_pcie_2ln_core:
128                 vdda_pll_hv_cc_ebi01:
129                 vdda_pll_hv_cc_ebi23:
130                 vdda_qrefs_0p875_5:
131                 vdda_sp_sensor:
132                 vdda_ufs_2ln_core_1:
133                 vdda_ufs_2ln_core_2:
134                 vdda_usb_ss_dp_core_1:
135                 vdda_usb_ss_dp_core_2:
136                 vdda_qlink_lv:
137                 vdda_qlink_lv_ck:
138                 vreg_l5a_0p875: ldo5 {
139                         regulator-min-microvolt = <880000>;
140                         regulator-max-microvolt = <880000>;
141                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
142                 };
143 
144                 vreg_l6a_1p2: ldo6 {
145                         regulator-min-microvolt = <1200000>;
146                         regulator-max-microvolt = <1200000>;
147                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
148                 };
149 
150                 vreg_l7a_1p8: ldo7 {
151                         regulator-min-microvolt = <1800000>;
152                         regulator-max-microvolt = <1800000>;
153                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
154                 };
155 
156                 vddpx_10:
157                 vreg_l9a_1p2: ldo9 {
158                         regulator-min-microvolt = <1200000>;
159                         regulator-max-microvolt = <1200000>;
160                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
161                 };
162 
163                 vreg_l10a_2p5: ldo10 {
164                         regulator-min-microvolt = <2504000>;
165                         regulator-max-microvolt = <2960000>;
166                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
167                 };
168 
169                 vreg_l11a_0p8: ldo11 {
170                         regulator-min-microvolt = <800000>;
171                         regulator-max-microvolt = <800000>;
172                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
173                 };
174 
175                 vdd_qfprom:
176                 vdd_qfprom_sp:
177                 vdda_apc_cs_1p8:
178                 vdda_gfx_cs_1p8:
179                 vdda_usb_hs_1p8:
180                 vdda_qrefs_vref_1p8:
181                 vddpx_10_a:
182                 vreg_l12a_1p8: ldo12 {
183                         regulator-min-microvolt = <1800000>;
184                         regulator-max-microvolt = <1800000>;
185                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
186                 };
187 
188                 vreg_l13a_2p7: ldo13 {
189                         regulator-min-microvolt = <2704000>;
190                         regulator-max-microvolt = <2704000>;
191                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
192                 };
193 
194                 vreg_l14a_1p8: ldo14 {
195                         regulator-min-microvolt = <1800000>;
196                         regulator-max-microvolt = <1880000>;
197                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
198                 };
199 
200                 vreg_l15a_1p7: ldo15 {
201                         regulator-min-microvolt = <1704000>;
202                         regulator-max-microvolt = <1704000>;
203                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
204                 };
205 
206                 vreg_l16a_2p7: ldo16 {
207                         regulator-min-microvolt = <2704000>;
208                         regulator-max-microvolt = <2960000>;
209                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
210                 };
211 
212                 vreg_l17a_3p0: ldo17 {
213                         regulator-min-microvolt = <2856000>;
214                         regulator-max-microvolt = <3008000>;
215                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
216                 };
217         };
218 
219         regulators-1 {
220                 compatible = "qcom,pm8150l-rpmh-regulators";
221                 qcom,pmic-id = "c";
222 
223                 vdd-s1-supply = <&vph_pwr>;
224                 vdd-s2-supply = <&vph_pwr>;
225                 vdd-s3-supply = <&vph_pwr>;
226                 vdd-s4-supply = <&vph_pwr>;
227                 vdd-s5-supply = <&vph_pwr>;
228                 vdd-s6-supply = <&vph_pwr>;
229                 vdd-s7-supply = <&vph_pwr>;
230                 vdd-s8-supply = <&vph_pwr>;
231 
232                 vdd-l1-l8-supply = <&vreg_s4a_1p8>;
233                 vdd-l2-l3-supply = <&vreg_s8c_1p3>;
234                 vdd-l4-l5-l6-supply = <&vreg_bob>;
235                 vdd-l7-l11-supply = <&vreg_bob>;
236                 vdd-l9-l10-supply = <&vreg_bob>;
237 
238                 vdd-bob-supply = <&vph_pwr>;
239                 vdd-flash-supply = <&vreg_bob>;
240                 vdd-rgb-supply = <&vreg_bob>;
241 
242                 vreg_bob: bob {
243                         regulator-min-microvolt = <3008000>;
244                         regulator-max-microvolt = <4000000>;
245                         regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
246                         regulator-allow-bypass;
247                 };
248 
249                 vreg_s8c_1p3: smps8 {
250                         regulator-min-microvolt = <1352000>;
251                         regulator-max-microvolt = <1352000>;
252                 };
253 
254                 vreg_l1c_1p8: ldo1 {
255                         regulator-min-microvolt = <1800000>;
256                         regulator-max-microvolt = <1800000>;
257                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
258                 };
259 
260                 vdda_wcss_adcdac_1:
261                 vdda_wcss_adcdac_22:
262                 vreg_l2c_1p3: ldo2 {
263                         regulator-min-microvolt = <1304000>;
264                         regulator-max-microvolt = <1304000>;
265                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
266                 };
267 
268                 vdda_hv_ebi0:
269                 vdda_hv_ebi1:
270                 vdda_hv_ebi2:
271                 vdda_hv_ebi3:
272                 vdda_hv_refgen0:
273                 vdda_qlink_hv_ck:
274                 vreg_l3c_1p2: ldo3 {
275                         regulator-min-microvolt = <1200000>;
276                         regulator-max-microvolt = <1200000>;
277                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
278                 };
279 
280                 vddpx_5:
281                 vreg_l4c_1p8: ldo4 {
282                         regulator-min-microvolt = <1704000>;
283                         regulator-max-microvolt = <2928000>;
284                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
285                 };
286 
287                 vddpx_6:
288                 vreg_l5c_1p8: ldo5 {
289                         regulator-min-microvolt = <1704000>;
290                         regulator-max-microvolt = <2928000>;
291                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
292                 };
293 
294                 vddpx_2:
295                 vreg_l6c_2p9: ldo6 {
296                         regulator-min-microvolt = <1800000>;
297                         regulator-max-microvolt = <2960000>;
298                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
299                 };
300 
301                 vreg_l7c_3p0: ldo7 {
302                         regulator-min-microvolt = <2856000>;
303                         regulator-max-microvolt = <3104000>;
304                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
305                 };
306 
307                 vreg_l8c_1p8: ldo8 {
308                         regulator-min-microvolt = <1800000>;
309                         regulator-max-microvolt = <1800000>;
310                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
311                 };
312 
313                 vreg_l9c_2p9: ldo9 {
314                         regulator-min-microvolt = <2704000>;
315                         regulator-max-microvolt = <2960000>;
316                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
317                 };
318 
319                 vreg_l10c_3p3: ldo10 {
320                         regulator-min-microvolt = <3000000>;
321                         regulator-max-microvolt = <3312000>;
322                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
323                 };
324 
325                 vreg_l11c_3p3: ldo11 {
326                         regulator-min-microvolt = <3000000>;
327                         regulator-max-microvolt = <3312000>;
328                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
329                 };
330         };
331 
332         regulators-2 {
333                 compatible = "qcom,pm8009-rpmh-regulators";
334                 qcom,pmic-id = "f";
335 
336                 vdd-s1-supply = <&vph_pwr>;
337                 vdd-s2-supply = <&vreg_bob>;
338 
339                 vdd-l2-supply = <&vreg_s8c_1p3>;
340                 vdd-l5-l6-supply = <&vreg_bob>;
341 
342                 vreg_l2f_1p2: ldo2 {
343                         regulator-min-microvolt = <1200000>;
344                         regulator-max-microvolt = <1200000>;
345                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
346                 };
347 
348                 vreg_l5f_2p85: ldo5 {
349                         regulator-min-microvolt = <2800000>;
350                         regulator-max-microvolt = <2800000>;
351                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
352                 };
353 
354                 vreg_l6f_2p85: ldo6 {
355                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
356                         regulator-min-microvolt = <2856000>;
357                         regulator-max-microvolt = <2856000>;
358                 };
359         };
360 };
361 
362 &i2c1 {
363         status = "okay";
364         clock-frequency = <400000>;
365 
366         bq27742@55 {
367                 compatible = "ti,bq27742";
368                 reg = <0x55>;
369         };
370 
371         da7280@4a {
372                 compatible = "dlg,da7280";
373                 reg = <0x4a>;
374                 interrupts-extended = <&tlmm 42 IRQ_TYPE_LEVEL_LOW>;
375                 pinctrl-names = "da7280_default";
376                 pinctrl-0 = <&da7280_intr_default>;
377 
378                 dlg,actuator-type = "LRA";
379                 dlg,dlg,const-op-mode = <1>;
380                 dlg,dlg,periodic-op-mode = <1>;
381                 dlg,nom-microvolt = <2000000>;
382                 dlg,abs-max-microvolt = <2000000>;
383                 dlg,imax-microamp = <129000>;
384                 dlg,resonant-freq-hz = <180>;
385                 dlg,impd-micro-ohms = <14300000>;
386                 dlg,freq-track-enable;
387                 dlg,bemf-sens-enable;
388                 dlg,mem-array = <
389                   0x06 0x08 0x10 0x11 0x12 0x13 0x14 0x15 0x1c 0x2a
390                   0x33 0x3c 0x42 0x4b 0x4c 0x4e 0x17 0x19 0x27 0x29
391                   0x17 0x19 0x03 0x84 0x5e 0x04 0x08 0x84 0x5d 0x01
392                   0x84 0x5e 0x02 0x00 0xa4 0x5d 0x03 0x84 0x5e 0x06
393                   0x08 0x84 0x5d 0x05 0x84 0x5d 0x06 0x84 0x5e 0x08
394                   0x84 0x5e 0x05 0x8c 0x5e 0x24 0x84 0x5f 0x10 0x84
395                   0x5e 0x05 0x84 0x5e 0x08 0x84 0x5f 0x01 0x8c 0x5e
396                   0x04 0x84 0x5e 0x08 0x84 0x5f 0x11 0x19 0x88 0x00
397                   0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
398                   0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
399                 >;
400         };
401 
402         /* SMB1381 @ 0x44 */
403         /* MAX34417 @ 0x1c */
404 };
405 
406 &i2c4 {
407         status = "okay";
408         clock-frequency = <400000>;
409 
410         /* SMB1355 @ 0x0c */
411         /* SMB1390 @ 0x10 */
412 };
413 
414 &i2c17 {
415         status = "okay";
416         clock-frequency = <400000>;
417 
418         bq27742@55 {
419                 compatible = "ti,bq27742";
420                 reg = <0x55>;
421         };
422 };
423 
424 &i2c19 {
425         status = "okay";
426         clock-frequency = <400000>;
427 
428         /* MAX34417 @ 0x12 */
429         /* MAX34417 @ 0x1a */
430         /* MAX34417 @ 0x1e */
431 };
432 
433 &pon_pwrkey {
434         status = "okay";
435 };
436 
437 &qupv3_id_0 {
438         status = "okay";
439 };
440 
441 &qupv3_id_1 {
442         status = "okay";
443 };
444 
445 &qupv3_id_2 {
446         status = "okay";
447 };
448 
449 &remoteproc_adsp {
450         status = "okay";
451         firmware-name = "qcom/sm8150/microsoft/adsp.mdt";
452 };
453 
454 &remoteproc_cdsp {
455         status = "okay";
456         firmware-name = "qcom/sm8150/microsoft/cdsp.mdt";
457 };
458 
459 &remoteproc_mpss {
460         status = "okay";
461         firmware-name = "qcom/sm8150/microsoft/modem.mdt";
462 };
463 
464 &remoteproc_slpi {
465         status = "okay";
466         firmware-name = "qcom/sm8150/microsoft/slpi.mdt";
467 };
468 
469 &pon_resin {
470         status = "okay";
471 
472         linux,code = <KEY_VOLUMEDOWN>;
473 };
474 
475 &tlmm {
476         gpio-reserved-ranges = <126 4>;
477 
478         da7280_intr_default: da7280-intr-default-state {
479                 pins = "gpio42";
480                 function = "gpio";
481                 bias-pull-up;
482         };
483 };
484 
485 &uart2 {
486         status = "okay";
487 };
488 
489 &ufs_mem_hc {
490         status = "okay";
491 
492         reset-gpios = <&tlmm 175 GPIO_ACTIVE_LOW>;
493 
494         vcc-supply = <&vreg_l10a_2p5>;
495         vcc-max-microamp = <750000>;
496         vccq-supply = <&vreg_l9a_1p2>;
497         vccq-max-microamp = <700000>;
498         vccq2-supply = <&vreg_s4a_1p8>;
499         vccq2-max-microamp = <750000>;
500 };
501 
502 &ufs_mem_phy {
503         status = "okay";
504 
505         vdda-phy-supply = <&vdda_ufs_2ln_core_1>;
506         vdda-pll-supply = <&vreg_l3c_1p2>;
507 };
508 
509 &usb_1_hsphy {
510         status = "okay";
511         vdda-pll-supply = <&vdd_usb_hs_core>;
512         vdda33-supply = <&vdda_usb_hs_3p1>;
513         vdda18-supply = <&vdda_usb_hs_1p8>;
514 };
515 
516 &usb_1_qmpphy {
517         status = "okay";
518         vdda-phy-supply = <&vreg_l3c_1p2>;
519         vdda-pll-supply = <&vdda_usb_ss_dp_core_1>;
520 };
521 
522 &usb_1 {
523         status = "okay";
524 };
525 
526 &usb_1_dwc3 {
527         dr_mode = "peripheral";
528 };
529 
530 &wifi {
531         status = "okay";
532 
533         vdd-0.8-cx-mx-supply = <&vdda_wcss_pll>;
534         vdd-1.8-xo-supply = <&vreg_l7a_1p8>;
535         vdd-1.3-rfa-supply = <&vdda_wcss_adcdac_1>;
536         vdd-3.3-ch0-supply = <&vreg_l11c_3p3>;
537 };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php