xref: /linux/Documentation/devicetree/bindings/usb/hisilicon,hi3798mv200-dwc3.yaml (revision 60a2f25de7b8b785baee2932db932ae9a5b8c86d)
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/usb/hisilicon,hi3798mv200-dwc3.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: HiSilicon Hi3798MV200 DWC3 USB SoC controller
8
9maintainers:
10  - Yang Xiwen <forbidden405@foxmail.com>
11
12properties:
13  compatible:
14    const: hisilicon,hi3798mv200-dwc3
15
16  '#address-cells':
17    const: 1
18
19  '#size-cells':
20    const: 1
21
22  ranges: true
23
24  clocks:
25    items:
26      - description: Controller bus clock
27      - description: Controller suspend clock
28      - description: Controller reference clock
29      - description: Controller gm clock
30      - description: Controller gs clock
31      - description: Controller utmi clock
32      - description: Controller pipe clock
33
34  clock-names:
35    items:
36      - const: bus
37      - const: suspend
38      - const: ref
39      - const: gm
40      - const: gs
41      - const: utmi
42      - const: pipe
43
44  resets:
45    maxItems: 1
46
47  reset-names:
48    const: soft
49
50patternProperties:
51  '^usb@[0-9a-f]+$':
52    $ref: snps,dwc3.yaml#
53
54required:
55  - compatible
56  - ranges
57  - '#address-cells'
58  - '#size-cells'
59  - clocks
60  - clock-names
61  - resets
62  - reset-names
63
64additionalProperties: false
65
66examples:
67  - |
68    #include <dt-bindings/interrupt-controller/arm-gic.h>
69
70    usb {
71        compatible = "hisilicon,hi3798mv200-dwc3";
72        ranges;
73        #address-cells = <1>;
74        #size-cells = <1>;
75        clocks = <&clk_bus>,
76                 <&clk_suspend>,
77                 <&clk_ref>,
78                 <&clk_gm>,
79                 <&clk_gs>,
80                 <&clk_utmi>,
81                 <&clk_pipe>;
82        clock-names = "bus", "suspend", "ref", "gm", "gs", "utmi", "pipe";
83        resets = <&crg 0xb0 12>;
84        reset-names = "soft";
85
86        usb@98a0000 {
87            compatible = "snps,dwc3";
88            reg = <0x98a0000 0x10000>;
89            interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
90            clocks = <&clk_bus>,
91                     <&clk_suspend>,
92                     <&clk_ref>;
93            clock-names = "bus_early", "suspend", "ref";
94            phys = <&usb2_phy1_port2>, <&combphy0 0>;
95            phy-names = "usb2-phy", "usb3-phy";
96            maximum-speed = "super-speed";
97            dr_mode = "host";
98        };
99    };
100