blob: ee2272f754a339569c793102928ddd13249f8fee [file] [log] [blame]
# 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>;
};
};
...