xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/usb/dwc2.yaml (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0
2*4882a593Smuzhiyun%YAML 1.2
3*4882a593Smuzhiyun---
4*4882a593Smuzhiyun$id: http://devicetree.org/schemas/usb/dwc2.yaml#
5*4882a593Smuzhiyun$schema: http://devicetree.org/meta-schemas/core.yaml#
6*4882a593Smuzhiyun
7*4882a593Smuzhiyuntitle: DesignWare HS OTG USB 2.0 controller Bindings
8*4882a593Smuzhiyun
9*4882a593Smuzhiyunmaintainers:
10*4882a593Smuzhiyun  - Rob Herring <robh@kernel.org>
11*4882a593Smuzhiyun
12*4882a593Smuzhiyunproperties:
13*4882a593Smuzhiyun  compatible:
14*4882a593Smuzhiyun    oneOf:
15*4882a593Smuzhiyun      - const: brcm,bcm2835-usb
16*4882a593Smuzhiyun      - const: hisilicon,hi6220-usb
17*4882a593Smuzhiyun      - items:
18*4882a593Smuzhiyun          - const: rockchip,rk3066-usb
19*4882a593Smuzhiyun          - const: snps,dwc2
20*4882a593Smuzhiyun      - items:
21*4882a593Smuzhiyun          - enum:
22*4882a593Smuzhiyun              - rockchip,px30-usb
23*4882a593Smuzhiyun              - rockchip,rk3036-usb
24*4882a593Smuzhiyun              - rockchip,rk3188-usb
25*4882a593Smuzhiyun              - rockchip,rk3228-usb
26*4882a593Smuzhiyun              - rockchip,rk3288-usb
27*4882a593Smuzhiyun              - rockchip,rk3328-usb
28*4882a593Smuzhiyun              - rockchip,rk3368-usb
29*4882a593Smuzhiyun              - rockchip,rv1108-usb
30*4882a593Smuzhiyun          - const: rockchip,rk3066-usb
31*4882a593Smuzhiyun          - const: snps,dwc2
32*4882a593Smuzhiyun      - const: lantiq,arx100-usb
33*4882a593Smuzhiyun      - const: lantiq,xrx200-usb
34*4882a593Smuzhiyun      - items:
35*4882a593Smuzhiyun          - enum:
36*4882a593Smuzhiyun              - amlogic,meson8-usb
37*4882a593Smuzhiyun              - amlogic,meson8b-usb
38*4882a593Smuzhiyun              - amlogic,meson-gxbb-usb
39*4882a593Smuzhiyun              - amlogic,meson-g12a-usb
40*4882a593Smuzhiyun          - const: snps,dwc2
41*4882a593Smuzhiyun      - const: amcc,dwc-otg
42*4882a593Smuzhiyun      - const: apm,apm82181-dwc-otg
43*4882a593Smuzhiyun      - const: snps,dwc2
44*4882a593Smuzhiyun      - const: st,stm32f4x9-fsotg
45*4882a593Smuzhiyun      - const: st,stm32f4x9-hsotg
46*4882a593Smuzhiyun      - const: st,stm32f7-hsotg
47*4882a593Smuzhiyun      - const: st,stm32mp15-fsotg
48*4882a593Smuzhiyun      - items:
49*4882a593Smuzhiyun          - const: st,stm32mp15-hsotg
50*4882a593Smuzhiyun          - const: snps,dwc2
51*4882a593Smuzhiyun      - const: samsung,s3c6400-hsotg
52*4882a593Smuzhiyun
53*4882a593Smuzhiyun  reg:
54*4882a593Smuzhiyun    maxItems: 1
55*4882a593Smuzhiyun
56*4882a593Smuzhiyun  interrupts:
57*4882a593Smuzhiyun    maxItems: 1
58*4882a593Smuzhiyun
59*4882a593Smuzhiyun  clocks:
60*4882a593Smuzhiyun    maxItems: 1
61*4882a593Smuzhiyun
62*4882a593Smuzhiyun  clock-names:
63*4882a593Smuzhiyun    items:
64*4882a593Smuzhiyun      - const: otg
65*4882a593Smuzhiyun
66*4882a593Smuzhiyun  resets:
67*4882a593Smuzhiyun    items:
68*4882a593Smuzhiyun      - description: common reset
69*4882a593Smuzhiyun      - description: ecc reset
70*4882a593Smuzhiyun    minItems: 1
71*4882a593Smuzhiyun
72*4882a593Smuzhiyun  reset-names:
73*4882a593Smuzhiyun    items:
74*4882a593Smuzhiyun      - const: dwc2
75*4882a593Smuzhiyun      - const: dwc2-ecc
76*4882a593Smuzhiyun    minItems: 1
77*4882a593Smuzhiyun
78*4882a593Smuzhiyun  phys:
79*4882a593Smuzhiyun    maxItems: 1
80*4882a593Smuzhiyun
81*4882a593Smuzhiyun  phy-names:
82*4882a593Smuzhiyun    const: usb2-phy
83*4882a593Smuzhiyun
84*4882a593Smuzhiyun  power-domains:
85*4882a593Smuzhiyun    maxItems: 1
86*4882a593Smuzhiyun
87*4882a593Smuzhiyun  vbus-supply:
88*4882a593Smuzhiyun    description: reference to the VBUS regulator. Depending on the current mode
89*4882a593Smuzhiyun      this is enabled (in "host" mode") or disabled (in "peripheral" mode). The
90*4882a593Smuzhiyun      regulator is updated if the controller is configured in "otg" mode and the
91*4882a593Smuzhiyun      status changes between "host" and "peripheral".
92*4882a593Smuzhiyun
93*4882a593Smuzhiyun  vusb_d-supply:
94*4882a593Smuzhiyun    description: phandle to voltage regulator of digital section,
95*4882a593Smuzhiyun
96*4882a593Smuzhiyun  vusb_a-supply:
97*4882a593Smuzhiyun    description: phandle to voltage regulator of analog section.
98*4882a593Smuzhiyun
99*4882a593Smuzhiyun  usb33d-supply:
100*4882a593Smuzhiyun    description: reference to the VBUS and ID sensing comparators supply, in
101*4882a593Smuzhiyun      order to perform OTG operation, used on STM32MP15 SoCs.
102*4882a593Smuzhiyun
103*4882a593Smuzhiyun  dr_mode:
104*4882a593Smuzhiyun    enum: [host, peripheral, otg]
105*4882a593Smuzhiyun
106*4882a593Smuzhiyun  usb-role-switch:
107*4882a593Smuzhiyun    $ref: /schemas/types.yaml#/definitions/flag
108*4882a593Smuzhiyun    description: Support role switch.
109*4882a593Smuzhiyun
110*4882a593Smuzhiyun  g-rx-fifo-size:
111*4882a593Smuzhiyun    $ref: /schemas/types.yaml#/definitions/uint32
112*4882a593Smuzhiyun    description: size of rx fifo size in gadget mode.
113*4882a593Smuzhiyun
114*4882a593Smuzhiyun  g-np-tx-fifo-size:
115*4882a593Smuzhiyun    $ref: /schemas/types.yaml#/definitions/uint32
116*4882a593Smuzhiyun    description: size of non-periodic tx fifo size in gadget mode.
117*4882a593Smuzhiyun
118*4882a593Smuzhiyun  g-tx-fifo-size:
119*4882a593Smuzhiyun    $ref: /schemas/types.yaml#/definitions/uint32-array
120*4882a593Smuzhiyun    description: size of periodic tx fifo per endpoint (except ep0) in gadget mode.
121*4882a593Smuzhiyun
122*4882a593Smuzhiyun  snps,need-phy-for-wake:
123*4882a593Smuzhiyun    $ref: /schemas/types.yaml#/definitions/flag
124*4882a593Smuzhiyun    description: If present indicates that the phy needs to be left on for
125*4882a593Smuzhiyun      remote wakeup during suspend.
126*4882a593Smuzhiyun
127*4882a593Smuzhiyun  snps,reset-phy-on-wake:
128*4882a593Smuzhiyun    $ref: /schemas/types.yaml#/definitions/flag
129*4882a593Smuzhiyun    description: If present indicates that we need to reset the PHY when we
130*4882a593Smuzhiyun      detect a wakeup. This is due to a hardware errata.
131*4882a593Smuzhiyun
132*4882a593Smuzhiyunrequired:
133*4882a593Smuzhiyun  - compatible
134*4882a593Smuzhiyun  - reg
135*4882a593Smuzhiyun  - interrupts
136*4882a593Smuzhiyun  - clocks
137*4882a593Smuzhiyun  - clock-names
138*4882a593Smuzhiyun
139*4882a593SmuzhiyunadditionalProperties: false
140*4882a593Smuzhiyun
141*4882a593Smuzhiyunexamples:
142*4882a593Smuzhiyun  - |
143*4882a593Smuzhiyun      usb@101c0000 {
144*4882a593Smuzhiyun        compatible = "rockchip,rk3066-usb", "snps,dwc2";
145*4882a593Smuzhiyun        reg = <0x10180000 0x40000>;
146*4882a593Smuzhiyun        interrupts = <18>;
147*4882a593Smuzhiyun        clocks = <&usb_otg_ahb_clk>;
148*4882a593Smuzhiyun        clock-names = "otg";
149*4882a593Smuzhiyun        phys = <&usbphy>;
150*4882a593Smuzhiyun        phy-names = "usb2-phy";
151*4882a593Smuzhiyun      };
152*4882a593Smuzhiyun
153*4882a593Smuzhiyun...
154