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