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 20c9ccf3a3SEmmanuel Vadot - qcom,msm8953-dwc3 21d5b0e70fSEmmanuel Vadot - qcom,msm8994-dwc3 22c66ec88fSEmmanuel Vadot - qcom,msm8996-dwc3 23c66ec88fSEmmanuel Vadot - qcom,msm8998-dwc3 24d5b0e70fSEmmanuel Vadot - qcom,qcs404-dwc3 25c66ec88fSEmmanuel Vadot - qcom,sc7180-dwc3 262eb4d8dcSEmmanuel Vadot - qcom,sc7280-dwc3 27b97ee269SEmmanuel Vadot - qcom,sc8280xp-dwc3 28354d7675SEmmanuel Vadot - qcom,sdm660-dwc3 297ef62cebSEmmanuel Vadot - qcom,sdm670-dwc3 30c66ec88fSEmmanuel Vadot - qcom,sdm845-dwc3 315def4c47SEmmanuel Vadot - qcom,sdx55-dwc3 32d5b0e70fSEmmanuel Vadot - qcom,sdx65-dwc3 335956d97fSEmmanuel Vadot - qcom,sm4250-dwc3 345956d97fSEmmanuel Vadot - qcom,sm6115-dwc3 35d5b0e70fSEmmanuel Vadot - qcom,sm6125-dwc3 36e67e8565SEmmanuel Vadot - qcom,sm6350-dwc3 37b97ee269SEmmanuel Vadot - qcom,sm6375-dwc3 385def4c47SEmmanuel Vadot - qcom,sm8150-dwc3 395def4c47SEmmanuel Vadot - qcom,sm8250-dwc3 405def4c47SEmmanuel Vadot - qcom,sm8350-dwc3 41e67e8565SEmmanuel Vadot - qcom,sm8450-dwc3 42*8bab661aSEmmanuel Vadot - qcom,sm8550-dwc3 43c66ec88fSEmmanuel Vadot - const: qcom,dwc3 44c66ec88fSEmmanuel Vadot 45c66ec88fSEmmanuel Vadot reg: 46c66ec88fSEmmanuel Vadot description: Offset and length of register set for QSCRATCH wrapper 47c66ec88fSEmmanuel Vadot maxItems: 1 48c66ec88fSEmmanuel Vadot 49c66ec88fSEmmanuel Vadot "#address-cells": 50c66ec88fSEmmanuel Vadot enum: [ 1, 2 ] 51c66ec88fSEmmanuel Vadot 52c66ec88fSEmmanuel Vadot "#size-cells": 53c66ec88fSEmmanuel Vadot enum: [ 1, 2 ] 54c66ec88fSEmmanuel Vadot 55c66ec88fSEmmanuel Vadot ranges: true 56c66ec88fSEmmanuel Vadot 57c66ec88fSEmmanuel Vadot power-domains: 58c66ec88fSEmmanuel Vadot description: specifies a phandle to PM domain provider node 59c66ec88fSEmmanuel Vadot maxItems: 1 60c66ec88fSEmmanuel Vadot 61c66ec88fSEmmanuel Vadot clocks: 62d5b0e70fSEmmanuel Vadot description: | 63d5b0e70fSEmmanuel Vadot Several clocks are used, depending on the variant. Typical ones are:: 64d5b0e70fSEmmanuel Vadot - cfg_noc:: System Config NOC clock. 65d5b0e70fSEmmanuel Vadot - core:: Master/Core clock, has to be >= 125 MHz for SS operation and >= 66d5b0e70fSEmmanuel Vadot 60MHz for HS operation. 67d5b0e70fSEmmanuel Vadot - iface:: System bus AXI clock. 68d5b0e70fSEmmanuel Vadot - sleep:: Sleep clock, used for wakeup when USB3 core goes into low 69d5b0e70fSEmmanuel Vadot power mode (U3). 70d5b0e70fSEmmanuel Vadot - mock_utmi:: Mock utmi clock needed for ITP/SOF generation in host 71d5b0e70fSEmmanuel Vadot mode. Its frequency should be 19.2MHz. 72d5b0e70fSEmmanuel Vadot minItems: 1 73b97ee269SEmmanuel Vadot maxItems: 9 74c66ec88fSEmmanuel Vadot 75c66ec88fSEmmanuel Vadot clock-names: 76d5b0e70fSEmmanuel Vadot minItems: 1 77b97ee269SEmmanuel Vadot maxItems: 9 78c66ec88fSEmmanuel Vadot 79c66ec88fSEmmanuel Vadot assigned-clocks: 80c66ec88fSEmmanuel Vadot items: 81c66ec88fSEmmanuel Vadot - description: Phandle and clock specifier of MOCK_UTMI_CLK. 82c66ec88fSEmmanuel Vadot - description: Phandle and clock specifoer of MASTER_CLK. 83c66ec88fSEmmanuel Vadot 84c66ec88fSEmmanuel Vadot assigned-clock-rates: 85c66ec88fSEmmanuel Vadot items: 86c66ec88fSEmmanuel Vadot - description: Must be 19.2MHz (19200000). 87c66ec88fSEmmanuel Vadot - description: Must be >= 60 MHz in HS mode, >= 125 MHz in SS mode. 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# 121c66ec88fSEmmanuel Vadot 122b97ee269SEmmanuel Vadot properties: 123b97ee269SEmmanuel Vadot wakeup-source: false 124b97ee269SEmmanuel Vadot 125c66ec88fSEmmanuel Vadotrequired: 126c66ec88fSEmmanuel Vadot - compatible 127c66ec88fSEmmanuel Vadot - reg 128c66ec88fSEmmanuel Vadot - "#address-cells" 129c66ec88fSEmmanuel Vadot - "#size-cells" 130c66ec88fSEmmanuel Vadot - ranges 131c66ec88fSEmmanuel Vadot - power-domains 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: 175d5b0e70fSEmmanuel Vadot - qcom,msm8953-dwc3 176d5b0e70fSEmmanuel Vadot - qcom,msm8996-dwc3 177d5b0e70fSEmmanuel Vadot - qcom,msm8998-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: 241d5b0e70fSEmmanuel Vadot - qcom,msm8994-dwc3 242d5b0e70fSEmmanuel Vadot - qcom,qcs404-dwc3 243d5b0e70fSEmmanuel Vadot then: 244d5b0e70fSEmmanuel Vadot properties: 245d5b0e70fSEmmanuel Vadot clocks: 246d5b0e70fSEmmanuel Vadot maxItems: 4 247d5b0e70fSEmmanuel Vadot clock-names: 248d5b0e70fSEmmanuel Vadot items: 249d5b0e70fSEmmanuel Vadot - const: core 250d5b0e70fSEmmanuel Vadot - const: iface 251d5b0e70fSEmmanuel Vadot - const: sleep 252d5b0e70fSEmmanuel Vadot - const: mock_utmi 253d5b0e70fSEmmanuel Vadot 254d5b0e70fSEmmanuel Vadot - if: 255d5b0e70fSEmmanuel Vadot properties: 256d5b0e70fSEmmanuel Vadot compatible: 257d5b0e70fSEmmanuel Vadot contains: 258d5b0e70fSEmmanuel Vadot enum: 259b97ee269SEmmanuel Vadot - qcom,sc8280xp-dwc3 260b97ee269SEmmanuel Vadot then: 261b97ee269SEmmanuel Vadot properties: 262b97ee269SEmmanuel Vadot clocks: 263b97ee269SEmmanuel Vadot maxItems: 9 264b97ee269SEmmanuel Vadot clock-names: 265b97ee269SEmmanuel Vadot items: 266b97ee269SEmmanuel Vadot - const: cfg_noc 267b97ee269SEmmanuel Vadot - const: core 268b97ee269SEmmanuel Vadot - const: iface 269b97ee269SEmmanuel Vadot - const: sleep 270b97ee269SEmmanuel Vadot - const: mock_utmi 271b97ee269SEmmanuel Vadot - const: noc_aggr 272b97ee269SEmmanuel Vadot - const: noc_aggr_north 273b97ee269SEmmanuel Vadot - const: noc_aggr_south 274b97ee269SEmmanuel Vadot - const: noc_sys 275b97ee269SEmmanuel Vadot 276b97ee269SEmmanuel Vadot - if: 277b97ee269SEmmanuel Vadot properties: 278b97ee269SEmmanuel Vadot compatible: 279b97ee269SEmmanuel Vadot contains: 280b97ee269SEmmanuel Vadot enum: 281d5b0e70fSEmmanuel Vadot - qcom,sdm660-dwc3 282d5b0e70fSEmmanuel Vadot then: 283d5b0e70fSEmmanuel Vadot properties: 284d5b0e70fSEmmanuel Vadot clocks: 285d5b0e70fSEmmanuel Vadot minItems: 6 286d5b0e70fSEmmanuel Vadot clock-names: 287d5b0e70fSEmmanuel Vadot items: 288d5b0e70fSEmmanuel Vadot - const: cfg_noc 289d5b0e70fSEmmanuel Vadot - const: core 290d5b0e70fSEmmanuel Vadot - const: iface 291d5b0e70fSEmmanuel Vadot - const: sleep 292d5b0e70fSEmmanuel Vadot - const: mock_utmi 293d5b0e70fSEmmanuel Vadot - const: bus 294d5b0e70fSEmmanuel Vadot 295d5b0e70fSEmmanuel Vadot - if: 296d5b0e70fSEmmanuel Vadot properties: 297d5b0e70fSEmmanuel Vadot compatible: 298d5b0e70fSEmmanuel Vadot contains: 299d5b0e70fSEmmanuel Vadot enum: 3007ef62cebSEmmanuel Vadot - qcom,sm6115-dwc3 301d5b0e70fSEmmanuel Vadot - qcom,sm6125-dwc3 302d5b0e70fSEmmanuel Vadot - qcom,sm8150-dwc3 303d5b0e70fSEmmanuel Vadot - qcom,sm8250-dwc3 304d5b0e70fSEmmanuel Vadot - qcom,sm8450-dwc3 305*8bab661aSEmmanuel Vadot - qcom,sm8550-dwc3 306d5b0e70fSEmmanuel Vadot then: 307d5b0e70fSEmmanuel Vadot properties: 308d5b0e70fSEmmanuel Vadot clocks: 309d5b0e70fSEmmanuel Vadot minItems: 6 310d5b0e70fSEmmanuel Vadot clock-names: 311d5b0e70fSEmmanuel Vadot items: 312d5b0e70fSEmmanuel Vadot - const: cfg_noc 313d5b0e70fSEmmanuel Vadot - const: core 314d5b0e70fSEmmanuel Vadot - const: iface 315d5b0e70fSEmmanuel Vadot - const: sleep 316d5b0e70fSEmmanuel Vadot - const: mock_utmi 317d5b0e70fSEmmanuel Vadot - const: xo 318d5b0e70fSEmmanuel Vadot 319d5b0e70fSEmmanuel Vadot - if: 320d5b0e70fSEmmanuel Vadot properties: 321d5b0e70fSEmmanuel Vadot compatible: 322d5b0e70fSEmmanuel Vadot contains: 323d5b0e70fSEmmanuel Vadot enum: 324d5b0e70fSEmmanuel Vadot - qcom,sm8350-dwc3 325d5b0e70fSEmmanuel Vadot then: 326d5b0e70fSEmmanuel Vadot properties: 327d5b0e70fSEmmanuel Vadot clocks: 328d5b0e70fSEmmanuel Vadot minItems: 5 329d5b0e70fSEmmanuel Vadot maxItems: 6 330d5b0e70fSEmmanuel Vadot clock-names: 331d5b0e70fSEmmanuel Vadot minItems: 5 332d5b0e70fSEmmanuel Vadot items: 333d5b0e70fSEmmanuel Vadot - const: cfg_noc 334d5b0e70fSEmmanuel Vadot - const: core 335d5b0e70fSEmmanuel Vadot - const: iface 336d5b0e70fSEmmanuel Vadot - const: sleep 337d5b0e70fSEmmanuel Vadot - const: mock_utmi 338d5b0e70fSEmmanuel Vadot - const: xo 339d5b0e70fSEmmanuel Vadot 340b97ee269SEmmanuel Vadot - if: 341b97ee269SEmmanuel Vadot properties: 342b97ee269SEmmanuel Vadot compatible: 343b97ee269SEmmanuel Vadot contains: 344b97ee269SEmmanuel Vadot enum: 345b97ee269SEmmanuel Vadot - qcom,ipq4019-dwc3 346b97ee269SEmmanuel Vadot - qcom,ipq6018-dwc3 347b97ee269SEmmanuel Vadot - qcom,ipq8064-dwc3 348b97ee269SEmmanuel Vadot - qcom,ipq8074-dwc3 349b97ee269SEmmanuel Vadot - qcom,msm8994-dwc3 350b97ee269SEmmanuel Vadot - qcom,qcs404-dwc3 351b97ee269SEmmanuel Vadot - qcom,sc7180-dwc3 3527ef62cebSEmmanuel Vadot - qcom,sdm670-dwc3 353b97ee269SEmmanuel Vadot - qcom,sdm845-dwc3 354b97ee269SEmmanuel Vadot - qcom,sdx55-dwc3 355b97ee269SEmmanuel Vadot - qcom,sdx65-dwc3 356b97ee269SEmmanuel Vadot - qcom,sm4250-dwc3 357b97ee269SEmmanuel Vadot - qcom,sm6125-dwc3 358b97ee269SEmmanuel Vadot - qcom,sm6350-dwc3 359b97ee269SEmmanuel Vadot - qcom,sm8150-dwc3 360b97ee269SEmmanuel Vadot - qcom,sm8250-dwc3 361b97ee269SEmmanuel Vadot - qcom,sm8350-dwc3 362b97ee269SEmmanuel Vadot - qcom,sm8450-dwc3 363*8bab661aSEmmanuel Vadot - qcom,sm8550-dwc3 364b97ee269SEmmanuel Vadot then: 365b97ee269SEmmanuel Vadot properties: 366b97ee269SEmmanuel Vadot interrupts: 367b97ee269SEmmanuel Vadot items: 368b97ee269SEmmanuel Vadot - description: The interrupt that is asserted 369b97ee269SEmmanuel Vadot when a wakeup event is received on USB2 bus. 370b97ee269SEmmanuel Vadot - description: The interrupt that is asserted 371b97ee269SEmmanuel Vadot when a wakeup event is received on USB3 bus. 372b97ee269SEmmanuel Vadot - description: Wakeup event on DM line. 373b97ee269SEmmanuel Vadot - description: Wakeup event on DP line. 374b97ee269SEmmanuel Vadot interrupt-names: 375b97ee269SEmmanuel Vadot items: 376b97ee269SEmmanuel Vadot - const: hs_phy_irq 377b97ee269SEmmanuel Vadot - const: ss_phy_irq 378b97ee269SEmmanuel Vadot - const: dm_hs_phy_irq 379b97ee269SEmmanuel Vadot - const: dp_hs_phy_irq 380b97ee269SEmmanuel Vadot 381b97ee269SEmmanuel Vadot - if: 382b97ee269SEmmanuel Vadot properties: 383b97ee269SEmmanuel Vadot compatible: 384b97ee269SEmmanuel Vadot contains: 385b97ee269SEmmanuel Vadot enum: 386b97ee269SEmmanuel Vadot - qcom,msm8953-dwc3 387b97ee269SEmmanuel Vadot - qcom,msm8996-dwc3 388b97ee269SEmmanuel Vadot - qcom,msm8998-dwc3 3897ef62cebSEmmanuel Vadot - qcom,sm6115-dwc3 390b97ee269SEmmanuel Vadot then: 391b97ee269SEmmanuel Vadot properties: 392b97ee269SEmmanuel Vadot interrupts: 393b97ee269SEmmanuel Vadot maxItems: 2 394b97ee269SEmmanuel Vadot interrupt-names: 395b97ee269SEmmanuel Vadot items: 396b97ee269SEmmanuel Vadot - const: hs_phy_irq 397b97ee269SEmmanuel Vadot - const: ss_phy_irq 398b97ee269SEmmanuel Vadot 399b97ee269SEmmanuel Vadot - if: 400b97ee269SEmmanuel Vadot properties: 401b97ee269SEmmanuel Vadot compatible: 402b97ee269SEmmanuel Vadot contains: 403b97ee269SEmmanuel Vadot enum: 404b97ee269SEmmanuel Vadot - qcom,sdm660-dwc3 405b97ee269SEmmanuel Vadot then: 406b97ee269SEmmanuel Vadot properties: 407b97ee269SEmmanuel Vadot interrupts: 408b97ee269SEmmanuel Vadot minItems: 1 409b97ee269SEmmanuel Vadot maxItems: 2 410b97ee269SEmmanuel Vadot interrupt-names: 411b97ee269SEmmanuel Vadot minItems: 1 412b97ee269SEmmanuel Vadot items: 413b97ee269SEmmanuel Vadot - const: hs_phy_irq 414b97ee269SEmmanuel Vadot - const: ss_phy_irq 415b97ee269SEmmanuel Vadot 416b97ee269SEmmanuel Vadot - if: 417b97ee269SEmmanuel Vadot properties: 418b97ee269SEmmanuel Vadot compatible: 419b97ee269SEmmanuel Vadot contains: 420b97ee269SEmmanuel Vadot enum: 421b97ee269SEmmanuel Vadot - qcom,sc7280-dwc3 422b97ee269SEmmanuel Vadot then: 423b97ee269SEmmanuel Vadot properties: 424b97ee269SEmmanuel Vadot interrupts: 425b97ee269SEmmanuel Vadot minItems: 3 426b97ee269SEmmanuel Vadot maxItems: 4 427b97ee269SEmmanuel Vadot interrupt-names: 428b97ee269SEmmanuel Vadot minItems: 3 429b97ee269SEmmanuel Vadot items: 430b97ee269SEmmanuel Vadot - const: hs_phy_irq 431b97ee269SEmmanuel Vadot - const: dp_hs_phy_irq 432b97ee269SEmmanuel Vadot - const: dm_hs_phy_irq 433b97ee269SEmmanuel Vadot - const: ss_phy_irq 434b97ee269SEmmanuel Vadot 435b97ee269SEmmanuel Vadot - if: 436b97ee269SEmmanuel Vadot properties: 437b97ee269SEmmanuel Vadot compatible: 438b97ee269SEmmanuel Vadot contains: 439b97ee269SEmmanuel Vadot enum: 440b97ee269SEmmanuel Vadot - qcom,sc8280xp-dwc3 441b97ee269SEmmanuel Vadot then: 442b97ee269SEmmanuel Vadot properties: 443b97ee269SEmmanuel Vadot interrupts: 444b97ee269SEmmanuel Vadot maxItems: 4 445b97ee269SEmmanuel Vadot interrupt-names: 446b97ee269SEmmanuel Vadot items: 447b97ee269SEmmanuel Vadot - const: pwr_event 448b97ee269SEmmanuel Vadot - const: dp_hs_phy_irq 449b97ee269SEmmanuel Vadot - const: dm_hs_phy_irq 450b97ee269SEmmanuel Vadot - const: ss_phy_irq 451d5b0e70fSEmmanuel Vadot 4526be33864SEmmanuel VadotadditionalProperties: false 4536be33864SEmmanuel Vadot 454c66ec88fSEmmanuel Vadotexamples: 455c66ec88fSEmmanuel Vadot - | 456c66ec88fSEmmanuel Vadot #include <dt-bindings/clock/qcom,gcc-sdm845.h> 457c66ec88fSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 458c66ec88fSEmmanuel Vadot #include <dt-bindings/interrupt-controller/irq.h> 459c66ec88fSEmmanuel Vadot soc { 460c66ec88fSEmmanuel Vadot #address-cells = <2>; 461c66ec88fSEmmanuel Vadot #size-cells = <2>; 462c66ec88fSEmmanuel Vadot 463c66ec88fSEmmanuel Vadot usb@a6f8800 { 464c66ec88fSEmmanuel Vadot compatible = "qcom,sdm845-dwc3", "qcom,dwc3"; 465c66ec88fSEmmanuel Vadot reg = <0 0x0a6f8800 0 0x400>; 466c66ec88fSEmmanuel Vadot 467c66ec88fSEmmanuel Vadot #address-cells = <2>; 468c66ec88fSEmmanuel Vadot #size-cells = <2>; 469c66ec88fSEmmanuel Vadot ranges; 470c66ec88fSEmmanuel Vadot clocks = <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>, 471c66ec88fSEmmanuel Vadot <&gcc GCC_USB30_PRIM_MASTER_CLK>, 472c66ec88fSEmmanuel Vadot <&gcc GCC_AGGRE_USB3_PRIM_AXI_CLK>, 473d5b0e70fSEmmanuel Vadot <&gcc GCC_USB30_PRIM_SLEEP_CLK>, 474d5b0e70fSEmmanuel Vadot <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>; 475d5b0e70fSEmmanuel Vadot clock-names = "cfg_noc", 476d5b0e70fSEmmanuel Vadot "core", 477d5b0e70fSEmmanuel Vadot "iface", 478d5b0e70fSEmmanuel Vadot "sleep", 479d5b0e70fSEmmanuel Vadot "mock_utmi"; 480c66ec88fSEmmanuel Vadot 481c66ec88fSEmmanuel Vadot assigned-clocks = <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>, 482c66ec88fSEmmanuel Vadot <&gcc GCC_USB30_PRIM_MASTER_CLK>; 483c66ec88fSEmmanuel Vadot assigned-clock-rates = <19200000>, <150000000>; 484c66ec88fSEmmanuel Vadot 485c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>, 486c66ec88fSEmmanuel Vadot <GIC_SPI 486 IRQ_TYPE_LEVEL_HIGH>, 487c66ec88fSEmmanuel Vadot <GIC_SPI 488 IRQ_TYPE_LEVEL_HIGH>, 488c66ec88fSEmmanuel Vadot <GIC_SPI 489 IRQ_TYPE_LEVEL_HIGH>; 489c66ec88fSEmmanuel Vadot interrupt-names = "hs_phy_irq", "ss_phy_irq", 490c66ec88fSEmmanuel Vadot "dm_hs_phy_irq", "dp_hs_phy_irq"; 491c66ec88fSEmmanuel Vadot 492c66ec88fSEmmanuel Vadot power-domains = <&gcc USB30_PRIM_GDSC>; 493c66ec88fSEmmanuel Vadot 494c66ec88fSEmmanuel Vadot resets = <&gcc GCC_USB30_PRIM_BCR>; 495c66ec88fSEmmanuel Vadot 4965def4c47SEmmanuel Vadot usb@a600000 { 497c66ec88fSEmmanuel Vadot compatible = "snps,dwc3"; 498c66ec88fSEmmanuel Vadot reg = <0 0x0a600000 0 0xcd00>; 499c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>; 500c66ec88fSEmmanuel Vadot iommus = <&apps_smmu 0x740 0>; 501c66ec88fSEmmanuel Vadot snps,dis_u2_susphy_quirk; 502c66ec88fSEmmanuel Vadot snps,dis_enblslpm_quirk; 503c66ec88fSEmmanuel Vadot phys = <&usb_1_hsphy>, <&usb_1_ssphy>; 504c66ec88fSEmmanuel Vadot phy-names = "usb2-phy", "usb3-phy"; 505c66ec88fSEmmanuel Vadot }; 506c66ec88fSEmmanuel Vadot }; 507c66ec88fSEmmanuel Vadot }; 508