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