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 17*84943d6fSEmmanuel 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 38*84943d6fSEmmanuel 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 49c66ec88fSEmmanuel Vadot - const: qcom,dwc3 50c66ec88fSEmmanuel Vadot 51c66ec88fSEmmanuel Vadot reg: 52c66ec88fSEmmanuel Vadot description: Offset and length of register set for QSCRATCH wrapper 53c66ec88fSEmmanuel Vadot maxItems: 1 54c66ec88fSEmmanuel Vadot 55c66ec88fSEmmanuel Vadot "#address-cells": 56c66ec88fSEmmanuel Vadot enum: [ 1, 2 ] 57c66ec88fSEmmanuel Vadot 58c66ec88fSEmmanuel Vadot "#size-cells": 59c66ec88fSEmmanuel Vadot enum: [ 1, 2 ] 60c66ec88fSEmmanuel Vadot 61c66ec88fSEmmanuel Vadot ranges: true 62c66ec88fSEmmanuel Vadot 63c66ec88fSEmmanuel Vadot power-domains: 64c66ec88fSEmmanuel Vadot description: specifies a phandle to PM domain provider node 65c66ec88fSEmmanuel Vadot maxItems: 1 66c66ec88fSEmmanuel Vadot 67cb7aa33aSEmmanuel Vadot required-opps: 68cb7aa33aSEmmanuel Vadot maxItems: 1 69cb7aa33aSEmmanuel Vadot 70c66ec88fSEmmanuel Vadot clocks: 71d5b0e70fSEmmanuel Vadot description: | 72d5b0e70fSEmmanuel Vadot Several clocks are used, depending on the variant. Typical ones are:: 73d5b0e70fSEmmanuel Vadot - cfg_noc:: System Config NOC clock. 74d5b0e70fSEmmanuel Vadot - core:: Master/Core clock, has to be >= 125 MHz for SS operation and >= 75d5b0e70fSEmmanuel Vadot 60MHz for HS operation. 76d5b0e70fSEmmanuel Vadot - iface:: System bus AXI clock. 77d5b0e70fSEmmanuel Vadot - sleep:: Sleep clock, used for wakeup when USB3 core goes into low 78d5b0e70fSEmmanuel Vadot power mode (U3). 79d5b0e70fSEmmanuel Vadot - mock_utmi:: Mock utmi clock needed for ITP/SOF generation in host 80d5b0e70fSEmmanuel Vadot mode. Its frequency should be 19.2MHz. 81d5b0e70fSEmmanuel Vadot minItems: 1 82b97ee269SEmmanuel Vadot maxItems: 9 83c66ec88fSEmmanuel Vadot 84c66ec88fSEmmanuel Vadot clock-names: 85d5b0e70fSEmmanuel Vadot minItems: 1 86b97ee269SEmmanuel Vadot maxItems: 9 87c66ec88fSEmmanuel Vadot 88c66ec88fSEmmanuel Vadot resets: 89c66ec88fSEmmanuel Vadot maxItems: 1 90c66ec88fSEmmanuel Vadot 91c66ec88fSEmmanuel Vadot interconnects: 92c66ec88fSEmmanuel Vadot maxItems: 2 93c66ec88fSEmmanuel Vadot 94c66ec88fSEmmanuel Vadot interconnect-names: 95c66ec88fSEmmanuel Vadot items: 96c66ec88fSEmmanuel Vadot - const: usb-ddr 97c66ec88fSEmmanuel Vadot - const: apps-usb 98c66ec88fSEmmanuel Vadot 99c66ec88fSEmmanuel Vadot interrupts: 100b97ee269SEmmanuel Vadot minItems: 1 101b97ee269SEmmanuel Vadot maxItems: 4 102c66ec88fSEmmanuel Vadot 103c66ec88fSEmmanuel Vadot interrupt-names: 104b97ee269SEmmanuel Vadot minItems: 1 105b97ee269SEmmanuel Vadot maxItems: 4 106c66ec88fSEmmanuel Vadot 107c66ec88fSEmmanuel Vadot qcom,select-utmi-as-pipe-clk: 108c66ec88fSEmmanuel Vadot description: 109c66ec88fSEmmanuel Vadot If present, disable USB3 pipe_clk requirement. 110c66ec88fSEmmanuel Vadot Used when dwc3 operates without SSPHY and only 111c66ec88fSEmmanuel Vadot HS/FS/LS modes are supported. 112c66ec88fSEmmanuel Vadot type: boolean 113c66ec88fSEmmanuel Vadot 114b97ee269SEmmanuel Vadot wakeup-source: true 115b97ee269SEmmanuel Vadot 116c66ec88fSEmmanuel Vadot# Required child node: 117c66ec88fSEmmanuel Vadot 118c66ec88fSEmmanuel VadotpatternProperties: 1195def4c47SEmmanuel Vadot "^usb@[0-9a-f]+$": 1205def4c47SEmmanuel Vadot $ref: snps,dwc3.yaml# 121fac71e4eSEmmanuel Vadot unevaluatedProperties: false 122c66ec88fSEmmanuel Vadot 123b97ee269SEmmanuel Vadot properties: 124b97ee269SEmmanuel Vadot wakeup-source: false 125b97ee269SEmmanuel Vadot 126c66ec88fSEmmanuel Vadotrequired: 127c66ec88fSEmmanuel Vadot - compatible 128c66ec88fSEmmanuel Vadot - reg 129c66ec88fSEmmanuel Vadot - "#address-cells" 130c66ec88fSEmmanuel Vadot - "#size-cells" 131c66ec88fSEmmanuel Vadot - ranges 132c66ec88fSEmmanuel Vadot - clocks 133c66ec88fSEmmanuel Vadot - clock-names 134c66ec88fSEmmanuel Vadot - interrupts 135c66ec88fSEmmanuel Vadot - interrupt-names 136c66ec88fSEmmanuel Vadot 137d5b0e70fSEmmanuel VadotallOf: 138d5b0e70fSEmmanuel Vadot - if: 139d5b0e70fSEmmanuel Vadot properties: 140d5b0e70fSEmmanuel Vadot compatible: 141d5b0e70fSEmmanuel Vadot contains: 142d5b0e70fSEmmanuel Vadot enum: 143d5b0e70fSEmmanuel Vadot - qcom,ipq4019-dwc3 144d5b0e70fSEmmanuel Vadot then: 145d5b0e70fSEmmanuel Vadot properties: 146d5b0e70fSEmmanuel Vadot clocks: 147d5b0e70fSEmmanuel Vadot maxItems: 3 148d5b0e70fSEmmanuel Vadot clock-names: 149d5b0e70fSEmmanuel Vadot items: 150d5b0e70fSEmmanuel Vadot - const: core 151d5b0e70fSEmmanuel Vadot - const: sleep 152d5b0e70fSEmmanuel Vadot - const: mock_utmi 153d5b0e70fSEmmanuel Vadot 154d5b0e70fSEmmanuel Vadot - if: 155d5b0e70fSEmmanuel Vadot properties: 156d5b0e70fSEmmanuel Vadot compatible: 157d5b0e70fSEmmanuel Vadot contains: 158d5b0e70fSEmmanuel Vadot enum: 159d5b0e70fSEmmanuel Vadot - qcom,ipq8064-dwc3 160d5b0e70fSEmmanuel Vadot then: 161d5b0e70fSEmmanuel Vadot properties: 162d5b0e70fSEmmanuel Vadot clocks: 163d5b0e70fSEmmanuel Vadot items: 164d5b0e70fSEmmanuel Vadot - description: Master/Core clock, has to be >= 125 MHz 165d5b0e70fSEmmanuel Vadot for SS operation and >= 60MHz for HS operation. 166d5b0e70fSEmmanuel Vadot clock-names: 167d5b0e70fSEmmanuel Vadot items: 168d5b0e70fSEmmanuel Vadot - const: core 169d5b0e70fSEmmanuel Vadot 170d5b0e70fSEmmanuel Vadot - if: 171d5b0e70fSEmmanuel Vadot properties: 172d5b0e70fSEmmanuel Vadot compatible: 173d5b0e70fSEmmanuel Vadot contains: 174d5b0e70fSEmmanuel Vadot enum: 175f126890aSEmmanuel Vadot - qcom,ipq9574-dwc3 176d5b0e70fSEmmanuel Vadot - qcom,msm8953-dwc3 177d5b0e70fSEmmanuel Vadot - qcom,msm8996-dwc3 178d5b0e70fSEmmanuel Vadot - qcom,msm8998-dwc3 179f126890aSEmmanuel Vadot - qcom,sa8775p-dwc3 180d5b0e70fSEmmanuel Vadot - qcom,sc7180-dwc3 181d5b0e70fSEmmanuel Vadot - qcom,sc7280-dwc3 1827ef62cebSEmmanuel Vadot - qcom,sdm670-dwc3 183d5b0e70fSEmmanuel Vadot - qcom,sdm845-dwc3 184d5b0e70fSEmmanuel Vadot - qcom,sdx55-dwc3 185*84943d6fSEmmanuel Vadot - qcom,sdx65-dwc3 186*84943d6fSEmmanuel Vadot - qcom,sdx75-dwc3 187d5b0e70fSEmmanuel Vadot - qcom,sm6350-dwc3 188d5b0e70fSEmmanuel Vadot then: 189d5b0e70fSEmmanuel Vadot properties: 190d5b0e70fSEmmanuel Vadot clocks: 191d5b0e70fSEmmanuel Vadot maxItems: 5 192d5b0e70fSEmmanuel Vadot clock-names: 193d5b0e70fSEmmanuel Vadot items: 194d5b0e70fSEmmanuel Vadot - const: cfg_noc 195d5b0e70fSEmmanuel Vadot - const: core 196d5b0e70fSEmmanuel Vadot - const: iface 197d5b0e70fSEmmanuel Vadot - const: sleep 198d5b0e70fSEmmanuel Vadot - const: mock_utmi 199d5b0e70fSEmmanuel Vadot 200d5b0e70fSEmmanuel Vadot - if: 201d5b0e70fSEmmanuel Vadot properties: 202d5b0e70fSEmmanuel Vadot compatible: 203d5b0e70fSEmmanuel Vadot contains: 204d5b0e70fSEmmanuel Vadot enum: 205d5b0e70fSEmmanuel Vadot - qcom,ipq6018-dwc3 206d5b0e70fSEmmanuel Vadot then: 207d5b0e70fSEmmanuel Vadot properties: 208d5b0e70fSEmmanuel Vadot clocks: 209d5b0e70fSEmmanuel Vadot minItems: 3 210d5b0e70fSEmmanuel Vadot maxItems: 4 211d5b0e70fSEmmanuel Vadot clock-names: 212d5b0e70fSEmmanuel Vadot oneOf: 213d5b0e70fSEmmanuel Vadot - items: 214d5b0e70fSEmmanuel Vadot - const: core 215d5b0e70fSEmmanuel Vadot - const: sleep 216d5b0e70fSEmmanuel Vadot - const: mock_utmi 217d5b0e70fSEmmanuel Vadot - items: 218d5b0e70fSEmmanuel Vadot - const: cfg_noc 219d5b0e70fSEmmanuel Vadot - const: core 220d5b0e70fSEmmanuel Vadot - const: sleep 221d5b0e70fSEmmanuel Vadot - const: mock_utmi 222d5b0e70fSEmmanuel Vadot 223d5b0e70fSEmmanuel Vadot - if: 224d5b0e70fSEmmanuel Vadot properties: 225d5b0e70fSEmmanuel Vadot compatible: 226d5b0e70fSEmmanuel Vadot contains: 227d5b0e70fSEmmanuel Vadot enum: 228d5b0e70fSEmmanuel Vadot - qcom,ipq8074-dwc3 229d5b0e70fSEmmanuel Vadot then: 230d5b0e70fSEmmanuel Vadot properties: 231d5b0e70fSEmmanuel Vadot clocks: 232d5b0e70fSEmmanuel Vadot maxItems: 4 233d5b0e70fSEmmanuel Vadot clock-names: 234d5b0e70fSEmmanuel Vadot items: 235d5b0e70fSEmmanuel Vadot - const: cfg_noc 236d5b0e70fSEmmanuel Vadot - const: core 237d5b0e70fSEmmanuel Vadot - const: sleep 238d5b0e70fSEmmanuel Vadot - const: mock_utmi 239d5b0e70fSEmmanuel Vadot 240d5b0e70fSEmmanuel Vadot - if: 241d5b0e70fSEmmanuel Vadot properties: 242d5b0e70fSEmmanuel Vadot compatible: 243d5b0e70fSEmmanuel Vadot contains: 244d5b0e70fSEmmanuel Vadot enum: 245*84943d6fSEmmanuel Vadot - qcom,ipq5018-dwc3 246aa1a8ff2SEmmanuel Vadot - qcom,ipq5332-dwc3 247d5b0e70fSEmmanuel Vadot - qcom,msm8994-dwc3 248d5b0e70fSEmmanuel Vadot - qcom,qcs404-dwc3 249d5b0e70fSEmmanuel Vadot then: 250d5b0e70fSEmmanuel Vadot properties: 251d5b0e70fSEmmanuel Vadot clocks: 252d5b0e70fSEmmanuel Vadot maxItems: 4 253d5b0e70fSEmmanuel Vadot clock-names: 254d5b0e70fSEmmanuel Vadot items: 255d5b0e70fSEmmanuel Vadot - const: core 256d5b0e70fSEmmanuel Vadot - const: iface 257d5b0e70fSEmmanuel Vadot - const: sleep 258d5b0e70fSEmmanuel Vadot - const: mock_utmi 259d5b0e70fSEmmanuel Vadot 260d5b0e70fSEmmanuel Vadot - if: 261d5b0e70fSEmmanuel Vadot properties: 262d5b0e70fSEmmanuel Vadot compatible: 263d5b0e70fSEmmanuel Vadot contains: 264d5b0e70fSEmmanuel Vadot enum: 265b97ee269SEmmanuel Vadot - qcom,sc8280xp-dwc3 266b97ee269SEmmanuel Vadot then: 267b97ee269SEmmanuel Vadot properties: 268b97ee269SEmmanuel Vadot clocks: 269b97ee269SEmmanuel Vadot maxItems: 9 270b97ee269SEmmanuel Vadot clock-names: 271b97ee269SEmmanuel Vadot items: 272b97ee269SEmmanuel Vadot - const: cfg_noc 273b97ee269SEmmanuel Vadot - const: core 274b97ee269SEmmanuel Vadot - const: iface 275b97ee269SEmmanuel Vadot - const: sleep 276b97ee269SEmmanuel Vadot - const: mock_utmi 277b97ee269SEmmanuel Vadot - const: noc_aggr 278b97ee269SEmmanuel Vadot - const: noc_aggr_north 279b97ee269SEmmanuel Vadot - const: noc_aggr_south 280b97ee269SEmmanuel Vadot - const: noc_sys 281b97ee269SEmmanuel Vadot 282b97ee269SEmmanuel Vadot - if: 283b97ee269SEmmanuel Vadot properties: 284b97ee269SEmmanuel Vadot compatible: 285b97ee269SEmmanuel Vadot contains: 286b97ee269SEmmanuel Vadot enum: 287d5b0e70fSEmmanuel Vadot - qcom,sdm660-dwc3 288d5b0e70fSEmmanuel Vadot then: 289d5b0e70fSEmmanuel Vadot properties: 290d5b0e70fSEmmanuel Vadot clocks: 291aa1a8ff2SEmmanuel Vadot minItems: 5 292aa1a8ff2SEmmanuel Vadot maxItems: 6 293d5b0e70fSEmmanuel Vadot clock-names: 294aa1a8ff2SEmmanuel Vadot oneOf: 295aa1a8ff2SEmmanuel Vadot - items: 296d5b0e70fSEmmanuel Vadot - const: cfg_noc 297d5b0e70fSEmmanuel Vadot - const: core 298d5b0e70fSEmmanuel Vadot - const: iface 299d5b0e70fSEmmanuel Vadot - const: sleep 300d5b0e70fSEmmanuel Vadot - const: mock_utmi 301d5b0e70fSEmmanuel Vadot - const: bus 302aa1a8ff2SEmmanuel Vadot - items: 303aa1a8ff2SEmmanuel Vadot - const: cfg_noc 304aa1a8ff2SEmmanuel Vadot - const: core 305aa1a8ff2SEmmanuel Vadot - const: sleep 306aa1a8ff2SEmmanuel Vadot - const: mock_utmi 307aa1a8ff2SEmmanuel Vadot - const: bus 308d5b0e70fSEmmanuel Vadot 309d5b0e70fSEmmanuel Vadot - if: 310d5b0e70fSEmmanuel Vadot properties: 311d5b0e70fSEmmanuel Vadot compatible: 312d5b0e70fSEmmanuel Vadot contains: 313d5b0e70fSEmmanuel Vadot enum: 314fac71e4eSEmmanuel Vadot - qcom,qcm2290-dwc3 3157ef62cebSEmmanuel Vadot - qcom,sm6115-dwc3 316d5b0e70fSEmmanuel Vadot - qcom,sm6125-dwc3 317d5b0e70fSEmmanuel Vadot - qcom,sm8150-dwc3 318d5b0e70fSEmmanuel Vadot - qcom,sm8250-dwc3 319d5b0e70fSEmmanuel Vadot - qcom,sm8450-dwc3 3208bab661aSEmmanuel Vadot - qcom,sm8550-dwc3 321d5b0e70fSEmmanuel Vadot then: 322d5b0e70fSEmmanuel Vadot properties: 323d5b0e70fSEmmanuel Vadot clocks: 324d5b0e70fSEmmanuel Vadot minItems: 6 325d5b0e70fSEmmanuel Vadot clock-names: 326d5b0e70fSEmmanuel Vadot items: 327d5b0e70fSEmmanuel Vadot - const: cfg_noc 328d5b0e70fSEmmanuel Vadot - const: core 329d5b0e70fSEmmanuel Vadot - const: iface 330d5b0e70fSEmmanuel Vadot - const: sleep 331d5b0e70fSEmmanuel Vadot - const: mock_utmi 332d5b0e70fSEmmanuel Vadot - const: xo 333d5b0e70fSEmmanuel Vadot 334d5b0e70fSEmmanuel Vadot - if: 335d5b0e70fSEmmanuel Vadot properties: 336d5b0e70fSEmmanuel Vadot compatible: 337d5b0e70fSEmmanuel Vadot contains: 338d5b0e70fSEmmanuel Vadot enum: 339d5b0e70fSEmmanuel Vadot - qcom,sm8350-dwc3 340d5b0e70fSEmmanuel Vadot then: 341d5b0e70fSEmmanuel Vadot properties: 342d5b0e70fSEmmanuel Vadot clocks: 343d5b0e70fSEmmanuel Vadot minItems: 5 344d5b0e70fSEmmanuel Vadot maxItems: 6 345d5b0e70fSEmmanuel Vadot clock-names: 346d5b0e70fSEmmanuel Vadot minItems: 5 347d5b0e70fSEmmanuel Vadot items: 348d5b0e70fSEmmanuel Vadot - const: cfg_noc 349d5b0e70fSEmmanuel Vadot - const: core 350d5b0e70fSEmmanuel Vadot - const: iface 351d5b0e70fSEmmanuel Vadot - const: sleep 352d5b0e70fSEmmanuel Vadot - const: mock_utmi 353d5b0e70fSEmmanuel Vadot - const: xo 354d5b0e70fSEmmanuel Vadot 355b97ee269SEmmanuel Vadot - if: 356b97ee269SEmmanuel Vadot properties: 357b97ee269SEmmanuel Vadot compatible: 358b97ee269SEmmanuel Vadot contains: 359b97ee269SEmmanuel Vadot enum: 360b97ee269SEmmanuel Vadot - qcom,ipq4019-dwc3 361b97ee269SEmmanuel Vadot - qcom,ipq6018-dwc3 362b97ee269SEmmanuel Vadot - qcom,ipq8064-dwc3 363b97ee269SEmmanuel Vadot - qcom,ipq8074-dwc3 364b97ee269SEmmanuel Vadot - qcom,msm8994-dwc3 365b97ee269SEmmanuel Vadot - qcom,qcs404-dwc3 366b97ee269SEmmanuel Vadot - qcom,sc7180-dwc3 3677ef62cebSEmmanuel Vadot - qcom,sdm670-dwc3 368b97ee269SEmmanuel Vadot - qcom,sdm845-dwc3 369b97ee269SEmmanuel Vadot - qcom,sdx55-dwc3 370b97ee269SEmmanuel Vadot - qcom,sdx65-dwc3 371*84943d6fSEmmanuel Vadot - qcom,sdx75-dwc3 372b97ee269SEmmanuel Vadot - qcom,sm4250-dwc3 373b97ee269SEmmanuel Vadot - qcom,sm6125-dwc3 374b97ee269SEmmanuel Vadot - qcom,sm6350-dwc3 375b97ee269SEmmanuel Vadot - qcom,sm8150-dwc3 376b97ee269SEmmanuel Vadot - qcom,sm8250-dwc3 377b97ee269SEmmanuel Vadot - qcom,sm8350-dwc3 378b97ee269SEmmanuel Vadot - qcom,sm8450-dwc3 3798bab661aSEmmanuel Vadot - qcom,sm8550-dwc3 380b97ee269SEmmanuel Vadot then: 381b97ee269SEmmanuel Vadot properties: 382b97ee269SEmmanuel Vadot interrupts: 383b97ee269SEmmanuel Vadot items: 384b97ee269SEmmanuel Vadot - description: The interrupt that is asserted 385b97ee269SEmmanuel Vadot when a wakeup event is received on USB2 bus. 386b97ee269SEmmanuel Vadot - description: The interrupt that is asserted 387b97ee269SEmmanuel Vadot when a wakeup event is received on USB3 bus. 388b97ee269SEmmanuel Vadot - description: Wakeup event on DM line. 389b97ee269SEmmanuel Vadot - description: Wakeup event on DP line. 390b97ee269SEmmanuel Vadot interrupt-names: 391b97ee269SEmmanuel Vadot items: 392b97ee269SEmmanuel Vadot - const: hs_phy_irq 393b97ee269SEmmanuel Vadot - const: ss_phy_irq 394b97ee269SEmmanuel Vadot - const: dm_hs_phy_irq 395b97ee269SEmmanuel Vadot - const: dp_hs_phy_irq 396b97ee269SEmmanuel Vadot 397b97ee269SEmmanuel Vadot - if: 398b97ee269SEmmanuel Vadot properties: 399b97ee269SEmmanuel Vadot compatible: 400b97ee269SEmmanuel Vadot contains: 401b97ee269SEmmanuel Vadot enum: 402b97ee269SEmmanuel Vadot - qcom,msm8953-dwc3 403b97ee269SEmmanuel Vadot - qcom,msm8996-dwc3 404b97ee269SEmmanuel Vadot - qcom,msm8998-dwc3 4057ef62cebSEmmanuel Vadot - qcom,sm6115-dwc3 406b97ee269SEmmanuel Vadot then: 407b97ee269SEmmanuel Vadot properties: 408b97ee269SEmmanuel Vadot interrupts: 409b97ee269SEmmanuel Vadot maxItems: 2 410b97ee269SEmmanuel Vadot interrupt-names: 411b97ee269SEmmanuel Vadot items: 412b97ee269SEmmanuel Vadot - const: hs_phy_irq 413b97ee269SEmmanuel Vadot - const: ss_phy_irq 414b97ee269SEmmanuel Vadot 415b97ee269SEmmanuel Vadot - if: 416b97ee269SEmmanuel Vadot properties: 417b97ee269SEmmanuel Vadot compatible: 418b97ee269SEmmanuel Vadot contains: 419b97ee269SEmmanuel Vadot enum: 420*84943d6fSEmmanuel Vadot - qcom,ipq5018-dwc3 421aa1a8ff2SEmmanuel Vadot - qcom,ipq5332-dwc3 422b97ee269SEmmanuel Vadot - qcom,sdm660-dwc3 423b97ee269SEmmanuel Vadot then: 424b97ee269SEmmanuel Vadot properties: 425b97ee269SEmmanuel Vadot interrupts: 426b97ee269SEmmanuel Vadot minItems: 1 427b97ee269SEmmanuel Vadot maxItems: 2 428b97ee269SEmmanuel Vadot interrupt-names: 429b97ee269SEmmanuel Vadot minItems: 1 430b97ee269SEmmanuel Vadot items: 431b97ee269SEmmanuel Vadot - const: hs_phy_irq 432b97ee269SEmmanuel Vadot - const: ss_phy_irq 433b97ee269SEmmanuel Vadot 434b97ee269SEmmanuel Vadot - if: 435b97ee269SEmmanuel Vadot properties: 436b97ee269SEmmanuel Vadot compatible: 437b97ee269SEmmanuel Vadot contains: 438b97ee269SEmmanuel Vadot enum: 439b97ee269SEmmanuel Vadot - qcom,sc7280-dwc3 440b97ee269SEmmanuel Vadot then: 441b97ee269SEmmanuel Vadot properties: 442b97ee269SEmmanuel Vadot interrupts: 443b97ee269SEmmanuel Vadot minItems: 3 444b97ee269SEmmanuel Vadot maxItems: 4 445b97ee269SEmmanuel Vadot interrupt-names: 446b97ee269SEmmanuel Vadot minItems: 3 447b97ee269SEmmanuel Vadot items: 448b97ee269SEmmanuel Vadot - const: hs_phy_irq 449b97ee269SEmmanuel Vadot - const: dp_hs_phy_irq 450b97ee269SEmmanuel Vadot - const: dm_hs_phy_irq 451b97ee269SEmmanuel Vadot - const: ss_phy_irq 452b97ee269SEmmanuel Vadot 453b97ee269SEmmanuel Vadot - if: 454b97ee269SEmmanuel Vadot properties: 455b97ee269SEmmanuel Vadot compatible: 456b97ee269SEmmanuel Vadot contains: 457b97ee269SEmmanuel Vadot enum: 458b97ee269SEmmanuel Vadot - qcom,sc8280xp-dwc3 459b97ee269SEmmanuel Vadot then: 460b97ee269SEmmanuel Vadot properties: 461b97ee269SEmmanuel Vadot interrupts: 462b97ee269SEmmanuel Vadot maxItems: 4 463b97ee269SEmmanuel Vadot interrupt-names: 464b97ee269SEmmanuel Vadot items: 465b97ee269SEmmanuel Vadot - const: pwr_event 466b97ee269SEmmanuel Vadot - const: dp_hs_phy_irq 467b97ee269SEmmanuel Vadot - const: dm_hs_phy_irq 468b97ee269SEmmanuel Vadot - const: ss_phy_irq 469d5b0e70fSEmmanuel Vadot 470f126890aSEmmanuel Vadot - if: 471f126890aSEmmanuel Vadot properties: 472f126890aSEmmanuel Vadot compatible: 473f126890aSEmmanuel Vadot contains: 474f126890aSEmmanuel Vadot enum: 475f126890aSEmmanuel Vadot - qcom,sa8775p-dwc3 476f126890aSEmmanuel Vadot then: 477f126890aSEmmanuel Vadot properties: 478f126890aSEmmanuel Vadot interrupts: 479f126890aSEmmanuel Vadot minItems: 3 480f126890aSEmmanuel Vadot maxItems: 4 481f126890aSEmmanuel Vadot interrupt-names: 482f126890aSEmmanuel Vadot minItems: 3 483f126890aSEmmanuel Vadot items: 484f126890aSEmmanuel Vadot - const: pwr_event 485f126890aSEmmanuel Vadot - const: dp_hs_phy_irq 486f126890aSEmmanuel Vadot - const: dm_hs_phy_irq 487f126890aSEmmanuel Vadot - const: ss_phy_irq 488f126890aSEmmanuel Vadot 4896be33864SEmmanuel VadotadditionalProperties: false 4906be33864SEmmanuel Vadot 491c66ec88fSEmmanuel Vadotexamples: 492c66ec88fSEmmanuel Vadot - | 493c66ec88fSEmmanuel Vadot #include <dt-bindings/clock/qcom,gcc-sdm845.h> 494c66ec88fSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 495c66ec88fSEmmanuel Vadot #include <dt-bindings/interrupt-controller/irq.h> 496c66ec88fSEmmanuel Vadot soc { 497c66ec88fSEmmanuel Vadot #address-cells = <2>; 498c66ec88fSEmmanuel Vadot #size-cells = <2>; 499c66ec88fSEmmanuel Vadot 500c66ec88fSEmmanuel Vadot usb@a6f8800 { 501c66ec88fSEmmanuel Vadot compatible = "qcom,sdm845-dwc3", "qcom,dwc3"; 502c66ec88fSEmmanuel Vadot reg = <0 0x0a6f8800 0 0x400>; 503c66ec88fSEmmanuel Vadot 504c66ec88fSEmmanuel Vadot #address-cells = <2>; 505c66ec88fSEmmanuel Vadot #size-cells = <2>; 506c66ec88fSEmmanuel Vadot ranges; 507c66ec88fSEmmanuel Vadot clocks = <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>, 508c66ec88fSEmmanuel Vadot <&gcc GCC_USB30_PRIM_MASTER_CLK>, 509c66ec88fSEmmanuel Vadot <&gcc GCC_AGGRE_USB3_PRIM_AXI_CLK>, 510d5b0e70fSEmmanuel Vadot <&gcc GCC_USB30_PRIM_SLEEP_CLK>, 511d5b0e70fSEmmanuel Vadot <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>; 512d5b0e70fSEmmanuel Vadot clock-names = "cfg_noc", 513d5b0e70fSEmmanuel Vadot "core", 514d5b0e70fSEmmanuel Vadot "iface", 515d5b0e70fSEmmanuel Vadot "sleep", 516d5b0e70fSEmmanuel Vadot "mock_utmi"; 517c66ec88fSEmmanuel Vadot 518c66ec88fSEmmanuel Vadot assigned-clocks = <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>, 519c66ec88fSEmmanuel Vadot <&gcc GCC_USB30_PRIM_MASTER_CLK>; 520c66ec88fSEmmanuel Vadot assigned-clock-rates = <19200000>, <150000000>; 521c66ec88fSEmmanuel Vadot 522c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>, 523c66ec88fSEmmanuel Vadot <GIC_SPI 486 IRQ_TYPE_LEVEL_HIGH>, 524*84943d6fSEmmanuel Vadot <GIC_SPI 488 IRQ_TYPE_EDGE_BOTH>, 525*84943d6fSEmmanuel Vadot <GIC_SPI 489 IRQ_TYPE_EDGE_BOTH>; 526c66ec88fSEmmanuel Vadot interrupt-names = "hs_phy_irq", "ss_phy_irq", 527c66ec88fSEmmanuel Vadot "dm_hs_phy_irq", "dp_hs_phy_irq"; 528c66ec88fSEmmanuel Vadot 529c66ec88fSEmmanuel Vadot power-domains = <&gcc USB30_PRIM_GDSC>; 530c66ec88fSEmmanuel Vadot 531c66ec88fSEmmanuel Vadot resets = <&gcc GCC_USB30_PRIM_BCR>; 532c66ec88fSEmmanuel Vadot 5335def4c47SEmmanuel Vadot usb@a600000 { 534c66ec88fSEmmanuel Vadot compatible = "snps,dwc3"; 535c66ec88fSEmmanuel Vadot reg = <0 0x0a600000 0 0xcd00>; 536c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>; 537c66ec88fSEmmanuel Vadot iommus = <&apps_smmu 0x740 0>; 538c66ec88fSEmmanuel Vadot snps,dis_u2_susphy_quirk; 539c66ec88fSEmmanuel Vadot snps,dis_enblslpm_quirk; 540c66ec88fSEmmanuel Vadot phys = <&usb_1_hsphy>, <&usb_1_ssphy>; 541c66ec88fSEmmanuel Vadot phy-names = "usb2-phy", "usb3-phy"; 542c66ec88fSEmmanuel Vadot }; 543c66ec88fSEmmanuel Vadot }; 544c66ec88fSEmmanuel Vadot }; 545