xref: /linux/Documentation/devicetree/bindings/usb/ti,keystone-dwc3.yaml (revision 0499220d6dadafa50d10c748ab88bbe4ebf39c05)
11883a934SRoger Quadros# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
21883a934SRoger Quadros%YAML 1.2
31883a934SRoger Quadros---
41883a934SRoger Quadros$id: http://devicetree.org/schemas/usb/ti,keystone-dwc3.yaml#
51883a934SRoger Quadros$schema: http://devicetree.org/meta-schemas/core.yaml#
61883a934SRoger Quadros
71883a934SRoger Quadrostitle: TI Keystone Soc USB Controller
81883a934SRoger Quadros
91883a934SRoger Quadrosmaintainers:
101883a934SRoger Quadros  - Roger Quadros <rogerq@ti.com>
111883a934SRoger Quadros
121883a934SRoger Quadrosproperties:
131883a934SRoger Quadros  compatible:
14ec396626SRoger Quadros    items:
15ec396626SRoger Quadros      - enum:
16ec396626SRoger Quadros          - ti,keystone-dwc3
17ec396626SRoger Quadros          - ti,am654-dwc3
181883a934SRoger Quadros
191883a934SRoger Quadros  reg:
201883a934SRoger Quadros    maxItems: 1
21ec396626SRoger Quadros
22ec396626SRoger Quadros  '#address-cells':
23ec396626SRoger Quadros    const: 1
24ec396626SRoger Quadros
25ec396626SRoger Quadros  '#size-cells':
26ec396626SRoger Quadros    const: 1
27ec396626SRoger Quadros
28ec396626SRoger Quadros  ranges: true
291883a934SRoger Quadros
301883a934SRoger Quadros  interrupts:
311883a934SRoger Quadros    maxItems: 1
321883a934SRoger Quadros
331883a934SRoger Quadros  clocks:
34ec396626SRoger Quadros    minItems: 1
35ec396626SRoger Quadros    maxItems: 2
36ec396626SRoger Quadros
37ec396626SRoger Quadros  assigned-clocks:
38ec396626SRoger Quadros    minItems: 1
39ec396626SRoger Quadros    maxItems: 2
40ec396626SRoger Quadros
41ec396626SRoger Quadros  assigned-clock-parents:
42ec396626SRoger Quadros    minItems: 1
43ec396626SRoger Quadros    maxItems: 2
441883a934SRoger Quadros
451883a934SRoger Quadros  power-domains:
46*0499220dSRob Herring    maxItems: 1
471883a934SRoger Quadros    description: Should contain a phandle to a PM domain provider node
481883a934SRoger Quadros      and an args specifier containing the USB device id
491883a934SRoger Quadros      value. This property is as per the binding,
501883a934SRoger Quadros      Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
511883a934SRoger Quadros
5215aeb360SRoger Quadros  phys:
53*0499220dSRob Herring    maxItems: 1
5415aeb360SRoger Quadros    description:
5515aeb360SRoger Quadros      PHY specifier for the USB3.0 PHY. Some SoCs need the USB3.0 PHY
5615aeb360SRoger Quadros      to be turned on before the controller.
5715aeb360SRoger Quadros      Documentation/devicetree/bindings/phy/phy-bindings.txt
5815aeb360SRoger Quadros
5915aeb360SRoger Quadros  phy-names:
6015aeb360SRoger Quadros    items:
61ec396626SRoger Quadros      - const: usb3-phy
6215aeb360SRoger Quadros
63ec396626SRoger Quadros  dma-coherent: true
64ec396626SRoger Quadros
65ec396626SRoger Quadros  dma-ranges: true
66ec396626SRoger Quadros
67ec396626SRoger QuadrospatternProperties:
68ec396626SRoger Quadros  "usb@[a-f0-9]+$":
69ec396626SRoger Quadros    type: object
701883a934SRoger Quadros    description: This is the node representing the DWC3 controller instance
711883a934SRoger Quadros      Documentation/devicetree/bindings/usb/dwc3.txt
721883a934SRoger Quadros
731883a934SRoger Quadrosrequired:
741883a934SRoger Quadros  - compatible
751883a934SRoger Quadros  - reg
76ec396626SRoger Quadros  - "#address-cells"
77ec396626SRoger Quadros  - "#size-cells"
78ec396626SRoger Quadros  - ranges
791883a934SRoger Quadros  - interrupts
80ec396626SRoger Quadros
81ec396626SRoger QuadrosadditionalProperties: false
821883a934SRoger Quadros
831883a934SRoger Quadrosexamples:
841883a934SRoger Quadros  - |
851883a934SRoger Quadros    #include <dt-bindings/interrupt-controller/arm-gic.h>
861883a934SRoger Quadros
87ec396626SRoger Quadros    dwc3@2680000 {
881883a934SRoger Quadros      compatible = "ti,keystone-dwc3";
891883a934SRoger Quadros      #address-cells = <1>;
901883a934SRoger Quadros      #size-cells = <1>;
911883a934SRoger Quadros      reg = <0x2680000 0x10000>;
921883a934SRoger Quadros      clocks = <&clkusb>;
931883a934SRoger Quadros      interrupts = <GIC_SPI 393 IRQ_TYPE_EDGE_RISING>;
941883a934SRoger Quadros      ranges;
951883a934SRoger Quadros
96ec396626SRoger Quadros      usb@2690000 {
971883a934SRoger Quadros        compatible = "synopsys,dwc3";
981883a934SRoger Quadros        reg = <0x2690000 0x70000>;
991883a934SRoger Quadros        interrupts = <GIC_SPI 393 IRQ_TYPE_EDGE_RISING>;
1001883a934SRoger Quadros        usb-phy = <&usb_phy>, <&usb_phy>;
1011883a934SRoger Quadros      };
1021883a934SRoger Quadros    };
103