1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/usb/ingenic,musb.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Ingenic JZ47xx USB IP
8
9maintainers:
10  - Paul Cercueil <paul@crapouillou.net>
11
12properties:
13  $nodename:
14    pattern: '^usb@.*'
15
16  compatible:
17    oneOf:
18      - enum:
19          - ingenic,jz4770-musb
20          - ingenic,jz4740-musb
21      - items:
22          - const: ingenic,jz4725b-musb
23          - const: ingenic,jz4740-musb
24
25  reg:
26    maxItems: 1
27
28  clocks:
29    maxItems: 1
30
31  clock-names:
32    items:
33      - const: udc
34
35  interrupts:
36    maxItems: 1
37
38  interrupt-names:
39    items:
40      - const: mc
41
42  phys:
43    maxItems: 1
44
45  usb-role-switch:
46    type: boolean
47
48required:
49  - compatible
50  - reg
51  - clocks
52  - clock-names
53  - interrupts
54  - interrupt-names
55  - phys
56
57additionalProperties: false
58
59examples:
60  - |
61    #include <dt-bindings/clock/ingenic,jz4740-cgu.h>
62    usb_phy: usb-phy {
63      compatible = "usb-nop-xceiv";
64      #phy-cells = <0>;
65    };
66
67    udc: usb@13040000 {
68      compatible = "ingenic,jz4740-musb";
69      reg = <0x13040000 0x10000>;
70
71      interrupt-parent = <&intc>;
72      interrupts = <24>;
73      interrupt-names = "mc";
74
75      clocks = <&cgu JZ4740_CLK_UDC>;
76      clock-names = "udc";
77
78      phys = <&usb_phy>;
79    };
80