1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-C 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2 %YAML 1.2 2 %YAML 1.2 3 --- 3 --- 4 $id: http://devicetree.org/schemas/usb/qcom,dw 4 $id: http://devicetree.org/schemas/usb/qcom,dwc3.yaml# 5 $schema: http://devicetree.org/meta-schemas/co 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 6 6 7 title: Qualcomm SuperSpeed DWC3 USB SoC contro 7 title: Qualcomm SuperSpeed DWC3 USB SoC controller 8 8 9 maintainers: 9 maintainers: 10 - Wesley Cheng <quic_wcheng@quicinc.com> 10 - Wesley Cheng <quic_wcheng@quicinc.com> 11 11 12 properties: 12 properties: 13 compatible: 13 compatible: 14 items: 14 items: 15 - enum: 15 - enum: 16 - qcom,ipq4019-dwc3 16 - qcom,ipq4019-dwc3 17 - qcom,ipq5018-dwc3 17 - qcom,ipq5018-dwc3 18 - qcom,ipq5332-dwc3 18 - qcom,ipq5332-dwc3 19 - qcom,ipq6018-dwc3 19 - qcom,ipq6018-dwc3 20 - qcom,ipq8064-dwc3 20 - qcom,ipq8064-dwc3 21 - qcom,ipq8074-dwc3 21 - qcom,ipq8074-dwc3 22 - qcom,ipq9574-dwc3 22 - qcom,ipq9574-dwc3 23 - qcom,msm8953-dwc3 23 - qcom,msm8953-dwc3 24 - qcom,msm8994-dwc3 24 - qcom,msm8994-dwc3 25 - qcom,msm8996-dwc3 25 - qcom,msm8996-dwc3 26 - qcom,msm8998-dwc3 26 - qcom,msm8998-dwc3 27 - qcom,qcm2290-dwc3 27 - qcom,qcm2290-dwc3 28 - qcom,qcs404-dwc3 28 - qcom,qcs404-dwc3 29 - qcom,qdu1000-dwc3 29 - qcom,qdu1000-dwc3 30 - qcom,sa8775p-dwc3 30 - qcom,sa8775p-dwc3 31 - qcom,sc7180-dwc3 31 - qcom,sc7180-dwc3 32 - qcom,sc7280-dwc3 32 - qcom,sc7280-dwc3 33 - qcom,sc8180x-dwc3 33 - qcom,sc8180x-dwc3 34 - qcom,sc8180x-dwc3-mp 34 - qcom,sc8180x-dwc3-mp 35 - qcom,sc8280xp-dwc3 35 - qcom,sc8280xp-dwc3 36 - qcom,sc8280xp-dwc3-mp 36 - qcom,sc8280xp-dwc3-mp 37 - qcom,sdm660-dwc3 37 - qcom,sdm660-dwc3 38 - qcom,sdm670-dwc3 38 - qcom,sdm670-dwc3 39 - qcom,sdm845-dwc3 39 - qcom,sdm845-dwc3 40 - qcom,sdx55-dwc3 40 - qcom,sdx55-dwc3 41 - qcom,sdx65-dwc3 41 - qcom,sdx65-dwc3 42 - qcom,sdx75-dwc3 42 - qcom,sdx75-dwc3 43 - qcom,sm4250-dwc3 43 - qcom,sm4250-dwc3 44 - qcom,sm6115-dwc3 44 - qcom,sm6115-dwc3 45 - qcom,sm6125-dwc3 45 - qcom,sm6125-dwc3 46 - qcom,sm6350-dwc3 46 - qcom,sm6350-dwc3 47 - qcom,sm6375-dwc3 47 - qcom,sm6375-dwc3 48 - qcom,sm8150-dwc3 48 - qcom,sm8150-dwc3 49 - qcom,sm8250-dwc3 49 - qcom,sm8250-dwc3 50 - qcom,sm8350-dwc3 50 - qcom,sm8350-dwc3 51 - qcom,sm8450-dwc3 51 - qcom,sm8450-dwc3 52 - qcom,sm8550-dwc3 52 - qcom,sm8550-dwc3 53 - qcom,sm8650-dwc3 53 - qcom,sm8650-dwc3 54 - qcom,x1e80100-dwc3 54 - qcom,x1e80100-dwc3 55 - qcom,x1e80100-dwc3-mp << 56 - const: qcom,dwc3 55 - const: qcom,dwc3 57 56 58 reg: 57 reg: 59 description: Offset and length of register 58 description: Offset and length of register set for QSCRATCH wrapper 60 maxItems: 1 59 maxItems: 1 61 60 62 "#address-cells": 61 "#address-cells": 63 enum: [ 1, 2 ] 62 enum: [ 1, 2 ] 64 63 65 "#size-cells": 64 "#size-cells": 66 enum: [ 1, 2 ] 65 enum: [ 1, 2 ] 67 66 68 ranges: true 67 ranges: true 69 68 70 power-domains: 69 power-domains: 71 description: specifies a phandle to PM dom 70 description: specifies a phandle to PM domain provider node 72 maxItems: 1 71 maxItems: 1 73 72 74 required-opps: 73 required-opps: 75 maxItems: 1 74 maxItems: 1 76 75 77 clocks: 76 clocks: 78 description: | 77 description: | 79 Several clocks are used, depending on th 78 Several clocks are used, depending on the variant. Typical ones are:: 80 - cfg_noc:: System Config NOC clock. 79 - cfg_noc:: System Config NOC clock. 81 - core:: Master/Core clock, has to be > 80 - core:: Master/Core clock, has to be >= 125 MHz for SS operation and >= 82 60MHz for HS operation. 81 60MHz for HS operation. 83 - iface:: System bus AXI clock. 82 - iface:: System bus AXI clock. 84 - sleep:: Sleep clock, used for wakeup 83 - sleep:: Sleep clock, used for wakeup when USB3 core goes into low 85 power mode (U3). 84 power mode (U3). 86 - mock_utmi:: Mock utmi clock needed fo 85 - mock_utmi:: Mock utmi clock needed for ITP/SOF generation in host 87 mode. Its frequency shoul 86 mode. Its frequency should be 19.2MHz. 88 minItems: 1 87 minItems: 1 89 maxItems: 9 88 maxItems: 9 90 89 91 clock-names: 90 clock-names: 92 minItems: 1 91 minItems: 1 93 maxItems: 9 92 maxItems: 9 94 93 95 resets: 94 resets: 96 maxItems: 1 95 maxItems: 1 97 96 98 interconnects: 97 interconnects: 99 maxItems: 2 98 maxItems: 2 100 99 101 interconnect-names: 100 interconnect-names: 102 items: 101 items: 103 - const: usb-ddr 102 - const: usb-ddr 104 - const: apps-usb 103 - const: apps-usb 105 104 106 interrupts: 105 interrupts: 107 description: | 106 description: | 108 Different types of interrupts are used b 107 Different types of interrupts are used based on HS PHY used on target: 109 - pwr_event: Used for wakeup based on 108 - pwr_event: Used for wakeup based on other power events. 110 - hs_phy_irq: Apart from DP/DM/QUSB2 P 109 - hs_phy_irq: Apart from DP/DM/QUSB2 PHY interrupts, there is 111 hs_phy_irq which is not 110 hs_phy_irq which is not triggered by default and its 112 functionality is mutual 111 functionality is mutually exclusive to that of 113 {dp/dm}_hs_phy_irq and 112 {dp/dm}_hs_phy_irq and qusb2_phy_irq. 114 - qusb2_phy: SoCs with QUSB2 PHY do no 113 - qusb2_phy: SoCs with QUSB2 PHY do not have separate DP/DM IRQs and 115 expose only a single IRQ 114 expose only a single IRQ whose behavior can be modified 116 by the QUSB2PHY_INTR_CTR 115 by the QUSB2PHY_INTR_CTRL register. The required DPSE/ 117 DMSE configuration is do 116 DMSE configuration is done in QUSB2PHY_INTR_CTRL register 118 of PHY address space. 117 of PHY address space. 119 - {dp/dm}_hs_phy_irq: These IRQ's dire 118 - {dp/dm}_hs_phy_irq: These IRQ's directly reflect changes on the DP/ 120 DM pads of the 119 DM pads of the SoC. These are used for wakeup 121 only on SoCs wi 120 only on SoCs with non-QUSB2 targets with 122 exception of SD 121 exception of SDM670/SDM845/SM6350. 123 - ss_phy_irq: Used for remote wakeup i 122 - ss_phy_irq: Used for remote wakeup in Super Speed mode of operation. 124 minItems: 2 123 minItems: 2 125 maxItems: 18 124 maxItems: 18 126 125 127 interrupt-names: 126 interrupt-names: 128 minItems: 2 127 minItems: 2 129 maxItems: 18 128 maxItems: 18 130 129 131 qcom,select-utmi-as-pipe-clk: 130 qcom,select-utmi-as-pipe-clk: 132 description: 131 description: 133 If present, disable USB3 pipe_clk requir 132 If present, disable USB3 pipe_clk requirement. 134 Used when dwc3 operates without SSPHY an 133 Used when dwc3 operates without SSPHY and only 135 HS/FS/LS modes are supported. 134 HS/FS/LS modes are supported. 136 type: boolean 135 type: boolean 137 136 138 wakeup-source: true 137 wakeup-source: true 139 138 140 # Required child node: 139 # Required child node: 141 140 142 patternProperties: 141 patternProperties: 143 "^usb@[0-9a-f]+$": 142 "^usb@[0-9a-f]+$": 144 $ref: snps,dwc3.yaml# 143 $ref: snps,dwc3.yaml# 145 unevaluatedProperties: false 144 unevaluatedProperties: false 146 145 147 properties: 146 properties: 148 wakeup-source: false 147 wakeup-source: false 149 148 150 required: 149 required: 151 - compatible 150 - compatible 152 - reg 151 - reg 153 - "#address-cells" 152 - "#address-cells" 154 - "#size-cells" 153 - "#size-cells" 155 - ranges 154 - ranges 156 - clocks 155 - clocks 157 - clock-names 156 - clock-names 158 - interrupts 157 - interrupts 159 - interrupt-names 158 - interrupt-names 160 159 161 allOf: 160 allOf: 162 - if: 161 - if: 163 properties: 162 properties: 164 compatible: 163 compatible: 165 contains: 164 contains: 166 enum: 165 enum: 167 - qcom,ipq4019-dwc3 166 - qcom,ipq4019-dwc3 168 - qcom,ipq5332-dwc3 << 169 then: 167 then: 170 properties: 168 properties: 171 clocks: 169 clocks: 172 maxItems: 3 170 maxItems: 3 173 clock-names: 171 clock-names: 174 items: 172 items: 175 - const: core 173 - const: core 176 - const: sleep 174 - const: sleep 177 - const: mock_utmi 175 - const: mock_utmi 178 176 179 - if: 177 - if: 180 properties: 178 properties: 181 compatible: 179 compatible: 182 contains: 180 contains: 183 enum: 181 enum: 184 - qcom,ipq8064-dwc3 182 - qcom,ipq8064-dwc3 185 then: 183 then: 186 properties: 184 properties: 187 clocks: 185 clocks: 188 items: 186 items: 189 - description: Master/Core clock, 187 - description: Master/Core clock, has to be >= 125 MHz 190 for SS operation and >= 60MHz 188 for SS operation and >= 60MHz for HS operation. 191 clock-names: 189 clock-names: 192 items: 190 items: 193 - const: core 191 - const: core 194 192 195 - if: 193 - if: 196 properties: 194 properties: 197 compatible: 195 compatible: 198 contains: 196 contains: 199 enum: 197 enum: 200 - qcom,ipq9574-dwc3 198 - qcom,ipq9574-dwc3 201 - qcom,msm8953-dwc3 199 - qcom,msm8953-dwc3 202 - qcom,msm8996-dwc3 200 - qcom,msm8996-dwc3 203 - qcom,msm8998-dwc3 201 - qcom,msm8998-dwc3 204 - qcom,sa8775p-dwc3 202 - qcom,sa8775p-dwc3 205 - qcom,sc7180-dwc3 203 - qcom,sc7180-dwc3 206 - qcom,sc7280-dwc3 204 - qcom,sc7280-dwc3 207 - qcom,sdm670-dwc3 205 - qcom,sdm670-dwc3 208 - qcom,sdm845-dwc3 206 - qcom,sdm845-dwc3 209 - qcom,sdx55-dwc3 207 - qcom,sdx55-dwc3 210 - qcom,sdx65-dwc3 208 - qcom,sdx65-dwc3 211 - qcom,sdx75-dwc3 209 - qcom,sdx75-dwc3 212 - qcom,sm6350-dwc3 210 - qcom,sm6350-dwc3 213 then: 211 then: 214 properties: 212 properties: 215 clocks: 213 clocks: 216 maxItems: 5 214 maxItems: 5 217 clock-names: 215 clock-names: 218 items: 216 items: 219 - const: cfg_noc 217 - const: cfg_noc 220 - const: core 218 - const: core 221 - const: iface 219 - const: iface 222 - const: sleep 220 - const: sleep 223 - const: mock_utmi 221 - const: mock_utmi 224 222 225 - if: 223 - if: 226 properties: 224 properties: 227 compatible: 225 compatible: 228 contains: 226 contains: 229 enum: 227 enum: 230 - qcom,ipq6018-dwc3 228 - qcom,ipq6018-dwc3 231 then: 229 then: 232 properties: 230 properties: 233 clocks: 231 clocks: 234 minItems: 3 232 minItems: 3 235 maxItems: 4 233 maxItems: 4 236 clock-names: 234 clock-names: 237 oneOf: 235 oneOf: 238 - items: 236 - items: 239 - const: core 237 - const: core 240 - const: sleep 238 - const: sleep 241 - const: mock_utmi 239 - const: mock_utmi 242 - items: 240 - items: 243 - const: cfg_noc 241 - const: cfg_noc 244 - const: core 242 - const: core 245 - const: sleep 243 - const: sleep 246 - const: mock_utmi 244 - const: mock_utmi 247 245 248 - if: 246 - if: 249 properties: 247 properties: 250 compatible: 248 compatible: 251 contains: 249 contains: 252 enum: 250 enum: 253 - qcom,ipq8074-dwc3 251 - qcom,ipq8074-dwc3 254 - qcom,qdu1000-dwc3 252 - qcom,qdu1000-dwc3 255 then: 253 then: 256 properties: 254 properties: 257 clocks: 255 clocks: 258 maxItems: 4 256 maxItems: 4 259 clock-names: 257 clock-names: 260 items: 258 items: 261 - const: cfg_noc 259 - const: cfg_noc 262 - const: core 260 - const: core 263 - const: sleep 261 - const: sleep 264 - const: mock_utmi 262 - const: mock_utmi 265 263 266 - if: 264 - if: 267 properties: 265 properties: 268 compatible: 266 compatible: 269 contains: 267 contains: 270 enum: 268 enum: 271 - qcom,ipq5018-dwc3 269 - qcom,ipq5018-dwc3 >> 270 - qcom,ipq5332-dwc3 272 - qcom,msm8994-dwc3 271 - qcom,msm8994-dwc3 273 - qcom,qcs404-dwc3 272 - qcom,qcs404-dwc3 274 then: 273 then: 275 properties: 274 properties: 276 clocks: 275 clocks: 277 maxItems: 4 276 maxItems: 4 278 clock-names: 277 clock-names: 279 items: 278 items: 280 - const: core 279 - const: core 281 - const: iface 280 - const: iface 282 - const: sleep 281 - const: sleep 283 - const: mock_utmi 282 - const: mock_utmi 284 283 285 - if: 284 - if: 286 properties: 285 properties: 287 compatible: 286 compatible: 288 contains: 287 contains: 289 enum: 288 enum: 290 - qcom,sc8280xp-dwc3 289 - qcom,sc8280xp-dwc3 291 - qcom,sc8280xp-dwc3-mp 290 - qcom,sc8280xp-dwc3-mp 292 - qcom,x1e80100-dwc3 291 - qcom,x1e80100-dwc3 293 - qcom,x1e80100-dwc3-mp << 294 then: 292 then: 295 properties: 293 properties: 296 clocks: 294 clocks: 297 maxItems: 9 295 maxItems: 9 298 clock-names: 296 clock-names: 299 items: 297 items: 300 - const: cfg_noc 298 - const: cfg_noc 301 - const: core 299 - const: core 302 - const: iface 300 - const: iface 303 - const: sleep 301 - const: sleep 304 - const: mock_utmi 302 - const: mock_utmi 305 - const: noc_aggr 303 - const: noc_aggr 306 - const: noc_aggr_north 304 - const: noc_aggr_north 307 - const: noc_aggr_south 305 - const: noc_aggr_south 308 - const: noc_sys 306 - const: noc_sys 309 307 310 - if: 308 - if: 311 properties: 309 properties: 312 compatible: 310 compatible: 313 contains: 311 contains: 314 enum: 312 enum: 315 - qcom,sdm660-dwc3 313 - qcom,sdm660-dwc3 316 then: 314 then: 317 properties: 315 properties: 318 clocks: 316 clocks: 319 minItems: 4 317 minItems: 4 320 maxItems: 5 318 maxItems: 5 321 clock-names: 319 clock-names: 322 oneOf: 320 oneOf: 323 - items: 321 - items: 324 - const: cfg_noc 322 - const: cfg_noc 325 - const: core 323 - const: core 326 - const: iface 324 - const: iface 327 - const: sleep 325 - const: sleep 328 - const: mock_utmi 326 - const: mock_utmi 329 - items: 327 - items: 330 - const: cfg_noc 328 - const: cfg_noc 331 - const: core 329 - const: core 332 - const: sleep 330 - const: sleep 333 - const: mock_utmi 331 - const: mock_utmi 334 332 335 - if: 333 - if: 336 properties: 334 properties: 337 compatible: 335 compatible: 338 contains: 336 contains: 339 enum: 337 enum: 340 - qcom,qcm2290-dwc3 338 - qcom,qcm2290-dwc3 341 - qcom,sc8180x-dwc3 339 - qcom,sc8180x-dwc3 342 - qcom,sc8180x-dwc3-mp 340 - qcom,sc8180x-dwc3-mp 343 - qcom,sm6115-dwc3 341 - qcom,sm6115-dwc3 344 - qcom,sm6125-dwc3 342 - qcom,sm6125-dwc3 345 - qcom,sm8150-dwc3 343 - qcom,sm8150-dwc3 346 - qcom,sm8250-dwc3 344 - qcom,sm8250-dwc3 347 - qcom,sm8450-dwc3 345 - qcom,sm8450-dwc3 348 - qcom,sm8550-dwc3 346 - qcom,sm8550-dwc3 349 - qcom,sm8650-dwc3 347 - qcom,sm8650-dwc3 350 then: 348 then: 351 properties: 349 properties: 352 clocks: 350 clocks: 353 minItems: 6 351 minItems: 6 354 clock-names: 352 clock-names: 355 items: 353 items: 356 - const: cfg_noc 354 - const: cfg_noc 357 - const: core 355 - const: core 358 - const: iface 356 - const: iface 359 - const: sleep 357 - const: sleep 360 - const: mock_utmi 358 - const: mock_utmi 361 - const: xo 359 - const: xo 362 360 363 - if: 361 - if: 364 properties: 362 properties: 365 compatible: 363 compatible: 366 contains: 364 contains: 367 enum: 365 enum: 368 - qcom,sm8350-dwc3 366 - qcom,sm8350-dwc3 369 then: 367 then: 370 properties: 368 properties: 371 clocks: 369 clocks: 372 minItems: 5 370 minItems: 5 373 maxItems: 6 371 maxItems: 6 374 clock-names: 372 clock-names: 375 minItems: 5 373 minItems: 5 376 items: 374 items: 377 - const: cfg_noc 375 - const: cfg_noc 378 - const: core 376 - const: core 379 - const: iface 377 - const: iface 380 - const: sleep 378 - const: sleep 381 - const: mock_utmi 379 - const: mock_utmi 382 - const: xo 380 - const: xo 383 381 384 - if: 382 - if: 385 properties: 383 properties: 386 compatible: 384 compatible: 387 contains: 385 contains: 388 enum: 386 enum: 389 - qcom,ipq5018-dwc3 387 - qcom,ipq5018-dwc3 390 - qcom,ipq6018-dwc3 388 - qcom,ipq6018-dwc3 391 - qcom,ipq8074-dwc3 389 - qcom,ipq8074-dwc3 392 - qcom,msm8953-dwc3 390 - qcom,msm8953-dwc3 393 - qcom,msm8998-dwc3 391 - qcom,msm8998-dwc3 394 then: 392 then: 395 properties: 393 properties: 396 interrupts: 394 interrupts: 397 minItems: 2 395 minItems: 2 398 maxItems: 3 396 maxItems: 3 399 interrupt-names: 397 interrupt-names: 400 items: 398 items: 401 - const: pwr_event 399 - const: pwr_event 402 - const: qusb2_phy 400 - const: qusb2_phy 403 - const: ss_phy_irq 401 - const: ss_phy_irq 404 402 405 - if: 403 - if: 406 properties: 404 properties: 407 compatible: 405 compatible: 408 contains: 406 contains: 409 enum: 407 enum: 410 - qcom,msm8996-dwc3 408 - qcom,msm8996-dwc3 411 - qcom,qcs404-dwc3 409 - qcom,qcs404-dwc3 412 - qcom,sdm660-dwc3 410 - qcom,sdm660-dwc3 413 - qcom,sm6115-dwc3 411 - qcom,sm6115-dwc3 414 - qcom,sm6125-dwc3 412 - qcom,sm6125-dwc3 415 then: 413 then: 416 properties: 414 properties: 417 interrupts: 415 interrupts: 418 minItems: 3 416 minItems: 3 419 maxItems: 4 417 maxItems: 4 420 interrupt-names: 418 interrupt-names: 421 items: 419 items: 422 - const: pwr_event 420 - const: pwr_event 423 - const: qusb2_phy 421 - const: qusb2_phy 424 - const: hs_phy_irq 422 - const: hs_phy_irq 425 - const: ss_phy_irq 423 - const: ss_phy_irq 426 424 427 - if: 425 - if: 428 properties: 426 properties: 429 compatible: 427 compatible: 430 contains: 428 contains: 431 enum: 429 enum: 432 - qcom,ipq5332-dwc3 430 - qcom,ipq5332-dwc3 433 then: << 434 properties: << 435 interrupts: << 436 maxItems: 3 << 437 interrupt-names: << 438 items: << 439 - const: pwr_event << 440 - const: dp_hs_phy_irq << 441 - const: dm_hs_phy_irq << 442 << 443 - if: << 444 properties: << 445 compatible: << 446 contains: << 447 enum: << 448 - qcom,x1e80100-dwc3 431 - qcom,x1e80100-dwc3 449 then: 432 then: 450 properties: 433 properties: 451 interrupts: 434 interrupts: 452 maxItems: 4 435 maxItems: 4 453 interrupt-names: 436 interrupt-names: 454 items: 437 items: 455 - const: pwr_event 438 - const: pwr_event 456 - const: dp_hs_phy_irq 439 - const: dp_hs_phy_irq 457 - const: dm_hs_phy_irq 440 - const: dm_hs_phy_irq 458 - const: ss_phy_irq 441 - const: ss_phy_irq 459 442 460 - if: 443 - if: 461 properties: 444 properties: 462 compatible: 445 compatible: 463 contains: 446 contains: 464 enum: 447 enum: 465 - qcom,ipq4019-dwc3 448 - qcom,ipq4019-dwc3 466 - qcom,ipq8064-dwc3 449 - qcom,ipq8064-dwc3 467 - qcom,msm8994-dwc3 450 - qcom,msm8994-dwc3 468 - qcom,qdu1000-dwc3 451 - qcom,qdu1000-dwc3 469 - qcom,sa8775p-dwc3 452 - qcom,sa8775p-dwc3 470 - qcom,sc7180-dwc3 453 - qcom,sc7180-dwc3 471 - qcom,sc7280-dwc3 454 - qcom,sc7280-dwc3 472 - qcom,sc8180x-dwc3 455 - qcom,sc8180x-dwc3 473 - qcom,sc8280xp-dwc3 456 - qcom,sc8280xp-dwc3 474 - qcom,sdm670-dwc3 457 - qcom,sdm670-dwc3 475 - qcom,sdm845-dwc3 458 - qcom,sdm845-dwc3 476 - qcom,sdx55-dwc3 459 - qcom,sdx55-dwc3 477 - qcom,sdx65-dwc3 460 - qcom,sdx65-dwc3 478 - qcom,sdx75-dwc3 461 - qcom,sdx75-dwc3 479 - qcom,sm4250-dwc3 462 - qcom,sm4250-dwc3 480 - qcom,sm6350-dwc3 463 - qcom,sm6350-dwc3 481 - qcom,sm8150-dwc3 464 - qcom,sm8150-dwc3 482 - qcom,sm8250-dwc3 465 - qcom,sm8250-dwc3 483 - qcom,sm8350-dwc3 466 - qcom,sm8350-dwc3 484 - qcom,sm8450-dwc3 467 - qcom,sm8450-dwc3 485 - qcom,sm8550-dwc3 468 - qcom,sm8550-dwc3 486 - qcom,sm8650-dwc3 469 - qcom,sm8650-dwc3 487 then: 470 then: 488 properties: 471 properties: 489 interrupts: 472 interrupts: 490 minItems: 4 473 minItems: 4 491 maxItems: 5 474 maxItems: 5 492 interrupt-names: 475 interrupt-names: 493 items: 476 items: 494 - const: pwr_event 477 - const: pwr_event 495 - const: hs_phy_irq 478 - const: hs_phy_irq 496 - const: dp_hs_phy_irq 479 - const: dp_hs_phy_irq 497 - const: dm_hs_phy_irq 480 - const: dm_hs_phy_irq 498 - const: ss_phy_irq 481 - const: ss_phy_irq 499 482 500 - if: 483 - if: 501 properties: 484 properties: 502 compatible: 485 compatible: 503 contains: 486 contains: 504 enum: 487 enum: 505 - qcom,sc8180x-dwc3-mp 488 - qcom,sc8180x-dwc3-mp 506 - qcom,x1e80100-dwc3-mp << 507 then: 489 then: 508 properties: 490 properties: 509 interrupts: 491 interrupts: 510 minItems: 10 492 minItems: 10 511 maxItems: 10 493 maxItems: 10 512 interrupt-names: 494 interrupt-names: 513 items: 495 items: 514 - const: pwr_event_1 496 - const: pwr_event_1 515 - const: pwr_event_2 497 - const: pwr_event_2 516 - const: hs_phy_1 498 - const: hs_phy_1 517 - const: hs_phy_2 499 - const: hs_phy_2 518 - const: dp_hs_phy_1 500 - const: dp_hs_phy_1 519 - const: dm_hs_phy_1 501 - const: dm_hs_phy_1 520 - const: dp_hs_phy_2 502 - const: dp_hs_phy_2 521 - const: dm_hs_phy_2 503 - const: dm_hs_phy_2 522 - const: ss_phy_1 504 - const: ss_phy_1 523 - const: ss_phy_2 505 - const: ss_phy_2 524 506 525 - if: 507 - if: 526 properties: 508 properties: 527 compatible: 509 compatible: 528 contains: 510 contains: 529 enum: 511 enum: 530 - qcom,sc8280xp-dwc3-mp 512 - qcom,sc8280xp-dwc3-mp 531 then: 513 then: 532 properties: 514 properties: 533 interrupts: 515 interrupts: 534 minItems: 18 516 minItems: 18 535 maxItems: 18 517 maxItems: 18 536 interrupt-names: 518 interrupt-names: 537 items: 519 items: 538 - const: pwr_event_1 520 - const: pwr_event_1 539 - const: pwr_event_2 521 - const: pwr_event_2 540 - const: pwr_event_3 522 - const: pwr_event_3 541 - const: pwr_event_4 523 - const: pwr_event_4 542 - const: hs_phy_1 524 - const: hs_phy_1 543 - const: hs_phy_2 525 - const: hs_phy_2 544 - const: hs_phy_3 526 - const: hs_phy_3 545 - const: hs_phy_4 527 - const: hs_phy_4 546 - const: dp_hs_phy_1 528 - const: dp_hs_phy_1 547 - const: dm_hs_phy_1 529 - const: dm_hs_phy_1 548 - const: dp_hs_phy_2 530 - const: dp_hs_phy_2 549 - const: dm_hs_phy_2 531 - const: dm_hs_phy_2 550 - const: dp_hs_phy_3 532 - const: dp_hs_phy_3 551 - const: dm_hs_phy_3 533 - const: dm_hs_phy_3 552 - const: dp_hs_phy_4 534 - const: dp_hs_phy_4 553 - const: dm_hs_phy_4 535 - const: dm_hs_phy_4 554 - const: ss_phy_1 536 - const: ss_phy_1 555 - const: ss_phy_2 537 - const: ss_phy_2 556 538 557 additionalProperties: false 539 additionalProperties: false 558 540 559 examples: 541 examples: 560 - | 542 - | 561 #include <dt-bindings/clock/qcom,gcc-sdm84 543 #include <dt-bindings/clock/qcom,gcc-sdm845.h> 562 #include <dt-bindings/interrupt-controller 544 #include <dt-bindings/interrupt-controller/arm-gic.h> 563 #include <dt-bindings/interrupt-controller 545 #include <dt-bindings/interrupt-controller/irq.h> 564 soc { 546 soc { 565 #address-cells = <2>; 547 #address-cells = <2>; 566 #size-cells = <2>; 548 #size-cells = <2>; 567 549 568 usb@a6f8800 { 550 usb@a6f8800 { 569 compatible = "qcom,sdm845-dwc3", " 551 compatible = "qcom,sdm845-dwc3", "qcom,dwc3"; 570 reg = <0 0x0a6f8800 0 0x400>; 552 reg = <0 0x0a6f8800 0 0x400>; 571 553 572 #address-cells = <2>; 554 #address-cells = <2>; 573 #size-cells = <2>; 555 #size-cells = <2>; 574 ranges; 556 ranges; 575 clocks = <&gcc GCC_CFG_NOC_USB3_PR 557 clocks = <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>, 576 <&gcc GCC_USB30_PRIM_MAST 558 <&gcc GCC_USB30_PRIM_MASTER_CLK>, 577 <&gcc GCC_AGGRE_USB3_PRIM 559 <&gcc GCC_AGGRE_USB3_PRIM_AXI_CLK>, 578 <&gcc GCC_USB30_PRIM_SLEE 560 <&gcc GCC_USB30_PRIM_SLEEP_CLK>, 579 <&gcc GCC_USB30_PRIM_MOCK 561 <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>; 580 clock-names = "cfg_noc", 562 clock-names = "cfg_noc", 581 "core", 563 "core", 582 "iface", 564 "iface", 583 "sleep", 565 "sleep", 584 "mock_utmi"; 566 "mock_utmi"; 585 567 586 assigned-clocks = <&gcc GCC_USB30_ 568 assigned-clocks = <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>, 587 <&gcc GCC_USB30_PRIM 569 <&gcc GCC_USB30_PRIM_MASTER_CLK>; 588 assigned-clock-rates = <19200000>, 570 assigned-clock-rates = <19200000>, <150000000>; 589 571 590 interrupts = <GIC_SPI 130 IRQ_TYPE 572 interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>, 591 <GIC_SPI 131 IRQ_TYPE 573 <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>, 592 <GIC_SPI 489 IRQ_TYPE 574 <GIC_SPI 489 IRQ_TYPE_EDGE_BOTH>, 593 <GIC_SPI 488 IRQ_TYPE 575 <GIC_SPI 488 IRQ_TYPE_EDGE_BOTH>, 594 <GIC_SPI 486 IRQ_TYPE 576 <GIC_SPI 486 IRQ_TYPE_LEVEL_HIGH>; 595 interrupt-names = "pwr_event", "hs 577 interrupt-names = "pwr_event", "hs_phy_irq", 596 "dp_hs_phy_irq", "dm 578 "dp_hs_phy_irq", "dm_hs_phy_irq", "ss_phy_irq"; 597 579 598 power-domains = <&gcc USB30_PRIM_G 580 power-domains = <&gcc USB30_PRIM_GDSC>; 599 581 600 resets = <&gcc GCC_USB30_PRIM_BCR> 582 resets = <&gcc GCC_USB30_PRIM_BCR>; 601 583 602 usb@a600000 { 584 usb@a600000 { 603 compatible = "snps,dwc3"; 585 compatible = "snps,dwc3"; 604 reg = <0 0x0a600000 0 0xcd00>; 586 reg = <0 0x0a600000 0 0xcd00>; 605 interrupts = <GIC_SPI 133 IRQ_ 587 interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>; 606 iommus = <&apps_smmu 0x740 0>; 588 iommus = <&apps_smmu 0x740 0>; 607 snps,dis_u2_susphy_quirk; 589 snps,dis_u2_susphy_quirk; 608 snps,dis_enblslpm_quirk; 590 snps,dis_enblslpm_quirk; 609 phys = <&usb_1_hsphy>, <&usb_1 591 phys = <&usb_1_hsphy>, <&usb_1_ssphy>; 610 phy-names = "usb2-phy", "usb3- 592 phy-names = "usb2-phy", "usb3-phy"; 611 }; 593 }; 612 }; 594 }; 613 }; 595 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.