Documentation / devicetree / bindings / mfd / adi,adp5585.yaml


Based on kernel version 6.12.4. Page generated on 2024-12-12 21:01 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/mfd/adi,adp5585.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Analog Devices ADP5585 Keypad Decoder and I/O Expansion

maintainers:
  - Laurent Pinchart <laurent.pinchart@ideasonboard.com>

description:
  The ADP5585 is a 10/11 input/output port expander with a built in keypad
  matrix decoder, programmable logic, reset generator, and PWM generator.

properties:
  compatible:
    items:
      - enum:
          - adi,adp5585-00  # Default
          - adi,adp5585-01  # 11 GPIOs
          - adi,adp5585-02  # No pull-up resistors by default on special pins
          - adi,adp5585-03  # Alternate I2C address
          - adi,adp5585-04  # Pull-down resistors on all pins by default
      - const: adi,adp5585

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  vdd-supply: true

  gpio-controller: true
 
  '#gpio-cells':
    const: 2

  gpio-reserved-ranges: true
 
  "#pwm-cells":
    const: 3

patternProperties:
  "-hog(-[0-9]+)?$":
    type: object

    required:
      - gpio-hog

required:
  - compatible
  - reg
  - gpio-controller
  - "#gpio-cells"
  - "#pwm-cells"

allOf:
  - if:
      properties:
        compatible:
          contains:
            const: adi,adp5585-01
    then:
      properties:
        gpio-reserved-ranges: false
    else:
      properties:
        gpio-reserved-ranges:
          maxItems: 1
          items:
            items:
              - const: 5
              - const: 1

additionalProperties: false

examples:
  - |
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;
 
        io-expander@34 {
            compatible = "adi,adp5585-00", "adi,adp5585";
            reg = <0x34>;
 
            vdd-supply = <&reg_3v3>;
 
            gpio-controller;
            #gpio-cells = <2>;
            gpio-reserved-ranges = <5 1>;
 
            #pwm-cells = <3>;
        };
    };

...