xref: /linux/Documentation/devicetree/bindings/usb/microchip,mpfs-musb.yaml (revision 7f71507851fc7764b36a3221839607d3a45c2025)
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  microchip,ext-vbus-drv:
41    description:
42      Some ULPI USB PHYs do not support an internal VBUS supply and driving
43      the CPEN pin requires the configuration of the UPLI_USE__EXTVBUS
44      bit in ULPI_BUSCONTROL.
45    $ref: /schemas/types.yaml#/definitions/flag
46
47required:
48  - compatible
49  - reg
50  - interrupts
51  - interrupt-names
52  - clocks
53
54additionalProperties: false
55
56examples:
57  - |
58    #include "dt-bindings/clock/microchip,mpfs-clock.h"
59    usb@20201000 {
60        compatible = "microchip,mpfs-musb";
61        reg = <0x20201000 0x1000>;
62        clocks = <&clkcfg CLK_USB>;
63        interrupt-parent = <&plic>;
64        interrupts = <86>, <87>;
65        interrupt-names = "dma", "mc";
66        dr_mode = "host";
67    };
68
69...
70