17ef62cebSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 27ef62cebSEmmanuel Vadot%YAML 1.2 37ef62cebSEmmanuel Vadot--- 47ef62cebSEmmanuel Vadot$id: http://devicetree.org/schemas/pinctrl/cypress,cy8c95x0.yaml# 57ef62cebSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 67ef62cebSEmmanuel Vadot 77ef62cebSEmmanuel Vadottitle: Cypress CY8C95X0 I2C GPIO expander 87ef62cebSEmmanuel Vadot 97ef62cebSEmmanuel Vadotmaintainers: 107ef62cebSEmmanuel Vadot - Patrick Rudolph <patrick.rudolph@9elements.com> 117ef62cebSEmmanuel Vadot 127ef62cebSEmmanuel Vadotdescription: | 137ef62cebSEmmanuel Vadot This supports the 20/40/60 pin Cypress CYC95x0 GPIO I2C expanders. 147ef62cebSEmmanuel Vadot Pin function configuration is performed on a per-pin basis. 157ef62cebSEmmanuel Vadot 167ef62cebSEmmanuel Vadotproperties: 177ef62cebSEmmanuel Vadot compatible: 187ef62cebSEmmanuel Vadot enum: 197ef62cebSEmmanuel Vadot - cypress,cy8c9520 207ef62cebSEmmanuel Vadot - cypress,cy8c9540 217ef62cebSEmmanuel Vadot - cypress,cy8c9560 227ef62cebSEmmanuel Vadot 237ef62cebSEmmanuel Vadot reg: 247ef62cebSEmmanuel Vadot maxItems: 1 257ef62cebSEmmanuel Vadot 267ef62cebSEmmanuel Vadot gpio-controller: true 277ef62cebSEmmanuel Vadot 287ef62cebSEmmanuel Vadot '#gpio-cells': 297ef62cebSEmmanuel Vadot description: 307ef62cebSEmmanuel Vadot The first cell is the GPIO number and the second cell specifies GPIO 317ef62cebSEmmanuel Vadot flags, as defined in <dt-bindings/gpio/gpio.h>. 327ef62cebSEmmanuel Vadot const: 2 337ef62cebSEmmanuel Vadot 347ef62cebSEmmanuel Vadot interrupts: 357ef62cebSEmmanuel Vadot maxItems: 1 367ef62cebSEmmanuel Vadot 377ef62cebSEmmanuel Vadot interrupt-controller: true 387ef62cebSEmmanuel Vadot 397ef62cebSEmmanuel Vadot '#interrupt-cells': 407ef62cebSEmmanuel Vadot const: 2 417ef62cebSEmmanuel Vadot 427ef62cebSEmmanuel Vadot gpio-line-names: true 437ef62cebSEmmanuel Vadot 447ef62cebSEmmanuel Vadot gpio-ranges: 457ef62cebSEmmanuel Vadot maxItems: 1 467ef62cebSEmmanuel Vadot 477ef62cebSEmmanuel Vadot gpio-reserved-ranges: 487ef62cebSEmmanuel Vadot maxItems: 1 497ef62cebSEmmanuel Vadot 507ef62cebSEmmanuel Vadot vdd-supply: 517ef62cebSEmmanuel Vadot description: 527ef62cebSEmmanuel Vadot Optional power supply. 537ef62cebSEmmanuel Vadot 54*aa1a8ff2SEmmanuel Vadot reset-gpios: 55*aa1a8ff2SEmmanuel Vadot description: GPIO connected to the XRES pin 56*aa1a8ff2SEmmanuel Vadot maxItems: 1 57*aa1a8ff2SEmmanuel Vadot 587ef62cebSEmmanuel VadotpatternProperties: 597ef62cebSEmmanuel Vadot '-pins$': 607ef62cebSEmmanuel Vadot type: object 617ef62cebSEmmanuel Vadot description: 627ef62cebSEmmanuel Vadot Pinctrl node's client devices use subnodes for desired pin configuration. 637ef62cebSEmmanuel Vadot Client device subnodes use below standard properties. 647ef62cebSEmmanuel Vadot $ref: pincfg-node.yaml# 657ef62cebSEmmanuel Vadot 667ef62cebSEmmanuel Vadot properties: 677ef62cebSEmmanuel Vadot pins: 687ef62cebSEmmanuel Vadot description: 697ef62cebSEmmanuel Vadot List of gpio pins affected by the properties specified in this 707ef62cebSEmmanuel Vadot subnode. 717ef62cebSEmmanuel Vadot items: 727ef62cebSEmmanuel Vadot pattern: '^gp([0-7][0-7])$' 737ef62cebSEmmanuel Vadot minItems: 1 747ef62cebSEmmanuel Vadot maxItems: 60 757ef62cebSEmmanuel Vadot 767ef62cebSEmmanuel Vadot function: 777ef62cebSEmmanuel Vadot description: 787ef62cebSEmmanuel Vadot Specify the alternative function to be configured for the specified 797ef62cebSEmmanuel Vadot pins. 807ef62cebSEmmanuel Vadot enum: [ gpio, pwm ] 817ef62cebSEmmanuel Vadot 827ef62cebSEmmanuel Vadot bias-pull-down: true 837ef62cebSEmmanuel Vadot 847ef62cebSEmmanuel Vadot bias-pull-up: true 857ef62cebSEmmanuel Vadot 867ef62cebSEmmanuel Vadot bias-disable: true 877ef62cebSEmmanuel Vadot 887ef62cebSEmmanuel Vadot output-high: true 897ef62cebSEmmanuel Vadot 907ef62cebSEmmanuel Vadot output-low: true 917ef62cebSEmmanuel Vadot 927ef62cebSEmmanuel Vadot drive-push-pull: true 937ef62cebSEmmanuel Vadot 947ef62cebSEmmanuel Vadot drive-open-drain: true 957ef62cebSEmmanuel Vadot 967ef62cebSEmmanuel Vadot drive-open-source: true 977ef62cebSEmmanuel Vadot 987ef62cebSEmmanuel Vadot required: 997ef62cebSEmmanuel Vadot - pins 1007ef62cebSEmmanuel Vadot - function 1017ef62cebSEmmanuel Vadot 1027ef62cebSEmmanuel Vadot additionalProperties: false 1037ef62cebSEmmanuel Vadot 1047ef62cebSEmmanuel Vadotrequired: 1057ef62cebSEmmanuel Vadot - compatible 1067ef62cebSEmmanuel Vadot - reg 1077ef62cebSEmmanuel Vadot - interrupts 1087ef62cebSEmmanuel Vadot - interrupt-controller 1097ef62cebSEmmanuel Vadot - '#interrupt-cells' 1107ef62cebSEmmanuel Vadot - gpio-controller 1117ef62cebSEmmanuel Vadot - '#gpio-cells' 1127ef62cebSEmmanuel Vadot 1137ef62cebSEmmanuel VadotadditionalProperties: false 1147ef62cebSEmmanuel Vadot 1157ef62cebSEmmanuel VadotallOf: 116fac71e4eSEmmanuel Vadot - $ref: pinctrl.yaml# 1177ef62cebSEmmanuel Vadot 1187ef62cebSEmmanuel Vadotexamples: 1197ef62cebSEmmanuel Vadot - | 1207ef62cebSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 1217ef62cebSEmmanuel Vadot #include <dt-bindings/interrupt-controller/irq.h> 1227ef62cebSEmmanuel Vadot 1237ef62cebSEmmanuel Vadot i2c { 1247ef62cebSEmmanuel Vadot #address-cells = <1>; 1257ef62cebSEmmanuel Vadot #size-cells = <0>; 1267ef62cebSEmmanuel Vadot 1277ef62cebSEmmanuel Vadot pinctrl@20 { 1287ef62cebSEmmanuel Vadot compatible = "cypress,cy8c9520"; 1297ef62cebSEmmanuel Vadot reg = <0x20>; 1307ef62cebSEmmanuel Vadot gpio-controller; 1317ef62cebSEmmanuel Vadot #gpio-cells = <2>; 1327ef62cebSEmmanuel Vadot #interrupt-cells = <2>; 1337ef62cebSEmmanuel Vadot interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>; 1347ef62cebSEmmanuel Vadot interrupt-controller; 1357ef62cebSEmmanuel Vadot vdd-supply = <&p3v3>; 1367ef62cebSEmmanuel Vadot gpio-reserved-ranges = <5 1>; 1377ef62cebSEmmanuel Vadot }; 1387ef62cebSEmmanuel Vadot }; 139