1f3ca745dSBenjamin Gaignard# SPDX-License-Identifier: GPL-2.0
2f3ca745dSBenjamin Gaignard%YAML 1.2
3f3ca745dSBenjamin Gaignard---
4f3ca745dSBenjamin Gaignard$id: http://devicetree.org/schemas/usb/dwc2.yaml#
5f3ca745dSBenjamin Gaignard$schema: http://devicetree.org/meta-schemas/core.yaml#
6f3ca745dSBenjamin Gaignard
7f3ca745dSBenjamin Gaignardtitle: DesignWare HS OTG USB 2.0 controller Bindings
8f3ca745dSBenjamin Gaignard
9f3ca745dSBenjamin Gaignardmaintainers:
10f3ca745dSBenjamin Gaignard  - Rob Herring <robh@kernel.org>
11f3ca745dSBenjamin Gaignard
12bb88dbbeSFabrice GasnierallOf:
13bb88dbbeSFabrice Gasnier  - $ref: usb-drd.yaml#
14bb88dbbeSFabrice Gasnier
15f3ca745dSBenjamin Gaignardproperties:
16f3ca745dSBenjamin Gaignard  compatible:
17f3ca745dSBenjamin Gaignard    oneOf:
18f3ca745dSBenjamin Gaignard      - const: brcm,bcm2835-usb
19f3ca745dSBenjamin Gaignard      - const: hisilicon,hi6220-usb
20f3ca745dSBenjamin Gaignard      - items:
21f3ca745dSBenjamin Gaignard          - const: rockchip,rk3066-usb
22f3ca745dSBenjamin Gaignard          - const: snps,dwc2
23f3ca745dSBenjamin Gaignard      - items:
2495b18f28SJohan Jonker          - enum:
2595b18f28SJohan Jonker              - rockchip,px30-usb
2695b18f28SJohan Jonker              - rockchip,rk3036-usb
2795b18f28SJohan Jonker              - rockchip,rk3188-usb
2895b18f28SJohan Jonker              - rockchip,rk3228-usb
2995b18f28SJohan Jonker              - rockchip,rk3288-usb
3056d42614STobias Schramm              - rockchip,rk3308-usb
3195b18f28SJohan Jonker              - rockchip,rk3328-usb
327334c822SJohan Jonker              - rockchip,rk3368-usb
3395b18f28SJohan Jonker              - rockchip,rv1108-usb
34f3ca745dSBenjamin Gaignard          - const: rockchip,rk3066-usb
35f3ca745dSBenjamin Gaignard          - const: snps,dwc2
36f3ca745dSBenjamin Gaignard      - const: lantiq,arx100-usb
37f3ca745dSBenjamin Gaignard      - const: lantiq,xrx200-usb
38f3ca745dSBenjamin Gaignard      - items:
3928d5ee04SNeil Armstrong          - enum:
4028d5ee04SNeil Armstrong              - amlogic,meson8-usb
4128d5ee04SNeil Armstrong              - amlogic,meson8b-usb
4228d5ee04SNeil Armstrong              - amlogic,meson-gxbb-usb
4328d5ee04SNeil Armstrong              - amlogic,meson-g12a-usb
44448841d9SKrzysztof Kozlowski              - intel,socfpga-agilex-hsotg
45f3ca745dSBenjamin Gaignard          - const: snps,dwc2
46f3ca745dSBenjamin Gaignard      - const: amcc,dwc-otg
47704c70faSChristian Lamparter      - const: apm,apm82181-dwc-otg
48f3ca745dSBenjamin Gaignard      - const: snps,dwc2
49f3ca745dSBenjamin Gaignard      - const: st,stm32f4x9-fsotg
50f3ca745dSBenjamin Gaignard      - const: st,stm32f4x9-hsotg
51f3ca745dSBenjamin Gaignard      - const: st,stm32f7-hsotg
52d4985011SAmelie Delaunay      - const: st,stm32mp15-fsotg
531a21240dSBenjamin Gaignard      - items:
54d4985011SAmelie Delaunay          - const: st,stm32mp15-hsotg
551a21240dSBenjamin Gaignard          - const: snps,dwc2
56f3ca745dSBenjamin Gaignard      - const: samsung,s3c6400-hsotg
57f3ca745dSBenjamin Gaignard
58f3ca745dSBenjamin Gaignard  reg:
59f3ca745dSBenjamin Gaignard    maxItems: 1
60f3ca745dSBenjamin Gaignard
61f3ca745dSBenjamin Gaignard  interrupts:
62f3ca745dSBenjamin Gaignard    maxItems: 1
63f3ca745dSBenjamin Gaignard
64f3ca745dSBenjamin Gaignard  clocks:
65f3ca745dSBenjamin Gaignard    maxItems: 1
66f3ca745dSBenjamin Gaignard
67f3ca745dSBenjamin Gaignard  clock-names:
68f3ca745dSBenjamin Gaignard    items:
69f3ca745dSBenjamin Gaignard      - const: otg
70f3ca745dSBenjamin Gaignard
71*4b9ff41fSKrzysztof Kozlowski  disable-over-current:
72*4b9ff41fSKrzysztof Kozlowski    type: boolean
73*4b9ff41fSKrzysztof Kozlowski    description: whether to disable detection of over-current condition.
74*4b9ff41fSKrzysztof Kozlowski
751b5f9a04SKrzysztof Kozlowski  iommus:
761b5f9a04SKrzysztof Kozlowski    maxItems: 1
771b5f9a04SKrzysztof Kozlowski
78f3ca745dSBenjamin Gaignard  resets:
79f3ca745dSBenjamin Gaignard    items:
80f3ca745dSBenjamin Gaignard      - description: common reset
81f3ca745dSBenjamin Gaignard      - description: ecc reset
82f3ca745dSBenjamin Gaignard    minItems: 1
83f3ca745dSBenjamin Gaignard
84f3ca745dSBenjamin Gaignard  reset-names:
85f3ca745dSBenjamin Gaignard    items:
86f3ca745dSBenjamin Gaignard      - const: dwc2
87f3ca745dSBenjamin Gaignard      - const: dwc2-ecc
88f3ca745dSBenjamin Gaignard    minItems: 1
89f3ca745dSBenjamin Gaignard
90f3ca745dSBenjamin Gaignard  phys:
91f3ca745dSBenjamin Gaignard    maxItems: 1
92f3ca745dSBenjamin Gaignard
93f3ca745dSBenjamin Gaignard  phy-names:
94f3ca745dSBenjamin Gaignard    const: usb2-phy
95f3ca745dSBenjamin Gaignard
960b714009SJohan Jonker  power-domains:
970b714009SJohan Jonker    maxItems: 1
980b714009SJohan Jonker
99f3ca745dSBenjamin Gaignard  vbus-supply:
100f3ca745dSBenjamin Gaignard    description: reference to the VBUS regulator. Depending on the current mode
101f3ca745dSBenjamin Gaignard      this is enabled (in "host" mode") or disabled (in "peripheral" mode). The
102f3ca745dSBenjamin Gaignard      regulator is updated if the controller is configured in "otg" mode and the
103f3ca745dSBenjamin Gaignard      status changes between "host" and "peripheral".
104f3ca745dSBenjamin Gaignard
105f3ca745dSBenjamin Gaignard  vusb_d-supply:
106f3ca745dSBenjamin Gaignard    description: phandle to voltage regulator of digital section,
107f3ca745dSBenjamin Gaignard
108f3ca745dSBenjamin Gaignard  vusb_a-supply:
109f3ca745dSBenjamin Gaignard    description: phandle to voltage regulator of analog section.
110f3ca745dSBenjamin Gaignard
1111a21240dSBenjamin Gaignard  usb33d-supply:
112d4985011SAmelie Delaunay    description: reference to the VBUS and ID sensing comparators supply, in
113d4985011SAmelie Delaunay      order to perform OTG operation, used on STM32MP15 SoCs.
114d4985011SAmelie Delaunay
115bb88dbbeSFabrice Gasnier  dr_mode: true
116f3ca745dSBenjamin Gaignard
117924e2b40SFabrice Gasnier  otg-rev: true
118924e2b40SFabrice Gasnier
119924e2b40SFabrice Gasnier  hnp-disable: true
120924e2b40SFabrice Gasnier
121924e2b40SFabrice Gasnier  srp-disable: true
122924e2b40SFabrice Gasnier
123bb88dbbeSFabrice Gasnier  usb-role-switch: true
12414793faeSAmelie Delaunay
125942cdbc1SFabrice Gasnier  role-switch-default-mode: true
126942cdbc1SFabrice Gasnier
127f3ca745dSBenjamin Gaignard  g-rx-fifo-size:
128f3ca745dSBenjamin Gaignard    $ref: /schemas/types.yaml#/definitions/uint32
129f3ca745dSBenjamin Gaignard    description: size of rx fifo size in gadget mode.
130f3ca745dSBenjamin Gaignard
131f3ca745dSBenjamin Gaignard  g-np-tx-fifo-size:
132f3ca745dSBenjamin Gaignard    $ref: /schemas/types.yaml#/definitions/uint32
133f3ca745dSBenjamin Gaignard    description: size of non-periodic tx fifo size in gadget mode.
134f3ca745dSBenjamin Gaignard
135f3ca745dSBenjamin Gaignard  g-tx-fifo-size:
136f3ca745dSBenjamin Gaignard    $ref: /schemas/types.yaml#/definitions/uint32-array
137f3ca745dSBenjamin Gaignard    description: size of periodic tx fifo per endpoint (except ep0) in gadget mode.
138f3ca745dSBenjamin Gaignard
139f3ca745dSBenjamin Gaignard  snps,need-phy-for-wake:
140f3ca745dSBenjamin Gaignard    $ref: /schemas/types.yaml#/definitions/flag
141f516fb70SRob Herring    description: If present indicates that the phy needs to be left on for
142f516fb70SRob Herring      remote wakeup during suspend.
143f3ca745dSBenjamin Gaignard
144f3ca745dSBenjamin Gaignard  snps,reset-phy-on-wake:
145f3ca745dSBenjamin Gaignard    $ref: /schemas/types.yaml#/definitions/flag
146f516fb70SRob Herring    description: If present indicates that we need to reset the PHY when we
147f516fb70SRob Herring      detect a wakeup. This is due to a hardware errata.
148f3ca745dSBenjamin Gaignard
149ba67723fSFabrice Gasnier  port:
150ba67723fSFabrice Gasnier    description:
151ba67723fSFabrice Gasnier      Any connector to the data bus of this controller should be modelled
152ba67723fSFabrice Gasnier      using the OF graph bindings specified, if the "usb-role-switch"
153ba67723fSFabrice Gasnier      property is used.
154ba67723fSFabrice Gasnier    $ref: /schemas/graph.yaml#/properties/port
155ba67723fSFabrice Gasnier
156ba67723fSFabrice Gasnierdependencies:
157ba67723fSFabrice Gasnier  port: [ usb-role-switch ]
158942cdbc1SFabrice Gasnier  role-switch-default-mode: [ usb-role-switch ]
159ba67723fSFabrice Gasnier
160f3ca745dSBenjamin Gaignardrequired:
161f3ca745dSBenjamin Gaignard  - compatible
162f3ca745dSBenjamin Gaignard  - reg
163f3ca745dSBenjamin Gaignard  - interrupts
164f3ca745dSBenjamin Gaignard  - clocks
165f3ca745dSBenjamin Gaignard  - clock-names
166f3ca745dSBenjamin Gaignard
167f3ca745dSBenjamin GaignardadditionalProperties: false
168f3ca745dSBenjamin Gaignard
169f3ca745dSBenjamin Gaignardexamples:
170f3ca745dSBenjamin Gaignard  - |
171f3ca745dSBenjamin Gaignard      usb@101c0000 {
172f3ca745dSBenjamin Gaignard        compatible = "rockchip,rk3066-usb", "snps,dwc2";
173f3ca745dSBenjamin Gaignard        reg = <0x10180000 0x40000>;
174f3ca745dSBenjamin Gaignard        interrupts = <18>;
175f3ca745dSBenjamin Gaignard        clocks = <&usb_otg_ahb_clk>;
176f3ca745dSBenjamin Gaignard        clock-names = "otg";
177f3ca745dSBenjamin Gaignard        phys = <&usbphy>;
178f3ca745dSBenjamin Gaignard        phy-names = "usb2-phy";
179f3ca745dSBenjamin Gaignard      };
180f3ca745dSBenjamin Gaignard
181f3ca745dSBenjamin Gaignard...
182