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