Merge tag 's390-5.12-2' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / usb / allwinner,sun4i-a10-musb.yaml
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
7 title: Allwinner A10 mUSB OTG Controller Device Tree Bindings
8
9 maintainers:
10   - Chen-Yu Tsai <wens@csie.org>
11   - Maxime Ripard <mripard@kernel.org>
12
13 properties:
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     maxItems: 1
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
60 required:
61   - compatible
62   - reg
63   - interrupts
64   - interrupt-names
65   - clocks
66   - phys
67   - phy-names
68   - dr_mode
69   - extcon
70
71 if:
72   properties:
73     compatible:
74       contains:
75         enum:
76           - allwinner,sun6i-a31-musb
77           - allwinner,sun8i-a33-musb
78           - allwinner,sun8i-h3-musb
79
80 then:
81   required:
82     - resets
83
84 additionalProperties: false
85
86 examples:
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 ...