1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2c66ec88fSEmmanuel Vadot%YAML 1.2 3c66ec88fSEmmanuel Vadot--- 4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/usb/qcom,dwc3.yaml# 5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6c66ec88fSEmmanuel Vadot 7c66ec88fSEmmanuel Vadottitle: Qualcomm SuperSpeed DWC3 USB SoC controller 8c66ec88fSEmmanuel Vadot 9c66ec88fSEmmanuel Vadotmaintainers: 10d5b0e70fSEmmanuel Vadot - Wesley Cheng <quic_wcheng@quicinc.com> 11c66ec88fSEmmanuel Vadot 12c66ec88fSEmmanuel Vadotproperties: 13c66ec88fSEmmanuel Vadot compatible: 14c66ec88fSEmmanuel Vadot items: 15c66ec88fSEmmanuel Vadot - enum: 16e67e8565SEmmanuel Vadot - qcom,ipq4019-dwc3 1784943d6fSEmmanuel Vadot - qcom,ipq5018-dwc3 18aa1a8ff2SEmmanuel Vadot - qcom,ipq5332-dwc3 198cc087a1SEmmanuel Vadot - qcom,ipq6018-dwc3 20e67e8565SEmmanuel Vadot - qcom,ipq8064-dwc3 21d5b0e70fSEmmanuel Vadot - qcom,ipq8074-dwc3 22f126890aSEmmanuel Vadot - qcom,ipq9574-dwc3 23c9ccf3a3SEmmanuel Vadot - qcom,msm8953-dwc3 24d5b0e70fSEmmanuel Vadot - qcom,msm8994-dwc3 25c66ec88fSEmmanuel Vadot - qcom,msm8996-dwc3 26c66ec88fSEmmanuel Vadot - qcom,msm8998-dwc3 27fac71e4eSEmmanuel Vadot - qcom,qcm2290-dwc3 28d5b0e70fSEmmanuel Vadot - qcom,qcs404-dwc3 29f126890aSEmmanuel Vadot - qcom,sa8775p-dwc3 30c66ec88fSEmmanuel Vadot - qcom,sc7180-dwc3 312eb4d8dcSEmmanuel Vadot - qcom,sc7280-dwc3 32b97ee269SEmmanuel Vadot - qcom,sc8280xp-dwc3 33354d7675SEmmanuel Vadot - qcom,sdm660-dwc3 347ef62cebSEmmanuel Vadot - qcom,sdm670-dwc3 35c66ec88fSEmmanuel Vadot - qcom,sdm845-dwc3 365def4c47SEmmanuel Vadot - qcom,sdx55-dwc3 37d5b0e70fSEmmanuel Vadot - qcom,sdx65-dwc3 3884943d6fSEmmanuel Vadot - qcom,sdx75-dwc3 395956d97fSEmmanuel Vadot - qcom,sm4250-dwc3 405956d97fSEmmanuel Vadot - qcom,sm6115-dwc3 41d5b0e70fSEmmanuel Vadot - qcom,sm6125-dwc3 42e67e8565SEmmanuel Vadot - qcom,sm6350-dwc3 43b97ee269SEmmanuel Vadot - qcom,sm6375-dwc3 445def4c47SEmmanuel Vadot - qcom,sm8150-dwc3 455def4c47SEmmanuel Vadot - qcom,sm8250-dwc3 465def4c47SEmmanuel Vadot - qcom,sm8350-dwc3 47e67e8565SEmmanuel Vadot - qcom,sm8450-dwc3 488bab661aSEmmanuel Vadot - qcom,sm8550-dwc3 49*8d13bc63SEmmanuel Vadot - qcom,sm8650-dwc3 50*8d13bc63SEmmanuel Vadot - qcom,x1e80100-dwc3 51c66ec88fSEmmanuel Vadot - const: qcom,dwc3 52c66ec88fSEmmanuel Vadot 53c66ec88fSEmmanuel Vadot reg: 54c66ec88fSEmmanuel Vadot description: Offset and length of register set for QSCRATCH wrapper 55c66ec88fSEmmanuel Vadot maxItems: 1 56c66ec88fSEmmanuel Vadot 57c66ec88fSEmmanuel Vadot "#address-cells": 58c66ec88fSEmmanuel Vadot enum: [ 1, 2 ] 59c66ec88fSEmmanuel Vadot 60c66ec88fSEmmanuel Vadot "#size-cells": 61c66ec88fSEmmanuel Vadot enum: [ 1, 2 ] 62c66ec88fSEmmanuel Vadot 63c66ec88fSEmmanuel Vadot ranges: true 64c66ec88fSEmmanuel Vadot 65c66ec88fSEmmanuel Vadot power-domains: 66c66ec88fSEmmanuel Vadot description: specifies a phandle to PM domain provider node 67c66ec88fSEmmanuel Vadot maxItems: 1 68c66ec88fSEmmanuel Vadot 69cb7aa33aSEmmanuel Vadot required-opps: 70cb7aa33aSEmmanuel Vadot maxItems: 1 71cb7aa33aSEmmanuel Vadot 72c66ec88fSEmmanuel Vadot clocks: 73d5b0e70fSEmmanuel Vadot description: | 74d5b0e70fSEmmanuel Vadot Several clocks are used, depending on the variant. Typical ones are:: 75d5b0e70fSEmmanuel Vadot - cfg_noc:: System Config NOC clock. 76d5b0e70fSEmmanuel Vadot - core:: Master/Core clock, has to be >= 125 MHz for SS operation and >= 77d5b0e70fSEmmanuel Vadot 60MHz for HS operation. 78d5b0e70fSEmmanuel Vadot - iface:: System bus AXI clock. 79d5b0e70fSEmmanuel Vadot - sleep:: Sleep clock, used for wakeup when USB3 core goes into low 80d5b0e70fSEmmanuel Vadot power mode (U3). 81d5b0e70fSEmmanuel Vadot - mock_utmi:: Mock utmi clock needed for ITP/SOF generation in host 82d5b0e70fSEmmanuel Vadot mode. Its frequency should be 19.2MHz. 83d5b0e70fSEmmanuel Vadot minItems: 1 84b97ee269SEmmanuel Vadot maxItems: 9 85c66ec88fSEmmanuel Vadot 86c66ec88fSEmmanuel Vadot clock-names: 87d5b0e70fSEmmanuel Vadot minItems: 1 88b97ee269SEmmanuel Vadot maxItems: 9 89c66ec88fSEmmanuel Vadot 90c66ec88fSEmmanuel Vadot resets: 91c66ec88fSEmmanuel Vadot maxItems: 1 92c66ec88fSEmmanuel Vadot 93c66ec88fSEmmanuel Vadot interconnects: 94c66ec88fSEmmanuel Vadot maxItems: 2 95c66ec88fSEmmanuel Vadot 96c66ec88fSEmmanuel Vadot interconnect-names: 97c66ec88fSEmmanuel Vadot items: 98c66ec88fSEmmanuel Vadot - const: usb-ddr 99c66ec88fSEmmanuel Vadot - const: apps-usb 100c66ec88fSEmmanuel Vadot 101c66ec88fSEmmanuel Vadot interrupts: 102*8d13bc63SEmmanuel Vadot description: | 103*8d13bc63SEmmanuel Vadot Different types of interrupts are used based on HS PHY used on target: 104*8d13bc63SEmmanuel Vadot - pwr_event: Used for wakeup based on other power events. 105*8d13bc63SEmmanuel Vadot - hs_phY_irq: Apart from DP/DM/QUSB2 PHY interrupts, there is 106*8d13bc63SEmmanuel Vadot hs_phy_irq which is not triggered by default and its 107*8d13bc63SEmmanuel Vadot functionality is mutually exclusive to that of 108*8d13bc63SEmmanuel Vadot {dp/dm}_hs_phy_irq and qusb2_phy_irq. 109*8d13bc63SEmmanuel Vadot - qusb2_phy: SoCs with QUSB2 PHY do not have separate DP/DM IRQs and 110*8d13bc63SEmmanuel Vadot expose only a single IRQ whose behavior can be modified 111*8d13bc63SEmmanuel Vadot by the QUSB2PHY_INTR_CTRL register. The required DPSE/ 112*8d13bc63SEmmanuel Vadot DMSE configuration is done in QUSB2PHY_INTR_CTRL register 113*8d13bc63SEmmanuel Vadot of PHY address space. 114*8d13bc63SEmmanuel Vadot - {dp/dm}_hs_phy_irq: These IRQ's directly reflect changes on the DP/ 115*8d13bc63SEmmanuel Vadot DM pads of the SoC. These are used for wakeup 116*8d13bc63SEmmanuel Vadot only on SoCs with non-QUSB2 targets with 117*8d13bc63SEmmanuel Vadot exception of SDM670/SDM845/SM6350. 118*8d13bc63SEmmanuel Vadot - ss_phy_irq: Used for remote wakeup in Super Speed mode of operation. 119*8d13bc63SEmmanuel Vadot minItems: 2 120*8d13bc63SEmmanuel Vadot maxItems: 5 121c66ec88fSEmmanuel Vadot 122c66ec88fSEmmanuel Vadot interrupt-names: 123*8d13bc63SEmmanuel Vadot minItems: 2 124*8d13bc63SEmmanuel Vadot maxItems: 5 125c66ec88fSEmmanuel Vadot 126c66ec88fSEmmanuel Vadot qcom,select-utmi-as-pipe-clk: 127c66ec88fSEmmanuel Vadot description: 128c66ec88fSEmmanuel Vadot If present, disable USB3 pipe_clk requirement. 129c66ec88fSEmmanuel Vadot Used when dwc3 operates without SSPHY and only 130c66ec88fSEmmanuel Vadot HS/FS/LS modes are supported. 131c66ec88fSEmmanuel Vadot type: boolean 132c66ec88fSEmmanuel Vadot 133b97ee269SEmmanuel Vadot wakeup-source: true 134b97ee269SEmmanuel Vadot 135c66ec88fSEmmanuel Vadot# Required child node: 136c66ec88fSEmmanuel Vadot 137c66ec88fSEmmanuel VadotpatternProperties: 1385def4c47SEmmanuel Vadot "^usb@[0-9a-f]+$": 1395def4c47SEmmanuel Vadot $ref: snps,dwc3.yaml# 140fac71e4eSEmmanuel Vadot unevaluatedProperties: false 141c66ec88fSEmmanuel Vadot 142b97ee269SEmmanuel Vadot properties: 143b97ee269SEmmanuel Vadot wakeup-source: false 144b97ee269SEmmanuel Vadot 145c66ec88fSEmmanuel Vadotrequired: 146c66ec88fSEmmanuel Vadot - compatible 147c66ec88fSEmmanuel Vadot - reg 148c66ec88fSEmmanuel Vadot - "#address-cells" 149c66ec88fSEmmanuel Vadot - "#size-cells" 150c66ec88fSEmmanuel Vadot - ranges 151c66ec88fSEmmanuel Vadot - clocks 152c66ec88fSEmmanuel Vadot - clock-names 153c66ec88fSEmmanuel Vadot - interrupts 154c66ec88fSEmmanuel Vadot - interrupt-names 155c66ec88fSEmmanuel Vadot 156d5b0e70fSEmmanuel VadotallOf: 157d5b0e70fSEmmanuel Vadot - if: 158d5b0e70fSEmmanuel Vadot properties: 159d5b0e70fSEmmanuel Vadot compatible: 160d5b0e70fSEmmanuel Vadot contains: 161d5b0e70fSEmmanuel Vadot enum: 162d5b0e70fSEmmanuel Vadot - qcom,ipq4019-dwc3 163d5b0e70fSEmmanuel Vadot then: 164d5b0e70fSEmmanuel Vadot properties: 165d5b0e70fSEmmanuel Vadot clocks: 166d5b0e70fSEmmanuel Vadot maxItems: 3 167d5b0e70fSEmmanuel Vadot clock-names: 168d5b0e70fSEmmanuel Vadot items: 169d5b0e70fSEmmanuel Vadot - const: core 170d5b0e70fSEmmanuel Vadot - const: sleep 171d5b0e70fSEmmanuel Vadot - const: mock_utmi 172d5b0e70fSEmmanuel Vadot 173d5b0e70fSEmmanuel Vadot - if: 174d5b0e70fSEmmanuel Vadot properties: 175d5b0e70fSEmmanuel Vadot compatible: 176d5b0e70fSEmmanuel Vadot contains: 177d5b0e70fSEmmanuel Vadot enum: 178d5b0e70fSEmmanuel Vadot - qcom,ipq8064-dwc3 179d5b0e70fSEmmanuel Vadot then: 180d5b0e70fSEmmanuel Vadot properties: 181d5b0e70fSEmmanuel Vadot clocks: 182d5b0e70fSEmmanuel Vadot items: 183d5b0e70fSEmmanuel Vadot - description: Master/Core clock, has to be >= 125 MHz 184d5b0e70fSEmmanuel Vadot for SS operation and >= 60MHz for HS operation. 185d5b0e70fSEmmanuel Vadot clock-names: 186d5b0e70fSEmmanuel Vadot items: 187d5b0e70fSEmmanuel Vadot - const: core 188d5b0e70fSEmmanuel Vadot 189d5b0e70fSEmmanuel Vadot - if: 190d5b0e70fSEmmanuel Vadot properties: 191d5b0e70fSEmmanuel Vadot compatible: 192d5b0e70fSEmmanuel Vadot contains: 193d5b0e70fSEmmanuel Vadot enum: 194f126890aSEmmanuel Vadot - qcom,ipq9574-dwc3 195d5b0e70fSEmmanuel Vadot - qcom,msm8953-dwc3 196d5b0e70fSEmmanuel Vadot - qcom,msm8996-dwc3 197d5b0e70fSEmmanuel Vadot - qcom,msm8998-dwc3 198f126890aSEmmanuel Vadot - qcom,sa8775p-dwc3 199d5b0e70fSEmmanuel Vadot - qcom,sc7180-dwc3 200d5b0e70fSEmmanuel Vadot - qcom,sc7280-dwc3 2017ef62cebSEmmanuel Vadot - qcom,sdm670-dwc3 202d5b0e70fSEmmanuel Vadot - qcom,sdm845-dwc3 203d5b0e70fSEmmanuel Vadot - qcom,sdx55-dwc3 20484943d6fSEmmanuel Vadot - qcom,sdx65-dwc3 20584943d6fSEmmanuel Vadot - qcom,sdx75-dwc3 206d5b0e70fSEmmanuel Vadot - qcom,sm6350-dwc3 207d5b0e70fSEmmanuel Vadot then: 208d5b0e70fSEmmanuel Vadot properties: 209d5b0e70fSEmmanuel Vadot clocks: 210d5b0e70fSEmmanuel Vadot maxItems: 5 211d5b0e70fSEmmanuel Vadot clock-names: 212d5b0e70fSEmmanuel Vadot items: 213d5b0e70fSEmmanuel Vadot - const: cfg_noc 214d5b0e70fSEmmanuel Vadot - const: core 215d5b0e70fSEmmanuel Vadot - const: iface 216d5b0e70fSEmmanuel Vadot - const: sleep 217d5b0e70fSEmmanuel Vadot - const: mock_utmi 218d5b0e70fSEmmanuel Vadot 219d5b0e70fSEmmanuel Vadot - if: 220d5b0e70fSEmmanuel Vadot properties: 221d5b0e70fSEmmanuel Vadot compatible: 222d5b0e70fSEmmanuel Vadot contains: 223d5b0e70fSEmmanuel Vadot enum: 224d5b0e70fSEmmanuel Vadot - qcom,ipq6018-dwc3 225d5b0e70fSEmmanuel Vadot then: 226d5b0e70fSEmmanuel Vadot properties: 227d5b0e70fSEmmanuel Vadot clocks: 228d5b0e70fSEmmanuel Vadot minItems: 3 229d5b0e70fSEmmanuel Vadot maxItems: 4 230d5b0e70fSEmmanuel Vadot clock-names: 231d5b0e70fSEmmanuel Vadot oneOf: 232d5b0e70fSEmmanuel Vadot - items: 233d5b0e70fSEmmanuel Vadot - const: core 234d5b0e70fSEmmanuel Vadot - const: sleep 235d5b0e70fSEmmanuel Vadot - const: mock_utmi 236d5b0e70fSEmmanuel Vadot - items: 237d5b0e70fSEmmanuel Vadot - const: cfg_noc 238d5b0e70fSEmmanuel Vadot - const: core 239d5b0e70fSEmmanuel Vadot - const: sleep 240d5b0e70fSEmmanuel Vadot - const: mock_utmi 241d5b0e70fSEmmanuel Vadot 242d5b0e70fSEmmanuel Vadot - if: 243d5b0e70fSEmmanuel Vadot properties: 244d5b0e70fSEmmanuel Vadot compatible: 245d5b0e70fSEmmanuel Vadot contains: 246d5b0e70fSEmmanuel Vadot enum: 247d5b0e70fSEmmanuel Vadot - qcom,ipq8074-dwc3 248d5b0e70fSEmmanuel Vadot then: 249d5b0e70fSEmmanuel Vadot properties: 250d5b0e70fSEmmanuel Vadot clocks: 251d5b0e70fSEmmanuel Vadot maxItems: 4 252d5b0e70fSEmmanuel Vadot clock-names: 253d5b0e70fSEmmanuel Vadot items: 254d5b0e70fSEmmanuel Vadot - const: cfg_noc 255d5b0e70fSEmmanuel Vadot - const: core 256d5b0e70fSEmmanuel Vadot - const: sleep 257d5b0e70fSEmmanuel Vadot - const: mock_utmi 258d5b0e70fSEmmanuel Vadot 259d5b0e70fSEmmanuel Vadot - if: 260d5b0e70fSEmmanuel Vadot properties: 261d5b0e70fSEmmanuel Vadot compatible: 262d5b0e70fSEmmanuel Vadot contains: 263d5b0e70fSEmmanuel Vadot enum: 26484943d6fSEmmanuel Vadot - qcom,ipq5018-dwc3 265aa1a8ff2SEmmanuel Vadot - qcom,ipq5332-dwc3 266d5b0e70fSEmmanuel Vadot - qcom,msm8994-dwc3 267d5b0e70fSEmmanuel Vadot - qcom,qcs404-dwc3 268d5b0e70fSEmmanuel Vadot then: 269d5b0e70fSEmmanuel Vadot properties: 270d5b0e70fSEmmanuel Vadot clocks: 271d5b0e70fSEmmanuel Vadot maxItems: 4 272d5b0e70fSEmmanuel Vadot clock-names: 273d5b0e70fSEmmanuel Vadot items: 274d5b0e70fSEmmanuel Vadot - const: core 275d5b0e70fSEmmanuel Vadot - const: iface 276d5b0e70fSEmmanuel Vadot - const: sleep 277d5b0e70fSEmmanuel Vadot - const: mock_utmi 278d5b0e70fSEmmanuel Vadot 279d5b0e70fSEmmanuel Vadot - if: 280d5b0e70fSEmmanuel Vadot properties: 281d5b0e70fSEmmanuel Vadot compatible: 282d5b0e70fSEmmanuel Vadot contains: 283d5b0e70fSEmmanuel Vadot enum: 284b97ee269SEmmanuel Vadot - qcom,sc8280xp-dwc3 285*8d13bc63SEmmanuel Vadot - qcom,x1e80100-dwc3 286b97ee269SEmmanuel Vadot then: 287b97ee269SEmmanuel Vadot properties: 288b97ee269SEmmanuel Vadot clocks: 289b97ee269SEmmanuel Vadot maxItems: 9 290b97ee269SEmmanuel Vadot clock-names: 291b97ee269SEmmanuel Vadot items: 292b97ee269SEmmanuel Vadot - const: cfg_noc 293b97ee269SEmmanuel Vadot - const: core 294b97ee269SEmmanuel Vadot - const: iface 295b97ee269SEmmanuel Vadot - const: sleep 296b97ee269SEmmanuel Vadot - const: mock_utmi 297b97ee269SEmmanuel Vadot - const: noc_aggr 298b97ee269SEmmanuel Vadot - const: noc_aggr_north 299b97ee269SEmmanuel Vadot - const: noc_aggr_south 300b97ee269SEmmanuel Vadot - const: noc_sys 301b97ee269SEmmanuel Vadot 302b97ee269SEmmanuel Vadot - if: 303b97ee269SEmmanuel Vadot properties: 304b97ee269SEmmanuel Vadot compatible: 305b97ee269SEmmanuel Vadot contains: 306b97ee269SEmmanuel Vadot enum: 307d5b0e70fSEmmanuel Vadot - qcom,sdm660-dwc3 308d5b0e70fSEmmanuel Vadot then: 309d5b0e70fSEmmanuel Vadot properties: 310d5b0e70fSEmmanuel Vadot clocks: 311*8d13bc63SEmmanuel Vadot minItems: 4 312*8d13bc63SEmmanuel Vadot maxItems: 5 313d5b0e70fSEmmanuel Vadot clock-names: 314aa1a8ff2SEmmanuel Vadot oneOf: 315aa1a8ff2SEmmanuel Vadot - items: 316d5b0e70fSEmmanuel Vadot - const: cfg_noc 317d5b0e70fSEmmanuel Vadot - const: core 318d5b0e70fSEmmanuel Vadot - const: iface 319d5b0e70fSEmmanuel Vadot - const: sleep 320d5b0e70fSEmmanuel Vadot - const: mock_utmi 321aa1a8ff2SEmmanuel Vadot - items: 322aa1a8ff2SEmmanuel Vadot - const: cfg_noc 323aa1a8ff2SEmmanuel Vadot - const: core 324aa1a8ff2SEmmanuel Vadot - const: sleep 325aa1a8ff2SEmmanuel Vadot - const: mock_utmi 326d5b0e70fSEmmanuel Vadot 327d5b0e70fSEmmanuel Vadot - if: 328d5b0e70fSEmmanuel Vadot properties: 329d5b0e70fSEmmanuel Vadot compatible: 330d5b0e70fSEmmanuel Vadot contains: 331d5b0e70fSEmmanuel Vadot enum: 332fac71e4eSEmmanuel Vadot - qcom,qcm2290-dwc3 3337ef62cebSEmmanuel Vadot - qcom,sm6115-dwc3 334d5b0e70fSEmmanuel Vadot - qcom,sm6125-dwc3 335d5b0e70fSEmmanuel Vadot - qcom,sm8150-dwc3 336d5b0e70fSEmmanuel Vadot - qcom,sm8250-dwc3 337d5b0e70fSEmmanuel Vadot - qcom,sm8450-dwc3 3388bab661aSEmmanuel Vadot - qcom,sm8550-dwc3 339*8d13bc63SEmmanuel Vadot - qcom,sm8650-dwc3 340d5b0e70fSEmmanuel Vadot then: 341d5b0e70fSEmmanuel Vadot properties: 342d5b0e70fSEmmanuel Vadot clocks: 343d5b0e70fSEmmanuel Vadot minItems: 6 344d5b0e70fSEmmanuel Vadot clock-names: 345d5b0e70fSEmmanuel Vadot items: 346d5b0e70fSEmmanuel Vadot - const: cfg_noc 347d5b0e70fSEmmanuel Vadot - const: core 348d5b0e70fSEmmanuel Vadot - const: iface 349d5b0e70fSEmmanuel Vadot - const: sleep 350d5b0e70fSEmmanuel Vadot - const: mock_utmi 351d5b0e70fSEmmanuel Vadot - const: xo 352d5b0e70fSEmmanuel Vadot 353d5b0e70fSEmmanuel Vadot - if: 354d5b0e70fSEmmanuel Vadot properties: 355d5b0e70fSEmmanuel Vadot compatible: 356d5b0e70fSEmmanuel Vadot contains: 357d5b0e70fSEmmanuel Vadot enum: 358d5b0e70fSEmmanuel Vadot - qcom,sm8350-dwc3 359d5b0e70fSEmmanuel Vadot then: 360d5b0e70fSEmmanuel Vadot properties: 361d5b0e70fSEmmanuel Vadot clocks: 362d5b0e70fSEmmanuel Vadot minItems: 5 363d5b0e70fSEmmanuel Vadot maxItems: 6 364d5b0e70fSEmmanuel Vadot clock-names: 365d5b0e70fSEmmanuel Vadot minItems: 5 366d5b0e70fSEmmanuel Vadot items: 367d5b0e70fSEmmanuel Vadot - const: cfg_noc 368d5b0e70fSEmmanuel Vadot - const: core 369d5b0e70fSEmmanuel Vadot - const: iface 370d5b0e70fSEmmanuel Vadot - const: sleep 371d5b0e70fSEmmanuel Vadot - const: mock_utmi 372d5b0e70fSEmmanuel Vadot - const: xo 373d5b0e70fSEmmanuel Vadot 374b97ee269SEmmanuel Vadot - if: 375b97ee269SEmmanuel Vadot properties: 376b97ee269SEmmanuel Vadot compatible: 377b97ee269SEmmanuel Vadot contains: 378b97ee269SEmmanuel Vadot enum: 379*8d13bc63SEmmanuel Vadot - qcom,ipq5018-dwc3 380b97ee269SEmmanuel Vadot - qcom,ipq6018-dwc3 381b97ee269SEmmanuel Vadot - qcom,ipq8074-dwc3 382*8d13bc63SEmmanuel Vadot - qcom,msm8953-dwc3 383*8d13bc63SEmmanuel Vadot - qcom,msm8998-dwc3 384*8d13bc63SEmmanuel Vadot then: 385*8d13bc63SEmmanuel Vadot properties: 386*8d13bc63SEmmanuel Vadot interrupts: 387*8d13bc63SEmmanuel Vadot minItems: 2 388*8d13bc63SEmmanuel Vadot maxItems: 3 389*8d13bc63SEmmanuel Vadot interrupt-names: 390*8d13bc63SEmmanuel Vadot items: 391*8d13bc63SEmmanuel Vadot - const: pwr_event 392*8d13bc63SEmmanuel Vadot - const: qusb2_phy 393*8d13bc63SEmmanuel Vadot - const: ss_phy_irq 394*8d13bc63SEmmanuel Vadot 395*8d13bc63SEmmanuel Vadot - if: 396*8d13bc63SEmmanuel Vadot properties: 397*8d13bc63SEmmanuel Vadot compatible: 398*8d13bc63SEmmanuel Vadot contains: 399*8d13bc63SEmmanuel Vadot enum: 400*8d13bc63SEmmanuel Vadot - qcom,msm8996-dwc3 401b97ee269SEmmanuel Vadot - qcom,qcs404-dwc3 402*8d13bc63SEmmanuel Vadot - qcom,sdm660-dwc3 403*8d13bc63SEmmanuel Vadot - qcom,sm6115-dwc3 404*8d13bc63SEmmanuel Vadot - qcom,sm6125-dwc3 405*8d13bc63SEmmanuel Vadot then: 406*8d13bc63SEmmanuel Vadot properties: 407*8d13bc63SEmmanuel Vadot interrupts: 408*8d13bc63SEmmanuel Vadot minItems: 3 409*8d13bc63SEmmanuel Vadot maxItems: 4 410*8d13bc63SEmmanuel Vadot interrupt-names: 411*8d13bc63SEmmanuel Vadot items: 412*8d13bc63SEmmanuel Vadot - const: pwr_event 413*8d13bc63SEmmanuel Vadot - const: qusb2_phy 414*8d13bc63SEmmanuel Vadot - const: hs_phy_irq 415*8d13bc63SEmmanuel Vadot - const: ss_phy_irq 416*8d13bc63SEmmanuel Vadot 417*8d13bc63SEmmanuel Vadot - if: 418*8d13bc63SEmmanuel Vadot properties: 419*8d13bc63SEmmanuel Vadot compatible: 420*8d13bc63SEmmanuel Vadot contains: 421*8d13bc63SEmmanuel Vadot enum: 422*8d13bc63SEmmanuel Vadot - qcom,ipq5332-dwc3 423*8d13bc63SEmmanuel Vadot - qcom,x1e80100-dwc3 424*8d13bc63SEmmanuel Vadot then: 425*8d13bc63SEmmanuel Vadot properties: 426*8d13bc63SEmmanuel Vadot interrupts: 427*8d13bc63SEmmanuel Vadot maxItems: 4 428*8d13bc63SEmmanuel Vadot interrupt-names: 429*8d13bc63SEmmanuel Vadot items: 430*8d13bc63SEmmanuel Vadot - const: pwr_event 431*8d13bc63SEmmanuel Vadot - const: dp_hs_phy_irq 432*8d13bc63SEmmanuel Vadot - const: dm_hs_phy_irq 433*8d13bc63SEmmanuel Vadot - const: ss_phy_irq 434*8d13bc63SEmmanuel Vadot 435*8d13bc63SEmmanuel Vadot - if: 436*8d13bc63SEmmanuel Vadot properties: 437*8d13bc63SEmmanuel Vadot compatible: 438*8d13bc63SEmmanuel Vadot contains: 439*8d13bc63SEmmanuel Vadot enum: 440*8d13bc63SEmmanuel Vadot - qcom,ipq4019-dwc3 441*8d13bc63SEmmanuel Vadot - qcom,ipq8064-dwc3 442*8d13bc63SEmmanuel Vadot - qcom,msm8994-dwc3 443*8d13bc63SEmmanuel Vadot - qcom,sa8775p-dwc3 444b97ee269SEmmanuel Vadot - qcom,sc7180-dwc3 445*8d13bc63SEmmanuel Vadot - qcom,sc7280-dwc3 446*8d13bc63SEmmanuel Vadot - qcom,sc8280xp-dwc3 4477ef62cebSEmmanuel Vadot - qcom,sdm670-dwc3 448b97ee269SEmmanuel Vadot - qcom,sdm845-dwc3 449b97ee269SEmmanuel Vadot - qcom,sdx55-dwc3 450b97ee269SEmmanuel Vadot - qcom,sdx65-dwc3 45184943d6fSEmmanuel Vadot - qcom,sdx75-dwc3 452b97ee269SEmmanuel Vadot - qcom,sm4250-dwc3 453b97ee269SEmmanuel Vadot - qcom,sm6350-dwc3 454b97ee269SEmmanuel Vadot - qcom,sm8150-dwc3 455b97ee269SEmmanuel Vadot - qcom,sm8250-dwc3 456b97ee269SEmmanuel Vadot - qcom,sm8350-dwc3 457b97ee269SEmmanuel Vadot - qcom,sm8450-dwc3 4588bab661aSEmmanuel Vadot - qcom,sm8550-dwc3 459*8d13bc63SEmmanuel Vadot - qcom,sm8650-dwc3 460b97ee269SEmmanuel Vadot then: 461b97ee269SEmmanuel Vadot properties: 462b97ee269SEmmanuel Vadot interrupts: 463*8d13bc63SEmmanuel Vadot minItems: 4 464*8d13bc63SEmmanuel Vadot maxItems: 5 465b97ee269SEmmanuel Vadot interrupt-names: 466b97ee269SEmmanuel Vadot items: 467b97ee269SEmmanuel Vadot - const: pwr_event 468*8d13bc63SEmmanuel Vadot - const: hs_phy_irq 469f126890aSEmmanuel Vadot - const: dp_hs_phy_irq 470f126890aSEmmanuel Vadot - const: dm_hs_phy_irq 471f126890aSEmmanuel Vadot - const: ss_phy_irq 472f126890aSEmmanuel Vadot 4736be33864SEmmanuel VadotadditionalProperties: false 4746be33864SEmmanuel Vadot 475c66ec88fSEmmanuel Vadotexamples: 476c66ec88fSEmmanuel Vadot - | 477c66ec88fSEmmanuel Vadot #include <dt-bindings/clock/qcom,gcc-sdm845.h> 478c66ec88fSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 479c66ec88fSEmmanuel Vadot #include <dt-bindings/interrupt-controller/irq.h> 480c66ec88fSEmmanuel Vadot soc { 481c66ec88fSEmmanuel Vadot #address-cells = <2>; 482c66ec88fSEmmanuel Vadot #size-cells = <2>; 483c66ec88fSEmmanuel Vadot 484c66ec88fSEmmanuel Vadot usb@a6f8800 { 485c66ec88fSEmmanuel Vadot compatible = "qcom,sdm845-dwc3", "qcom,dwc3"; 486c66ec88fSEmmanuel Vadot reg = <0 0x0a6f8800 0 0x400>; 487c66ec88fSEmmanuel Vadot 488c66ec88fSEmmanuel Vadot #address-cells = <2>; 489c66ec88fSEmmanuel Vadot #size-cells = <2>; 490c66ec88fSEmmanuel Vadot ranges; 491c66ec88fSEmmanuel Vadot clocks = <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>, 492c66ec88fSEmmanuel Vadot <&gcc GCC_USB30_PRIM_MASTER_CLK>, 493c66ec88fSEmmanuel Vadot <&gcc GCC_AGGRE_USB3_PRIM_AXI_CLK>, 494d5b0e70fSEmmanuel Vadot <&gcc GCC_USB30_PRIM_SLEEP_CLK>, 495d5b0e70fSEmmanuel Vadot <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>; 496d5b0e70fSEmmanuel Vadot clock-names = "cfg_noc", 497d5b0e70fSEmmanuel Vadot "core", 498d5b0e70fSEmmanuel Vadot "iface", 499d5b0e70fSEmmanuel Vadot "sleep", 500d5b0e70fSEmmanuel Vadot "mock_utmi"; 501c66ec88fSEmmanuel Vadot 502c66ec88fSEmmanuel Vadot assigned-clocks = <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>, 503c66ec88fSEmmanuel Vadot <&gcc GCC_USB30_PRIM_MASTER_CLK>; 504c66ec88fSEmmanuel Vadot assigned-clock-rates = <19200000>, <150000000>; 505c66ec88fSEmmanuel Vadot 506*8d13bc63SEmmanuel Vadot interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>, 507*8d13bc63SEmmanuel Vadot <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>, 508*8d13bc63SEmmanuel Vadot <GIC_SPI 489 IRQ_TYPE_EDGE_BOTH>, 50984943d6fSEmmanuel Vadot <GIC_SPI 488 IRQ_TYPE_EDGE_BOTH>, 510*8d13bc63SEmmanuel Vadot <GIC_SPI 486 IRQ_TYPE_LEVEL_HIGH>; 511*8d13bc63SEmmanuel Vadot interrupt-names = "pwr_event", "hs_phy_irq", 512*8d13bc63SEmmanuel Vadot "dp_hs_phy_irq", "dm_hs_phy_irq", "ss_phy_irq"; 513c66ec88fSEmmanuel Vadot 514c66ec88fSEmmanuel Vadot power-domains = <&gcc USB30_PRIM_GDSC>; 515c66ec88fSEmmanuel Vadot 516c66ec88fSEmmanuel Vadot resets = <&gcc GCC_USB30_PRIM_BCR>; 517c66ec88fSEmmanuel Vadot 5185def4c47SEmmanuel Vadot usb@a600000 { 519c66ec88fSEmmanuel Vadot compatible = "snps,dwc3"; 520c66ec88fSEmmanuel Vadot reg = <0 0x0a600000 0 0xcd00>; 521c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>; 522c66ec88fSEmmanuel Vadot iommus = <&apps_smmu 0x740 0>; 523c66ec88fSEmmanuel Vadot snps,dis_u2_susphy_quirk; 524c66ec88fSEmmanuel Vadot snps,dis_enblslpm_quirk; 525c66ec88fSEmmanuel Vadot phys = <&usb_1_hsphy>, <&usb_1_ssphy>; 526c66ec88fSEmmanuel Vadot phy-names = "usb2-phy", "usb3-phy"; 527c66ec88fSEmmanuel Vadot }; 528c66ec88fSEmmanuel Vadot }; 529c66ec88fSEmmanuel Vadot }; 530