# 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 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 = <®_3v3>; gpio-controller; #gpio-cells = <2>; gpio-reserved-ranges = <5 1>; #pwm-cells = <3>; }; }; ...