xref: /linux/Documentation/devicetree/bindings/usb/maxim,max3421.yaml (revision 99ef60d119f3b2621067dd5fc1ea4a37360709e4)
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/usb/maxim,max3421.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: MAXIM MAX3421e USB Peripheral/Host Controller
8
9maintainers:
10  - David Mosberger <davidm@egauge.net>
11
12description: |
13  The controller provides USB2.0 compliant with Full Speed or Low Speed when in
14  the host mode. At peripheral, it operates at Full Speed. At both cases, it
15  uses a SPI interface.
16  Datasheet at:
17    https://www.analog.com/media/en/technical-documentation/data-sheets/max3421e.pdf
18
19properties:
20  compatible:
21    const: maxim,max3421
22
23  reg:
24    maxItems: 1
25
26  interrupts:
27    maxItems: 1
28
29  spi-max-frequency:
30    maximum: 26000000
31
32  maxim,vbus-en-pin:
33    $ref: /schemas/types.yaml#/definitions/uint32-array
34    description:
35      One of eight GPOUT pins to control external VBUS power and the polarity
36      of the active level. It's an array of GPIO number and the active level of it.
37    minItems: 2
38    maxItems: 2
39
40required:
41  - compatible
42  - reg
43  - interrupts
44  - maxim,vbus-en-pin
45
46allOf:
47  - $ref: /schemas/spi/spi-peripheral-props.yaml#
48
49unevaluatedProperties: false
50
51examples:
52  - |
53    #include <dt-bindings/gpio/gpio.h>
54    #include <dt-bindings/interrupt-controller/irq.h>
55    spi {
56        #address-cells = <1>;
57        #size-cells = <0>;
58
59        usb@0 {
60          compatible = "maxim,max3421";
61          reg = <0>;
62          maxim,vbus-en-pin = <3 1>;
63          spi-max-frequency = <26000000>;
64          interrupt-parent = <&gpio>;
65          interrupts = <42>;
66        };
67    };
68