Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: BSD-3-Clause
0002 /*
0003  * sc7280 IDP board device tree source (common between SKU1 and SKU2)
0004  *
0005  * Copyright (c) 2021, The Linux Foundation. All rights reserved.
0006  */
0007 
0008 #include <dt-bindings/iio/qcom,spmi-adc7-pmk8350.h>
0009 #include <dt-bindings/input/linux-event-codes.h>
0010 #include "sc7280.dtsi"
0011 #include "pm7325.dtsi"
0012 #include "pm8350c.dtsi"
0013 #include "pmk8350.dtsi"
0014 
0015 #include "sc7280-chrome-common.dtsi"
0016 
0017 / {
0018         aliases {
0019                 bluetooth0 = &bluetooth;
0020                 serial1 = &uart7;
0021         };
0022 
0023         gpio-keys {
0024                 compatible = "gpio-keys";
0025                 label = "gpio-keys";
0026 
0027                 pinctrl-names = "default";
0028                 pinctrl-0 = <&key_vol_up_default>;
0029 
0030                 key-volume-up {
0031                         label = "volume_up";
0032                         gpios = <&pm7325_gpios 6 GPIO_ACTIVE_LOW>;
0033                         linux,input-type = <1>;
0034                         linux,code = <KEY_VOLUMEUP>;
0035                         gpio-key,wakeup;
0036                         debounce-interval = <15>;
0037                         linux,can-disable;
0038                 };
0039         };
0040 
0041         nvme_3v3_regulator: nvme-3v3-regulator {
0042                 compatible = "regulator-fixed";
0043                 regulator-name = "VLDO_3V3";
0044 
0045                 regulator-min-microvolt = <3300000>;
0046                 regulator-max-microvolt = <3300000>;
0047 
0048                 enable-active-high;
0049                 pinctrl-names = "default";
0050                 pinctrl-0 = <&nvme_pwren>;
0051         };
0052 };
0053 
0054 &apps_rsc {
0055         pm7325-regulators {
0056                 compatible = "qcom,pm7325-rpmh-regulators";
0057                 qcom,pmic-id = "b";
0058 
0059                 vreg_s1b_1p8: smps1 {
0060                         regulator-min-microvolt = <1856000>;
0061                         regulator-max-microvolt = <2040000>;
0062                 };
0063 
0064                 vreg_s7b_0p9: smps7 {
0065                         regulator-min-microvolt = <535000>;
0066                         regulator-max-microvolt = <1120000>;
0067                 };
0068 
0069                 vreg_s8b_1p2: smps8 {
0070                         regulator-min-microvolt = <1256000>;
0071                         regulator-max-microvolt = <1500000>;
0072                 };
0073 
0074                 vreg_l1b_0p8: ldo1 {
0075                         regulator-min-microvolt = <825000>;
0076                         regulator-max-microvolt = <925000>;
0077                 };
0078 
0079                 vreg_l2b_3p0: ldo2 {
0080                         regulator-min-microvolt = <2700000>;
0081                         regulator-max-microvolt = <3544000>;
0082                 };
0083 
0084                 vreg_l6b_1p2: ldo6 {
0085                         regulator-min-microvolt = <1140000>;
0086                         regulator-max-microvolt = <1260000>;
0087                 };
0088 
0089                 vreg_l7b_2p9: ldo7 {
0090                         regulator-min-microvolt = <2960000>;
0091                         regulator-max-microvolt = <2960000>;
0092                 };
0093 
0094                 vreg_l8b_0p9: ldo8 {
0095                         regulator-min-microvolt = <870000>;
0096                         regulator-max-microvolt = <970000>;
0097                 };
0098 
0099                 vreg_l9b_1p2: ldo9 {
0100                         regulator-min-microvolt = <1080000>;
0101                         regulator-max-microvolt = <1304000>;
0102                 };
0103 
0104                 vreg_l11b_1p7: ldo11 {
0105                         regulator-min-microvolt = <1504000>;
0106                         regulator-max-microvolt = <2000000>;
0107                 };
0108 
0109                 vreg_l12b_0p8: ldo12 {
0110                         regulator-min-microvolt = <751000>;
0111                         regulator-max-microvolt = <824000>;
0112                 };
0113 
0114                 vreg_l13b_0p8: ldo13 {
0115                         regulator-min-microvolt = <530000>;
0116                         regulator-max-microvolt = <824000>;
0117                 };
0118 
0119                 vreg_l14b_1p2: ldo14 {
0120                         regulator-min-microvolt = <1080000>;
0121                         regulator-max-microvolt = <1304000>;
0122                 };
0123 
0124                 vreg_l15b_0p8: ldo15 {
0125                         regulator-min-microvolt = <765000>;
0126                         regulator-max-microvolt = <1020000>;
0127                 };
0128 
0129                 vreg_l16b_1p2: ldo16 {
0130                         regulator-min-microvolt = <1100000>;
0131                         regulator-max-microvolt = <1300000>;
0132                 };
0133 
0134                 vreg_l17b_1p8: ldo17 {
0135                         regulator-min-microvolt = <1700000>;
0136                         regulator-max-microvolt = <1900000>;
0137                 };
0138 
0139                 vreg_l18b_1p8: ldo18 {
0140                         regulator-min-microvolt = <1800000>;
0141                         regulator-max-microvolt = <2000000>;
0142                 };
0143 
0144                 vreg_l19b_1p8: ldo19 {
0145                         regulator-min-microvolt = <1800000>;
0146                         regulator-max-microvolt = <1800000>;
0147                 };
0148         };
0149 
0150         pm8350c-regulators {
0151                 compatible = "qcom,pm8350c-rpmh-regulators";
0152                 qcom,pmic-id = "c";
0153 
0154                 vreg_s1c_2p2: smps1 {
0155                         regulator-min-microvolt = <2190000>;
0156                         regulator-max-microvolt = <2210000>;
0157                 };
0158 
0159                 vreg_s9c_1p0: smps9 {
0160                         regulator-min-microvolt = <1010000>;
0161                         regulator-max-microvolt = <1170000>;
0162                 };
0163 
0164                 vreg_l1c_1p8: ldo1 {
0165                         regulator-min-microvolt = <1800000>;
0166                         regulator-max-microvolt = <1980000>;
0167                 };
0168 
0169                 vreg_l2c_1p8: ldo2 {
0170                         regulator-min-microvolt = <1620000>;
0171                         regulator-max-microvolt = <1980000>;
0172                 };
0173 
0174                 vreg_l3c_3p0: ldo3 {
0175                         regulator-min-microvolt = <2800000>;
0176                         regulator-max-microvolt = <3540000>;
0177                 };
0178 
0179                 vreg_l4c_1p8: ldo4 {
0180                         regulator-min-microvolt = <1620000>;
0181                         regulator-max-microvolt = <3300000>;
0182                 };
0183 
0184                 vreg_l5c_1p8: ldo5 {
0185                         regulator-min-microvolt = <1620000>;
0186                         regulator-max-microvolt = <3300000>;
0187                 };
0188 
0189                 vreg_l6c_2p9: ldo6 {
0190                         regulator-min-microvolt = <1800000>;
0191                         regulator-max-microvolt = <2950000>;
0192                 };
0193 
0194                 vreg_l7c_3p0: ldo7 {
0195                         regulator-min-microvolt = <3000000>;
0196                         regulator-max-microvolt = <3544000>;
0197                 };
0198 
0199                 vreg_l8c_1p8: ldo8 {
0200                         regulator-min-microvolt = <1620000>;
0201                         regulator-max-microvolt = <2000000>;
0202                 };
0203 
0204                 vreg_l9c_2p9: ldo9 {
0205                         regulator-min-microvolt = <2960000>;
0206                         regulator-max-microvolt = <2960000>;
0207                 };
0208 
0209                 vreg_l10c_0p8: ldo10 {
0210                         regulator-min-microvolt = <720000>;
0211                         regulator-max-microvolt = <1050000>;
0212                 };
0213 
0214                 vreg_l11c_2p8: ldo11 {
0215                         regulator-min-microvolt = <2800000>;
0216                         regulator-max-microvolt = <3544000>;
0217                 };
0218 
0219                 vreg_l12c_1p8: ldo12 {
0220                         regulator-min-microvolt = <1650000>;
0221                         regulator-max-microvolt = <2000000>;
0222                 };
0223 
0224                 vreg_l13c_3p0: ldo13 {
0225                         regulator-min-microvolt = <2700000>;
0226                         regulator-max-microvolt = <3544000>;
0227                 };
0228 
0229                 vreg_bob: bob {
0230                         regulator-min-microvolt = <3008000>;
0231                         regulator-max-microvolt = <3960000>;
0232                 };
0233         };
0234 };
0235 
0236 &gpi_dma0 {
0237         status = "okay";
0238 };
0239 
0240 &gpi_dma1 {
0241         status = "okay";
0242 };
0243 
0244 &ipa {
0245         status = "okay";
0246         modem-init;
0247 };
0248 
0249 &pcie1 {
0250         status = "okay";
0251         perst-gpio = <&tlmm 2 GPIO_ACTIVE_LOW>;
0252 
0253         vddpe-3v3-supply = <&nvme_3v3_regulator>;
0254 
0255         pinctrl-names = "default";
0256         pinctrl-0 = <&pcie1_reset_n>, <&pcie1_wake_n>;
0257 };
0258 
0259 &pcie1_phy {
0260         status = "okay";
0261 
0262         vdda-phy-supply = <&vreg_l10c_0p8>;
0263         vdda-pll-supply = <&vreg_l6b_1p2>;
0264 };
0265 
0266 &pmk8350_vadc {
0267         pmk8350_die_temp {
0268                 reg = <PMK8350_ADC7_DIE_TEMP>;
0269                 label = "pmk8350_die_temp";
0270                 qcom,pre-scaling = <1 1>;
0271         };
0272 };
0273 
0274 &qfprom {
0275         vcc-supply = <&vreg_l1c_1p8>;
0276 };
0277 
0278 &qupv3_id_0 {
0279         status = "okay";
0280 };
0281 
0282 &qupv3_id_1 {
0283         status = "okay";
0284 };
0285 
0286 &sdhc_1 {
0287         status = "okay";
0288 
0289         non-removable;
0290         no-sd;
0291         no-sdio;
0292 
0293         vmmc-supply = <&vreg_l7b_2p9>;
0294         vqmmc-supply = <&vreg_l19b_1p8>;
0295 };
0296 
0297 &sdhc_2 {
0298         status = "okay";
0299 
0300         pinctrl-0 = <&sdc2_clk>, <&sdc2_cmd>, <&sdc2_data>, <&sd_cd>;
0301         pinctrl-1 = <&sdc2_clk_sleep>, <&sdc2_cmd_sleep>, <&sdc2_data_sleep>, <&sd_cd>;
0302 
0303         vmmc-supply = <&vreg_l9c_2p9>;
0304         vqmmc-supply = <&vreg_l6c_2p9>;
0305 
0306         cd-gpios = <&tlmm 91 GPIO_ACTIVE_LOW>;
0307 };
0308 
0309 &uart5 {
0310         compatible = "qcom,geni-debug-uart";
0311         status = "okay";
0312 };
0313 
0314 &usb_1 {
0315         status = "okay";
0316 };
0317 
0318 &usb_1_dwc3 {
0319         dr_mode = "host";
0320 };
0321 
0322 &usb_1_hsphy {
0323         status = "okay";
0324 
0325         vdda-pll-supply = <&vreg_l10c_0p8>;
0326         vdda33-supply = <&vreg_l2b_3p0>;
0327         vdda18-supply = <&vreg_l1c_1p8>;
0328 };
0329 
0330 &usb_1_qmpphy {
0331         status = "okay";
0332 
0333         vdda-phy-supply = <&vreg_l6b_1p2>;
0334         vdda-pll-supply = <&vreg_l1b_0p8>;
0335 };
0336 
0337 &uart7 {
0338         status = "okay";
0339 
0340         /delete-property/interrupts;
0341         interrupts-extended = <&intc GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>,
0342                                 <&tlmm 31 IRQ_TYPE_EDGE_FALLING>;
0343         pinctrl-names = "default", "sleep";
0344         pinctrl-1 = <&qup_uart7_sleep_cts>, <&qup_uart7_sleep_rts>, <&qup_uart7_sleep_tx>, <&qup_uart7_sleep_rx>;
0345 
0346         bluetooth: bluetooth {
0347                 compatible = "qcom,wcn6750-bt";
0348                 pinctrl-names = "default";
0349                 pinctrl-0 = <&bt_en>, <&sw_ctrl>;
0350                 enable-gpios = <&tlmm 85 GPIO_ACTIVE_HIGH>;
0351                 swctrl-gpios = <&tlmm 86 GPIO_ACTIVE_HIGH>;
0352                 vddaon-supply = <&vreg_s7b_0p9>;
0353                 vddbtcxmx-supply = <&vreg_s7b_0p9>;
0354                 vddrfacmn-supply = <&vreg_s7b_0p9>;
0355                 vddrfa0p8-supply = <&vreg_s7b_0p9>;
0356                 vddrfa1p7-supply = <&vreg_s1b_1p8>;
0357                 vddrfa1p2-supply = <&vreg_s8b_1p2>;
0358                 vddrfa2p2-supply = <&vreg_s1c_2p2>;
0359                 vddasd-supply = <&vreg_l11c_2p8>;
0360                 max-speed = <3200000>;
0361         };
0362 };
0363 
0364 /* PINCTRL - additions to nodes defined in sc7280.dtsi */
0365 
0366 &dp_hot_plug_det {
0367         bias-disable;
0368 };
0369 
0370 &lpass_dmic01_clk {
0371         drive-strength = <8>;
0372         bias-disable;
0373 };
0374 
0375 &lpass_dmic01_clk_sleep {
0376         drive-strength = <2>;
0377 };
0378 
0379 &lpass_dmic01_data {
0380         bias-pull-down;
0381 };
0382 
0383 &lpass_dmic23_clk {
0384         drive-strength = <8>;
0385         bias-disable;
0386 };
0387 
0388 &lpass_dmic23_clk_sleep {
0389         drive-strength = <2>;
0390 };
0391 
0392 &lpass_dmic23_data {
0393         bias-pull-down;
0394 };
0395 
0396 &lpass_rx_swr_clk {
0397         drive-strength = <2>;
0398         slew-rate = <1>;
0399         bias-disable;
0400 };
0401 
0402 &lpass_rx_swr_clk_sleep {
0403         bias-pull-down;
0404 };
0405 
0406 &lpass_rx_swr_data {
0407         drive-strength = <2>;
0408         slew-rate = <1>;
0409         bias-bus-hold;
0410 };
0411 
0412 &lpass_rx_swr_data_sleep {
0413         bias-pull-down;
0414 };
0415 
0416 &lpass_tx_swr_clk {
0417         drive-strength = <2>;
0418         slew-rate = <1>;
0419         bias-disable;
0420 };
0421 
0422 &lpass_tx_swr_clk_sleep {
0423         bias-pull-down;
0424 };
0425 
0426 &lpass_tx_swr_data {
0427         drive-strength = <2>;
0428         slew-rate = <1>;
0429         bias-bus-hold;
0430 };
0431 
0432 &mi2s1_data0 {
0433         drive-strength = <6>;
0434         bias-disable;
0435 };
0436 
0437 &mi2s1_sclk {
0438         drive-strength = <6>;
0439         bias-disable;
0440 };
0441 
0442 &mi2s1_ws {
0443         drive-strength = <6>;
0444 };
0445 
0446 &pm7325_gpios {
0447         key_vol_up_default: key-vol-up-state {
0448                 pins = "gpio6";
0449                 function = "normal";
0450                 input-enable;
0451                 bias-pull-up;
0452                 power-source = <0>;
0453                 qcom,drive-strength = <3>;
0454         };
0455 };
0456 
0457 &pcie1_clkreq_n {
0458         bias-pull-up;
0459         drive-strength = <2>;
0460 };
0461 
0462 &qspi_cs0 {
0463         bias-disable;
0464 };
0465 
0466 &qspi_clk {
0467         bias-disable;
0468 };
0469 
0470 &qspi_data01 {
0471         /* High-Z when no transfers; nice to park the lines */
0472         bias-pull-up;
0473 };
0474 
0475 &qup_uart5_tx {
0476         drive-strength = <2>;
0477         bias-disable;
0478 };
0479 
0480 &qup_uart5_rx {
0481         drive-strength = <2>;
0482         bias-pull-up;
0483 };
0484 
0485 &qup_uart7_cts {
0486         /*
0487          * Configure a bias-bus-hold on CTS to lower power
0488          * usage when Bluetooth is turned off. Bus hold will
0489          * maintain a low power state regardless of whether
0490          * the Bluetooth module drives the pin in either
0491          * direction or leaves the pin fully unpowered.
0492          */
0493         bias-bus-hold;
0494 };
0495 
0496 &qup_uart7_rts {
0497         /* We'll drive RTS, so no pull */
0498         drive-strength = <2>;
0499         bias-disable;
0500 };
0501 
0502 &qup_uart7_tx {
0503         /* We'll drive TX, so no pull */
0504         drive-strength = <2>;
0505         bias-disable;
0506 };
0507 
0508 &qup_uart7_rx {
0509         /*
0510          * Configure a pull-up on RX. This is needed to avoid
0511          * garbage data when the TX pin of the Bluetooth module is
0512          * in tri-state (module powered off or not driving the
0513          * signal yet).
0514          */
0515         bias-pull-up;
0516 };
0517 
0518 &sdc1_clk {
0519         bias-disable;
0520         drive-strength = <16>;
0521 };
0522 
0523 &sdc1_cmd {
0524         bias-pull-up;
0525         drive-strength = <10>;
0526 };
0527 
0528 &sdc1_data {
0529         bias-pull-up;
0530         drive-strength = <10>;
0531 };
0532 
0533 &sdc1_rclk {
0534         bias-pull-down;
0535 };
0536 
0537 &sdc2_clk {
0538         bias-disable;
0539         drive-strength = <16>;
0540 };
0541 
0542 &sdc2_cmd {
0543         bias-pull-up;
0544         drive-strength = <10>;
0545 };
0546 
0547 &sdc2_data {
0548         bias-pull-up;
0549         drive-strength = <10>;
0550 };
0551 
0552 &tlmm {
0553         bt_en: bt-en {
0554                 pins = "gpio85";
0555                 function = "gpio";
0556                 output-low;
0557                 bias-disable;
0558         };
0559 
0560         nvme_pwren: nvme-pwren {
0561                 function = "gpio";
0562         };
0563 
0564         pcie1_reset_n: pcie1-reset-n {
0565                 pins = "gpio2";
0566                 function = "gpio";
0567 
0568                 drive-strength = <16>;
0569                 output-low;
0570                 bias-disable;
0571         };
0572 
0573         pcie1_wake_n: pcie1-wake-n {
0574                 pins = "gpio3";
0575                 function = "gpio";
0576 
0577                 drive-strength = <2>;
0578                 bias-pull-up;
0579         };
0580 
0581         qup_uart7_sleep_cts: qup-uart7-sleep-cts {
0582                 pins = "gpio28";
0583                 function = "gpio";
0584                 /*
0585                  * Configure a bias-bus-hold on CTS to lower power
0586                  * usage when Bluetooth is turned off. Bus hold will
0587                  * maintain a low power state regardless of whether
0588                  * the Bluetooth module drives the pin in either
0589                  * direction or leaves the pin fully unpowered.
0590                  */
0591                 bias-bus-hold;
0592         };
0593 
0594         qup_uart7_sleep_rts: qup-uart7-sleep-rts {
0595                 pins = "gpio29";
0596                 function = "gpio";
0597                 /*
0598                  * Configure pull-down on RTS. As RTS is active low
0599                  * signal, pull it low to indicate the BT SoC that it
0600                  * can wakeup the system anytime from suspend state by
0601                  * pulling RX low (by sending wakeup bytes).
0602                  */
0603                 bias-pull-down;
0604         };
0605 
0606         qup_uart7_sleep_tx: qup-uart7-sleep-tx {
0607                 pins = "gpio30";
0608                 function = "gpio";
0609                 /*
0610                  * Configure pull-up on TX when it isn't actively driven
0611                  * to prevent BT SoC from receiving garbage during sleep.
0612                  */
0613                 bias-pull-up;
0614         };
0615 
0616         qup_uart7_sleep_rx: qup-uart7-sleep-rx {
0617                 pins = "gpio31";
0618                 function = "gpio";
0619                 /*
0620                  * Configure a pull-up on RX. This is needed to avoid
0621                  * garbage data when the TX pin of the Bluetooth module
0622                  * is floating which may cause spurious wakeups.
0623                  */
0624                 bias-pull-up;
0625         };
0626 
0627         sd_cd: sd-cd {
0628                 pins = "gpio91";
0629                 function = "gpio";
0630                 bias-pull-up;
0631         };
0632 
0633         sw_ctrl: sw-ctrl {
0634                 pins = "gpio86";
0635                 function = "gpio";
0636                 bias-pull-down;
0637         };
0638 };