1// SPDX-License-Identifier: GPL-2.0 2/* 3 * Copyright (c) 2018, Linaro Limited 4 */ 5 6#include <dt-bindings/gpio/gpio.h> 7#include "qcs404.dtsi" 8#include "pms405.dtsi" 9#include <dt-bindings/gpio/gpio.h> 10#include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 11 12/ { 13 aliases { 14 serial0 = &blsp1_uart2; 15 serial1 = &blsp1_uart3; 16 }; 17 18 chosen { 19 stdout-path = "serial0"; 20 }; 21 22 vph_pwr: vph-pwr-regulator { 23 compatible = "regulator-fixed"; 24 regulator-name = "vph_pwr"; 25 regulator-always-on; 26 regulator-boot-on; 27 }; 28 29 vdd_ch0_3p3: 30 vdd_esmps3_3p3: vdd-esmps3-3p3-regulator { 31 compatible = "regulator-fixed"; 32 regulator-name = "eSMPS3_3P3"; 33 34 regulator-min-microvolt = <3300000>; 35 regulator-max-microvolt = <3300000>; 36 regulator-always-on; 37 }; 38 39 usb3_vbus_reg: regulator-usb3-vbus { 40 compatible = "regulator-fixed"; 41 regulator-name = "VBUS_BOOST_5V"; 42 regulator-min-microvolt = <5000000>; 43 regulator-max-microvolt = <5000000>; 44 gpio = <&pms405_gpios 3 GPIO_ACTIVE_HIGH>; 45 pinctrl-names = "default"; 46 pinctrl-0 = <&usb_vbus_boost_pin>; 47 vin-supply = <&vph_pwr>; 48 enable-active-high; 49 50 /* TODO: Drop this when introducing role switching */ 51 regulator-always-on; 52 }; 53}; 54 55&blsp1_uart3 { 56 status = "okay"; 57 58 bluetooth { 59 compatible = "qcom,wcn3990-bt"; 60 vddio-supply = <&vreg_l6_1p8>; 61 vddxo-supply = <&vreg_l5_1p8>; 62 vddrf-supply = <&vreg_l1_1p3>; 63 vddch0-supply = <&vdd_ch0_3p3>; 64 65 local-bd-address = [ 02 00 00 00 5a ad ]; 66 67 max-speed = <3200000>; 68 }; 69}; 70 71&blsp1_dma { 72 qcom,controlled-remotely; 73}; 74 75&blsp2_dma { 76 qcom,controlled-remotely; 77}; 78 79&gcc { 80 protected-clocks = <GCC_BIMC_CDSP_CLK>, 81 <GCC_CDSP_CFG_AHB_CLK>, 82 <GCC_CDSP_BIMC_CLK_SRC>, 83 <GCC_CDSP_TBU_CLK>, 84 <141>, /* GCC_WCSS_Q6_AHB_CLK */ 85 <142>; /* GCC_WCSS_Q6_AXIM_CLK */ 86}; 87 88&pms405_spmi_regulators { 89 vdd_s3-supply = <&vph_pwr>; 90 91 pms405_s3: s3 { 92 regulator-always-on; 93 regulator-boot-on; 94 regulator-name = "vdd_apc"; 95 regulator-initial-mode = <1>; 96 regulator-min-microvolt = <1048000>; 97 regulator-max-microvolt = <1384000>; 98 }; 99}; 100 101&pcie { 102 status = "okay"; 103 104 perst-gpios = <&tlmm 43 GPIO_ACTIVE_LOW>; 105 106 pinctrl-names = "default"; 107 pinctrl-0 = <&perst_state>; 108}; 109 110&pcie_phy { 111 status = "okay"; 112 113 vdda-vp-supply = <&vreg_l3_1p05>; 114 vdda-vph-supply = <&vreg_l5_1p8>; 115}; 116 117&remoteproc_adsp { 118 status = "okay"; 119}; 120 121&remoteproc_cdsp { 122 status = "okay"; 123}; 124 125&remoteproc_wcss { 126 status = "okay"; 127}; 128 129&rpm_requests { 130 regulators { 131 compatible = "qcom,rpm-pms405-regulators"; 132 133 vdd_s1-supply = <&vph_pwr>; 134 vdd_s2-supply = <&vph_pwr>; 135 vdd_s3-supply = <&vph_pwr>; 136 vdd_s4-supply = <&vph_pwr>; 137 vdd_s5-supply = <&vph_pwr>; 138 vdd_l1_l2-supply = <&vreg_s5_1p35>; 139 vdd_l3_l8-supply = <&vreg_s5_1p35>; 140 vdd_l4-supply = <&vreg_s5_1p35>; 141 vdd_l5_l6-supply = <&vreg_s4_1p8>; 142 vdd_l7-supply = <&vph_pwr>; 143 vdd_l9-supply = <&vreg_s5_1p35>; 144 vdd_l10_l11_l12_l13-supply = <&vph_pwr>; 145 146 vreg_s4_1p8: s4 { 147 regulator-min-microvolt = <1728000>; 148 regulator-max-microvolt = <1920000>; 149 }; 150 151 vreg_s5_1p35: s5 { 152 regulator-min-microvolt = <1352000>; 153 regulator-max-microvolt = <1352000>; 154 }; 155 156 vreg_l1_1p3: l1 { 157 regulator-min-microvolt = <1240000>; 158 regulator-max-microvolt = <1352000>; 159 }; 160 161 vreg_l2_1p275: l2 { 162 regulator-min-microvolt = <1048000>; 163 regulator-max-microvolt = <1280000>; 164 }; 165 166 vreg_l3_1p05: l3 { 167 regulator-min-microvolt = <1048000>; 168 regulator-max-microvolt = <1160000>; 169 }; 170 171 vreg_l4_1p2: l4 { 172 regulator-min-microvolt = <1144000>; 173 regulator-max-microvolt = <1256000>; 174 }; 175 176 vreg_l5_1p8: l5 { 177 regulator-min-microvolt = <1800000>; 178 regulator-max-microvolt = <1800000>; 179 }; 180 181 vreg_l6_1p8: l6 { 182 regulator-min-microvolt = <1800000>; 183 regulator-max-microvolt = <1800000>; 184 regulator-always-on; 185 }; 186 187 vreg_l7_1p8: l7 { 188 regulator-min-microvolt = <1616000>; 189 regulator-max-microvolt = <3000000>; 190 }; 191 192 vreg_l8_1p2: l8 { 193 regulator-min-microvolt = <1136000>; 194 regulator-max-microvolt = <1352000>; 195 }; 196 197 vreg_l10_3p3: l10 { 198 regulator-min-microvolt = <2936000>; 199 regulator-max-microvolt = <3088000>; 200 }; 201 202 vreg_l11_sdc2: l11 { 203 regulator-min-microvolt = <2696000>; 204 regulator-max-microvolt = <3304000>; 205 }; 206 207 vreg_l12_3p3: l12 { 208 regulator-min-microvolt = <3050000>; 209 regulator-max-microvolt = <3300000>; 210 }; 211 212 vreg_l13_3p3: l13 { 213 regulator-min-microvolt = <3000000>; 214 regulator-max-microvolt = <3300000>; 215 }; 216 }; 217}; 218 219&sdcc1 { 220 status = "okay"; 221 222 supports-cqe; 223 mmc-ddr-1_8v; 224 mmc-hs400-1_8v; 225 bus-width = <8>; 226 non-removable; 227 228 pinctrl-names = "default", "sleep"; 229 pinctrl-0 = <&sdc1_on>; 230 pinctrl-1 = <&sdc1_off>; 231}; 232 233&tlmm { 234 perst_state: perst-state { 235 pins = "gpio43"; 236 function = "gpio"; 237 238 drive-strength = <2>; 239 bias-disable; 240 output-low; 241 }; 242 243 sdc1_on: sdc1-on-state { 244 clk-pins { 245 pins = "sdc1_clk"; 246 bias-disable; 247 drive-strength = <16>; 248 }; 249 250 cmd-pins { 251 pins = "sdc1_cmd"; 252 bias-pull-up; 253 drive-strength = <10>; 254 }; 255 256 data-pins { 257 pins = "sdc1_data"; 258 bias-pull-up; 259 drive-strength = <10>; 260 }; 261 262 rclk-pins { 263 pins = "sdc1_rclk"; 264 bias-pull-down; 265 }; 266 }; 267 268 sdc1_off: sdc1-off-state { 269 clk-pins { 270 pins = "sdc1_clk"; 271 bias-disable; 272 drive-strength = <2>; 273 }; 274 275 cmd-pins { 276 pins = "sdc1_cmd"; 277 bias-pull-up; 278 drive-strength = <2>; 279 }; 280 281 data-pins { 282 pins = "sdc1_data"; 283 bias-pull-up; 284 drive-strength = <2>; 285 }; 286 287 rclk-pins { 288 pins = "sdc1_rclk"; 289 bias-pull-down; 290 }; 291 }; 292 293 usb3_id_pin: usb3-id-state { 294 pins = "gpio116"; 295 function = "gpio"; 296 297 drive-strength = <2>; 298 bias-pull-up; 299 input-enable; 300 }; 301}; 302 303&pms405_gpios { 304 usb_vbus_boost_pin: usb-vbus-boost-state { 305 pinconf { 306 pins = "gpio3"; 307 function = PMIC_GPIO_FUNC_NORMAL; 308 output-low; 309 power-source = <1>; 310 }; 311 }; 312 usb3_vbus_pin: usb3-vbus-state { 313 pinconf { 314 pins = "gpio12"; 315 function = PMIC_GPIO_FUNC_NORMAL; 316 input-enable; 317 bias-pull-down; 318 power-source = <1>; 319 }; 320 }; 321}; 322 323&usb2 { 324 status = "okay"; 325}; 326 327&usb2_phy_sec { 328 vdd-supply = <&vreg_l4_1p2>; 329 vdda1p8-supply = <&vreg_l5_1p8>; 330 vdda3p3-supply = <&vreg_l12_3p3>; 331 status = "okay"; 332}; 333 334&usb3 { 335 status = "okay"; 336 337}; 338 339&usb3_dwc3 { 340 dr_mode = "host"; 341}; 342 343&usb2_phy_prim { 344 vdd-supply = <&vreg_l4_1p2>; 345 vdda1p8-supply = <&vreg_l5_1p8>; 346 vdda3p3-supply = <&vreg_l12_3p3>; 347 status = "okay"; 348}; 349 350&usb3_phy { 351 vdd-supply = <&vreg_l3_1p05>; 352 vdda1p8-supply = <&vreg_l5_1p8>; 353 status = "okay"; 354}; 355 356&wifi { 357 status = "okay"; 358 vdd-0.8-cx-mx-supply = <&vreg_l2_1p275>; 359 vdd-1.8-xo-supply = <&vreg_l5_1p8>; 360 vdd-1.3-rfa-supply = <&vreg_l1_1p3>; 361}; 362 363/* PINCTRL - additions to nodes defined in qcs404.dtsi */ 364 365&blsp1_uart2_default { 366 rx-pins { 367 drive-strength = <2>; 368 bias-disable; 369 }; 370 371 tx-pins { 372 drive-strength = <2>; 373 bias-disable; 374 }; 375}; 376 377&blsp1_uart3_default { 378 cts-pins { 379 bias-disable; 380 }; 381 382 rts-tx-pins { 383 drive-strength = <2>; 384 bias-disable; 385 }; 386 387 rx-pins { 388 bias-pull-up; 389 }; 390}; 391