12f8e9284SJohan Jonker# SPDX-License-Identifier: GPL-2.0
22f8e9284SJohan Jonker%YAML 1.2
32f8e9284SJohan Jonker---
42f8e9284SJohan Jonker$id: http://devicetree.org/schemas/usb/rockchip,dwc3.yaml#
52f8e9284SJohan Jonker$schema: http://devicetree.org/meta-schemas/core.yaml#
62f8e9284SJohan Jonker
72f8e9284SJohan Jonkertitle: Rockchip SuperSpeed DWC3 USB SoC controller
82f8e9284SJohan Jonker
92f8e9284SJohan Jonkermaintainers:
102f8e9284SJohan Jonker  - Heiko Stuebner <heiko@sntech.de>
112f8e9284SJohan Jonker
122f8e9284SJohan Jonkerdescription:
132f8e9284SJohan Jonker  The common content of the node is defined in snps,dwc3.yaml.
142f8e9284SJohan Jonker
152f8e9284SJohan Jonker  Phy documentation is provided in the following places.
162f8e9284SJohan Jonker
172f8e9284SJohan Jonker  USB2.0 PHY
182f8e9284SJohan Jonker  Documentation/devicetree/bindings/phy/phy-rockchip-inno-usb2.yaml
192f8e9284SJohan Jonker
202f8e9284SJohan Jonker  Type-C PHY
212f8e9284SJohan Jonker  Documentation/devicetree/bindings/phy/phy-rockchip-typec.txt
222f8e9284SJohan Jonker
232f8e9284SJohan JonkerallOf:
242f8e9284SJohan Jonker  - $ref: snps,dwc3.yaml#
252f8e9284SJohan Jonker
262f8e9284SJohan Jonkerselect:
272f8e9284SJohan Jonker  properties:
282f8e9284SJohan Jonker    compatible:
292f8e9284SJohan Jonker      contains:
302f8e9284SJohan Jonker        enum:
3108f4a6b9SJohan Jonker          - rockchip,rk3328-dwc3
322f8e9284SJohan Jonker          - rockchip,rk3399-dwc3
33*62a13a9cSMichael Riesch          - rockchip,rk3568-dwc3
342f8e9284SJohan Jonker  required:
352f8e9284SJohan Jonker    - compatible
362f8e9284SJohan Jonker
372f8e9284SJohan Jonkerproperties:
382f8e9284SJohan Jonker  compatible:
392f8e9284SJohan Jonker    items:
402f8e9284SJohan Jonker      - enum:
4108f4a6b9SJohan Jonker          - rockchip,rk3328-dwc3
422f8e9284SJohan Jonker          - rockchip,rk3399-dwc3
43*62a13a9cSMichael Riesch          - rockchip,rk3568-dwc3
442f8e9284SJohan Jonker      - const: snps,dwc3
452f8e9284SJohan Jonker
462f8e9284SJohan Jonker  reg:
472f8e9284SJohan Jonker    maxItems: 1
482f8e9284SJohan Jonker
492f8e9284SJohan Jonker  interrupts:
502f8e9284SJohan Jonker    maxItems: 1
512f8e9284SJohan Jonker
522f8e9284SJohan Jonker  clocks:
5308f4a6b9SJohan Jonker    minItems: 3
542f8e9284SJohan Jonker    items:
552f8e9284SJohan Jonker      - description:
562f8e9284SJohan Jonker          Controller reference clock, must to be 24 MHz
572f8e9284SJohan Jonker      - description:
582f8e9284SJohan Jonker          Controller suspend clock, must to be 24 MHz or 32 KHz
592f8e9284SJohan Jonker      - description:
602f8e9284SJohan Jonker          Master/Core clock, must to be >= 62.5 MHz for SS
612f8e9284SJohan Jonker          operation and >= 30MHz for HS operation
622f8e9284SJohan Jonker      - description:
632f8e9284SJohan Jonker          Controller grf clock
642f8e9284SJohan Jonker
652f8e9284SJohan Jonker  clock-names:
6608f4a6b9SJohan Jonker    minItems: 3
672f8e9284SJohan Jonker    items:
682f8e9284SJohan Jonker      - const: ref_clk
692f8e9284SJohan Jonker      - const: suspend_clk
702f8e9284SJohan Jonker      - const: bus_clk
712f8e9284SJohan Jonker      - const: grf_clk
722f8e9284SJohan Jonker
732f8e9284SJohan Jonker  power-domains:
742f8e9284SJohan Jonker    maxItems: 1
752f8e9284SJohan Jonker
762f8e9284SJohan Jonker  resets:
772f8e9284SJohan Jonker    maxItems: 1
782f8e9284SJohan Jonker
792f8e9284SJohan Jonker  reset-names:
802f8e9284SJohan Jonker    const: usb3-otg
812f8e9284SJohan Jonker
822f8e9284SJohan JonkerunevaluatedProperties: false
832f8e9284SJohan Jonker
842f8e9284SJohan Jonkerrequired:
852f8e9284SJohan Jonker  - compatible
862f8e9284SJohan Jonker  - reg
872f8e9284SJohan Jonker  - interrupts
882f8e9284SJohan Jonker  - clocks
892f8e9284SJohan Jonker  - clock-names
902f8e9284SJohan Jonker
912f8e9284SJohan Jonkerexamples:
922f8e9284SJohan Jonker  - |
932f8e9284SJohan Jonker    #include <dt-bindings/clock/rk3399-cru.h>
942f8e9284SJohan Jonker    #include <dt-bindings/interrupt-controller/arm-gic.h>
952f8e9284SJohan Jonker
962f8e9284SJohan Jonker    bus {
972f8e9284SJohan Jonker      #address-cells = <2>;
982f8e9284SJohan Jonker      #size-cells = <2>;
992f8e9284SJohan Jonker
1002f8e9284SJohan Jonker      usbdrd3_0: usb@fe800000 {
1012f8e9284SJohan Jonker        compatible = "rockchip,rk3399-dwc3", "snps,dwc3";
1022f8e9284SJohan Jonker        reg = <0x0 0xfe800000 0x0 0x100000>;
1032f8e9284SJohan Jonker        interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
1042f8e9284SJohan Jonker        clocks = <&cru SCLK_USB3OTG0_REF>, <&cru SCLK_USB3OTG0_SUSPEND>,
1052f8e9284SJohan Jonker                 <&cru ACLK_USB3OTG0>, <&cru ACLK_USB3_GRF>;
1062f8e9284SJohan Jonker        clock-names = "ref_clk", "suspend_clk",
1072f8e9284SJohan Jonker                      "bus_clk", "grf_clk";
1082f8e9284SJohan Jonker        dr_mode = "otg";
1092f8e9284SJohan Jonker      };
1102f8e9284SJohan Jonker    };
111