xref: /linux/Documentation/devicetree/bindings/gpio/maxim,max31910.yaml (revision fcb117e0758d1462128a50c5788555e03b48833b)
1*07e858e7SRob Herring (Arm)# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*07e858e7SRob Herring (Arm)%YAML 1.2
3*07e858e7SRob Herring (Arm)---
4*07e858e7SRob Herring (Arm)$id: http://devicetree.org/schemas/gpio/maxim,max31910.yaml#
5*07e858e7SRob Herring (Arm)$schema: http://devicetree.org/meta-schemas/core.yaml#
6*07e858e7SRob Herring (Arm)
7*07e858e7SRob Herring (Arm)title: Maxim MAX3191x GPIO serializer
8*07e858e7SRob Herring (Arm)
9*07e858e7SRob Herring (Arm)maintainers:
10*07e858e7SRob Herring (Arm)  - Lukas Wunner <lukas@wunner.de>
11*07e858e7SRob Herring (Arm)
12*07e858e7SRob Herring (Arm)properties:
13*07e858e7SRob Herring (Arm)  compatible:
14*07e858e7SRob Herring (Arm)    enum:
15*07e858e7SRob Herring (Arm)      - maxim,max31910
16*07e858e7SRob Herring (Arm)      - maxim,max31911
17*07e858e7SRob Herring (Arm)      - maxim,max31912
18*07e858e7SRob Herring (Arm)      - maxim,max31913
19*07e858e7SRob Herring (Arm)      - maxim,max31953
20*07e858e7SRob Herring (Arm)      - maxim,max31963
21*07e858e7SRob Herring (Arm)
22*07e858e7SRob Herring (Arm)  reg:
23*07e858e7SRob Herring (Arm)    maxItems: 1
24*07e858e7SRob Herring (Arm)
25*07e858e7SRob Herring (Arm)  gpio-controller: true
26*07e858e7SRob Herring (Arm)
27*07e858e7SRob Herring (Arm)  '#gpio-cells':
28*07e858e7SRob Herring (Arm)    const: 2
29*07e858e7SRob Herring (Arm)
30*07e858e7SRob Herring (Arm)  '#daisy-chained-devices':
31*07e858e7SRob Herring (Arm)    description: Number of chips in the daisy-chain.
32*07e858e7SRob Herring (Arm)    default: 1
33*07e858e7SRob Herring (Arm)
34*07e858e7SRob Herring (Arm)  maxim,modesel-gpios:
35*07e858e7SRob Herring (Arm)    description:
36*07e858e7SRob Herring (Arm)      GPIO pins to configure modesel of each chip. The number of GPIOs must
37*07e858e7SRob Herring (Arm)      equal "#daisy-chained-devices" (if each chip is driven by a separate pin)
38*07e858e7SRob Herring (Arm)      or 1 (if all chips are wired to the same pin).
39*07e858e7SRob Herring (Arm)
40*07e858e7SRob Herring (Arm)  maxim,fault-gpios:
41*07e858e7SRob Herring (Arm)    description:
42*07e858e7SRob Herring (Arm)      GPIO pins to read fault of each chip. The number of GPIOs must equal
43*07e858e7SRob Herring (Arm)      "#daisy-chained-devices" or 1.
44*07e858e7SRob Herring (Arm)
45*07e858e7SRob Herring (Arm)  maxim,db0-gpios:
46*07e858e7SRob Herring (Arm)    description:
47*07e858e7SRob Herring (Arm)      GPIO pins to configure debounce of each chip. The number of GPIOs must
48*07e858e7SRob Herring (Arm)      equal "#daisy-chained-devices" or 1.
49*07e858e7SRob Herring (Arm)
50*07e858e7SRob Herring (Arm)  maxim,db1-gpios:
51*07e858e7SRob Herring (Arm)    description:
52*07e858e7SRob Herring (Arm)      GPIO pins to configure debounce of each chip. The number of GPIOs must
53*07e858e7SRob Herring (Arm)      equal "maxim,db0-gpios".
54*07e858e7SRob Herring (Arm)
55*07e858e7SRob Herring (Arm)  maxim,modesel-8bit:
56*07e858e7SRob Herring (Arm)    description:
57*07e858e7SRob Herring (Arm)      Boolean whether the modesel pin of the chips is pulled high (8-bit mode).
58*07e858e7SRob Herring (Arm)      Use this if the modesel pin is hardwired and consequently
59*07e858e7SRob Herring (Arm)      "maxim,modesel-gpios" cannot be specified. By default if neither this nor
60*07e858e7SRob Herring (Arm)      "maxim,modesel-gpios" is given, the driver assumes that modesel is pulled
61*07e858e7SRob Herring (Arm)      low (16-bit mode).
62*07e858e7SRob Herring (Arm)    type: boolean
63*07e858e7SRob Herring (Arm)
64*07e858e7SRob Herring (Arm)  maxim,ignore-undervoltage:
65*07e858e7SRob Herring (Arm)    description:
66*07e858e7SRob Herring (Arm)      Boolean whether to ignore undervoltage alarms signaled by the
67*07e858e7SRob Herring (Arm)      "maxim,fault-gpios" or by the status byte (in 16-bit mode). Use this if
68*07e858e7SRob Herring (Arm)      the chips are powered through 5VOUT instead of VCC24V, in which case they
69*07e858e7SRob Herring (Arm)      will constantly signal undervoltage.
70*07e858e7SRob Herring (Arm)    type: boolean
71*07e858e7SRob Herring (Arm)
72*07e858e7SRob Herring (Arm)required:
73*07e858e7SRob Herring (Arm)  - compatible
74*07e858e7SRob Herring (Arm)  - reg
75*07e858e7SRob Herring (Arm)  - gpio-controller
76*07e858e7SRob Herring (Arm)  - '#gpio-cells'
77*07e858e7SRob Herring (Arm)
78*07e858e7SRob Herring (Arm)allOf:
79*07e858e7SRob Herring (Arm)  - $ref: /schemas/spi/spi-peripheral-props.yaml#
80*07e858e7SRob Herring (Arm)
81*07e858e7SRob Herring (Arm)unevaluatedProperties: false
82*07e858e7SRob Herring (Arm)
83*07e858e7SRob Herring (Arm)examples:
84*07e858e7SRob Herring (Arm)  - |
85*07e858e7SRob Herring (Arm)    #include <dt-bindings/gpio/gpio.h>
86*07e858e7SRob Herring (Arm)
87*07e858e7SRob Herring (Arm)    spi {
88*07e858e7SRob Herring (Arm)        #address-cells = <1>;
89*07e858e7SRob Herring (Arm)        #size-cells = <0>;
90*07e858e7SRob Herring (Arm)
91*07e858e7SRob Herring (Arm)        gpio@0 {
92*07e858e7SRob Herring (Arm)            compatible = "maxim,max31913";
93*07e858e7SRob Herring (Arm)            reg = <0>;
94*07e858e7SRob Herring (Arm)            gpio-controller;
95*07e858e7SRob Herring (Arm)            #gpio-cells = <2>;
96*07e858e7SRob Herring (Arm)
97*07e858e7SRob Herring (Arm)            maxim,modesel-gpios = <&gpio2 23>;
98*07e858e7SRob Herring (Arm)            maxim,fault-gpios   = <&gpio2 24 GPIO_ACTIVE_LOW>;
99*07e858e7SRob Herring (Arm)            maxim,db0-gpios     = <&gpio2 25>;
100*07e858e7SRob Herring (Arm)            maxim,db1-gpios     = <&gpio2 26>;
101*07e858e7SRob Herring (Arm)
102*07e858e7SRob Herring (Arm)            spi-max-frequency = <25000000>;
103*07e858e7SRob Herring (Arm)        };
104*07e858e7SRob Herring (Arm)    };
105