xref: /linux/Documentation/devicetree/bindings/usb/maxim,max3421.yaml (revision fbf5df34a4dbcd09d433dd4f0916bf9b2ddb16de)
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