xref: /linux/Documentation/devicetree/bindings/usb/ti,keystone-dwc3.yaml (revision 1883a934e15638efc39cf444908c928bef51b2a0)
1*1883a934SRoger Quadros# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*1883a934SRoger Quadros%YAML 1.2
3*1883a934SRoger Quadros---
4*1883a934SRoger Quadros$id: http://devicetree.org/schemas/usb/ti,keystone-dwc3.yaml#
5*1883a934SRoger Quadros$schema: http://devicetree.org/meta-schemas/core.yaml#
6*1883a934SRoger Quadros
7*1883a934SRoger Quadrostitle: TI Keystone Soc USB Controller
8*1883a934SRoger Quadros
9*1883a934SRoger Quadrosmaintainers:
10*1883a934SRoger Quadros  - Roger Quadros <rogerq@ti.com>
11*1883a934SRoger Quadros
12*1883a934SRoger Quadrosproperties:
13*1883a934SRoger Quadros  compatible:
14*1883a934SRoger Quadros    oneOf:
15*1883a934SRoger Quadros      - const: "ti,keystone-dwc3"
16*1883a934SRoger Quadros      - const: "ti,am654-dwc3"
17*1883a934SRoger Quadros
18*1883a934SRoger Quadros  reg:
19*1883a934SRoger Quadros    maxItems: 1
20*1883a934SRoger Quadros    description: Address and length of the register set for the USB subsystem on
21*1883a934SRoger Quadros      the SOC.
22*1883a934SRoger Quadros
23*1883a934SRoger Quadros  interrupts:
24*1883a934SRoger Quadros    maxItems: 1
25*1883a934SRoger Quadros    description: The irq number of this device that is used to interrupt the MPU.
26*1883a934SRoger Quadros
27*1883a934SRoger Quadros
28*1883a934SRoger Quadros  clocks:
29*1883a934SRoger Quadros    description: Clock ID for USB functional clock.
30*1883a934SRoger Quadros
31*1883a934SRoger Quadros  power-domains:
32*1883a934SRoger Quadros    description: Should contain a phandle to a PM domain provider node
33*1883a934SRoger Quadros      and an args specifier containing the USB device id
34*1883a934SRoger Quadros      value. This property is as per the binding,
35*1883a934SRoger Quadros      Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
36*1883a934SRoger Quadros
37*1883a934SRoger Quadros  dwc3:
38*1883a934SRoger Quadros    description: This is the node representing the DWC3 controller instance
39*1883a934SRoger Quadros      Documentation/devicetree/bindings/usb/dwc3.txt
40*1883a934SRoger Quadros
41*1883a934SRoger Quadrosrequired:
42*1883a934SRoger Quadros  - compatible
43*1883a934SRoger Quadros  - reg
44*1883a934SRoger Quadros  - interrupts
45*1883a934SRoger Quadros  - clocks
46*1883a934SRoger Quadros
47*1883a934SRoger Quadrosexamples:
48*1883a934SRoger Quadros  - |
49*1883a934SRoger Quadros    #include <dt-bindings/interrupt-controller/arm-gic.h>
50*1883a934SRoger Quadros
51*1883a934SRoger Quadros    usb: usb@2680000 {
52*1883a934SRoger Quadros      compatible = "ti,keystone-dwc3";
53*1883a934SRoger Quadros      #address-cells = <1>;
54*1883a934SRoger Quadros      #size-cells = <1>;
55*1883a934SRoger Quadros      reg = <0x2680000 0x10000>;
56*1883a934SRoger Quadros      clocks = <&clkusb>;
57*1883a934SRoger Quadros      clock-names = "usb";
58*1883a934SRoger Quadros      interrupts = <GIC_SPI 393 IRQ_TYPE_EDGE_RISING>;
59*1883a934SRoger Quadros      ranges;
60*1883a934SRoger Quadros
61*1883a934SRoger Quadros      dwc3@2690000 {
62*1883a934SRoger Quadros        compatible = "synopsys,dwc3";
63*1883a934SRoger Quadros        reg = <0x2690000 0x70000>;
64*1883a934SRoger Quadros        interrupts = <GIC_SPI 393 IRQ_TYPE_EDGE_RISING>;
65*1883a934SRoger Quadros        usb-phy = <&usb_phy>, <&usb_phy>;
66*1883a934SRoger Quadros      };
67*1883a934SRoger Quadros    };
68