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