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