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
12f3ca745dSBenjamin Gaignardproperties:
13f3ca745dSBenjamin Gaignard  compatible:
14f3ca745dSBenjamin Gaignard    oneOf:
15f3ca745dSBenjamin Gaignard      - const: brcm,bcm2835-usb
16f3ca745dSBenjamin Gaignard      - const: hisilicon,hi6220-usb
17f3ca745dSBenjamin Gaignard      - items:
18f3ca745dSBenjamin Gaignard          - const: rockchip,rk3066-usb
19f3ca745dSBenjamin Gaignard          - const: snps,dwc2
20f3ca745dSBenjamin Gaignard      - items:
2195b18f28SJohan Jonker          - enum:
2295b18f28SJohan Jonker              - rockchip,px30-usb
2395b18f28SJohan Jonker              - rockchip,rk3036-usb
2495b18f28SJohan Jonker              - rockchip,rk3188-usb
2595b18f28SJohan Jonker              - rockchip,rk3228-usb
2695b18f28SJohan Jonker              - rockchip,rk3288-usb
27*56d42614STobias Schramm              - rockchip,rk3308-usb
2895b18f28SJohan Jonker              - rockchip,rk3328-usb
297334c822SJohan Jonker              - rockchip,rk3368-usb
3095b18f28SJohan Jonker              - rockchip,rv1108-usb
31f3ca745dSBenjamin Gaignard          - const: rockchip,rk3066-usb
32f3ca745dSBenjamin Gaignard          - const: snps,dwc2
33f3ca745dSBenjamin Gaignard      - const: lantiq,arx100-usb
34f3ca745dSBenjamin Gaignard      - const: lantiq,xrx200-usb
35f3ca745dSBenjamin Gaignard      - items:
3628d5ee04SNeil Armstrong          - enum:
3728d5ee04SNeil Armstrong              - amlogic,meson8-usb
3828d5ee04SNeil Armstrong              - amlogic,meson8b-usb
3928d5ee04SNeil Armstrong              - amlogic,meson-gxbb-usb
4028d5ee04SNeil Armstrong              - amlogic,meson-g12a-usb
41f3ca745dSBenjamin Gaignard          - const: snps,dwc2
42f3ca745dSBenjamin Gaignard      - const: amcc,dwc-otg
43704c70faSChristian Lamparter      - const: apm,apm82181-dwc-otg
44f3ca745dSBenjamin Gaignard      - const: snps,dwc2
45f3ca745dSBenjamin Gaignard      - const: st,stm32f4x9-fsotg
46f3ca745dSBenjamin Gaignard      - const: st,stm32f4x9-hsotg
47f3ca745dSBenjamin Gaignard      - const: st,stm32f7-hsotg
48d4985011SAmelie Delaunay      - const: st,stm32mp15-fsotg
491a21240dSBenjamin Gaignard      - items:
50d4985011SAmelie Delaunay          - const: st,stm32mp15-hsotg
511a21240dSBenjamin Gaignard          - const: snps,dwc2
52f3ca745dSBenjamin Gaignard      - const: samsung,s3c6400-hsotg
53f3ca745dSBenjamin Gaignard
54f3ca745dSBenjamin Gaignard  reg:
55f3ca745dSBenjamin Gaignard    maxItems: 1
56f3ca745dSBenjamin Gaignard
57f3ca745dSBenjamin Gaignard  interrupts:
58f3ca745dSBenjamin Gaignard    maxItems: 1
59f3ca745dSBenjamin Gaignard
60f3ca745dSBenjamin Gaignard  clocks:
61f3ca745dSBenjamin Gaignard    maxItems: 1
62f3ca745dSBenjamin Gaignard
63f3ca745dSBenjamin Gaignard  clock-names:
64f3ca745dSBenjamin Gaignard    items:
65f3ca745dSBenjamin Gaignard      - const: otg
66f3ca745dSBenjamin Gaignard
67f3ca745dSBenjamin Gaignard  resets:
68f3ca745dSBenjamin Gaignard    items:
69f3ca745dSBenjamin Gaignard      - description: common reset
70f3ca745dSBenjamin Gaignard      - description: ecc reset
71f3ca745dSBenjamin Gaignard    minItems: 1
72f3ca745dSBenjamin Gaignard
73f3ca745dSBenjamin Gaignard  reset-names:
74f3ca745dSBenjamin Gaignard    items:
75f3ca745dSBenjamin Gaignard      - const: dwc2
76f3ca745dSBenjamin Gaignard      - const: dwc2-ecc
77f3ca745dSBenjamin Gaignard    minItems: 1
78f3ca745dSBenjamin Gaignard
79f3ca745dSBenjamin Gaignard  phys:
80f3ca745dSBenjamin Gaignard    maxItems: 1
81f3ca745dSBenjamin Gaignard
82f3ca745dSBenjamin Gaignard  phy-names:
83f3ca745dSBenjamin Gaignard    const: usb2-phy
84f3ca745dSBenjamin Gaignard
850b714009SJohan Jonker  power-domains:
860b714009SJohan Jonker    maxItems: 1
870b714009SJohan Jonker
88f3ca745dSBenjamin Gaignard  vbus-supply:
89f3ca745dSBenjamin Gaignard    description: reference to the VBUS regulator. Depending on the current mode
90f3ca745dSBenjamin Gaignard      this is enabled (in "host" mode") or disabled (in "peripheral" mode). The
91f3ca745dSBenjamin Gaignard      regulator is updated if the controller is configured in "otg" mode and the
92f3ca745dSBenjamin Gaignard      status changes between "host" and "peripheral".
93f3ca745dSBenjamin Gaignard
94f3ca745dSBenjamin Gaignard  vusb_d-supply:
95f3ca745dSBenjamin Gaignard    description: phandle to voltage regulator of digital section,
96f3ca745dSBenjamin Gaignard
97f3ca745dSBenjamin Gaignard  vusb_a-supply:
98f3ca745dSBenjamin Gaignard    description: phandle to voltage regulator of analog section.
99f3ca745dSBenjamin Gaignard
1001a21240dSBenjamin Gaignard  usb33d-supply:
101d4985011SAmelie Delaunay    description: reference to the VBUS and ID sensing comparators supply, in
102d4985011SAmelie Delaunay      order to perform OTG operation, used on STM32MP15 SoCs.
103d4985011SAmelie Delaunay
104f3ca745dSBenjamin Gaignard  dr_mode:
105f3ca745dSBenjamin Gaignard    enum: [host, peripheral, otg]
106f3ca745dSBenjamin Gaignard
10714793faeSAmelie Delaunay  usb-role-switch:
10814793faeSAmelie Delaunay    $ref: /schemas/types.yaml#/definitions/flag
10914793faeSAmelie Delaunay    description: Support role switch.
11014793faeSAmelie Delaunay
111f3ca745dSBenjamin Gaignard  g-rx-fifo-size:
112f3ca745dSBenjamin Gaignard    $ref: /schemas/types.yaml#/definitions/uint32
113f3ca745dSBenjamin Gaignard    description: size of rx fifo size in gadget mode.
114f3ca745dSBenjamin Gaignard
115f3ca745dSBenjamin Gaignard  g-np-tx-fifo-size:
116f3ca745dSBenjamin Gaignard    $ref: /schemas/types.yaml#/definitions/uint32
117f3ca745dSBenjamin Gaignard    description: size of non-periodic tx fifo size in gadget mode.
118f3ca745dSBenjamin Gaignard
119f3ca745dSBenjamin Gaignard  g-tx-fifo-size:
120f3ca745dSBenjamin Gaignard    $ref: /schemas/types.yaml#/definitions/uint32-array
121f3ca745dSBenjamin Gaignard    description: size of periodic tx fifo per endpoint (except ep0) in gadget mode.
122f3ca745dSBenjamin Gaignard
123f3ca745dSBenjamin Gaignard  snps,need-phy-for-wake:
124f3ca745dSBenjamin Gaignard    $ref: /schemas/types.yaml#/definitions/flag
125f516fb70SRob Herring    description: If present indicates that the phy needs to be left on for
126f516fb70SRob Herring      remote wakeup during suspend.
127f3ca745dSBenjamin Gaignard
128f3ca745dSBenjamin Gaignard  snps,reset-phy-on-wake:
129f3ca745dSBenjamin Gaignard    $ref: /schemas/types.yaml#/definitions/flag
130f516fb70SRob Herring    description: If present indicates that we need to reset the PHY when we
131f516fb70SRob Herring      detect a wakeup. This is due to a hardware errata.
132f3ca745dSBenjamin Gaignard
133f3ca745dSBenjamin Gaignardrequired:
134f3ca745dSBenjamin Gaignard  - compatible
135f3ca745dSBenjamin Gaignard  - reg
136f3ca745dSBenjamin Gaignard  - interrupts
137f3ca745dSBenjamin Gaignard  - clocks
138f3ca745dSBenjamin Gaignard  - clock-names
139f3ca745dSBenjamin Gaignard
140f3ca745dSBenjamin GaignardadditionalProperties: false
141f3ca745dSBenjamin Gaignard
142f3ca745dSBenjamin Gaignardexamples:
143f3ca745dSBenjamin Gaignard  - |
144f3ca745dSBenjamin Gaignard      usb@101c0000 {
145f3ca745dSBenjamin Gaignard        compatible = "rockchip,rk3066-usb", "snps,dwc2";
146f3ca745dSBenjamin Gaignard        reg = <0x10180000 0x40000>;
147f3ca745dSBenjamin Gaignard        interrupts = <18>;
148f3ca745dSBenjamin Gaignard        clocks = <&usb_otg_ahb_clk>;
149f3ca745dSBenjamin Gaignard        clock-names = "otg";
150f3ca745dSBenjamin Gaignard        phys = <&usbphy>;
151f3ca745dSBenjamin Gaignard        phy-names = "usb2-phy";
152f3ca745dSBenjamin Gaignard      };
153f3ca745dSBenjamin Gaignard
154f3ca745dSBenjamin Gaignard...
155