1# SPDX-License-Identifier: GPL-2.0
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/usb/allwinner,sun4i-a10-musb.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Allwinner A10 mUSB OTG Controller
8
9maintainers:
10  - Chen-Yu Tsai <wens@csie.org>
11  - Maxime Ripard <mripard@kernel.org>
12
13properties:
14  compatible:
15    oneOf:
16      - enum:
17          - allwinner,sun4i-a10-musb
18          - allwinner,sun6i-a31-musb
19          - allwinner,sun8i-a33-musb
20          - allwinner,sun8i-h3-musb
21          - allwinner,suniv-f1c100s-musb
22      - items:
23          - enum:
24              - allwinner,sun8i-a83t-musb
25              - allwinner,sun20i-d1-musb
26              - allwinner,sun50i-h6-musb
27          - const: allwinner,sun8i-a33-musb
28      - items:
29          - const: allwinner,sun50i-h616-musb
30          - const: allwinner,sun8i-h3-musb
31
32  reg:
33    maxItems: 1
34
35  interrupts:
36    maxItems: 1
37
38  interrupt-names:
39    const: mc
40
41  clocks:
42    maxItems: 1
43
44  resets:
45    maxItems: 1
46
47  phys:
48    maxItems: 1
49
50  phy-names:
51    const: usb
52
53  extcon:
54    description: Extcon specifier for the OTG PHY
55
56  dr_mode:
57    enum:
58      - host
59      - otg
60      - peripheral
61
62  allwinner,sram:
63    description: Phandle to the device SRAM
64    $ref: /schemas/types.yaml#/definitions/phandle-array
65
66required:
67  - compatible
68  - reg
69  - interrupts
70  - interrupt-names
71  - clocks
72  - phys
73  - phy-names
74  - dr_mode
75  - extcon
76
77if:
78  properties:
79    compatible:
80      contains:
81        enum:
82          - allwinner,sun6i-a31-musb
83          - allwinner,sun8i-a33-musb
84          - allwinner,sun8i-h3-musb
85
86then:
87  required:
88    - resets
89
90additionalProperties: false
91
92examples:
93  - |
94    usb_otg: usb@1c13000 {
95      compatible = "allwinner,sun4i-a10-musb";
96      reg = <0x01c13000 0x0400>;
97      clocks = <&ahb_gates 0>;
98      interrupts = <38>;
99      interrupt-names = "mc";
100      phys = <&usbphy 0>;
101      phy-names = "usb";
102      extcon = <&usbphy 0>;
103      dr_mode = "peripheral";
104    };
105
106...
107