xref: /linux/Documentation/devicetree/bindings/usb/microchip,mpfs-musb.yaml (revision fbf5df34a4dbcd09d433dd4f0916bf9b2ddb16de)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/usb/microchip,mpfs-musb.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Microchip MPFS USB Controller
8
9allOf:
10  - $ref: usb-drd.yaml#
11
12maintainers:
13  - Conor Dooley <conor.dooley@microchip.com>
14
15properties:
16  compatible:
17    oneOf:
18      - items:
19          - const: microchip,pic64gx-musb
20          - const: microchip,mpfs-musb
21      - const: microchip,mpfs-musb
22
23  dr_mode: true
24
25  reg:
26    maxItems: 1
27
28  interrupts:
29    minItems: 2
30    maxItems: 2
31
32  interrupt-names:
33    items:
34      - const: dma
35      - const: mc
36
37  clocks:
38    maxItems: 1
39
40  resets:
41    maxItems: 1
42
43  microchip,ext-vbus-drv:
44    description:
45      Some ULPI USB PHYs do not support an internal VBUS supply and driving
46      the CPEN pin requires the configuration of the UPLI_USE__EXTVBUS
47      bit in ULPI_BUSCONTROL.
48    $ref: /schemas/types.yaml#/definitions/flag
49
50required:
51  - compatible
52  - reg
53  - interrupts
54  - interrupt-names
55  - clocks
56
57additionalProperties: false
58
59examples:
60  - |
61    #include "dt-bindings/clock/microchip,mpfs-clock.h"
62    usb@20201000 {
63        compatible = "microchip,mpfs-musb";
64        reg = <0x20201000 0x1000>;
65        clocks = <&clkcfg CLK_USB>;
66        interrupt-parent = <&plic>;
67        interrupts = <86>, <87>;
68        interrupt-names = "dma", "mc";
69        dr_mode = "host";
70    };
71
72...
73