1735806d8SConor Dooley# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2735806d8SConor Dooley%YAML 1.2 3735806d8SConor Dooley--- 4735806d8SConor Dooley$id: http://devicetree.org/schemas/gpio/microchip,mpfs-gpio.yaml# 5735806d8SConor Dooley$schema: http://devicetree.org/meta-schemas/core.yaml# 6735806d8SConor Dooley 7735806d8SConor Dooleytitle: Microchip MPFS GPIO Controller Device Tree Bindings 8735806d8SConor Dooley 9735806d8SConor Dooleymaintainers: 10735806d8SConor Dooley - Conor Dooley <conor.dooley@microchip.com> 11735806d8SConor Dooley 12735806d8SConor Dooleyproperties: 13735806d8SConor Dooley compatible: 14735806d8SConor Dooley items: 15735806d8SConor Dooley - enum: 16735806d8SConor Dooley - microchip,mpfs-gpio 17735806d8SConor Dooley 18735806d8SConor Dooley reg: 19735806d8SConor Dooley maxItems: 1 20735806d8SConor Dooley 21735806d8SConor Dooley interrupts: 22735806d8SConor Dooley description: 23735806d8SConor Dooley Interrupt mapping, one per GPIO. Maximum 32 GPIOs. 24735806d8SConor Dooley minItems: 1 25735806d8SConor Dooley maxItems: 32 26735806d8SConor Dooley 27735806d8SConor Dooley interrupt-controller: true 28735806d8SConor Dooley 29735806d8SConor Dooley clocks: 30735806d8SConor Dooley maxItems: 1 31735806d8SConor Dooley 32735806d8SConor Dooley "#gpio-cells": 33735806d8SConor Dooley const: 2 34735806d8SConor Dooley 35735806d8SConor Dooley "#interrupt-cells": 36735806d8SConor Dooley const: 1 37735806d8SConor Dooley 38735806d8SConor Dooley ngpios: 39735806d8SConor Dooley description: 40735806d8SConor Dooley The number of GPIOs available. 41735806d8SConor Dooley minimum: 1 42735806d8SConor Dooley maximum: 32 43735806d8SConor Dooley default: 32 44735806d8SConor Dooley 45735806d8SConor Dooley gpio-controller: true 46735806d8SConor Dooley 47*f7992069SConor DooleypatternProperties: 48*f7992069SConor Dooley "^.+-hog(-[0-9]+)?$": 49*f7992069SConor Dooley type: object 50*f7992069SConor Dooley 51*f7992069SConor Dooley additionalProperties: false 52*f7992069SConor Dooley 53*f7992069SConor Dooley properties: 54*f7992069SConor Dooley gpio-hog: true 55*f7992069SConor Dooley gpios: true 56*f7992069SConor Dooley input: true 57*f7992069SConor Dooley output-high: true 58*f7992069SConor Dooley output-low: true 59*f7992069SConor Dooley line-name: true 60*f7992069SConor Dooley 61*f7992069SConor Dooley required: 62*f7992069SConor Dooley - gpio-hog 63*f7992069SConor Dooley - gpios 64*f7992069SConor Dooley 65735806d8SConor Dooleyrequired: 66735806d8SConor Dooley - compatible 67735806d8SConor Dooley - reg 68735806d8SConor Dooley - interrupts 69735806d8SConor Dooley - "#interrupt-cells" 70735806d8SConor Dooley - interrupt-controller 71735806d8SConor Dooley - "#gpio-cells" 72735806d8SConor Dooley - gpio-controller 73735806d8SConor Dooley - clocks 74735806d8SConor Dooley 75735806d8SConor DooleyadditionalProperties: false 76735806d8SConor Dooley 77735806d8SConor Dooleyexamples: 78735806d8SConor Dooley - | 79735806d8SConor Dooley gpio@20122000 { 80735806d8SConor Dooley compatible = "microchip,mpfs-gpio"; 81735806d8SConor Dooley reg = <0x20122000 0x1000>; 82735806d8SConor Dooley clocks = <&clkcfg 25>; 83735806d8SConor Dooley interrupt-parent = <&plic>; 84735806d8SConor Dooley gpio-controller; 85735806d8SConor Dooley #gpio-cells = <2>; 86735806d8SConor Dooley interrupt-controller; 87735806d8SConor Dooley #interrupt-cells = <1>; 88735806d8SConor Dooley interrupts = <53>, <53>, <53>, <53>, 89735806d8SConor Dooley <53>, <53>, <53>, <53>, 90735806d8SConor Dooley <53>, <53>, <53>, <53>, 91735806d8SConor Dooley <53>, <53>, <53>, <53>, 92735806d8SConor Dooley <53>, <53>, <53>, <53>, 93735806d8SConor Dooley <53>, <53>, <53>, <53>, 94735806d8SConor Dooley <53>, <53>, <53>, <53>, 95735806d8SConor Dooley <53>, <53>, <53>, <53>; 96735806d8SConor Dooley }; 97735806d8SConor Dooley... 98