Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0
0002 // Copyright (c) 2018, Linaro Limited
0003 
0004 #include <dt-bindings/gpio/gpio.h>
0005 #include "qcs404.dtsi"
0006 #include "pms405.dtsi"
0007 #include <dt-bindings/gpio/gpio.h>
0008 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
0009 
0010 / {
0011         aliases {
0012                 serial0 = &blsp1_uart2;
0013                 serial1 = &blsp1_uart3;
0014         };
0015 
0016         chosen {
0017                 stdout-path = "serial0";
0018         };
0019 
0020         vph_pwr: vph-pwr-regulator {
0021                 compatible = "regulator-fixed";
0022                 regulator-name = "vph_pwr";
0023                 regulator-always-on;
0024                 regulator-boot-on;
0025         };
0026 
0027         vdd_ch0_3p3:
0028         vdd_esmps3_3p3: vdd-esmps3-3p3-regulator {
0029                 compatible = "regulator-fixed";
0030                 regulator-name = "eSMPS3_3P3";
0031 
0032                 regulator-min-microvolt = <3300000>;
0033                 regulator-max-microvolt = <3300000>;
0034                 regulator-always-on;
0035         };
0036 
0037         usb3_vbus_reg: regulator-usb3-vbus {
0038                 compatible = "regulator-fixed";
0039                 regulator-name = "VBUS_BOOST_5V";
0040                 regulator-min-microvolt = <5000000>;
0041                 regulator-max-microvolt = <5000000>;
0042                 gpio = <&pms405_gpios 3 GPIO_ACTIVE_HIGH>;
0043                 pinctrl-names = "default";
0044                 pinctrl-0 = <&usb_vbus_boost_pin>;
0045                 vin-supply = <&vph_pwr>;
0046                 enable-active-high;
0047 
0048                 /* TODO: Drop this when introducing role switching */
0049                 regulator-always-on;
0050         };
0051 };
0052 
0053 &blsp1_uart3 {
0054         status = "okay";
0055 
0056         bluetooth {
0057                 compatible = "qcom,wcn3990-bt";
0058                 vddio-supply = <&vreg_l6_1p8>;
0059                 vddxo-supply = <&vreg_l5_1p8>;
0060                 vddrf-supply = <&vreg_l1_1p3>;
0061                 vddch0-supply = <&vdd_ch0_3p3>;
0062 
0063                 local-bd-address = [ 02 00 00 00 5a ad ];
0064 
0065                 max-speed = <3200000>;
0066         };
0067 };
0068 
0069 &blsp1_dma {
0070         qcom,controlled-remotely;
0071 };
0072 
0073 &blsp2_dma {
0074         qcom,controlled-remotely;
0075 };
0076 
0077 &gcc {
0078         protected-clocks = <GCC_BIMC_CDSP_CLK>,
0079                            <GCC_CDSP_CFG_AHB_CLK>,
0080                            <GCC_CDSP_BIMC_CLK_SRC>,
0081                            <GCC_CDSP_TBU_CLK>,
0082                            <141>, /* GCC_WCSS_Q6_AHB_CLK */
0083                            <142>; /* GCC_WCSS_Q6_AXIM_CLK */
0084 };
0085 
0086 &pms405_spmi_regulators {
0087         vdd_s3-supply = <&vph_pwr>;
0088 
0089         pms405_s3: s3 {
0090                 regulator-always-on;
0091                 regulator-boot-on;
0092                 regulator-name = "vdd_apc";
0093                 regulator-initial-mode = <1>;
0094                 regulator-min-microvolt = <1048000>;
0095                 regulator-max-microvolt = <1384000>;
0096         };
0097 };
0098 
0099 &pcie {
0100         status = "okay";
0101 
0102         perst-gpio = <&tlmm 43 GPIO_ACTIVE_LOW>;
0103 
0104         pinctrl-names = "default";
0105         pinctrl-0 = <&perst_state>;
0106 };
0107 
0108 &pcie_phy {
0109         status = "okay";
0110 
0111         vdda-vp-supply = <&vreg_l3_1p05>;
0112         vdda-vph-supply = <&vreg_l5_1p8>;
0113 };
0114 
0115 &remoteproc_adsp {
0116         status = "okay";
0117 };
0118 
0119 &remoteproc_cdsp {
0120         status = "okay";
0121 };
0122 
0123 &remoteproc_wcss {
0124         status = "okay";
0125 };
0126 
0127 &rpm_requests {
0128         pms405-regulators {
0129                 compatible = "qcom,rpm-pms405-regulators";
0130 
0131                 vdd_s1-supply = <&vph_pwr>;
0132                 vdd_s2-supply = <&vph_pwr>;
0133                 vdd_s3-supply = <&vph_pwr>;
0134                 vdd_s4-supply = <&vph_pwr>;
0135                 vdd_s5-supply = <&vph_pwr>;
0136                 vdd_l1_l2-supply = <&vreg_s5_1p35>;
0137                 vdd_l3_l8-supply = <&vreg_s5_1p35>;
0138                 vdd_l4-supply = <&vreg_s5_1p35>;
0139                 vdd_l5_l6-supply = <&vreg_s4_1p8>;
0140                 vdd_l7-supply = <&vph_pwr>;
0141                 vdd_l9-supply = <&vreg_s5_1p35>;
0142                 vdd_l10_l11_l12_l13-supply = <&vph_pwr>;
0143 
0144                 vreg_s4_1p8: s4 {
0145                         regulator-min-microvolt = <1728000>;
0146                         regulator-max-microvolt = <1920000>;
0147                 };
0148 
0149                 vreg_s5_1p35: s5 {
0150                         regulator-min-microvolt = <1352000>;
0151                         regulator-max-microvolt = <1352000>;
0152                 };
0153 
0154                 vreg_l1_1p3: l1 {
0155                         regulator-min-microvolt = <1240000>;
0156                         regulator-max-microvolt = <1352000>;
0157                 };
0158 
0159                 vreg_l2_1p275: l2 {
0160                         regulator-min-microvolt = <1048000>;
0161                         regulator-max-microvolt = <1280000>;
0162                 };
0163 
0164                 vreg_l3_1p05: l3 {
0165                         regulator-min-microvolt = <1048000>;
0166                         regulator-max-microvolt = <1160000>;
0167                 };
0168 
0169                 vreg_l4_1p2: l4 {
0170                         regulator-min-microvolt = <1144000>;
0171                         regulator-max-microvolt = <1256000>;
0172                 };
0173 
0174                 vreg_l5_1p8: l5 {
0175                         regulator-min-microvolt = <1800000>;
0176                         regulator-max-microvolt = <1800000>;
0177                 };
0178 
0179                 vreg_l6_1p8: l6 {
0180                         regulator-min-microvolt = <1800000>;
0181                         regulator-max-microvolt = <1800000>;
0182                         regulator-always-on;
0183                 };
0184 
0185                 vreg_l7_1p8: l7 {
0186                         regulator-min-microvolt = <1616000>;
0187                         regulator-max-microvolt = <3000000>;
0188                 };
0189 
0190                 vreg_l8_1p2: l8 {
0191                         regulator-min-microvolt = <1136000>;
0192                         regulator-max-microvolt = <1352000>;
0193                 };
0194 
0195                 vreg_l10_3p3: l10 {
0196                         regulator-min-microvolt = <2936000>;
0197                         regulator-max-microvolt = <3088000>;
0198                 };
0199 
0200                 vreg_l11_sdc2: l11 {
0201                         regulator-min-microvolt = <2696000>;
0202                         regulator-max-microvolt = <3304000>;
0203                 };
0204 
0205                 vreg_l12_3p3: l12 {
0206                         regulator-min-microvolt = <3050000>;
0207                         regulator-max-microvolt = <3300000>;
0208                 };
0209 
0210                 vreg_l13_3p3: l13 {
0211                         regulator-min-microvolt = <3000000>;
0212                         regulator-max-microvolt = <3300000>;
0213                 };
0214         };
0215 };
0216 
0217 &sdcc1 {
0218         status = "okay";
0219 
0220         supports-cqe;
0221         mmc-ddr-1_8v;
0222         mmc-hs400-1_8v;
0223         bus-width = <8>;
0224         non-removable;
0225 
0226         pinctrl-names = "default", "sleep";
0227         pinctrl-0 = <&sdc1_on>;
0228         pinctrl-1 = <&sdc1_off>;
0229 };
0230 
0231 &tlmm {
0232         perst_state: perst {
0233                 pins = "gpio43";
0234                 function = "gpio";
0235 
0236                 drive-strength = <2>;
0237                 bias-disable;
0238                 output-low;
0239         };
0240 
0241         sdc1_on: sdc1-on {
0242                 clk {
0243                         pins = "sdc1_clk";
0244                         bias-disable;
0245                         drive-strength = <16>;
0246                 };
0247 
0248                 cmd {
0249                         pins = "sdc1_cmd";
0250                         bias-pull-up;
0251                         drive-strength = <10>;
0252                 };
0253 
0254                 data {
0255                         pins = "sdc1_data";
0256                         bias-pull-up;
0257                         drive-strength = <10>;
0258                 };
0259 
0260                 rclk {
0261                         pins = "sdc1_rclk";
0262                         bias-pull-down;
0263                 };
0264         };
0265 
0266         sdc1_off: sdc1-off {
0267                 clk {
0268                         pins = "sdc1_clk";
0269                         bias-disable;
0270                         drive-strength = <2>;
0271                 };
0272 
0273                 cmd {
0274                         pins = "sdc1_cmd";
0275                         bias-pull-up;
0276                         drive-strength = <2>;
0277                 };
0278 
0279                 data {
0280                         pins = "sdc1_data";
0281                         bias-pull-up;
0282                         drive-strength = <2>;
0283                 };
0284 
0285                 rclk {
0286                         pins = "sdc1_rclk";
0287                         bias-pull-down;
0288                 };
0289         };
0290 
0291         usb3_id_pin: usb3-id-pin {
0292                 pinmux {
0293                         pins = "gpio116";
0294                         function = "gpio";
0295                 };
0296 
0297                 pinconf {
0298                         pins = "gpio116";
0299                         drive-strength = <2>;
0300                         bias-pull-up;
0301                         input-enable;
0302                 };
0303         };
0304 };
0305 
0306 &pms405_gpios {
0307         usb_vbus_boost_pin: usb-vbus-boost-state {
0308                 pinconf {
0309                         pins = "gpio3";
0310                         function = PMIC_GPIO_FUNC_NORMAL;
0311                         output-low;
0312                         power-source = <1>;
0313                 };
0314         };
0315         usb3_vbus_pin: usb3-vbus-state {
0316                 pinconf {
0317                         pins = "gpio12";
0318                         function = PMIC_GPIO_FUNC_NORMAL;
0319                         input-enable;
0320                         bias-pull-down;
0321                         power-source = <1>;
0322                 };
0323         };
0324 };
0325 
0326 &usb2 {
0327         status = "okay";
0328 };
0329 
0330 &usb2_phy_sec {
0331         vdd-supply = <&vreg_l4_1p2>;
0332         vdda1p8-supply = <&vreg_l5_1p8>;
0333         vdda3p3-supply = <&vreg_l12_3p3>;
0334         status = "okay";
0335 };
0336 
0337 &usb3 {
0338         status = "okay";
0339 
0340 };
0341 
0342 &usb3_dwc3 {
0343         dr_mode = "host";
0344 };
0345 
0346 &usb2_phy_prim {
0347         vdd-supply = <&vreg_l4_1p2>;
0348         vdda1p8-supply = <&vreg_l5_1p8>;
0349         vdda3p3-supply = <&vreg_l12_3p3>;
0350         status = "okay";
0351 };
0352 
0353 &usb3_phy {
0354         vdd-supply = <&vreg_l3_1p05>;
0355         vdda1p8-supply = <&vreg_l5_1p8>;
0356         status = "okay";
0357 };
0358 
0359 &wifi {
0360         status = "okay";
0361         vdd-0.8-cx-mx-supply = <&vreg_l2_1p275>;
0362         vdd-1.8-xo-supply = <&vreg_l5_1p8>;
0363         vdd-1.3-rfa-supply = <&vreg_l1_1p3>;
0364 };
0365 
0366 /* PINCTRL - additions to nodes defined in qcs404.dtsi */
0367 
0368 &blsp1_uart2_default {
0369         rx {
0370                 drive-strength = <2>;
0371                 bias-disable;
0372         };
0373 
0374         tx {
0375                 drive-strength = <2>;
0376                 bias-disable;
0377         };
0378 };
0379 
0380 &blsp1_uart3_default {
0381         cts {
0382                 pins = "gpio84";
0383                 bias-disable;
0384         };
0385 
0386         rts-tx {
0387                 pins = "gpio85", "gpio82";
0388                 drive-strength = <2>;
0389                 bias-disable;
0390         };
0391 
0392         rx {
0393                 pins = "gpio83";
0394                 bias-pull-up;
0395         };
0396 };