xref: /freebsd/sys/contrib/device-tree/Bindings/usb/rockchip,dwc3.yaml (revision 84943d6f38e936ac3b7a3947ca26eeb27a39f938)
15def4c47SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0
25def4c47SEmmanuel Vadot%YAML 1.2
35def4c47SEmmanuel Vadot---
45def4c47SEmmanuel Vadot$id: http://devicetree.org/schemas/usb/rockchip,dwc3.yaml#
55def4c47SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
65def4c47SEmmanuel Vadot
75def4c47SEmmanuel Vadottitle: Rockchip SuperSpeed DWC3 USB SoC controller
85def4c47SEmmanuel Vadot
95def4c47SEmmanuel Vadotmaintainers:
105def4c47SEmmanuel Vadot  - Heiko Stuebner <heiko@sntech.de>
115def4c47SEmmanuel Vadot
125def4c47SEmmanuel Vadotdescription:
135def4c47SEmmanuel Vadot  The common content of the node is defined in snps,dwc3.yaml.
145def4c47SEmmanuel Vadot
155def4c47SEmmanuel Vadot  Phy documentation is provided in the following places.
165def4c47SEmmanuel Vadot
175def4c47SEmmanuel Vadot  USB2.0 PHY
18*84943d6fSEmmanuel Vadot  Documentation/devicetree/bindings/phy/rockchip,inno-usb2phy.yaml
195def4c47SEmmanuel Vadot
205def4c47SEmmanuel Vadot  Type-C PHY
215def4c47SEmmanuel Vadot  Documentation/devicetree/bindings/phy/phy-rockchip-typec.txt
225def4c47SEmmanuel Vadot
235def4c47SEmmanuel Vadotselect:
245def4c47SEmmanuel Vadot  properties:
255def4c47SEmmanuel Vadot    compatible:
265def4c47SEmmanuel Vadot      contains:
275def4c47SEmmanuel Vadot        enum:
285def4c47SEmmanuel Vadot          - rockchip,rk3328-dwc3
29c9ccf3a3SEmmanuel Vadot          - rockchip,rk3568-dwc3
30*84943d6fSEmmanuel Vadot          - rockchip,rk3588-dwc3
315def4c47SEmmanuel Vadot  required:
325def4c47SEmmanuel Vadot    - compatible
335def4c47SEmmanuel Vadot
345def4c47SEmmanuel Vadotproperties:
355def4c47SEmmanuel Vadot  compatible:
365def4c47SEmmanuel Vadot    items:
375def4c47SEmmanuel Vadot      - enum:
385def4c47SEmmanuel Vadot          - rockchip,rk3328-dwc3
39c9ccf3a3SEmmanuel Vadot          - rockchip,rk3568-dwc3
40*84943d6fSEmmanuel Vadot          - rockchip,rk3588-dwc3
415def4c47SEmmanuel Vadot      - const: snps,dwc3
425def4c47SEmmanuel Vadot
435def4c47SEmmanuel Vadot  reg:
445def4c47SEmmanuel Vadot    maxItems: 1
455def4c47SEmmanuel Vadot
465def4c47SEmmanuel Vadot  interrupts:
475def4c47SEmmanuel Vadot    maxItems: 1
485def4c47SEmmanuel Vadot
495def4c47SEmmanuel Vadot  clocks:
505def4c47SEmmanuel Vadot    minItems: 3
515def4c47SEmmanuel Vadot    items:
525def4c47SEmmanuel Vadot      - description:
535def4c47SEmmanuel Vadot          Controller reference clock, must to be 24 MHz
545def4c47SEmmanuel Vadot      - description:
555def4c47SEmmanuel Vadot          Controller suspend clock, must to be 24 MHz or 32 KHz
565def4c47SEmmanuel Vadot      - description:
575def4c47SEmmanuel Vadot          Master/Core clock, must to be >= 62.5 MHz for SS
585def4c47SEmmanuel Vadot          operation and >= 30MHz for HS operation
595def4c47SEmmanuel Vadot      - description:
60*84943d6fSEmmanuel Vadot          Controller grf clock OR UTMI clock
61*84943d6fSEmmanuel Vadot      - description:
62*84943d6fSEmmanuel Vadot          PIPE clock
635def4c47SEmmanuel Vadot
645def4c47SEmmanuel Vadot  clock-names:
655def4c47SEmmanuel Vadot    minItems: 3
665def4c47SEmmanuel Vadot    items:
675def4c47SEmmanuel Vadot      - const: ref_clk
685def4c47SEmmanuel Vadot      - const: suspend_clk
695def4c47SEmmanuel Vadot      - const: bus_clk
70*84943d6fSEmmanuel Vadot      - enum:
71*84943d6fSEmmanuel Vadot          - grf_clk
72*84943d6fSEmmanuel Vadot          - utmi
73*84943d6fSEmmanuel Vadot      - const: pipe
745def4c47SEmmanuel Vadot
755def4c47SEmmanuel Vadot  power-domains:
765def4c47SEmmanuel Vadot    maxItems: 1
775def4c47SEmmanuel Vadot
785def4c47SEmmanuel Vadot  resets:
795def4c47SEmmanuel Vadot    maxItems: 1
805def4c47SEmmanuel Vadot
815def4c47SEmmanuel Vadot  reset-names:
825def4c47SEmmanuel Vadot    const: usb3-otg
835def4c47SEmmanuel Vadot
845def4c47SEmmanuel VadotunevaluatedProperties: false
855def4c47SEmmanuel Vadot
865def4c47SEmmanuel Vadotrequired:
875def4c47SEmmanuel Vadot  - compatible
885def4c47SEmmanuel Vadot  - reg
895def4c47SEmmanuel Vadot  - interrupts
905def4c47SEmmanuel Vadot  - clocks
915def4c47SEmmanuel Vadot  - clock-names
925def4c47SEmmanuel Vadot
93*84943d6fSEmmanuel VadotallOf:
94*84943d6fSEmmanuel Vadot  - $ref: snps,dwc3.yaml#
95*84943d6fSEmmanuel Vadot  - if:
96*84943d6fSEmmanuel Vadot      properties:
97*84943d6fSEmmanuel Vadot        compatible:
98*84943d6fSEmmanuel Vadot          contains:
99*84943d6fSEmmanuel Vadot            const: rockchip,rk3328-dwc3
100*84943d6fSEmmanuel Vadot    then:
101*84943d6fSEmmanuel Vadot      properties:
102*84943d6fSEmmanuel Vadot        clocks:
103*84943d6fSEmmanuel Vadot          minItems: 3
104*84943d6fSEmmanuel Vadot          maxItems: 4
105*84943d6fSEmmanuel Vadot        clock-names:
106*84943d6fSEmmanuel Vadot          minItems: 3
107*84943d6fSEmmanuel Vadot          items:
108*84943d6fSEmmanuel Vadot            - const: ref_clk
109*84943d6fSEmmanuel Vadot            - const: suspend_clk
110*84943d6fSEmmanuel Vadot            - const: bus_clk
111*84943d6fSEmmanuel Vadot            - const: grf_clk
112*84943d6fSEmmanuel Vadot  - if:
113*84943d6fSEmmanuel Vadot      properties:
114*84943d6fSEmmanuel Vadot        compatible:
115*84943d6fSEmmanuel Vadot          contains:
116*84943d6fSEmmanuel Vadot            const: rockchip,rk3568-dwc3
117*84943d6fSEmmanuel Vadot    then:
118*84943d6fSEmmanuel Vadot      properties:
119*84943d6fSEmmanuel Vadot        clocks:
120*84943d6fSEmmanuel Vadot          maxItems: 3
121*84943d6fSEmmanuel Vadot        clock-names:
122*84943d6fSEmmanuel Vadot          maxItems: 3
123*84943d6fSEmmanuel Vadot  - if:
124*84943d6fSEmmanuel Vadot      properties:
125*84943d6fSEmmanuel Vadot        compatible:
126*84943d6fSEmmanuel Vadot          contains:
127*84943d6fSEmmanuel Vadot            const: rockchip,rk3588-dwc3
128*84943d6fSEmmanuel Vadot    then:
129*84943d6fSEmmanuel Vadot      properties:
130*84943d6fSEmmanuel Vadot        clock-names:
131*84943d6fSEmmanuel Vadot          minItems: 3
132*84943d6fSEmmanuel Vadot          items:
133*84943d6fSEmmanuel Vadot            - const: ref_clk
134*84943d6fSEmmanuel Vadot            - const: suspend_clk
135*84943d6fSEmmanuel Vadot            - const: bus_clk
136*84943d6fSEmmanuel Vadot            - const: utmi
137*84943d6fSEmmanuel Vadot            - const: pipe
138*84943d6fSEmmanuel Vadot
1395def4c47SEmmanuel Vadotexamples:
1405def4c47SEmmanuel Vadot  - |
141cb7aa33aSEmmanuel Vadot    #include <dt-bindings/clock/rk3328-cru.h>
1425def4c47SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
1435def4c47SEmmanuel Vadot
1445def4c47SEmmanuel Vadot    bus {
1455def4c47SEmmanuel Vadot      #address-cells = <2>;
1465def4c47SEmmanuel Vadot      #size-cells = <2>;
1475def4c47SEmmanuel Vadot
1485def4c47SEmmanuel Vadot      usbdrd3_0: usb@fe800000 {
149cb7aa33aSEmmanuel Vadot        compatible = "rockchip,rk3328-dwc3", "snps,dwc3";
1505def4c47SEmmanuel Vadot        reg = <0x0 0xfe800000 0x0 0x100000>;
1515def4c47SEmmanuel Vadot        interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
152cb7aa33aSEmmanuel Vadot        clocks = <&cru SCLK_USB3OTG_REF>, <&cru SCLK_USB3OTG_SUSPEND>,
153cb7aa33aSEmmanuel Vadot                 <&cru ACLK_USB3OTG>;
1545def4c47SEmmanuel Vadot        clock-names = "ref_clk", "suspend_clk",
1555def4c47SEmmanuel Vadot                      "bus_clk", "grf_clk";
1565def4c47SEmmanuel Vadot        dr_mode = "otg";
1575def4c47SEmmanuel Vadot      };
1585def4c47SEmmanuel Vadot    };
159