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

TOMOYO Linux Cross Reference
Linux/arch/arm64/boot/dts/qcom/sdm845-db845c.dts

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ 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: GPL-2.0
  2 /*
  3  * Copyright (c) 2019, Linaro Ltd.
  4  */
  5 
  6 /dts-v1/;
  7 
  8 #include <dt-bindings/leds/common.h>
  9 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
 10 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
 11 #include <dt-bindings/sound/qcom,q6afe.h>
 12 #include <dt-bindings/sound/qcom,q6asm.h>
 13 #include "sdm845.dtsi"
 14 #include "sdm845-wcd9340.dtsi"
 15 #include "pm8998.dtsi"
 16 #include "pmi8998.dtsi"
 17 
 18 / {
 19         model = "Thundercomm Dragonboard 845c";
 20         compatible = "thundercomm,db845c", "qcom,sdm845";
 21         qcom,msm-id = <341 0x20001>;
 22         qcom,board-id = <8 0>;
 23 
 24         aliases {
 25                 serial0 = &uart9;
 26                 serial1 = &uart6;
 27         };
 28 
 29         chosen {
 30                 stdout-path = "serial0:115200n8";
 31         };
 32 
 33         /* Fixed crystal oscillator dedicated to MCP2517FD */
 34         clk40M: can-clock {
 35                 compatible = "fixed-clock";
 36                 #clock-cells = <0>;
 37                 clock-frequency = <40000000>;
 38         };
 39 
 40         dc12v: dc12v-regulator {
 41                 compatible = "regulator-fixed";
 42                 regulator-name = "DC12V";
 43                 regulator-min-microvolt = <12000000>;
 44                 regulator-max-microvolt = <12000000>;
 45                 regulator-always-on;
 46         };
 47 
 48         gpio-keys {
 49                 compatible = "gpio-keys";
 50                 autorepeat;
 51 
 52                 pinctrl-names = "default";
 53                 pinctrl-0 = <&vol_up_pin_a>;
 54 
 55                 key-vol-up {
 56                         label = "Volume Up";
 57                         linux,code = <KEY_VOLUMEUP>;
 58                         gpios = <&pm8998_gpios 6 GPIO_ACTIVE_LOW>;
 59                 };
 60         };
 61 
 62         leds {
 63                 compatible = "gpio-leds";
 64 
 65                 led-0 {
 66                         label = "green:user4";
 67                         function = LED_FUNCTION_INDICATOR;
 68                         color = <LED_COLOR_ID_GREEN>;
 69                         gpios = <&pm8998_gpios 13 GPIO_ACTIVE_HIGH>;
 70                         default-state = "off";
 71                         panic-indicator;
 72                 };
 73 
 74                 led-1 {
 75                         label = "yellow:wlan";
 76                         function = LED_FUNCTION_WLAN;
 77                         color = <LED_COLOR_ID_YELLOW>;
 78                         gpios = <&pm8998_gpios 9 GPIO_ACTIVE_HIGH>;
 79                         linux,default-trigger = "phy0tx";
 80                         default-state = "off";
 81                 };
 82 
 83                 led-2 {
 84                         label = "blue:bt";
 85                         function = LED_FUNCTION_BLUETOOTH;
 86                         color = <LED_COLOR_ID_BLUE>;
 87                         gpios = <&pm8998_gpios 5 GPIO_ACTIVE_HIGH>;
 88                         linux,default-trigger = "bluetooth-power";
 89                         default-state = "off";
 90                 };
 91         };
 92 
 93         hdmi-out {
 94                 compatible = "hdmi-connector";
 95                 type = "a";
 96 
 97                 port {
 98                         hdmi_con: endpoint {
 99                                 remote-endpoint = <&lt9611_out>;
100                         };
101                 };
102         };
103 
104         reserved-memory {
105                 /* Cont splash region set up by the bootloader */
106                 cont_splash_mem: framebuffer@9d400000 {
107                         reg = <0x0 0x9d400000 0x0 0x2400000>;
108                         no-map;
109                 };
110         };
111 
112         lt9611_1v8: lt9611-vdd18-regulator {
113                 compatible = "regulator-fixed";
114                 regulator-name = "LT9611_1V8";
115 
116                 vin-supply = <&vdc_5v>;
117                 regulator-min-microvolt = <1800000>;
118                 regulator-max-microvolt = <1800000>;
119 
120                 gpio = <&tlmm 89 GPIO_ACTIVE_HIGH>;
121                 enable-active-high;
122         };
123 
124         lt9611_3v3: lt9611-3v3 {
125                 compatible = "regulator-fixed";
126                 regulator-name = "LT9611_3V3";
127 
128                 vin-supply = <&vdc_3v3>;
129                 regulator-min-microvolt = <3300000>;
130                 regulator-max-microvolt = <3300000>;
131 
132                 /*
133                  * TODO: make it possible to drive same GPIO from two clients
134                  * gpio = <&tlmm 89 GPIO_ACTIVE_HIGH>;
135                  * enable-active-high;
136                  */
137         };
138 
139         pcie0_1p05v: pcie-0-1p05v-regulator {
140                 compatible = "regulator-fixed";
141                 regulator-name = "PCIE0_1.05V";
142 
143                 vin-supply = <&vbat>;
144                 regulator-min-microvolt = <1050000>;
145                 regulator-max-microvolt = <1050000>;
146 
147                 /*
148                  * TODO: make it possible to drive same GPIO from two clients
149                  * gpio = <&tlmm 90 GPIO_ACTIVE_HIGH>;
150                  * enable-active-high;
151                  */
152         };
153 
154         cam0_dvdd_1v2: cam0-dvdd-1v2-regulator {
155                 compatible = "regulator-fixed";
156                 regulator-name = "CAM0_DVDD_1V2";
157                 regulator-min-microvolt = <1200000>;
158                 regulator-max-microvolt = <1200000>;
159                 enable-active-high;
160                 gpio = <&pm8998_gpios 12 GPIO_ACTIVE_HIGH>;
161                 pinctrl-names = "default";
162                 pinctrl-0 = <&cam0_dvdd_1v2_en_default>;
163                 vin-supply = <&vbat>;
164         };
165 
166         cam0_avdd_2v8: cam0-avdd-2v8-regulator {
167                 compatible = "regulator-fixed";
168                 regulator-name = "CAM0_AVDD_2V8";
169                 regulator-min-microvolt = <2800000>;
170                 regulator-max-microvolt = <2800000>;
171                 enable-active-high;
172                 gpio = <&pm8998_gpios 10 GPIO_ACTIVE_HIGH>;
173                 pinctrl-names = "default";
174                 pinctrl-0 = <&cam0_avdd_2v8_en_default>;
175                 vin-supply = <&vbat>;
176         };
177 
178         /* This regulator is enabled when the VREG_LVS1A_1P8 trace is enabled */
179         cam3_avdd_2v8: cam3-avdd-2v8-regulator {
180                 compatible = "regulator-fixed";
181                 regulator-name = "CAM3_AVDD_2V8";
182                 regulator-min-microvolt = <2800000>;
183                 regulator-max-microvolt = <2800000>;
184                 regulator-always-on;
185                 vin-supply = <&vbat>;
186         };
187 
188         pcie0_3p3v_dual: vldo-3v3-regulator {
189                 compatible = "regulator-fixed";
190                 regulator-name = "VLDO_3V3";
191 
192                 vin-supply = <&vbat>;
193                 regulator-min-microvolt = <3300000>;
194                 regulator-max-microvolt = <3300000>;
195 
196                 gpio = <&tlmm 90 GPIO_ACTIVE_HIGH>;
197                 enable-active-high;
198                 /*
199                  * FIXME: this regulator is responsible for VBUS on the left USB
200                  * port. Keep it always on until we can correctly model this
201                  * relationship.
202                  */
203                 regulator-always-on;
204 
205                 pinctrl-names = "default";
206                 pinctrl-0 = <&pcie0_pwren_state>;
207         };
208 
209         v5p0_hdmiout: v5p0-hdmiout-regulator {
210                 compatible = "regulator-fixed";
211                 regulator-name = "V5P0_HDMIOUT";
212 
213                 vin-supply = <&vdc_5v>;
214                 regulator-min-microvolt = <500000>;
215                 regulator-max-microvolt = <500000>;
216 
217                 /*
218                  * TODO: make it possible to drive same GPIO from two clients
219                  * gpio = <&tlmm 89 GPIO_ACTIVE_HIGH>;
220                  * enable-active-high;
221                  */
222         };
223 
224         vbat: vbat-regulator {
225                 compatible = "regulator-fixed";
226                 regulator-name = "VBAT";
227 
228                 vin-supply = <&dc12v>;
229                 regulator-min-microvolt = <4200000>;
230                 regulator-max-microvolt = <4200000>;
231                 regulator-always-on;
232         };
233 
234         vbat_som: vbat-som-regulator {
235                 compatible = "regulator-fixed";
236                 regulator-name = "VBAT_SOM";
237 
238                 vin-supply = <&dc12v>;
239                 regulator-min-microvolt = <4200000>;
240                 regulator-max-microvolt = <4200000>;
241                 regulator-always-on;
242         };
243 
244         vdc_3v3: vdc-3v3-regulator {
245                 compatible = "regulator-fixed";
246                 regulator-name = "VDC_3V3";
247                 vin-supply = <&dc12v>;
248                 regulator-min-microvolt = <3300000>;
249                 regulator-max-microvolt = <3300000>;
250                 regulator-always-on;
251         };
252 
253         vdc_5v: vdc-5v-regulator {
254                 compatible = "regulator-fixed";
255                 regulator-name = "VDC_5V";
256 
257                 vin-supply = <&dc12v>;
258                 regulator-min-microvolt = <500000>;
259                 regulator-max-microvolt = <500000>;
260                 regulator-always-on;
261         };
262 
263         vreg_s4a_1p8: vreg-s4a-1p8 {
264                 compatible = "regulator-fixed";
265                 regulator-name = "vreg_s4a_1p8";
266 
267                 regulator-min-microvolt = <1800000>;
268                 regulator-max-microvolt = <1800000>;
269                 regulator-always-on;
270         };
271 
272         vph_pwr: vph-pwr-regulator {
273                 compatible = "regulator-fixed";
274                 regulator-name = "vph_pwr";
275 
276                 vin-supply = <&vbat_som>;
277         };
278 };
279 
280 &adsp_pas {
281         status = "okay";
282 
283         firmware-name = "qcom/sdm845/adsp.mbn";
284 };
285 
286 &apps_rsc {
287         regulators-0 {
288                 compatible = "qcom,pm8998-rpmh-regulators";
289                 qcom,pmic-id = "a";
290                 vdd-s1-supply = <&vph_pwr>;
291                 vdd-s2-supply = <&vph_pwr>;
292                 vdd-s3-supply = <&vph_pwr>;
293                 vdd-s4-supply = <&vph_pwr>;
294                 vdd-s5-supply = <&vph_pwr>;
295                 vdd-s6-supply = <&vph_pwr>;
296                 vdd-s7-supply = <&vph_pwr>;
297                 vdd-s8-supply = <&vph_pwr>;
298                 vdd-s9-supply = <&vph_pwr>;
299                 vdd-s10-supply = <&vph_pwr>;
300                 vdd-s11-supply = <&vph_pwr>;
301                 vdd-s12-supply = <&vph_pwr>;
302                 vdd-s13-supply = <&vph_pwr>;
303                 vdd-l1-l27-supply = <&vreg_s7a_1p025>;
304                 vdd-l2-l8-l17-supply = <&vreg_s3a_1p35>;
305                 vdd-l3-l11-supply = <&vreg_s7a_1p025>;
306                 vdd-l4-l5-supply = <&vreg_s7a_1p025>;
307                 vdd-l6-supply = <&vph_pwr>;
308                 vdd-l7-l12-l14-l15-supply = <&vreg_s5a_2p04>;
309                 vdd-l9-supply = <&vreg_bob>;
310                 vdd-l10-l23-l25-supply = <&vreg_bob>;
311                 vdd-l13-l19-l21-supply = <&vreg_bob>;
312                 vdd-l16-l28-supply = <&vreg_bob>;
313                 vdd-l18-l22-supply = <&vreg_bob>;
314                 vdd-l20-l24-supply = <&vreg_bob>;
315                 vdd-l26-supply = <&vreg_s3a_1p35>;
316                 vin-lvs-1-2-supply = <&vreg_s4a_1p8>;
317 
318                 vreg_s3a_1p35: smps3 {
319                         regulator-min-microvolt = <1352000>;
320                         regulator-max-microvolt = <1352000>;
321                 };
322 
323                 vreg_s5a_2p04: smps5 {
324                         regulator-min-microvolt = <1904000>;
325                         regulator-max-microvolt = <2040000>;
326                 };
327 
328                 vreg_s7a_1p025: smps7 {
329                         regulator-min-microvolt = <900000>;
330                         regulator-max-microvolt = <1028000>;
331                 };
332 
333                 vreg_l1a_0p875: ldo1 {
334                         regulator-min-microvolt = <880000>;
335                         regulator-max-microvolt = <880000>;
336                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
337                 };
338 
339                 vreg_l5a_0p8: ldo5 {
340                         regulator-min-microvolt = <800000>;
341                         regulator-max-microvolt = <800000>;
342                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
343                 };
344 
345                 vreg_l12a_1p8: ldo12 {
346                         regulator-min-microvolt = <1800000>;
347                         regulator-max-microvolt = <1800000>;
348                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
349                 };
350 
351                 vreg_l7a_1p8: ldo7 {
352                         regulator-min-microvolt = <1800000>;
353                         regulator-max-microvolt = <1800000>;
354                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
355                 };
356 
357                 vreg_l13a_2p95: ldo13 {
358                         regulator-min-microvolt = <1800000>;
359                         regulator-max-microvolt = <2960000>;
360                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
361                 };
362 
363                 vreg_l17a_1p3: ldo17 {
364                         regulator-min-microvolt = <1304000>;
365                         regulator-max-microvolt = <1304000>;
366                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
367                 };
368 
369                 vreg_l20a_2p95: ldo20 {
370                         regulator-min-microvolt = <2960000>;
371                         regulator-max-microvolt = <2968000>;
372                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
373                 };
374 
375                 vreg_l21a_2p95: ldo21 {
376                         regulator-min-microvolt = <2960000>;
377                         regulator-max-microvolt = <2968000>;
378                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
379                 };
380 
381                 vreg_l24a_3p075: ldo24 {
382                         regulator-min-microvolt = <3088000>;
383                         regulator-max-microvolt = <3088000>;
384                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
385                 };
386 
387                 vreg_l25a_3p3: ldo25 {
388                         regulator-min-microvolt = <3300000>;
389                         regulator-max-microvolt = <3312000>;
390                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
391                 };
392 
393                 vreg_l26a_1p2: ldo26 {
394                         regulator-min-microvolt = <1200000>;
395                         regulator-max-microvolt = <1200000>;
396                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
397                 };
398 
399                 vreg_lvs1a_1p8: lvs1 {
400                         regulator-min-microvolt = <1800000>;
401                         regulator-max-microvolt = <1800000>;
402                         regulator-always-on;
403                 };
404 
405                 vreg_lvs2a_1p8: lvs2 {
406                         regulator-min-microvolt = <1800000>;
407                         regulator-max-microvolt = <1800000>;
408                         regulator-always-on;
409                 };
410         };
411 
412         regulators-1 {
413                 compatible = "qcom,pmi8998-rpmh-regulators";
414                 qcom,pmic-id = "b";
415 
416                 vdd-bob-supply = <&vph_pwr>;
417 
418                 vreg_bob: bob {
419                         regulator-min-microvolt = <3312000>;
420                         regulator-max-microvolt = <3600000>;
421                         regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
422                         regulator-allow-bypass;
423                 };
424         };
425 };
426 
427 &camss {
428         status = "okay";
429 
430         vdda-phy-supply = <&vreg_l1a_0p875>;
431         vdda-pll-supply = <&vreg_l26a_1p2>;
432 };
433 
434 &cdsp_pas {
435         status = "okay";
436         firmware-name = "qcom/sdm845/cdsp.mbn";
437 };
438 
439 &gcc {
440         protected-clocks = <GCC_QSPI_CORE_CLK>,
441                            <GCC_QSPI_CORE_CLK_SRC>,
442                            <GCC_QSPI_CNOC_PERIPH_AHB_CLK>,
443                            <GCC_LPASS_Q6_AXI_CLK>,
444                            <GCC_LPASS_SWAY_CLK>;
445 };
446 
447 &gmu {
448         status = "okay";
449 };
450 
451 &gpi_dma0 {
452         status = "okay";
453 };
454 
455 &gpi_dma1 {
456         status = "okay";
457 };
458 
459 &gpu {
460         status = "okay";
461         zap-shader {
462                 memory-region = <&gpu_mem>;
463                 firmware-name = "qcom/sdm845/a630_zap.mbn";
464         };
465 };
466 
467 &i2c10 {
468         status = "okay";
469         clock-frequency = <400000>;
470 
471         lt9611_codec: hdmi-bridge@3b {
472                 compatible = "lontium,lt9611";
473                 reg = <0x3b>;
474                 #sound-dai-cells = <1>;
475 
476                 interrupts-extended = <&tlmm 84 IRQ_TYPE_EDGE_FALLING>;
477 
478                 reset-gpios = <&tlmm 128 GPIO_ACTIVE_HIGH>;
479 
480                 vdd-supply = <&lt9611_1v8>;
481                 vcc-supply = <&lt9611_3v3>;
482 
483                 pinctrl-names = "default";
484                 pinctrl-0 = <&lt9611_irq_pin>, <&dsi_sw_sel>;
485 
486                 ports {
487                         #address-cells = <1>;
488                         #size-cells = <0>;
489 
490                         port@0 {
491                                 reg = <0>;
492 
493                                 lt9611_a: endpoint {
494                                         remote-endpoint = <&mdss_dsi0_out>;
495                                 };
496                         };
497 
498                         port@1 {
499                                 reg = <1>;
500 
501                                 lt9611_b: endpoint {
502                                         remote-endpoint = <&mdss_dsi1_out>;
503                                 };
504                         };
505 
506                         port@2 {
507                                 reg = <2>;
508 
509                                 lt9611_out: endpoint {
510                                         remote-endpoint = <&hdmi_con>;
511                                 };
512                         };
513                 };
514         };
515 };
516 
517 &i2c11 {
518         /* On Low speed expansion */
519         clock-frequency = <100000>;
520         status = "okay";
521 };
522 
523 &i2c14 {
524         /* On Low speed expansion */
525         clock-frequency = <100000>;
526         status = "okay";
527 };
528 
529 &mdss {
530         memory-region = <&cont_splash_mem>;
531         status = "okay";
532 };
533 
534 &mdss_dsi0 {
535         status = "okay";
536         vdda-supply = <&vreg_l26a_1p2>;
537 
538         qcom,dual-dsi-mode;
539         qcom,master-dsi;
540 
541         ports {
542                 port@1 {
543                         endpoint {
544                                 remote-endpoint = <&lt9611_a>;
545                                 data-lanes = <0 1 2 3>;
546                         };
547                 };
548         };
549 };
550 
551 &mdss_dsi0_phy {
552         status = "okay";
553         vdds-supply = <&vreg_l1a_0p875>;
554 };
555 
556 &mdss_dsi1 {
557         vdda-supply = <&vreg_l26a_1p2>;
558 
559         qcom,dual-dsi-mode;
560 
561         /* DSI1 is slave, so use DSI0 clocks */
562         assigned-clock-parents = <&mdss_dsi0_phy 0>, <&mdss_dsi0_phy 1>;
563 
564         status = "okay";
565 
566         ports {
567                 port@1 {
568                         endpoint {
569                                 remote-endpoint = <&lt9611_b>;
570                                 data-lanes = <0 1 2 3>;
571                         };
572                 };
573         };
574 };
575 
576 &mdss_dsi1_phy {
577         vdds-supply = <&vreg_l1a_0p875>;
578         status = "okay";
579 };
580 
581 &mss_pil {
582         status = "okay";
583         firmware-name = "qcom/sdm845/mba.mbn", "qcom/sdm845/modem.mbn";
584 };
585 
586 &pcie0 {
587         status = "okay";
588         perst-gpios = <&tlmm 35 GPIO_ACTIVE_LOW>;
589         wake-gpios = <&tlmm 134 GPIO_ACTIVE_HIGH>;
590 
591         vddpe-3v3-supply = <&pcie0_3p3v_dual>;
592 
593         pinctrl-names = "default";
594         pinctrl-0 = <&pcie0_default_state>;
595 };
596 
597 &pcie0_phy {
598         status = "okay";
599 
600         vdda-phy-supply = <&vreg_l1a_0p875>;
601         vdda-pll-supply = <&vreg_l26a_1p2>;
602 };
603 
604 &pcie1 {
605         status = "okay";
606         perst-gpios = <&tlmm 102 GPIO_ACTIVE_LOW>;
607 
608         pinctrl-names = "default";
609         pinctrl-0 = <&pcie1_default_state>;
610 };
611 
612 &pcie1_phy {
613         status = "okay";
614 
615         vdda-phy-supply = <&vreg_l1a_0p875>;
616         vdda-pll-supply = <&vreg_l26a_1p2>;
617 };
618 
619 &pm8998_gpios {
620         gpio-line-names =
621                 "NC",
622                 "NC",
623                 "WLAN_SW_CTRL",
624                 "NC",
625                 "PM_GPIO5_BLUE_BT_LED",
626                 "VOL_UP_N",
627                 "NC",
628                 "ADC_IN1",
629                 "PM_GPIO9_YEL_WIFI_LED",
630                 "CAM0_AVDD_EN",
631                 "NC",
632                 "CAM0_DVDD_EN",
633                 "PM_GPIO13_GREEN_U4_LED",
634                 "DIV_CLK2",
635                 "NC",
636                 "NC",
637                 "NC",
638                 "SMB_STAT",
639                 "NC",
640                 "NC",
641                 "ADC_IN2",
642                 "OPTION1",
643                 "WCSS_PWR_REQ",
644                 "PM845_GPIO24",
645                 "OPTION2",
646                 "PM845_SLB";
647 
648         cam0_dvdd_1v2_en_default: cam0-dvdd-1v2-en-state {
649                 pins = "gpio12";
650                 function = "normal";
651 
652                 bias-pull-up;
653                 drive-push-pull;
654                 qcom,drive-strength = <PMIC_GPIO_STRENGTH_HIGH>;
655         };
656 
657         cam0_avdd_2v8_en_default: cam0-avdd-2v8-en-state {
658                 pins = "gpio10";
659                 function = "normal";
660 
661                 bias-pull-up;
662                 drive-push-pull;
663                 qcom,drive-strength = <PMIC_GPIO_STRENGTH_HIGH>;
664         };
665 
666         vol_up_pin_a: vol-up-active-state {
667                 pins = "gpio6";
668                 function = "normal";
669                 input-enable;
670                 bias-pull-up;
671                 qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
672         };
673 };
674 
675 &pm8998_resin {
676         linux,code = <KEY_VOLUMEDOWN>;
677         status = "okay";
678 };
679 
680 &pmi8998_lpg {
681         status = "okay";
682 
683         qcom,power-source = <1>;
684 
685         led@3 {
686                 reg = <3>;
687                 color = <LED_COLOR_ID_GREEN>;
688                 function = LED_FUNCTION_HEARTBEAT;
689                 function-enumerator = <3>;
690 
691                 linux,default-trigger = "heartbeat";
692                 default-state = "on";
693         };
694 
695         led@4 {
696                 reg = <4>;
697                 color = <LED_COLOR_ID_GREEN>;
698                 function = LED_FUNCTION_INDICATOR;
699                 function-enumerator = <2>;
700         };
701 
702         led@5 {
703                 reg = <5>;
704                 color = <LED_COLOR_ID_GREEN>;
705                 function = LED_FUNCTION_INDICATOR;
706                 function-enumerator = <1>;
707         };
708 };
709 
710 /* QUAT I2S Uses 4 I2S SD Lines for audio on LT9611 HDMI Bridge */
711 &q6afedai {
712         dai@22 {
713                 reg = <QUATERNARY_MI2S_RX>;
714                 qcom,sd-lines = <0 1 2 3>;
715         };
716 };
717 
718 &q6asmdai {
719         dai@0 {
720                 reg = <0>;
721         };
722 
723         dai@1 {
724                 reg = <1>;
725         };
726 
727         dai@2 {
728                 reg = <2>;
729         };
730 
731         dai@3 {
732                 reg = <3>;
733                 direction = <2>;
734                 is-compress-dai;
735         };
736 };
737 
738 &qupv3_id_0 {
739         status = "okay";
740 };
741 
742 &qupv3_id_1 {
743         status = "okay";
744 };
745 
746 &sdhc_2 {
747         status = "okay";
748 
749         pinctrl-names = "default";
750         pinctrl-0 = <&sdc2_default_state &sdc2_card_det_n>;
751 
752         vmmc-supply = <&vreg_l21a_2p95>;
753         vqmmc-supply = <&vreg_l13a_2p95>;
754 
755         bus-width = <4>;
756         cd-gpios = <&tlmm 126 GPIO_ACTIVE_LOW>;
757 };
758 
759 &sound {
760         compatible = "qcom,db845c-sndcard", "qcom,sdm845-sndcard";
761         pinctrl-0 = <&quat_mi2s_active
762                          &quat_mi2s_sd0_active
763                          &quat_mi2s_sd1_active
764                          &quat_mi2s_sd2_active
765                          &quat_mi2s_sd3_active>;
766         pinctrl-names = "default";
767         model = "DB845c";
768         audio-routing =
769                 "RX_BIAS", "MCLK",
770                 "AMIC1", "MIC BIAS1",
771                 "AMIC2", "MIC BIAS2",
772                 "DMIC0", "MIC BIAS1",
773                 "DMIC1", "MIC BIAS1",
774                 "DMIC2", "MIC BIAS3",
775                 "DMIC3", "MIC BIAS3",
776                 "SpkrLeft IN", "SPK1 OUT",
777                 "SpkrRight IN", "SPK2 OUT",
778                 "MM_DL1",  "MultiMedia1 Playback",
779                 "MM_DL2",  "MultiMedia2 Playback",
780                 "MM_DL4",  "MultiMedia4 Playback",
781                 "MultiMedia3 Capture", "MM_UL3";
782 
783         mm1-dai-link {
784                 link-name = "MultiMedia1";
785                 cpu {
786                         sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA1>;
787                 };
788         };
789 
790         mm2-dai-link {
791                 link-name = "MultiMedia2";
792                 cpu {
793                         sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA2>;
794                 };
795         };
796 
797         mm3-dai-link {
798                 link-name = "MultiMedia3";
799                 cpu {
800                         sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA3>;
801                 };
802         };
803 
804         mm4-dai-link {
805                 link-name = "MultiMedia4";
806                 cpu {
807                         sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA4>;
808                 };
809         };
810 
811         hdmi-dai-link {
812                 link-name = "HDMI Playback";
813                 cpu {
814                         sound-dai = <&q6afedai QUATERNARY_MI2S_RX>;
815                 };
816 
817                 platform {
818                         sound-dai = <&q6routing>;
819                 };
820 
821                 codec {
822                         sound-dai = <&lt9611_codec 0>;
823                 };
824         };
825 
826         slim-dai-link {
827                 link-name = "SLIM Playback";
828                 cpu {
829                         sound-dai = <&q6afedai SLIMBUS_0_RX>;
830                 };
831 
832                 platform {
833                         sound-dai = <&q6routing>;
834                 };
835 
836                 codec {
837                         sound-dai = <&left_spkr>, <&right_spkr>, <&swm 0>, <&wcd9340 0>;
838                 };
839         };
840 
841         slimcap-dai-link {
842                 link-name = "SLIM Capture";
843                 cpu {
844                         sound-dai = <&q6afedai SLIMBUS_0_TX>;
845                 };
846 
847                 platform {
848                         sound-dai = <&q6routing>;
849                 };
850 
851                 codec {
852                         sound-dai = <&wcd9340 1>;
853                 };
854         };
855 };
856 
857 &spi0 {
858         status = "okay";
859         pinctrl-names = "default";
860         pinctrl-0 = <&qup_spi0_default>;
861         cs-gpios = <&tlmm 3 GPIO_ACTIVE_LOW>;
862 
863         can@0 {
864                 compatible = "microchip,mcp2517fd";
865                 reg = <0>;
866                 clocks = <&clk40M>;
867                 interrupts-extended = <&tlmm 104 IRQ_TYPE_LEVEL_LOW>;
868                 spi-max-frequency = <10000000>;
869                 vdd-supply = <&vdc_5v>;
870                 xceiver-supply = <&vdc_5v>;
871         };
872 };
873 
874 &spi2 {
875         /* On Low speed expansion */
876         status = "okay";
877 };
878 
879 &tlmm {
880         cam0_default: cam0-default-state {
881                 rst-pins {
882                         pins = "gpio9";
883                         function = "gpio";
884 
885                         drive-strength = <16>;
886                         bias-disable;
887                 };
888 
889                 mclk0-pins {
890                         pins = "gpio13";
891                         function = "cam_mclk";
892 
893                         drive-strength = <16>;
894                         bias-disable;
895                 };
896         };
897 
898         cam3_default: cam3-default-state {
899                 rst-pins {
900                         function = "gpio";
901                         pins = "gpio21";
902 
903                         drive-strength = <16>;
904                         bias-disable;
905                 };
906 
907                 mclk3-pins {
908                         function = "cam_mclk";
909                         pins = "gpio16";
910 
911                         drive-strength = <16>;
912                         bias-disable;
913                 };
914         };
915 
916         dsi_sw_sel: dsi-sw-sel-state {
917                 pins = "gpio120";
918                 function = "gpio";
919 
920                 drive-strength = <2>;
921                 bias-disable;
922                 output-high;
923         };
924 
925         lt9611_irq_pin: lt9611-irq-state {
926                 pins = "gpio84";
927                 function = "gpio";
928                 bias-disable;
929         };
930 
931         pcie0_default_state: pcie0-default-state {
932                 clkreq-pins {
933                         pins = "gpio36";
934                         function = "pci_e0";
935                         bias-pull-up;
936                 };
937 
938                 reset-n-pins {
939                         pins = "gpio35";
940                         function = "gpio";
941 
942                         drive-strength = <2>;
943                         output-low;
944                         bias-pull-down;
945                 };
946 
947                 wake-n-pins {
948                         pins = "gpio37";
949                         function = "gpio";
950 
951                         drive-strength = <2>;
952                         bias-pull-up;
953                 };
954         };
955 
956         pcie0_pwren_state: pcie0-pwren-state {
957                 pins = "gpio90";
958                 function = "gpio";
959 
960                 drive-strength = <2>;
961                 bias-disable;
962         };
963 
964         pcie1_default_state: pcie1-default-state {
965                 perst-n-pins {
966                         pins = "gpio102";
967                         function = "gpio";
968 
969                         drive-strength = <16>;
970                         bias-disable;
971                 };
972 
973                 clkreq-pins {
974                         pins = "gpio103";
975                         function = "pci_e1";
976                         bias-pull-up;
977                 };
978 
979                 wake-n-pins {
980                         pins = "gpio11";
981                         function = "gpio";
982 
983                         drive-strength = <2>;
984                         bias-pull-up;
985                 };
986 
987                 reset-n-pins {
988                         pins = "gpio75";
989                         function = "gpio";
990 
991                         drive-strength = <16>;
992                         bias-pull-up;
993                         output-high;
994                 };
995         };
996 
997         sdc2_default_state: sdc2-default-state {
998                 clk-pins {
999                         pins = "sdc2_clk";
1000                         bias-disable;
1001 
1002                         /*
1003                          * It seems that mmc_test reports errors if drive
1004                          * strength is not 16 on clk, cmd, and data pins.
1005                          */
1006                         drive-strength = <16>;
1007                 };
1008 
1009                 cmd-pins {
1010                         pins = "sdc2_cmd";
1011                         bias-pull-up;
1012                         drive-strength = <10>;
1013                 };
1014 
1015                 data-pins {
1016                         pins = "sdc2_data";
1017                         bias-pull-up;
1018                         drive-strength = <10>;
1019                 };
1020         };
1021 
1022         sdc2_card_det_n: sd-card-det-n-state {
1023                 pins = "gpio126";
1024                 function = "gpio";
1025                 bias-pull-up;
1026         };
1027 };
1028 
1029 &uart3 {
1030         label = "LS-UART0";
1031         pinctrl-0 = <&qup_uart3_4pin>;
1032 
1033         status = "disabled";
1034 };
1035 
1036 &uart6 {
1037         status = "okay";
1038 
1039         pinctrl-0 = <&qup_uart6_4pin>;
1040 
1041         bluetooth {
1042                 compatible = "qcom,wcn3990-bt";
1043 
1044                 vddio-supply = <&vreg_s4a_1p8>;
1045                 vddxo-supply = <&vreg_l7a_1p8>;
1046                 vddrf-supply = <&vreg_l17a_1p3>;
1047                 vddch0-supply = <&vreg_l25a_3p3>;
1048                 max-speed = <3200000>;
1049         };
1050 };
1051 
1052 &uart9 {
1053         label = "LS-UART1";
1054         status = "okay";
1055 };
1056 
1057 &usb_1 {
1058         status = "okay";
1059 };
1060 
1061 &usb_1_dwc3 {
1062         dr_mode = "peripheral";
1063 };
1064 
1065 &usb_1_hsphy {
1066         status = "okay";
1067 
1068         vdd-supply = <&vreg_l1a_0p875>;
1069         vdda-pll-supply = <&vreg_l12a_1p8>;
1070         vdda-phy-dpdm-supply = <&vreg_l24a_3p075>;
1071 
1072         qcom,imp-res-offset-value = <8>;
1073         qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_21_6_MA>;
1074         qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_5_PERCENT>;
1075         qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>;
1076 };
1077 
1078 &usb_1_qmpphy {
1079         status = "okay";
1080 
1081         vdda-phy-supply = <&vreg_l26a_1p2>;
1082         vdda-pll-supply = <&vreg_l1a_0p875>;
1083 };
1084 
1085 &usb_2 {
1086         status = "okay";
1087 };
1088 
1089 &usb_2_dwc3 {
1090         dr_mode = "host";
1091 };
1092 
1093 &usb_2_hsphy {
1094         status = "okay";
1095 
1096         vdd-supply = <&vreg_l1a_0p875>;
1097         vdda-pll-supply = <&vreg_l12a_1p8>;
1098         vdda-phy-dpdm-supply = <&vreg_l24a_3p075>;
1099 
1100         qcom,imp-res-offset-value = <8>;
1101         qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_22_8_MA>;
1102 };
1103 
1104 &usb_2_qmpphy {
1105         status = "okay";
1106 
1107         vdda-phy-supply = <&vreg_l26a_1p2>;
1108         vdda-pll-supply = <&vreg_l1a_0p875>;
1109 };
1110 
1111 &ufs_mem_hc {
1112         status = "okay";
1113 
1114         reset-gpios = <&tlmm 150 GPIO_ACTIVE_LOW>;
1115 
1116         vcc-supply = <&vreg_l20a_2p95>;
1117         vcc-max-microamp = <800000>;
1118 };
1119 
1120 &ufs_mem_phy {
1121         status = "okay";
1122 
1123         vdda-phy-supply = <&vreg_l1a_0p875>;
1124         vdda-pll-supply = <&vreg_l26a_1p2>;
1125 };
1126 
1127 &venus {
1128         status = "okay";
1129 };
1130 
1131 &wcd9340 {
1132         reset-gpios = <&tlmm 64 GPIO_ACTIVE_HIGH>;
1133         vdd-buck-supply = <&vreg_s4a_1p8>;
1134         vdd-buck-sido-supply = <&vreg_s4a_1p8>;
1135         vdd-tx-supply = <&vreg_s4a_1p8>;
1136         vdd-rx-supply = <&vreg_s4a_1p8>;
1137         vdd-io-supply = <&vreg_s4a_1p8>;
1138 
1139         swm: soundwire@c85 {
1140                 left_spkr: speaker@0,1 {
1141                         compatible = "sdw10217201000";
1142                         reg = <0 1>;
1143                         powerdown-gpios = <&wcdgpio 1 GPIO_ACTIVE_HIGH>;
1144                         #thermal-sensor-cells = <0>;
1145                         sound-name-prefix = "SpkrLeft";
1146                         #sound-dai-cells = <0>;
1147                 };
1148 
1149                 right_spkr: speaker@0,2 {
1150                         compatible = "sdw10217201000";
1151                         powerdown-gpios = <&wcdgpio 1 GPIO_ACTIVE_HIGH>;
1152                         reg = <0 2>;
1153                         #thermal-sensor-cells = <0>;
1154                         sound-name-prefix = "SpkrRight";
1155                         #sound-dai-cells = <0>;
1156                 };
1157         };
1158 };
1159 
1160 &wifi {
1161         status = "okay";
1162 
1163         vdd-0.8-cx-mx-supply = <&vreg_l5a_0p8>;
1164         vdd-1.8-xo-supply = <&vreg_l7a_1p8>;
1165         vdd-1.3-rfa-supply = <&vreg_l17a_1p3>;
1166         vdd-3.3-ch0-supply = <&vreg_l25a_3p3>;
1167 
1168         qcom,snoc-host-cap-8bit-quirk;
1169         qcom,ath10k-calibration-variant = "Thundercomm_DB845C";
1170 };
1171 
1172 /* PINCTRL - additions to nodes defined in sdm845.dtsi */
1173 &qup_spi2_default {
1174         drive-strength = <16>;
1175 };
1176 
1177 &qup_i2c10_default {
1178         drive-strength = <2>;
1179         bias-disable;
1180 };
1181 
1182 &qup_uart9_rx {
1183         drive-strength = <2>;
1184         bias-pull-up;
1185 };
1186 
1187 &qup_uart9_tx {
1188         drive-strength = <2>;
1189         bias-disable;
1190 };
1191 
1192 /* PINCTRL - additions to nodes defined in sdm845.dtsi */
1193 &qup_spi0_default {
1194         drive-strength = <6>;
1195         bias-disable;
1196 };

~ [ 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