1c9ccf3a3SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2c9ccf3a3SEmmanuel Vadot%YAML 1.2 3c9ccf3a3SEmmanuel Vadot--- 4c9ccf3a3SEmmanuel Vadot$id: http://devicetree.org/schemas/gpio/microchip,mpfs-gpio.yaml# 5c9ccf3a3SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6c9ccf3a3SEmmanuel Vadot 7*7ef62cebSEmmanuel Vadottitle: Microchip MPFS GPIO Controller 8c9ccf3a3SEmmanuel Vadot 9c9ccf3a3SEmmanuel Vadotmaintainers: 10c9ccf3a3SEmmanuel Vadot - Conor Dooley <conor.dooley@microchip.com> 11c9ccf3a3SEmmanuel Vadot 12c9ccf3a3SEmmanuel Vadotproperties: 13c9ccf3a3SEmmanuel Vadot compatible: 14c9ccf3a3SEmmanuel Vadot items: 15c9ccf3a3SEmmanuel Vadot - enum: 16c9ccf3a3SEmmanuel Vadot - microchip,mpfs-gpio 17c9ccf3a3SEmmanuel Vadot 18c9ccf3a3SEmmanuel Vadot reg: 19c9ccf3a3SEmmanuel Vadot maxItems: 1 20c9ccf3a3SEmmanuel Vadot 21c9ccf3a3SEmmanuel Vadot interrupts: 22c9ccf3a3SEmmanuel Vadot description: 23c9ccf3a3SEmmanuel Vadot Interrupt mapping, one per GPIO. Maximum 32 GPIOs. 24c9ccf3a3SEmmanuel Vadot minItems: 1 25c9ccf3a3SEmmanuel Vadot maxItems: 32 26c9ccf3a3SEmmanuel Vadot 27c9ccf3a3SEmmanuel Vadot interrupt-controller: true 28c9ccf3a3SEmmanuel Vadot 29c9ccf3a3SEmmanuel Vadot clocks: 30c9ccf3a3SEmmanuel Vadot maxItems: 1 31c9ccf3a3SEmmanuel Vadot 32c9ccf3a3SEmmanuel Vadot "#gpio-cells": 33c9ccf3a3SEmmanuel Vadot const: 2 34c9ccf3a3SEmmanuel Vadot 35c9ccf3a3SEmmanuel Vadot "#interrupt-cells": 36c9ccf3a3SEmmanuel Vadot const: 1 37c9ccf3a3SEmmanuel Vadot 38c9ccf3a3SEmmanuel Vadot ngpios: 39c9ccf3a3SEmmanuel Vadot description: 40c9ccf3a3SEmmanuel Vadot The number of GPIOs available. 41c9ccf3a3SEmmanuel Vadot minimum: 1 42c9ccf3a3SEmmanuel Vadot maximum: 32 43c9ccf3a3SEmmanuel Vadot default: 32 44c9ccf3a3SEmmanuel Vadot 45c9ccf3a3SEmmanuel Vadot gpio-controller: true 46c9ccf3a3SEmmanuel Vadot 47*7ef62cebSEmmanuel VadotpatternProperties: 48*7ef62cebSEmmanuel Vadot "^.+-hog(-[0-9]+)?$": 49*7ef62cebSEmmanuel Vadot type: object 50*7ef62cebSEmmanuel Vadot 51*7ef62cebSEmmanuel Vadot additionalProperties: false 52*7ef62cebSEmmanuel Vadot 53*7ef62cebSEmmanuel Vadot properties: 54*7ef62cebSEmmanuel Vadot gpio-hog: true 55*7ef62cebSEmmanuel Vadot gpios: true 56*7ef62cebSEmmanuel Vadot input: true 57*7ef62cebSEmmanuel Vadot output-high: true 58*7ef62cebSEmmanuel Vadot output-low: true 59*7ef62cebSEmmanuel Vadot line-name: true 60*7ef62cebSEmmanuel Vadot 61*7ef62cebSEmmanuel Vadot required: 62*7ef62cebSEmmanuel Vadot - gpio-hog 63*7ef62cebSEmmanuel Vadot - gpios 64*7ef62cebSEmmanuel Vadot 65c9ccf3a3SEmmanuel Vadotrequired: 66c9ccf3a3SEmmanuel Vadot - compatible 67c9ccf3a3SEmmanuel Vadot - reg 68c9ccf3a3SEmmanuel Vadot - interrupts 69c9ccf3a3SEmmanuel Vadot - "#interrupt-cells" 70c9ccf3a3SEmmanuel Vadot - interrupt-controller 71c9ccf3a3SEmmanuel Vadot - "#gpio-cells" 72c9ccf3a3SEmmanuel Vadot - gpio-controller 73c9ccf3a3SEmmanuel Vadot - clocks 74c9ccf3a3SEmmanuel Vadot 75c9ccf3a3SEmmanuel VadotadditionalProperties: false 76c9ccf3a3SEmmanuel Vadot 77c9ccf3a3SEmmanuel Vadotexamples: 78c9ccf3a3SEmmanuel Vadot - | 79c9ccf3a3SEmmanuel Vadot gpio@20122000 { 80c9ccf3a3SEmmanuel Vadot compatible = "microchip,mpfs-gpio"; 81c9ccf3a3SEmmanuel Vadot reg = <0x20122000 0x1000>; 82c9ccf3a3SEmmanuel Vadot clocks = <&clkcfg 25>; 83c9ccf3a3SEmmanuel Vadot interrupt-parent = <&plic>; 84c9ccf3a3SEmmanuel Vadot gpio-controller; 85c9ccf3a3SEmmanuel Vadot #gpio-cells = <2>; 86c9ccf3a3SEmmanuel Vadot interrupt-controller; 87c9ccf3a3SEmmanuel Vadot #interrupt-cells = <1>; 88c9ccf3a3SEmmanuel Vadot interrupts = <53>, <53>, <53>, <53>, 89c9ccf3a3SEmmanuel Vadot <53>, <53>, <53>, <53>, 90c9ccf3a3SEmmanuel Vadot <53>, <53>, <53>, <53>, 91c9ccf3a3SEmmanuel Vadot <53>, <53>, <53>, <53>, 92c9ccf3a3SEmmanuel Vadot <53>, <53>, <53>, <53>, 93c9ccf3a3SEmmanuel Vadot <53>, <53>, <53>, <53>, 94c9ccf3a3SEmmanuel Vadot <53>, <53>, <53>, <53>, 95c9ccf3a3SEmmanuel Vadot <53>, <53>, <53>, <53>; 96c9ccf3a3SEmmanuel Vadot }; 97c9ccf3a3SEmmanuel Vadot... 98