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 DT bindings
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    description: PHY specifier for the USB PHY
44
45required:
46  - compatible
47  - reg
48  - clocks
49  - clock-names
50  - interrupts
51  - interrupt-names
52  - phys
53
54additionalProperties: false
55
56examples:
57  - |
58    #include <dt-bindings/clock/jz4740-cgu.h>
59    usb_phy: usb-phy@0 {
60      compatible = "usb-nop-xceiv";
61      #phy-cells = <0>;
62    };
63
64    udc: usb@13040000 {
65      compatible = "ingenic,jz4740-musb";
66      reg = <0x13040000 0x10000>;
67
68      interrupt-parent = <&intc>;
69      interrupts = <24>;
70      interrupt-names = "mc";
71
72      clocks = <&cgu JZ4740_CLK_UDC>;
73      clock-names = "udc";
74
75      phys = <&usb_phy>;
76    };
77