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