1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/gpio/nxp,pcf8575.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: PCF857x-compatible I/O expanders 8 9maintainers: 10 - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> 11 12description: 13 The PCF857x-compatible chips have "quasi-bidirectional" I/O lines that can be 14 driven high by a pull-up current source or driven low to ground. This 15 combines the direction and output level into a single bit per line, which 16 can't be read back. We can't actually know at initialization time whether a 17 line is configured (a) as output and driving the signal low/high, or (b) as 18 input and reporting a low/high value, without knowing the last value written 19 since the chip came out of reset (if any). The only reliable solution for 20 setting up line direction is thus to do it explicitly. 21 22properties: 23 compatible: 24 enum: 25 - maxim,max7328 26 - maxim,max7329 27 - nxp,pca8574 28 - nxp,pca8575 29 - nxp,pca9670 30 - nxp,pca9671 31 - nxp,pca9672 32 - nxp,pca9673 33 - nxp,pca9674 34 - nxp,pca9675 35 - nxp,pcf8574 36 - nxp,pcf8574a 37 - nxp,pcf8575 38 39 reg: 40 maxItems: 1 41 42 gpio-controller: true 43 44 '#gpio-cells': 45 const: 2 46 description: 47 The first cell is the GPIO number and the second cell specifies GPIO 48 flags, as defined in <dt-bindings/gpio/gpio.h>. Only the GPIO_ACTIVE_HIGH 49 and GPIO_ACTIVE_LOW flags are supported. 50 51 lines-initial-states: 52 $ref: /schemas/types.yaml#/definitions/uint32 53 description: 54 Bitmask that specifies the initial state of each line. 55 When a bit is set to zero, the corresponding line will be initialized to 56 the input (pulled-up) state. 57 When the bit is set to one, the line will be initialized to the 58 low-level output state. 59 If the property is not specified all lines will be initialized to the 60 input state. 61 62 interrupts: 63 maxItems: 1 64 65 interrupt-controller: true 66 67 '#interrupt-cells': 68 const: 2 69 70 wakeup-source: true 71 72patternProperties: 73 "^(.+-hog(-[0-9]+)?)$": 74 type: object 75 76 required: 77 - gpio-hog 78 79required: 80 - compatible 81 - reg 82 - gpio-controller 83 - '#gpio-cells' 84 85additionalProperties: false 86 87examples: 88 - | 89 i2c { 90 #address-cells = <1>; 91 #size-cells = <0>; 92 93 pcf8575: gpio@20 { 94 compatible = "nxp,pcf8575"; 95 reg = <0x20>; 96 interrupt-parent = <&irqpin2>; 97 interrupts = <3 0>; 98 gpio-controller; 99 #gpio-cells = <2>; 100 interrupt-controller; 101 #interrupt-cells = <2>; 102 }; 103 }; 104