1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/apm,xgene-gpio-sb.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: APM X-Gene Standby GPIO controller 8 9maintainers: 10 - Khuong Dinh <khuong@os.amperecomputing.com> 11 12description: | 13 This is a gpio controller in the standby domain. It also supports interrupt in 14 some particular pins which are sourced to its parent interrupt controller 15 as diagram below: 16 +-----------------+ 17 | X-Gene standby | 18 | GPIO controller +------ GPIO_0 19 +------------+ | | ... 20 | Parent IRQ | EXT_INT_0 | +------ GPIO_8/EXT_INT_0 21 | controller | (SPI40) | | ... 22 | (GICv2) +--------------+ +------ GPIO_[N+8]/EXT_INT_N 23 | | ... | | 24 | | EXT_INT_N | +------ GPIO_[N+9] 25 | | (SPI[40 + N])| | ... 26 | +--------------+ +------ GPIO_MAX 27 +------------+ +-----------------+ 28 29properties: 30 compatible: 31 const: apm,xgene-gpio-sb 32 33 reg: 34 maxItems: 1 35 36 '#gpio-cells': 37 const: 2 38 39 gpio-controller: true 40 41 interrupts: 42 description: 43 List of interrupt specifiers for EXT_INT_0 through EXT_INT_N. The first 44 entry must correspond to EXT_INT_0. 45 46 '#interrupt-cells': 47 const: 2 48 description: 49 First cell selects EXT_INT_N (0-N), second cell specifies flags 50 51 interrupt-controller: true 52 53 apm,nr-gpios: 54 $ref: /schemas/types.yaml#/definitions/uint32 55 description: Number of GPIO pins 56 57 apm,nr-irqs: 58 $ref: /schemas/types.yaml#/definitions/uint32 59 description: Number of interrupt pins 60 61 apm,irq-start: 62 $ref: /schemas/types.yaml#/definitions/uint32 63 description: Lowest GPIO pin supporting interrupts 64 65required: 66 - compatible 67 - reg 68 - '#gpio-cells' 69 - gpio-controller 70 - interrupts 71 - '#interrupt-cells' 72 - interrupt-controller 73 74additionalProperties: false 75 76examples: 77 - | 78 gpio@17001000 { 79 compatible = "apm,xgene-gpio-sb"; 80 reg = <0x17001000 0x400>; 81 #gpio-cells = <2>; 82 gpio-controller; 83 interrupts = <0x0 0x28 0x1>, 84 <0x0 0x29 0x1>, 85 <0x0 0x2a 0x1>, 86 <0x0 0x2b 0x1>, 87 <0x0 0x2c 0x1>, 88 <0x0 0x2d 0x1>; 89 #interrupt-cells = <2>; 90 interrupt-controller; 91 apm,nr-gpios = <22>; 92 apm,nr-irqs = <6>; 93 apm,irq-start = <8>; 94 }; 95