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
784e85359SKrzysztof Kozlowskititle: DesignWare HS OTG USB 2.0 controller
8f3ca745dSBenjamin Gaignard
9f3ca745dSBenjamin Gaignardmaintainers:
10f3ca745dSBenjamin Gaignard  - Rob Herring <robh@kernel.org>
11f3ca745dSBenjamin Gaignard
12bb88dbbeSFabrice GasnierallOf:
13bb88dbbeSFabrice Gasnier  - $ref: usb-drd.yaml#
1454bd6c9aSFabrice Gasnier  - $ref: usb-hcd.yaml#
15bb88dbbeSFabrice Gasnier
16f3ca745dSBenjamin Gaignardproperties:
17f3ca745dSBenjamin Gaignard  compatible:
18f3ca745dSBenjamin Gaignard    oneOf:
19f3ca745dSBenjamin Gaignard      - const: brcm,bcm2835-usb
20f3ca745dSBenjamin Gaignard      - const: hisilicon,hi6220-usb
219cd6576fS周琰杰 (Zhou Yanjie)      - const: ingenic,jz4775-otg
229cd6576fS周琰杰 (Zhou Yanjie)      - const: ingenic,jz4780-otg
239cd6576fS周琰杰 (Zhou Yanjie)      - const: ingenic,x1000-otg
249cd6576fS周琰杰 (Zhou Yanjie)      - const: ingenic,x1600-otg
259cd6576fS周琰杰 (Zhou Yanjie)      - const: ingenic,x1700-otg
269cd6576fS周琰杰 (Zhou Yanjie)      - const: ingenic,x1830-otg
279cd6576fS周琰杰 (Zhou Yanjie)      - const: ingenic,x2000-otg
28f3ca745dSBenjamin Gaignard      - items:
29f3ca745dSBenjamin Gaignard          - const: rockchip,rk3066-usb
30f3ca745dSBenjamin Gaignard          - const: snps,dwc2
31f3ca745dSBenjamin Gaignard      - items:
3295b18f28SJohan Jonker          - enum:
3395b18f28SJohan Jonker              - rockchip,px30-usb
3495b18f28SJohan Jonker              - rockchip,rk3036-usb
355032b269SJohan Jonker              - rockchip,rk3128-usb
3695b18f28SJohan Jonker              - rockchip,rk3188-usb
3795b18f28SJohan Jonker              - rockchip,rk3228-usb
3895b18f28SJohan Jonker              - rockchip,rk3288-usb
3956d42614STobias Schramm              - rockchip,rk3308-usb
4095b18f28SJohan Jonker              - rockchip,rk3328-usb
417334c822SJohan Jonker              - rockchip,rk3368-usb
4295b18f28SJohan Jonker              - rockchip,rv1108-usb
43f3ca745dSBenjamin Gaignard          - const: rockchip,rk3066-usb
44f3ca745dSBenjamin Gaignard          - const: snps,dwc2
45f3ca745dSBenjamin Gaignard      - const: lantiq,arx100-usb
4661dd457cSLinus Walleij      - const: lantiq,ase-usb
4761dd457cSLinus Walleij      - const: lantiq,danube-usb
48f3ca745dSBenjamin Gaignard      - const: lantiq,xrx200-usb
4961dd457cSLinus Walleij      - const: lantiq,xrx300-usb
50f3ca745dSBenjamin Gaignard      - items:
5128d5ee04SNeil Armstrong          - enum:
5228d5ee04SNeil Armstrong              - amlogic,meson8-usb
5328d5ee04SNeil Armstrong              - amlogic,meson8b-usb
5428d5ee04SNeil Armstrong              - amlogic,meson-gxbb-usb
5528d5ee04SNeil Armstrong              - amlogic,meson-g12a-usb
56448841d9SKrzysztof Kozlowski              - intel,socfpga-agilex-hsotg
57f3ca745dSBenjamin Gaignard          - const: snps,dwc2
58f3ca745dSBenjamin Gaignard      - const: amcc,dwc-otg
59704c70faSChristian Lamparter      - const: apm,apm82181-dwc-otg
60f3ca745dSBenjamin Gaignard      - const: snps,dwc2
61f3ca745dSBenjamin Gaignard      - const: st,stm32f4x9-fsotg
62f3ca745dSBenjamin Gaignard      - const: st,stm32f4x9-hsotg
63f3ca745dSBenjamin Gaignard      - const: st,stm32f7-hsotg
64d4985011SAmelie Delaunay      - const: st,stm32mp15-fsotg
651a21240dSBenjamin Gaignard      - items:
66d4985011SAmelie Delaunay          - const: st,stm32mp15-hsotg
671a21240dSBenjamin Gaignard          - const: snps,dwc2
68f3ca745dSBenjamin Gaignard      - const: samsung,s3c6400-hsotg
69728390fcSDinh Nguyen      - const: intel,socfpga-agilex-hsotg
70f3ca745dSBenjamin Gaignard
71f3ca745dSBenjamin Gaignard  reg:
72f3ca745dSBenjamin Gaignard    maxItems: 1
73f3ca745dSBenjamin Gaignard
74f3ca745dSBenjamin Gaignard  interrupts:
75f3ca745dSBenjamin Gaignard    maxItems: 1
76f3ca745dSBenjamin Gaignard
77f3ca745dSBenjamin Gaignard  clocks:
78*28f75a39SFabrice Gasnier    minItems: 1
79*28f75a39SFabrice Gasnier    maxItems: 2
80f3ca745dSBenjamin Gaignard
81f3ca745dSBenjamin Gaignard  clock-names:
82f3ca745dSBenjamin Gaignard    items:
83f3ca745dSBenjamin Gaignard      - const: otg
84*28f75a39SFabrice Gasnier      - const: utmi
85*28f75a39SFabrice Gasnier    minItems: 1
86f3ca745dSBenjamin Gaignard
874b9ff41fSKrzysztof Kozlowski  disable-over-current:
884b9ff41fSKrzysztof Kozlowski    type: boolean
894b9ff41fSKrzysztof Kozlowski    description: whether to disable detection of over-current condition.
904b9ff41fSKrzysztof Kozlowski
911b5f9a04SKrzysztof Kozlowski  iommus:
921b5f9a04SKrzysztof Kozlowski    maxItems: 1
931b5f9a04SKrzysztof Kozlowski
94f3ca745dSBenjamin Gaignard  resets:
95f3ca745dSBenjamin Gaignard    items:
96f3ca745dSBenjamin Gaignard      - description: common reset
97f3ca745dSBenjamin Gaignard      - description: ecc reset
98f3ca745dSBenjamin Gaignard    minItems: 1
99f3ca745dSBenjamin Gaignard
100f3ca745dSBenjamin Gaignard  reset-names:
101f3ca745dSBenjamin Gaignard    items:
102f3ca745dSBenjamin Gaignard      - const: dwc2
103f3ca745dSBenjamin Gaignard      - const: dwc2-ecc
104f3ca745dSBenjamin Gaignard    minItems: 1
105f3ca745dSBenjamin Gaignard
106f3ca745dSBenjamin Gaignard  phys:
107f3ca745dSBenjamin Gaignard    maxItems: 1
108f3ca745dSBenjamin Gaignard
109f3ca745dSBenjamin Gaignard  phy-names:
110f3ca745dSBenjamin Gaignard    const: usb2-phy
111f3ca745dSBenjamin Gaignard
1120b714009SJohan Jonker  power-domains:
1130b714009SJohan Jonker    maxItems: 1
1140b714009SJohan Jonker
115f3ca745dSBenjamin Gaignard  vbus-supply:
116f3ca745dSBenjamin Gaignard    description: reference to the VBUS regulator. Depending on the current mode
117f3ca745dSBenjamin Gaignard      this is enabled (in "host" mode") or disabled (in "peripheral" mode). The
118f3ca745dSBenjamin Gaignard      regulator is updated if the controller is configured in "otg" mode and the
119f3ca745dSBenjamin Gaignard      status changes between "host" and "peripheral".
120f3ca745dSBenjamin Gaignard
121f3ca745dSBenjamin Gaignard  vusb_d-supply:
122f3ca745dSBenjamin Gaignard    description: phandle to voltage regulator of digital section,
123f3ca745dSBenjamin Gaignard
124f3ca745dSBenjamin Gaignard  vusb_a-supply:
125f3ca745dSBenjamin Gaignard    description: phandle to voltage regulator of analog section.
126f3ca745dSBenjamin Gaignard
1271a21240dSBenjamin Gaignard  usb33d-supply:
128d4985011SAmelie Delaunay    description: reference to the VBUS and ID sensing comparators supply, in
129d4985011SAmelie Delaunay      order to perform OTG operation, used on STM32MP15 SoCs.
130d4985011SAmelie Delaunay
131bb88dbbeSFabrice Gasnier  dr_mode: true
132f3ca745dSBenjamin Gaignard
133924e2b40SFabrice Gasnier  otg-rev: true
134924e2b40SFabrice Gasnier
135924e2b40SFabrice Gasnier  hnp-disable: true
136924e2b40SFabrice Gasnier
137924e2b40SFabrice Gasnier  srp-disable: true
138924e2b40SFabrice Gasnier
139bb88dbbeSFabrice Gasnier  usb-role-switch: true
14014793faeSAmelie Delaunay
141942cdbc1SFabrice Gasnier  role-switch-default-mode: true
142942cdbc1SFabrice Gasnier
143f3ca745dSBenjamin Gaignard  g-rx-fifo-size:
144f3ca745dSBenjamin Gaignard    $ref: /schemas/types.yaml#/definitions/uint32
145f3ca745dSBenjamin Gaignard    description: size of rx fifo size in gadget mode.
146f3ca745dSBenjamin Gaignard
147f3ca745dSBenjamin Gaignard  g-np-tx-fifo-size:
148f3ca745dSBenjamin Gaignard    $ref: /schemas/types.yaml#/definitions/uint32
149f3ca745dSBenjamin Gaignard    description: size of non-periodic tx fifo size in gadget mode.
150f3ca745dSBenjamin Gaignard
151f3ca745dSBenjamin Gaignard  g-tx-fifo-size:
152f3ca745dSBenjamin Gaignard    $ref: /schemas/types.yaml#/definitions/uint32-array
153f3ca745dSBenjamin Gaignard    description: size of periodic tx fifo per endpoint (except ep0) in gadget mode.
154f3ca745dSBenjamin Gaignard
155f3ca745dSBenjamin Gaignard  snps,need-phy-for-wake:
156f3ca745dSBenjamin Gaignard    $ref: /schemas/types.yaml#/definitions/flag
157f516fb70SRob Herring    description: If present indicates that the phy needs to be left on for
158f516fb70SRob Herring      remote wakeup during suspend.
159f3ca745dSBenjamin Gaignard
160f3ca745dSBenjamin Gaignard  snps,reset-phy-on-wake:
161f3ca745dSBenjamin Gaignard    $ref: /schemas/types.yaml#/definitions/flag
162f516fb70SRob Herring    description: If present indicates that we need to reset the PHY when we
163f516fb70SRob Herring      detect a wakeup. This is due to a hardware errata.
164f3ca745dSBenjamin Gaignard
165ba67723fSFabrice Gasnier  port:
166ba67723fSFabrice Gasnier    description:
167ba67723fSFabrice Gasnier      Any connector to the data bus of this controller should be modelled
168ba67723fSFabrice Gasnier      using the OF graph bindings specified, if the "usb-role-switch"
169ba67723fSFabrice Gasnier      property is used.
170ba67723fSFabrice Gasnier    $ref: /schemas/graph.yaml#/properties/port
171ba67723fSFabrice Gasnier
17254bd6c9aSFabrice Gasnier  tpl-support: true
17354bd6c9aSFabrice Gasnier
174ba67723fSFabrice Gasnierdependencies:
175ba67723fSFabrice Gasnier  port: [ usb-role-switch ]
176942cdbc1SFabrice Gasnier  role-switch-default-mode: [ usb-role-switch ]
177ba67723fSFabrice Gasnier
178f3ca745dSBenjamin Gaignardrequired:
179f3ca745dSBenjamin Gaignard  - compatible
180f3ca745dSBenjamin Gaignard  - reg
181f3ca745dSBenjamin Gaignard  - interrupts
182f3ca745dSBenjamin Gaignard  - clocks
183f3ca745dSBenjamin Gaignard  - clock-names
184f3ca745dSBenjamin Gaignard
185f3ca745dSBenjamin GaignardadditionalProperties: false
186f3ca745dSBenjamin Gaignard
187f3ca745dSBenjamin Gaignardexamples:
188f3ca745dSBenjamin Gaignard  - |
189f3ca745dSBenjamin Gaignard      usb@101c0000 {
190f3ca745dSBenjamin Gaignard        compatible = "rockchip,rk3066-usb", "snps,dwc2";
191f3ca745dSBenjamin Gaignard        reg = <0x10180000 0x40000>;
192f3ca745dSBenjamin Gaignard        interrupts = <18>;
193f3ca745dSBenjamin Gaignard        clocks = <&usb_otg_ahb_clk>;
194f3ca745dSBenjamin Gaignard        clock-names = "otg";
195f3ca745dSBenjamin Gaignard        phys = <&usbphy>;
196f3ca745dSBenjamin Gaignard        phy-names = "usb2-phy";
197f3ca745dSBenjamin Gaignard      };
198f3ca745dSBenjamin Gaignard
199f3ca745dSBenjamin Gaignard...
200