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
20*9cd6576fS周琰杰 (Zhou Yanjie)      - const: ingenic,jz4775-otg
21*9cd6576fS周琰杰 (Zhou Yanjie)      - const: ingenic,jz4780-otg
22*9cd6576fS周琰杰 (Zhou Yanjie)      - const: ingenic,x1000-otg
23*9cd6576fS周琰杰 (Zhou Yanjie)      - const: ingenic,x1600-otg
24*9cd6576fS周琰杰 (Zhou Yanjie)      - const: ingenic,x1700-otg
25*9cd6576fS周琰杰 (Zhou Yanjie)      - const: ingenic,x1830-otg
26*9cd6576fS周琰杰 (Zhou Yanjie)      - const: ingenic,x2000-otg
27f3ca745dSBenjamin Gaignard      - items:
28f3ca745dSBenjamin Gaignard          - const: rockchip,rk3066-usb
29f3ca745dSBenjamin Gaignard          - const: snps,dwc2
30f3ca745dSBenjamin Gaignard      - items:
3195b18f28SJohan Jonker          - enum:
3295b18f28SJohan Jonker              - rockchip,px30-usb
3395b18f28SJohan Jonker              - rockchip,rk3036-usb
3495b18f28SJohan Jonker              - rockchip,rk3188-usb
3595b18f28SJohan Jonker              - rockchip,rk3228-usb
3695b18f28SJohan Jonker              - rockchip,rk3288-usb
3756d42614STobias Schramm              - rockchip,rk3308-usb
3895b18f28SJohan Jonker              - rockchip,rk3328-usb
397334c822SJohan Jonker              - rockchip,rk3368-usb
4095b18f28SJohan Jonker              - rockchip,rv1108-usb
41f3ca745dSBenjamin Gaignard          - const: rockchip,rk3066-usb
42f3ca745dSBenjamin Gaignard          - const: snps,dwc2
43f3ca745dSBenjamin Gaignard      - const: lantiq,arx100-usb
44f3ca745dSBenjamin Gaignard      - const: lantiq,xrx200-usb
45f3ca745dSBenjamin Gaignard      - items:
4628d5ee04SNeil Armstrong          - enum:
4728d5ee04SNeil Armstrong              - amlogic,meson8-usb
4828d5ee04SNeil Armstrong              - amlogic,meson8b-usb
4928d5ee04SNeil Armstrong              - amlogic,meson-gxbb-usb
5028d5ee04SNeil Armstrong              - amlogic,meson-g12a-usb
51448841d9SKrzysztof Kozlowski              - intel,socfpga-agilex-hsotg
52f3ca745dSBenjamin Gaignard          - const: snps,dwc2
53f3ca745dSBenjamin Gaignard      - const: amcc,dwc-otg
54704c70faSChristian Lamparter      - const: apm,apm82181-dwc-otg
55f3ca745dSBenjamin Gaignard      - const: snps,dwc2
56f3ca745dSBenjamin Gaignard      - const: st,stm32f4x9-fsotg
57f3ca745dSBenjamin Gaignard      - const: st,stm32f4x9-hsotg
58f3ca745dSBenjamin Gaignard      - const: st,stm32f7-hsotg
59d4985011SAmelie Delaunay      - const: st,stm32mp15-fsotg
601a21240dSBenjamin Gaignard      - items:
61d4985011SAmelie Delaunay          - const: st,stm32mp15-hsotg
621a21240dSBenjamin Gaignard          - const: snps,dwc2
63f3ca745dSBenjamin Gaignard      - const: samsung,s3c6400-hsotg
64728390fcSDinh Nguyen      - const: intel,socfpga-agilex-hsotg
65f3ca745dSBenjamin Gaignard
66f3ca745dSBenjamin Gaignard  reg:
67f3ca745dSBenjamin Gaignard    maxItems: 1
68f3ca745dSBenjamin Gaignard
69f3ca745dSBenjamin Gaignard  interrupts:
70f3ca745dSBenjamin Gaignard    maxItems: 1
71f3ca745dSBenjamin Gaignard
72f3ca745dSBenjamin Gaignard  clocks:
73f3ca745dSBenjamin Gaignard    maxItems: 1
74f3ca745dSBenjamin Gaignard
75f3ca745dSBenjamin Gaignard  clock-names:
76f3ca745dSBenjamin Gaignard    items:
77f3ca745dSBenjamin Gaignard      - const: otg
78f3ca745dSBenjamin Gaignard
794b9ff41fSKrzysztof Kozlowski  disable-over-current:
804b9ff41fSKrzysztof Kozlowski    type: boolean
814b9ff41fSKrzysztof Kozlowski    description: whether to disable detection of over-current condition.
824b9ff41fSKrzysztof Kozlowski
831b5f9a04SKrzysztof Kozlowski  iommus:
841b5f9a04SKrzysztof Kozlowski    maxItems: 1
851b5f9a04SKrzysztof Kozlowski
86f3ca745dSBenjamin Gaignard  resets:
87f3ca745dSBenjamin Gaignard    items:
88f3ca745dSBenjamin Gaignard      - description: common reset
89f3ca745dSBenjamin Gaignard      - description: ecc reset
90f3ca745dSBenjamin Gaignard    minItems: 1
91f3ca745dSBenjamin Gaignard
92f3ca745dSBenjamin Gaignard  reset-names:
93f3ca745dSBenjamin Gaignard    items:
94f3ca745dSBenjamin Gaignard      - const: dwc2
95f3ca745dSBenjamin Gaignard      - const: dwc2-ecc
96f3ca745dSBenjamin Gaignard    minItems: 1
97f3ca745dSBenjamin Gaignard
98f3ca745dSBenjamin Gaignard  phys:
99f3ca745dSBenjamin Gaignard    maxItems: 1
100f3ca745dSBenjamin Gaignard
101f3ca745dSBenjamin Gaignard  phy-names:
102f3ca745dSBenjamin Gaignard    const: usb2-phy
103f3ca745dSBenjamin Gaignard
1040b714009SJohan Jonker  power-domains:
1050b714009SJohan Jonker    maxItems: 1
1060b714009SJohan Jonker
107f3ca745dSBenjamin Gaignard  vbus-supply:
108f3ca745dSBenjamin Gaignard    description: reference to the VBUS regulator. Depending on the current mode
109f3ca745dSBenjamin Gaignard      this is enabled (in "host" mode") or disabled (in "peripheral" mode). The
110f3ca745dSBenjamin Gaignard      regulator is updated if the controller is configured in "otg" mode and the
111f3ca745dSBenjamin Gaignard      status changes between "host" and "peripheral".
112f3ca745dSBenjamin Gaignard
113f3ca745dSBenjamin Gaignard  vusb_d-supply:
114f3ca745dSBenjamin Gaignard    description: phandle to voltage regulator of digital section,
115f3ca745dSBenjamin Gaignard
116f3ca745dSBenjamin Gaignard  vusb_a-supply:
117f3ca745dSBenjamin Gaignard    description: phandle to voltage regulator of analog section.
118f3ca745dSBenjamin Gaignard
1191a21240dSBenjamin Gaignard  usb33d-supply:
120d4985011SAmelie Delaunay    description: reference to the VBUS and ID sensing comparators supply, in
121d4985011SAmelie Delaunay      order to perform OTG operation, used on STM32MP15 SoCs.
122d4985011SAmelie Delaunay
123bb88dbbeSFabrice Gasnier  dr_mode: true
124f3ca745dSBenjamin Gaignard
125924e2b40SFabrice Gasnier  otg-rev: true
126924e2b40SFabrice Gasnier
127924e2b40SFabrice Gasnier  hnp-disable: true
128924e2b40SFabrice Gasnier
129924e2b40SFabrice Gasnier  srp-disable: true
130924e2b40SFabrice Gasnier
131bb88dbbeSFabrice Gasnier  usb-role-switch: true
13214793faeSAmelie Delaunay
133942cdbc1SFabrice Gasnier  role-switch-default-mode: true
134942cdbc1SFabrice Gasnier
135f3ca745dSBenjamin Gaignard  g-rx-fifo-size:
136f3ca745dSBenjamin Gaignard    $ref: /schemas/types.yaml#/definitions/uint32
137f3ca745dSBenjamin Gaignard    description: size of rx fifo size in gadget mode.
138f3ca745dSBenjamin Gaignard
139f3ca745dSBenjamin Gaignard  g-np-tx-fifo-size:
140f3ca745dSBenjamin Gaignard    $ref: /schemas/types.yaml#/definitions/uint32
141f3ca745dSBenjamin Gaignard    description: size of non-periodic tx fifo size in gadget mode.
142f3ca745dSBenjamin Gaignard
143f3ca745dSBenjamin Gaignard  g-tx-fifo-size:
144f3ca745dSBenjamin Gaignard    $ref: /schemas/types.yaml#/definitions/uint32-array
145f3ca745dSBenjamin Gaignard    description: size of periodic tx fifo per endpoint (except ep0) in gadget mode.
146f3ca745dSBenjamin Gaignard
147f3ca745dSBenjamin Gaignard  snps,need-phy-for-wake:
148f3ca745dSBenjamin Gaignard    $ref: /schemas/types.yaml#/definitions/flag
149f516fb70SRob Herring    description: If present indicates that the phy needs to be left on for
150f516fb70SRob Herring      remote wakeup during suspend.
151f3ca745dSBenjamin Gaignard
152f3ca745dSBenjamin Gaignard  snps,reset-phy-on-wake:
153f3ca745dSBenjamin Gaignard    $ref: /schemas/types.yaml#/definitions/flag
154f516fb70SRob Herring    description: If present indicates that we need to reset the PHY when we
155f516fb70SRob Herring      detect a wakeup. This is due to a hardware errata.
156f3ca745dSBenjamin Gaignard
157ba67723fSFabrice Gasnier  port:
158ba67723fSFabrice Gasnier    description:
159ba67723fSFabrice Gasnier      Any connector to the data bus of this controller should be modelled
160ba67723fSFabrice Gasnier      using the OF graph bindings specified, if the "usb-role-switch"
161ba67723fSFabrice Gasnier      property is used.
162ba67723fSFabrice Gasnier    $ref: /schemas/graph.yaml#/properties/port
163ba67723fSFabrice Gasnier
164ba67723fSFabrice Gasnierdependencies:
165ba67723fSFabrice Gasnier  port: [ usb-role-switch ]
166942cdbc1SFabrice Gasnier  role-switch-default-mode: [ usb-role-switch ]
167ba67723fSFabrice Gasnier
168f3ca745dSBenjamin Gaignardrequired:
169f3ca745dSBenjamin Gaignard  - compatible
170f3ca745dSBenjamin Gaignard  - reg
171f3ca745dSBenjamin Gaignard  - interrupts
172f3ca745dSBenjamin Gaignard  - clocks
173f3ca745dSBenjamin Gaignard  - clock-names
174f3ca745dSBenjamin Gaignard
175f3ca745dSBenjamin GaignardadditionalProperties: false
176f3ca745dSBenjamin Gaignard
177f3ca745dSBenjamin Gaignardexamples:
178f3ca745dSBenjamin Gaignard  - |
179f3ca745dSBenjamin Gaignard      usb@101c0000 {
180f3ca745dSBenjamin Gaignard        compatible = "rockchip,rk3066-usb", "snps,dwc2";
181f3ca745dSBenjamin Gaignard        reg = <0x10180000 0x40000>;
182f3ca745dSBenjamin Gaignard        interrupts = <18>;
183f3ca745dSBenjamin Gaignard        clocks = <&usb_otg_ahb_clk>;
184f3ca745dSBenjamin Gaignard        clock-names = "otg";
185f3ca745dSBenjamin Gaignard        phys = <&usbphy>;
186f3ca745dSBenjamin Gaignard        phy-names = "usb2-phy";
187f3ca745dSBenjamin Gaignard      };
188f3ca745dSBenjamin Gaignard
189f3ca745dSBenjamin Gaignard...
190