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*1b5f9a04SKrzysztof Kozlowski  iommus:
72*1b5f9a04SKrzysztof Kozlowski    maxItems: 1
73*1b5f9a04SKrzysztof Kozlowski
74f3ca745dSBenjamin Gaignard  resets:
75f3ca745dSBenjamin Gaignard    items:
76f3ca745dSBenjamin Gaignard      - description: common reset
77f3ca745dSBenjamin Gaignard      - description: ecc reset
78f3ca745dSBenjamin Gaignard    minItems: 1
79f3ca745dSBenjamin Gaignard
80f3ca745dSBenjamin Gaignard  reset-names:
81f3ca745dSBenjamin Gaignard    items:
82f3ca745dSBenjamin Gaignard      - const: dwc2
83f3ca745dSBenjamin Gaignard      - const: dwc2-ecc
84f3ca745dSBenjamin Gaignard    minItems: 1
85f3ca745dSBenjamin Gaignard
86f3ca745dSBenjamin Gaignard  phys:
87f3ca745dSBenjamin Gaignard    maxItems: 1
88f3ca745dSBenjamin Gaignard
89f3ca745dSBenjamin Gaignard  phy-names:
90f3ca745dSBenjamin Gaignard    const: usb2-phy
91f3ca745dSBenjamin Gaignard
920b714009SJohan Jonker  power-domains:
930b714009SJohan Jonker    maxItems: 1
940b714009SJohan Jonker
95f3ca745dSBenjamin Gaignard  vbus-supply:
96f3ca745dSBenjamin Gaignard    description: reference to the VBUS regulator. Depending on the current mode
97f3ca745dSBenjamin Gaignard      this is enabled (in "host" mode") or disabled (in "peripheral" mode). The
98f3ca745dSBenjamin Gaignard      regulator is updated if the controller is configured in "otg" mode and the
99f3ca745dSBenjamin Gaignard      status changes between "host" and "peripheral".
100f3ca745dSBenjamin Gaignard
101f3ca745dSBenjamin Gaignard  vusb_d-supply:
102f3ca745dSBenjamin Gaignard    description: phandle to voltage regulator of digital section,
103f3ca745dSBenjamin Gaignard
104f3ca745dSBenjamin Gaignard  vusb_a-supply:
105f3ca745dSBenjamin Gaignard    description: phandle to voltage regulator of analog section.
106f3ca745dSBenjamin Gaignard
1071a21240dSBenjamin Gaignard  usb33d-supply:
108d4985011SAmelie Delaunay    description: reference to the VBUS and ID sensing comparators supply, in
109d4985011SAmelie Delaunay      order to perform OTG operation, used on STM32MP15 SoCs.
110d4985011SAmelie Delaunay
111bb88dbbeSFabrice Gasnier  dr_mode: true
112f3ca745dSBenjamin Gaignard
113924e2b40SFabrice Gasnier  otg-rev: true
114924e2b40SFabrice Gasnier
115924e2b40SFabrice Gasnier  hnp-disable: true
116924e2b40SFabrice Gasnier
117924e2b40SFabrice Gasnier  srp-disable: true
118924e2b40SFabrice Gasnier
119bb88dbbeSFabrice Gasnier  usb-role-switch: true
12014793faeSAmelie Delaunay
121942cdbc1SFabrice Gasnier  role-switch-default-mode: true
122942cdbc1SFabrice Gasnier
123f3ca745dSBenjamin Gaignard  g-rx-fifo-size:
124f3ca745dSBenjamin Gaignard    $ref: /schemas/types.yaml#/definitions/uint32
125f3ca745dSBenjamin Gaignard    description: size of rx fifo size in gadget mode.
126f3ca745dSBenjamin Gaignard
127f3ca745dSBenjamin Gaignard  g-np-tx-fifo-size:
128f3ca745dSBenjamin Gaignard    $ref: /schemas/types.yaml#/definitions/uint32
129f3ca745dSBenjamin Gaignard    description: size of non-periodic tx fifo size in gadget mode.
130f3ca745dSBenjamin Gaignard
131f3ca745dSBenjamin Gaignard  g-tx-fifo-size:
132f3ca745dSBenjamin Gaignard    $ref: /schemas/types.yaml#/definitions/uint32-array
133f3ca745dSBenjamin Gaignard    description: size of periodic tx fifo per endpoint (except ep0) in gadget mode.
134f3ca745dSBenjamin Gaignard
135f3ca745dSBenjamin Gaignard  snps,need-phy-for-wake:
136f3ca745dSBenjamin Gaignard    $ref: /schemas/types.yaml#/definitions/flag
137f516fb70SRob Herring    description: If present indicates that the phy needs to be left on for
138f516fb70SRob Herring      remote wakeup during suspend.
139f3ca745dSBenjamin Gaignard
140f3ca745dSBenjamin Gaignard  snps,reset-phy-on-wake:
141f3ca745dSBenjamin Gaignard    $ref: /schemas/types.yaml#/definitions/flag
142f516fb70SRob Herring    description: If present indicates that we need to reset the PHY when we
143f516fb70SRob Herring      detect a wakeup. This is due to a hardware errata.
144f3ca745dSBenjamin Gaignard
145ba67723fSFabrice Gasnier  port:
146ba67723fSFabrice Gasnier    description:
147ba67723fSFabrice Gasnier      Any connector to the data bus of this controller should be modelled
148ba67723fSFabrice Gasnier      using the OF graph bindings specified, if the "usb-role-switch"
149ba67723fSFabrice Gasnier      property is used.
150ba67723fSFabrice Gasnier    $ref: /schemas/graph.yaml#/properties/port
151ba67723fSFabrice Gasnier
152ba67723fSFabrice Gasnierdependencies:
153ba67723fSFabrice Gasnier  port: [ usb-role-switch ]
154942cdbc1SFabrice Gasnier  role-switch-default-mode: [ usb-role-switch ]
155ba67723fSFabrice Gasnier
156f3ca745dSBenjamin Gaignardrequired:
157f3ca745dSBenjamin Gaignard  - compatible
158f3ca745dSBenjamin Gaignard  - reg
159f3ca745dSBenjamin Gaignard  - interrupts
160f3ca745dSBenjamin Gaignard  - clocks
161f3ca745dSBenjamin Gaignard  - clock-names
162f3ca745dSBenjamin Gaignard
163f3ca745dSBenjamin GaignardadditionalProperties: false
164f3ca745dSBenjamin Gaignard
165f3ca745dSBenjamin Gaignardexamples:
166f3ca745dSBenjamin Gaignard  - |
167f3ca745dSBenjamin Gaignard      usb@101c0000 {
168f3ca745dSBenjamin Gaignard        compatible = "rockchip,rk3066-usb", "snps,dwc2";
169f3ca745dSBenjamin Gaignard        reg = <0x10180000 0x40000>;
170f3ca745dSBenjamin Gaignard        interrupts = <18>;
171f3ca745dSBenjamin Gaignard        clocks = <&usb_otg_ahb_clk>;
172f3ca745dSBenjamin Gaignard        clock-names = "otg";
173f3ca745dSBenjamin Gaignard        phys = <&usbphy>;
174f3ca745dSBenjamin Gaignard        phy-names = "usb2-phy";
175f3ca745dSBenjamin Gaignard      };
176f3ca745dSBenjamin Gaignard
177f3ca745dSBenjamin Gaignard...
178