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 297d0873ebSEmmanuel Vadot - qcom,qdu1000-dwc3 30f126890aSEmmanuel Vadot - qcom,sa8775p-dwc3 31c66ec88fSEmmanuel Vadot - qcom,sc7180-dwc3 322eb4d8dcSEmmanuel Vadot - qcom,sc7280-dwc3 330e8011faSEmmanuel Vadot - qcom,sc8180x-dwc3 340e8011faSEmmanuel Vadot - qcom,sc8180x-dwc3-mp 35b97ee269SEmmanuel Vadot - qcom,sc8280xp-dwc3 367d0873ebSEmmanuel Vadot - qcom,sc8280xp-dwc3-mp 37354d7675SEmmanuel Vadot - qcom,sdm660-dwc3 387ef62cebSEmmanuel Vadot - qcom,sdm670-dwc3 39c66ec88fSEmmanuel Vadot - qcom,sdm845-dwc3 405def4c47SEmmanuel Vadot - qcom,sdx55-dwc3 41d5b0e70fSEmmanuel Vadot - qcom,sdx65-dwc3 4284943d6fSEmmanuel Vadot - qcom,sdx75-dwc3 435956d97fSEmmanuel Vadot - qcom,sm4250-dwc3 445956d97fSEmmanuel Vadot - qcom,sm6115-dwc3 45d5b0e70fSEmmanuel Vadot - qcom,sm6125-dwc3 46e67e8565SEmmanuel Vadot - qcom,sm6350-dwc3 47b97ee269SEmmanuel Vadot - qcom,sm6375-dwc3 485def4c47SEmmanuel Vadot - qcom,sm8150-dwc3 495def4c47SEmmanuel Vadot - qcom,sm8250-dwc3 505def4c47SEmmanuel Vadot - qcom,sm8350-dwc3 51e67e8565SEmmanuel Vadot - qcom,sm8450-dwc3 528bab661aSEmmanuel Vadot - qcom,sm8550-dwc3 538d13bc63SEmmanuel Vadot - qcom,sm8650-dwc3 548d13bc63SEmmanuel Vadot - qcom,x1e80100-dwc3 55*b2d2a78aSEmmanuel Vadot - qcom,x1e80100-dwc3-mp 56c66ec88fSEmmanuel Vadot - const: qcom,dwc3 57c66ec88fSEmmanuel Vadot 58c66ec88fSEmmanuel Vadot reg: 59c66ec88fSEmmanuel Vadot description: Offset and length of register set for QSCRATCH wrapper 60c66ec88fSEmmanuel Vadot maxItems: 1 61c66ec88fSEmmanuel Vadot 62c66ec88fSEmmanuel Vadot "#address-cells": 63c66ec88fSEmmanuel Vadot enum: [ 1, 2 ] 64c66ec88fSEmmanuel Vadot 65c66ec88fSEmmanuel Vadot "#size-cells": 66c66ec88fSEmmanuel Vadot enum: [ 1, 2 ] 67c66ec88fSEmmanuel Vadot 68c66ec88fSEmmanuel Vadot ranges: true 69c66ec88fSEmmanuel Vadot 70c66ec88fSEmmanuel Vadot power-domains: 71c66ec88fSEmmanuel Vadot description: specifies a phandle to PM domain provider node 72c66ec88fSEmmanuel Vadot maxItems: 1 73c66ec88fSEmmanuel Vadot 74cb7aa33aSEmmanuel Vadot required-opps: 75cb7aa33aSEmmanuel Vadot maxItems: 1 76cb7aa33aSEmmanuel Vadot 77c66ec88fSEmmanuel Vadot clocks: 78d5b0e70fSEmmanuel Vadot description: | 79d5b0e70fSEmmanuel Vadot Several clocks are used, depending on the variant. Typical ones are:: 80d5b0e70fSEmmanuel Vadot - cfg_noc:: System Config NOC clock. 81d5b0e70fSEmmanuel Vadot - core:: Master/Core clock, has to be >= 125 MHz for SS operation and >= 82d5b0e70fSEmmanuel Vadot 60MHz for HS operation. 83d5b0e70fSEmmanuel Vadot - iface:: System bus AXI clock. 84d5b0e70fSEmmanuel Vadot - sleep:: Sleep clock, used for wakeup when USB3 core goes into low 85d5b0e70fSEmmanuel Vadot power mode (U3). 86d5b0e70fSEmmanuel Vadot - mock_utmi:: Mock utmi clock needed for ITP/SOF generation in host 87d5b0e70fSEmmanuel Vadot mode. Its frequency should be 19.2MHz. 88d5b0e70fSEmmanuel Vadot minItems: 1 89b97ee269SEmmanuel Vadot maxItems: 9 90c66ec88fSEmmanuel Vadot 91c66ec88fSEmmanuel Vadot clock-names: 92d5b0e70fSEmmanuel Vadot minItems: 1 93b97ee269SEmmanuel Vadot maxItems: 9 94c66ec88fSEmmanuel Vadot 95c66ec88fSEmmanuel Vadot resets: 96c66ec88fSEmmanuel Vadot maxItems: 1 97c66ec88fSEmmanuel Vadot 98c66ec88fSEmmanuel Vadot interconnects: 99c66ec88fSEmmanuel Vadot maxItems: 2 100c66ec88fSEmmanuel Vadot 101c66ec88fSEmmanuel Vadot interconnect-names: 102c66ec88fSEmmanuel Vadot items: 103c66ec88fSEmmanuel Vadot - const: usb-ddr 104c66ec88fSEmmanuel Vadot - const: apps-usb 105c66ec88fSEmmanuel Vadot 106c66ec88fSEmmanuel Vadot interrupts: 1078d13bc63SEmmanuel Vadot description: | 1088d13bc63SEmmanuel Vadot Different types of interrupts are used based on HS PHY used on target: 1098d13bc63SEmmanuel Vadot - pwr_event: Used for wakeup based on other power events. 11001950c46SEmmanuel Vadot - hs_phy_irq: Apart from DP/DM/QUSB2 PHY interrupts, there is 1118d13bc63SEmmanuel Vadot hs_phy_irq which is not triggered by default and its 1128d13bc63SEmmanuel Vadot functionality is mutually exclusive to that of 1138d13bc63SEmmanuel Vadot {dp/dm}_hs_phy_irq and qusb2_phy_irq. 1148d13bc63SEmmanuel Vadot - qusb2_phy: SoCs with QUSB2 PHY do not have separate DP/DM IRQs and 1158d13bc63SEmmanuel Vadot expose only a single IRQ whose behavior can be modified 1168d13bc63SEmmanuel Vadot by the QUSB2PHY_INTR_CTRL register. The required DPSE/ 1178d13bc63SEmmanuel Vadot DMSE configuration is done in QUSB2PHY_INTR_CTRL register 1188d13bc63SEmmanuel Vadot of PHY address space. 1198d13bc63SEmmanuel Vadot - {dp/dm}_hs_phy_irq: These IRQ's directly reflect changes on the DP/ 1208d13bc63SEmmanuel Vadot DM pads of the SoC. These are used for wakeup 1218d13bc63SEmmanuel Vadot only on SoCs with non-QUSB2 targets with 1228d13bc63SEmmanuel Vadot exception of SDM670/SDM845/SM6350. 1238d13bc63SEmmanuel Vadot - ss_phy_irq: Used for remote wakeup in Super Speed mode of operation. 1248d13bc63SEmmanuel Vadot minItems: 2 1257d0873ebSEmmanuel Vadot maxItems: 18 126c66ec88fSEmmanuel Vadot 127c66ec88fSEmmanuel Vadot interrupt-names: 1288d13bc63SEmmanuel Vadot minItems: 2 1297d0873ebSEmmanuel Vadot maxItems: 18 130c66ec88fSEmmanuel Vadot 131c66ec88fSEmmanuel Vadot qcom,select-utmi-as-pipe-clk: 132c66ec88fSEmmanuel Vadot description: 133c66ec88fSEmmanuel Vadot If present, disable USB3 pipe_clk requirement. 134c66ec88fSEmmanuel Vadot Used when dwc3 operates without SSPHY and only 135c66ec88fSEmmanuel Vadot HS/FS/LS modes are supported. 136c66ec88fSEmmanuel Vadot type: boolean 137c66ec88fSEmmanuel Vadot 138b97ee269SEmmanuel Vadot wakeup-source: true 139b97ee269SEmmanuel Vadot 140c66ec88fSEmmanuel Vadot# Required child node: 141c66ec88fSEmmanuel Vadot 142c66ec88fSEmmanuel VadotpatternProperties: 1435def4c47SEmmanuel Vadot "^usb@[0-9a-f]+$": 1445def4c47SEmmanuel Vadot $ref: snps,dwc3.yaml# 145fac71e4eSEmmanuel Vadot unevaluatedProperties: false 146c66ec88fSEmmanuel Vadot 147b97ee269SEmmanuel Vadot properties: 148b97ee269SEmmanuel Vadot wakeup-source: false 149b97ee269SEmmanuel Vadot 150c66ec88fSEmmanuel Vadotrequired: 151c66ec88fSEmmanuel Vadot - compatible 152c66ec88fSEmmanuel Vadot - reg 153c66ec88fSEmmanuel Vadot - "#address-cells" 154c66ec88fSEmmanuel Vadot - "#size-cells" 155c66ec88fSEmmanuel Vadot - ranges 156c66ec88fSEmmanuel Vadot - clocks 157c66ec88fSEmmanuel Vadot - clock-names 158c66ec88fSEmmanuel Vadot - interrupts 159c66ec88fSEmmanuel Vadot - interrupt-names 160c66ec88fSEmmanuel Vadot 161d5b0e70fSEmmanuel VadotallOf: 162d5b0e70fSEmmanuel Vadot - if: 163d5b0e70fSEmmanuel Vadot properties: 164d5b0e70fSEmmanuel Vadot compatible: 165d5b0e70fSEmmanuel Vadot contains: 166d5b0e70fSEmmanuel Vadot enum: 167d5b0e70fSEmmanuel Vadot - qcom,ipq4019-dwc3 168*b2d2a78aSEmmanuel Vadot - qcom,ipq5332-dwc3 169d5b0e70fSEmmanuel Vadot then: 170d5b0e70fSEmmanuel Vadot properties: 171d5b0e70fSEmmanuel Vadot clocks: 172d5b0e70fSEmmanuel Vadot maxItems: 3 173d5b0e70fSEmmanuel Vadot clock-names: 174d5b0e70fSEmmanuel Vadot items: 175d5b0e70fSEmmanuel Vadot - const: core 176d5b0e70fSEmmanuel Vadot - const: sleep 177d5b0e70fSEmmanuel Vadot - const: mock_utmi 178d5b0e70fSEmmanuel Vadot 179d5b0e70fSEmmanuel Vadot - if: 180d5b0e70fSEmmanuel Vadot properties: 181d5b0e70fSEmmanuel Vadot compatible: 182d5b0e70fSEmmanuel Vadot contains: 183d5b0e70fSEmmanuel Vadot enum: 184d5b0e70fSEmmanuel Vadot - qcom,ipq8064-dwc3 185d5b0e70fSEmmanuel Vadot then: 186d5b0e70fSEmmanuel Vadot properties: 187d5b0e70fSEmmanuel Vadot clocks: 188d5b0e70fSEmmanuel Vadot items: 189d5b0e70fSEmmanuel Vadot - description: Master/Core clock, has to be >= 125 MHz 190d5b0e70fSEmmanuel Vadot for SS operation and >= 60MHz for HS operation. 191d5b0e70fSEmmanuel Vadot clock-names: 192d5b0e70fSEmmanuel Vadot items: 193d5b0e70fSEmmanuel Vadot - const: core 194d5b0e70fSEmmanuel Vadot 195d5b0e70fSEmmanuel Vadot - if: 196d5b0e70fSEmmanuel Vadot properties: 197d5b0e70fSEmmanuel Vadot compatible: 198d5b0e70fSEmmanuel Vadot contains: 199d5b0e70fSEmmanuel Vadot enum: 200f126890aSEmmanuel Vadot - qcom,ipq9574-dwc3 201d5b0e70fSEmmanuel Vadot - qcom,msm8953-dwc3 202d5b0e70fSEmmanuel Vadot - qcom,msm8996-dwc3 203d5b0e70fSEmmanuel Vadot - qcom,msm8998-dwc3 204f126890aSEmmanuel Vadot - qcom,sa8775p-dwc3 205d5b0e70fSEmmanuel Vadot - qcom,sc7180-dwc3 206d5b0e70fSEmmanuel Vadot - qcom,sc7280-dwc3 2077ef62cebSEmmanuel Vadot - qcom,sdm670-dwc3 208d5b0e70fSEmmanuel Vadot - qcom,sdm845-dwc3 209d5b0e70fSEmmanuel Vadot - qcom,sdx55-dwc3 21084943d6fSEmmanuel Vadot - qcom,sdx65-dwc3 21184943d6fSEmmanuel Vadot - qcom,sdx75-dwc3 212d5b0e70fSEmmanuel Vadot - qcom,sm6350-dwc3 213d5b0e70fSEmmanuel Vadot then: 214d5b0e70fSEmmanuel Vadot properties: 215d5b0e70fSEmmanuel Vadot clocks: 216d5b0e70fSEmmanuel Vadot maxItems: 5 217d5b0e70fSEmmanuel Vadot clock-names: 218d5b0e70fSEmmanuel Vadot items: 219d5b0e70fSEmmanuel Vadot - const: cfg_noc 220d5b0e70fSEmmanuel Vadot - const: core 221d5b0e70fSEmmanuel Vadot - const: iface 222d5b0e70fSEmmanuel Vadot - const: sleep 223d5b0e70fSEmmanuel Vadot - const: mock_utmi 224d5b0e70fSEmmanuel Vadot 225d5b0e70fSEmmanuel Vadot - if: 226d5b0e70fSEmmanuel Vadot properties: 227d5b0e70fSEmmanuel Vadot compatible: 228d5b0e70fSEmmanuel Vadot contains: 229d5b0e70fSEmmanuel Vadot enum: 230d5b0e70fSEmmanuel Vadot - qcom,ipq6018-dwc3 231d5b0e70fSEmmanuel Vadot then: 232d5b0e70fSEmmanuel Vadot properties: 233d5b0e70fSEmmanuel Vadot clocks: 234d5b0e70fSEmmanuel Vadot minItems: 3 235d5b0e70fSEmmanuel Vadot maxItems: 4 236d5b0e70fSEmmanuel Vadot clock-names: 237d5b0e70fSEmmanuel Vadot oneOf: 238d5b0e70fSEmmanuel Vadot - items: 239d5b0e70fSEmmanuel Vadot - const: core 240d5b0e70fSEmmanuel Vadot - const: sleep 241d5b0e70fSEmmanuel Vadot - const: mock_utmi 242d5b0e70fSEmmanuel Vadot - items: 243d5b0e70fSEmmanuel Vadot - const: cfg_noc 244d5b0e70fSEmmanuel Vadot - const: core 245d5b0e70fSEmmanuel Vadot - const: sleep 246d5b0e70fSEmmanuel Vadot - const: mock_utmi 247d5b0e70fSEmmanuel Vadot 248d5b0e70fSEmmanuel Vadot - if: 249d5b0e70fSEmmanuel Vadot properties: 250d5b0e70fSEmmanuel Vadot compatible: 251d5b0e70fSEmmanuel Vadot contains: 252d5b0e70fSEmmanuel Vadot enum: 253d5b0e70fSEmmanuel Vadot - qcom,ipq8074-dwc3 2547d0873ebSEmmanuel Vadot - qcom,qdu1000-dwc3 255d5b0e70fSEmmanuel Vadot then: 256d5b0e70fSEmmanuel Vadot properties: 257d5b0e70fSEmmanuel Vadot clocks: 258d5b0e70fSEmmanuel Vadot maxItems: 4 259d5b0e70fSEmmanuel Vadot clock-names: 260d5b0e70fSEmmanuel Vadot items: 261d5b0e70fSEmmanuel Vadot - const: cfg_noc 262d5b0e70fSEmmanuel Vadot - const: core 263d5b0e70fSEmmanuel Vadot - const: sleep 264d5b0e70fSEmmanuel Vadot - const: mock_utmi 265d5b0e70fSEmmanuel Vadot 266d5b0e70fSEmmanuel Vadot - if: 267d5b0e70fSEmmanuel Vadot properties: 268d5b0e70fSEmmanuel Vadot compatible: 269d5b0e70fSEmmanuel Vadot contains: 270d5b0e70fSEmmanuel Vadot enum: 27184943d6fSEmmanuel Vadot - qcom,ipq5018-dwc3 272d5b0e70fSEmmanuel Vadot - qcom,msm8994-dwc3 273d5b0e70fSEmmanuel Vadot - qcom,qcs404-dwc3 274d5b0e70fSEmmanuel Vadot then: 275d5b0e70fSEmmanuel Vadot properties: 276d5b0e70fSEmmanuel Vadot clocks: 277d5b0e70fSEmmanuel Vadot maxItems: 4 278d5b0e70fSEmmanuel Vadot clock-names: 279d5b0e70fSEmmanuel Vadot items: 280d5b0e70fSEmmanuel Vadot - const: core 281d5b0e70fSEmmanuel Vadot - const: iface 282d5b0e70fSEmmanuel Vadot - const: sleep 283d5b0e70fSEmmanuel Vadot - const: mock_utmi 284d5b0e70fSEmmanuel Vadot 285d5b0e70fSEmmanuel Vadot - if: 286d5b0e70fSEmmanuel Vadot properties: 287d5b0e70fSEmmanuel Vadot compatible: 288d5b0e70fSEmmanuel Vadot contains: 289d5b0e70fSEmmanuel Vadot enum: 290b97ee269SEmmanuel Vadot - qcom,sc8280xp-dwc3 2917d0873ebSEmmanuel Vadot - qcom,sc8280xp-dwc3-mp 2928d13bc63SEmmanuel Vadot - qcom,x1e80100-dwc3 293*b2d2a78aSEmmanuel Vadot - qcom,x1e80100-dwc3-mp 294b97ee269SEmmanuel Vadot then: 295b97ee269SEmmanuel Vadot properties: 296b97ee269SEmmanuel Vadot clocks: 297b97ee269SEmmanuel Vadot maxItems: 9 298b97ee269SEmmanuel Vadot clock-names: 299b97ee269SEmmanuel Vadot items: 300b97ee269SEmmanuel Vadot - const: cfg_noc 301b97ee269SEmmanuel Vadot - const: core 302b97ee269SEmmanuel Vadot - const: iface 303b97ee269SEmmanuel Vadot - const: sleep 304b97ee269SEmmanuel Vadot - const: mock_utmi 305b97ee269SEmmanuel Vadot - const: noc_aggr 306b97ee269SEmmanuel Vadot - const: noc_aggr_north 307b97ee269SEmmanuel Vadot - const: noc_aggr_south 308b97ee269SEmmanuel Vadot - const: noc_sys 309b97ee269SEmmanuel Vadot 310b97ee269SEmmanuel Vadot - if: 311b97ee269SEmmanuel Vadot properties: 312b97ee269SEmmanuel Vadot compatible: 313b97ee269SEmmanuel Vadot contains: 314b97ee269SEmmanuel Vadot enum: 315d5b0e70fSEmmanuel Vadot - qcom,sdm660-dwc3 316d5b0e70fSEmmanuel Vadot then: 317d5b0e70fSEmmanuel Vadot properties: 318d5b0e70fSEmmanuel Vadot clocks: 3198d13bc63SEmmanuel Vadot minItems: 4 3208d13bc63SEmmanuel Vadot maxItems: 5 321d5b0e70fSEmmanuel Vadot clock-names: 322aa1a8ff2SEmmanuel Vadot oneOf: 323aa1a8ff2SEmmanuel Vadot - items: 324d5b0e70fSEmmanuel Vadot - const: cfg_noc 325d5b0e70fSEmmanuel Vadot - const: core 326d5b0e70fSEmmanuel Vadot - const: iface 327d5b0e70fSEmmanuel Vadot - const: sleep 328d5b0e70fSEmmanuel Vadot - const: mock_utmi 329aa1a8ff2SEmmanuel Vadot - items: 330aa1a8ff2SEmmanuel Vadot - const: cfg_noc 331aa1a8ff2SEmmanuel Vadot - const: core 332aa1a8ff2SEmmanuel Vadot - const: sleep 333aa1a8ff2SEmmanuel Vadot - const: mock_utmi 334d5b0e70fSEmmanuel Vadot 335d5b0e70fSEmmanuel Vadot - if: 336d5b0e70fSEmmanuel Vadot properties: 337d5b0e70fSEmmanuel Vadot compatible: 338d5b0e70fSEmmanuel Vadot contains: 339d5b0e70fSEmmanuel Vadot enum: 340fac71e4eSEmmanuel Vadot - qcom,qcm2290-dwc3 3410e8011faSEmmanuel Vadot - qcom,sc8180x-dwc3 3420e8011faSEmmanuel Vadot - qcom,sc8180x-dwc3-mp 3437ef62cebSEmmanuel Vadot - qcom,sm6115-dwc3 344d5b0e70fSEmmanuel Vadot - qcom,sm6125-dwc3 345d5b0e70fSEmmanuel Vadot - qcom,sm8150-dwc3 346d5b0e70fSEmmanuel Vadot - qcom,sm8250-dwc3 347d5b0e70fSEmmanuel Vadot - qcom,sm8450-dwc3 3488bab661aSEmmanuel Vadot - qcom,sm8550-dwc3 3498d13bc63SEmmanuel Vadot - qcom,sm8650-dwc3 350d5b0e70fSEmmanuel Vadot then: 351d5b0e70fSEmmanuel Vadot properties: 352d5b0e70fSEmmanuel Vadot clocks: 353d5b0e70fSEmmanuel Vadot minItems: 6 354d5b0e70fSEmmanuel Vadot clock-names: 355d5b0e70fSEmmanuel Vadot items: 356d5b0e70fSEmmanuel Vadot - const: cfg_noc 357d5b0e70fSEmmanuel Vadot - const: core 358d5b0e70fSEmmanuel Vadot - const: iface 359d5b0e70fSEmmanuel Vadot - const: sleep 360d5b0e70fSEmmanuel Vadot - const: mock_utmi 361d5b0e70fSEmmanuel Vadot - const: xo 362d5b0e70fSEmmanuel Vadot 363d5b0e70fSEmmanuel Vadot - if: 364d5b0e70fSEmmanuel Vadot properties: 365d5b0e70fSEmmanuel Vadot compatible: 366d5b0e70fSEmmanuel Vadot contains: 367d5b0e70fSEmmanuel Vadot enum: 368d5b0e70fSEmmanuel Vadot - qcom,sm8350-dwc3 369d5b0e70fSEmmanuel Vadot then: 370d5b0e70fSEmmanuel Vadot properties: 371d5b0e70fSEmmanuel Vadot clocks: 372d5b0e70fSEmmanuel Vadot minItems: 5 373d5b0e70fSEmmanuel Vadot maxItems: 6 374d5b0e70fSEmmanuel Vadot clock-names: 375d5b0e70fSEmmanuel Vadot minItems: 5 376d5b0e70fSEmmanuel Vadot items: 377d5b0e70fSEmmanuel Vadot - const: cfg_noc 378d5b0e70fSEmmanuel Vadot - const: core 379d5b0e70fSEmmanuel Vadot - const: iface 380d5b0e70fSEmmanuel Vadot - const: sleep 381d5b0e70fSEmmanuel Vadot - const: mock_utmi 382d5b0e70fSEmmanuel Vadot - const: xo 383d5b0e70fSEmmanuel Vadot 384b97ee269SEmmanuel Vadot - if: 385b97ee269SEmmanuel Vadot properties: 386b97ee269SEmmanuel Vadot compatible: 387b97ee269SEmmanuel Vadot contains: 388b97ee269SEmmanuel Vadot enum: 3898d13bc63SEmmanuel Vadot - qcom,ipq5018-dwc3 390b97ee269SEmmanuel Vadot - qcom,ipq6018-dwc3 391b97ee269SEmmanuel Vadot - qcom,ipq8074-dwc3 3928d13bc63SEmmanuel Vadot - qcom,msm8953-dwc3 3938d13bc63SEmmanuel Vadot - qcom,msm8998-dwc3 3948d13bc63SEmmanuel Vadot then: 3958d13bc63SEmmanuel Vadot properties: 3968d13bc63SEmmanuel Vadot interrupts: 3978d13bc63SEmmanuel Vadot minItems: 2 3988d13bc63SEmmanuel Vadot maxItems: 3 3998d13bc63SEmmanuel Vadot interrupt-names: 4008d13bc63SEmmanuel Vadot items: 4018d13bc63SEmmanuel Vadot - const: pwr_event 4028d13bc63SEmmanuel Vadot - const: qusb2_phy 4038d13bc63SEmmanuel Vadot - const: ss_phy_irq 4048d13bc63SEmmanuel Vadot 4058d13bc63SEmmanuel Vadot - if: 4068d13bc63SEmmanuel Vadot properties: 4078d13bc63SEmmanuel Vadot compatible: 4088d13bc63SEmmanuel Vadot contains: 4098d13bc63SEmmanuel Vadot enum: 4108d13bc63SEmmanuel Vadot - qcom,msm8996-dwc3 411b97ee269SEmmanuel Vadot - qcom,qcs404-dwc3 4128d13bc63SEmmanuel Vadot - qcom,sdm660-dwc3 4138d13bc63SEmmanuel Vadot - qcom,sm6115-dwc3 4148d13bc63SEmmanuel Vadot - qcom,sm6125-dwc3 4158d13bc63SEmmanuel Vadot then: 4168d13bc63SEmmanuel Vadot properties: 4178d13bc63SEmmanuel Vadot interrupts: 4188d13bc63SEmmanuel Vadot minItems: 3 4198d13bc63SEmmanuel Vadot maxItems: 4 4208d13bc63SEmmanuel Vadot interrupt-names: 4218d13bc63SEmmanuel Vadot items: 4228d13bc63SEmmanuel Vadot - const: pwr_event 4238d13bc63SEmmanuel Vadot - const: qusb2_phy 4248d13bc63SEmmanuel Vadot - const: hs_phy_irq 4258d13bc63SEmmanuel Vadot - const: ss_phy_irq 4268d13bc63SEmmanuel Vadot 4278d13bc63SEmmanuel Vadot - if: 4288d13bc63SEmmanuel Vadot properties: 4298d13bc63SEmmanuel Vadot compatible: 4308d13bc63SEmmanuel Vadot contains: 4318d13bc63SEmmanuel Vadot enum: 4328d13bc63SEmmanuel Vadot - qcom,ipq5332-dwc3 433*b2d2a78aSEmmanuel Vadot then: 434*b2d2a78aSEmmanuel Vadot properties: 435*b2d2a78aSEmmanuel Vadot interrupts: 436*b2d2a78aSEmmanuel Vadot maxItems: 3 437*b2d2a78aSEmmanuel Vadot interrupt-names: 438*b2d2a78aSEmmanuel Vadot items: 439*b2d2a78aSEmmanuel Vadot - const: pwr_event 440*b2d2a78aSEmmanuel Vadot - const: dp_hs_phy_irq 441*b2d2a78aSEmmanuel Vadot - const: dm_hs_phy_irq 442*b2d2a78aSEmmanuel Vadot 443*b2d2a78aSEmmanuel Vadot - if: 444*b2d2a78aSEmmanuel Vadot properties: 445*b2d2a78aSEmmanuel Vadot compatible: 446*b2d2a78aSEmmanuel Vadot contains: 447*b2d2a78aSEmmanuel Vadot enum: 4488d13bc63SEmmanuel Vadot - qcom,x1e80100-dwc3 4498d13bc63SEmmanuel Vadot then: 4508d13bc63SEmmanuel Vadot properties: 4518d13bc63SEmmanuel Vadot interrupts: 4528d13bc63SEmmanuel Vadot maxItems: 4 4538d13bc63SEmmanuel Vadot interrupt-names: 4548d13bc63SEmmanuel Vadot items: 4558d13bc63SEmmanuel Vadot - const: pwr_event 4568d13bc63SEmmanuel Vadot - const: dp_hs_phy_irq 4578d13bc63SEmmanuel Vadot - const: dm_hs_phy_irq 4588d13bc63SEmmanuel Vadot - const: ss_phy_irq 4598d13bc63SEmmanuel Vadot 4608d13bc63SEmmanuel Vadot - if: 4618d13bc63SEmmanuel Vadot properties: 4628d13bc63SEmmanuel Vadot compatible: 4638d13bc63SEmmanuel Vadot contains: 4648d13bc63SEmmanuel Vadot enum: 4658d13bc63SEmmanuel Vadot - qcom,ipq4019-dwc3 4668d13bc63SEmmanuel Vadot - qcom,ipq8064-dwc3 4678d13bc63SEmmanuel Vadot - qcom,msm8994-dwc3 4687d0873ebSEmmanuel Vadot - qcom,qdu1000-dwc3 4698d13bc63SEmmanuel Vadot - qcom,sa8775p-dwc3 470b97ee269SEmmanuel Vadot - qcom,sc7180-dwc3 4718d13bc63SEmmanuel Vadot - qcom,sc7280-dwc3 4720e8011faSEmmanuel Vadot - qcom,sc8180x-dwc3 4738d13bc63SEmmanuel Vadot - qcom,sc8280xp-dwc3 4747ef62cebSEmmanuel Vadot - qcom,sdm670-dwc3 475b97ee269SEmmanuel Vadot - qcom,sdm845-dwc3 476b97ee269SEmmanuel Vadot - qcom,sdx55-dwc3 477b97ee269SEmmanuel Vadot - qcom,sdx65-dwc3 47884943d6fSEmmanuel Vadot - qcom,sdx75-dwc3 479b97ee269SEmmanuel Vadot - qcom,sm4250-dwc3 480b97ee269SEmmanuel Vadot - qcom,sm6350-dwc3 481b97ee269SEmmanuel Vadot - qcom,sm8150-dwc3 482b97ee269SEmmanuel Vadot - qcom,sm8250-dwc3 483b97ee269SEmmanuel Vadot - qcom,sm8350-dwc3 484b97ee269SEmmanuel Vadot - qcom,sm8450-dwc3 4858bab661aSEmmanuel Vadot - qcom,sm8550-dwc3 4868d13bc63SEmmanuel Vadot - qcom,sm8650-dwc3 487b97ee269SEmmanuel Vadot then: 488b97ee269SEmmanuel Vadot properties: 489b97ee269SEmmanuel Vadot interrupts: 4908d13bc63SEmmanuel Vadot minItems: 4 4918d13bc63SEmmanuel Vadot maxItems: 5 492b97ee269SEmmanuel Vadot interrupt-names: 493b97ee269SEmmanuel Vadot items: 494b97ee269SEmmanuel Vadot - const: pwr_event 4958d13bc63SEmmanuel Vadot - const: hs_phy_irq 496f126890aSEmmanuel Vadot - const: dp_hs_phy_irq 497f126890aSEmmanuel Vadot - const: dm_hs_phy_irq 498f126890aSEmmanuel Vadot - const: ss_phy_irq 499f126890aSEmmanuel Vadot 5007d0873ebSEmmanuel Vadot - if: 5017d0873ebSEmmanuel Vadot properties: 5027d0873ebSEmmanuel Vadot compatible: 5037d0873ebSEmmanuel Vadot contains: 5047d0873ebSEmmanuel Vadot enum: 5050e8011faSEmmanuel Vadot - qcom,sc8180x-dwc3-mp 506*b2d2a78aSEmmanuel Vadot - qcom,x1e80100-dwc3-mp 5070e8011faSEmmanuel Vadot then: 5080e8011faSEmmanuel Vadot properties: 5090e8011faSEmmanuel Vadot interrupts: 5100e8011faSEmmanuel Vadot minItems: 10 5110e8011faSEmmanuel Vadot maxItems: 10 5120e8011faSEmmanuel Vadot interrupt-names: 5130e8011faSEmmanuel Vadot items: 5140e8011faSEmmanuel Vadot - const: pwr_event_1 5150e8011faSEmmanuel Vadot - const: pwr_event_2 5160e8011faSEmmanuel Vadot - const: hs_phy_1 5170e8011faSEmmanuel Vadot - const: hs_phy_2 5180e8011faSEmmanuel Vadot - const: dp_hs_phy_1 5190e8011faSEmmanuel Vadot - const: dm_hs_phy_1 5200e8011faSEmmanuel Vadot - const: dp_hs_phy_2 5210e8011faSEmmanuel Vadot - const: dm_hs_phy_2 5220e8011faSEmmanuel Vadot - const: ss_phy_1 5230e8011faSEmmanuel Vadot - const: ss_phy_2 5240e8011faSEmmanuel Vadot 5250e8011faSEmmanuel Vadot - if: 5260e8011faSEmmanuel Vadot properties: 5270e8011faSEmmanuel Vadot compatible: 5280e8011faSEmmanuel Vadot contains: 5290e8011faSEmmanuel Vadot enum: 5307d0873ebSEmmanuel Vadot - qcom,sc8280xp-dwc3-mp 5317d0873ebSEmmanuel Vadot then: 5327d0873ebSEmmanuel Vadot properties: 5337d0873ebSEmmanuel Vadot interrupts: 5347d0873ebSEmmanuel Vadot minItems: 18 5357d0873ebSEmmanuel Vadot maxItems: 18 5367d0873ebSEmmanuel Vadot interrupt-names: 5377d0873ebSEmmanuel Vadot items: 5387d0873ebSEmmanuel Vadot - const: pwr_event_1 5397d0873ebSEmmanuel Vadot - const: pwr_event_2 5407d0873ebSEmmanuel Vadot - const: pwr_event_3 5417d0873ebSEmmanuel Vadot - const: pwr_event_4 5427d0873ebSEmmanuel Vadot - const: hs_phy_1 5437d0873ebSEmmanuel Vadot - const: hs_phy_2 5447d0873ebSEmmanuel Vadot - const: hs_phy_3 5457d0873ebSEmmanuel Vadot - const: hs_phy_4 5467d0873ebSEmmanuel Vadot - const: dp_hs_phy_1 5477d0873ebSEmmanuel Vadot - const: dm_hs_phy_1 5487d0873ebSEmmanuel Vadot - const: dp_hs_phy_2 5497d0873ebSEmmanuel Vadot - const: dm_hs_phy_2 5507d0873ebSEmmanuel Vadot - const: dp_hs_phy_3 5517d0873ebSEmmanuel Vadot - const: dm_hs_phy_3 5527d0873ebSEmmanuel Vadot - const: dp_hs_phy_4 5537d0873ebSEmmanuel Vadot - const: dm_hs_phy_4 5547d0873ebSEmmanuel Vadot - const: ss_phy_1 5557d0873ebSEmmanuel Vadot - const: ss_phy_2 5567d0873ebSEmmanuel Vadot 5576be33864SEmmanuel VadotadditionalProperties: false 5586be33864SEmmanuel Vadot 559c66ec88fSEmmanuel Vadotexamples: 560c66ec88fSEmmanuel Vadot - | 561c66ec88fSEmmanuel Vadot #include <dt-bindings/clock/qcom,gcc-sdm845.h> 562c66ec88fSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 563c66ec88fSEmmanuel Vadot #include <dt-bindings/interrupt-controller/irq.h> 564c66ec88fSEmmanuel Vadot soc { 565c66ec88fSEmmanuel Vadot #address-cells = <2>; 566c66ec88fSEmmanuel Vadot #size-cells = <2>; 567c66ec88fSEmmanuel Vadot 568c66ec88fSEmmanuel Vadot usb@a6f8800 { 569c66ec88fSEmmanuel Vadot compatible = "qcom,sdm845-dwc3", "qcom,dwc3"; 570c66ec88fSEmmanuel Vadot reg = <0 0x0a6f8800 0 0x400>; 571c66ec88fSEmmanuel Vadot 572c66ec88fSEmmanuel Vadot #address-cells = <2>; 573c66ec88fSEmmanuel Vadot #size-cells = <2>; 574c66ec88fSEmmanuel Vadot ranges; 575c66ec88fSEmmanuel Vadot clocks = <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>, 576c66ec88fSEmmanuel Vadot <&gcc GCC_USB30_PRIM_MASTER_CLK>, 577c66ec88fSEmmanuel Vadot <&gcc GCC_AGGRE_USB3_PRIM_AXI_CLK>, 578d5b0e70fSEmmanuel Vadot <&gcc GCC_USB30_PRIM_SLEEP_CLK>, 579d5b0e70fSEmmanuel Vadot <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>; 580d5b0e70fSEmmanuel Vadot clock-names = "cfg_noc", 581d5b0e70fSEmmanuel Vadot "core", 582d5b0e70fSEmmanuel Vadot "iface", 583d5b0e70fSEmmanuel Vadot "sleep", 584d5b0e70fSEmmanuel Vadot "mock_utmi"; 585c66ec88fSEmmanuel Vadot 586c66ec88fSEmmanuel Vadot assigned-clocks = <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>, 587c66ec88fSEmmanuel Vadot <&gcc GCC_USB30_PRIM_MASTER_CLK>; 588c66ec88fSEmmanuel Vadot assigned-clock-rates = <19200000>, <150000000>; 589c66ec88fSEmmanuel Vadot 5908d13bc63SEmmanuel Vadot interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>, 5918d13bc63SEmmanuel Vadot <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>, 5928d13bc63SEmmanuel Vadot <GIC_SPI 489 IRQ_TYPE_EDGE_BOTH>, 59384943d6fSEmmanuel Vadot <GIC_SPI 488 IRQ_TYPE_EDGE_BOTH>, 5948d13bc63SEmmanuel Vadot <GIC_SPI 486 IRQ_TYPE_LEVEL_HIGH>; 5958d13bc63SEmmanuel Vadot interrupt-names = "pwr_event", "hs_phy_irq", 5968d13bc63SEmmanuel Vadot "dp_hs_phy_irq", "dm_hs_phy_irq", "ss_phy_irq"; 597c66ec88fSEmmanuel Vadot 598c66ec88fSEmmanuel Vadot power-domains = <&gcc USB30_PRIM_GDSC>; 599c66ec88fSEmmanuel Vadot 600c66ec88fSEmmanuel Vadot resets = <&gcc GCC_USB30_PRIM_BCR>; 601c66ec88fSEmmanuel Vadot 6025def4c47SEmmanuel Vadot usb@a600000 { 603c66ec88fSEmmanuel Vadot compatible = "snps,dwc3"; 604c66ec88fSEmmanuel Vadot reg = <0 0x0a600000 0 0xcd00>; 605c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>; 606c66ec88fSEmmanuel Vadot iommus = <&apps_smmu 0x740 0>; 607c66ec88fSEmmanuel Vadot snps,dis_u2_susphy_quirk; 608c66ec88fSEmmanuel Vadot snps,dis_enblslpm_quirk; 609c66ec88fSEmmanuel Vadot phys = <&usb_1_hsphy>, <&usb_1_ssphy>; 610c66ec88fSEmmanuel Vadot phy-names = "usb2-phy", "usb3-phy"; 611c66ec88fSEmmanuel Vadot }; 612c66ec88fSEmmanuel Vadot }; 613c66ec88fSEmmanuel Vadot }; 614