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