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