1# SPDX-License-Identifier: GPL-2.0 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/interrupt-controller/samsung,exynos4210-combiner.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Samsung Exynos SoC Interrupt Combiner Controller 8 9maintainers: 10 - Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> 11 12description: | 13 Samsung's Exynos4 architecture includes a interrupt combiner controller which 14 can combine interrupt sources as a group and provide a single interrupt 15 request for the group. The interrupt request from each group are connected to 16 a parent interrupt controller, such as GIC in case of Exynos4210. 17 18 The interrupt combiner controller consists of multiple combiners. Up to eight 19 interrupt sources can be connected to a combiner. The combiner outputs one 20 combined interrupt for its eight interrupt sources. The combined interrupt is 21 usually connected to a parent interrupt controller. 22 23 A single node in the device tree is used to describe the interrupt combiner 24 controller module (which includes multiple combiners). A combiner in the 25 interrupt controller module shares config/control registers with other 26 combiners. For example, a 32-bit interrupt enable/disable config register can 27 accommodate up to 4 interrupt combiners (with each combiner supporting up to 28 8 interrupt sources). 29 30allOf: 31 - $ref: /schemas/interrupt-controller.yaml# 32 33properties: 34 compatible: 35 const: samsung,exynos4210-combiner 36 37 interrupt-controller: true 38 39 interrupts: 40 minItems: 8 41 maxItems: 32 42 43 "#interrupt-cells": 44 description: | 45 The meaning of the cells are: 46 * First Cell: Combiner Group Number. 47 * Second Cell: Interrupt number within the group. 48 const: 2 49 50 reg: 51 maxItems: 1 52 53 samsung,combiner-nr: 54 description: | 55 The number of interrupt combiners supported. Should match number 56 of interrupts set in "interrupts" property. 57 $ref: /schemas/types.yaml#/definitions/uint32 58 minimum: 8 59 maximum: 32 60 default: 16 61 62required: 63 - compatible 64 - interrupt-controller 65 - interrupts 66 - "#interrupt-cells" 67 - reg 68 69additionalProperties: false 70 71examples: 72 - | 73 #include <dt-bindings/interrupt-controller/arm-gic.h> 74 75 interrupt-controller@10440000 { 76 compatible = "samsung,exynos4210-combiner"; 77 interrupt-controller; 78 #interrupt-cells = <2>; 79 reg = <0x10440000 0x1000>; 80 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, 81 <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>, 82 <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>, 83 <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>, 84 <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>, 85 <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>, 86 <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>, 87 <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>, 88 <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, 89 <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, 90 <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>, 91 <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>, 92 <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>, 93 <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>, 94 <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>, 95 <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; 96 }; 97