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