# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/gpio/microchip,mpfs-gpio.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Microchip MPFS GPIO Controller maintainers: - Conor Dooley properties: compatible: oneOf: - items: - const: microchip,pic64gx-gpio - const: microchip,mpfs-gpio - enum: - microchip,mpfs-gpio - microchip,coregpio-rtl-v3 reg: maxItems: 1 interrupts: description: Interrupt mapping, one per GPIO. Maximum 32 GPIOs. minItems: 1 maxItems: 32 interrupt-controller: true clocks: maxItems: 1 resets: maxItems: 1 "#gpio-cells": const: 2 "#interrupt-cells": const: 2 ngpios: description: The number of GPIOs available. minimum: 1 maximum: 32 default: 32 gpio-controller: true gpio-line-names: true patternProperties: "^.+-hog(-[0-9]+)?$": type: object required: - gpio-hog allOf: - if: properties: compatible: contains: const: microchip,mpfs-gpio then: properties: ngpios: enum: [14, 24, 32] interrupts: minItems: 14 required: - interrupts - "#interrupt-cells" - interrupt-controller required: - compatible - reg - "#gpio-cells" - gpio-controller - clocks additionalProperties: false examples: - | gpio@20122000 { compatible = "microchip,mpfs-gpio"; reg = <0x20122000 0x1000>; clocks = <&clkcfg 25>; interrupt-parent = <&irqmux>; gpio-controller; #gpio-cells = <2>; ngpios = <32>; interrupt-controller; #interrupt-cells = <2>; interrupts = <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>; }; ...