xref: /linux/Documentation/devicetree/bindings/mfd/adi,adp5585.yaml (revision 566ab427f827b0256d3e8ce0235d088e6a9c28bd)
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/mfd/adi,adp5585.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Analog Devices ADP5585 Keypad Decoder and I/O Expansion
8
9maintainers:
10  - Laurent Pinchart <laurent.pinchart@ideasonboard.com>
11
12description:
13  The ADP5585 is a 10/11 input/output port expander with a built in keypad
14  matrix decoder, programmable logic, reset generator, and PWM generator.
15
16properties:
17  compatible:
18    items:
19      - enum:
20          - adi,adp5585-00  # Default
21          - adi,adp5585-01  # 11 GPIOs
22          - adi,adp5585-02  # No pull-up resistors by default on special pins
23          - adi,adp5585-03  # Alternate I2C address
24          - adi,adp5585-04  # Pull-down resistors on all pins by default
25      - const: adi,adp5585
26
27  reg:
28    maxItems: 1
29
30  interrupts:
31    maxItems: 1
32
33  vdd-supply: true
34
35  gpio-controller: true
36
37  '#gpio-cells':
38    const: 2
39
40  gpio-reserved-ranges: true
41
42  "#pwm-cells":
43    const: 3
44
45patternProperties:
46  "-hog(-[0-9]+)?$":
47    type: object
48
49    required:
50      - gpio-hog
51
52required:
53  - compatible
54  - reg
55  - gpio-controller
56  - "#gpio-cells"
57  - "#pwm-cells"
58
59allOf:
60  - if:
61      properties:
62        compatible:
63          contains:
64            const: adi,adp5585-01
65    then:
66      properties:
67        gpio-reserved-ranges: false
68    else:
69      properties:
70        gpio-reserved-ranges:
71          maxItems: 1
72          items:
73            items:
74              - const: 5
75              - const: 1
76
77additionalProperties: false
78
79examples:
80  - |
81    i2c {
82        #address-cells = <1>;
83        #size-cells = <0>;
84
85        io-expander@34 {
86            compatible = "adi,adp5585-00", "adi,adp5585";
87            reg = <0x34>;
88
89            vdd-supply = <&reg_3v3>;
90
91            gpio-controller;
92            #gpio-cells = <2>;
93            gpio-reserved-ranges = <5 1>;
94
95            #pwm-cells = <3>;
96        };
97    };
98
99...
100