122227848SKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0 222227848SKrzysztof Kozlowski%YAML 1.2 322227848SKrzysztof Kozlowski--- 422227848SKrzysztof Kozlowski$id: http://devicetree.org/schemas/interrupt-controller/samsung,exynos4210-combiner.yaml# 522227848SKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml# 622227848SKrzysztof Kozlowski 722227848SKrzysztof Kozlowskititle: Samsung Exynos SoC Interrupt Combiner Controller 822227848SKrzysztof Kozlowski 922227848SKrzysztof Kozlowskimaintainers: 10*8a1e6bb3SKrzysztof Kozlowski - Krzysztof Kozlowski <krzk@kernel.org> 1122227848SKrzysztof Kozlowski 1222227848SKrzysztof Kozlowskidescription: | 1322227848SKrzysztof Kozlowski Samsung's Exynos4 architecture includes a interrupt combiner controller which 1422227848SKrzysztof Kozlowski can combine interrupt sources as a group and provide a single interrupt 1522227848SKrzysztof Kozlowski request for the group. The interrupt request from each group are connected to 1622227848SKrzysztof Kozlowski a parent interrupt controller, such as GIC in case of Exynos4210. 1722227848SKrzysztof Kozlowski 1822227848SKrzysztof Kozlowski The interrupt combiner controller consists of multiple combiners. Up to eight 1922227848SKrzysztof Kozlowski interrupt sources can be connected to a combiner. The combiner outputs one 2022227848SKrzysztof Kozlowski combined interrupt for its eight interrupt sources. The combined interrupt is 2122227848SKrzysztof Kozlowski usually connected to a parent interrupt controller. 2222227848SKrzysztof Kozlowski 2322227848SKrzysztof Kozlowski A single node in the device tree is used to describe the interrupt combiner 2422227848SKrzysztof Kozlowski controller module (which includes multiple combiners). A combiner in the 2522227848SKrzysztof Kozlowski interrupt controller module shares config/control registers with other 2622227848SKrzysztof Kozlowski combiners. For example, a 32-bit interrupt enable/disable config register can 2722227848SKrzysztof Kozlowski accommodate up to 4 interrupt combiners (with each combiner supporting up to 2822227848SKrzysztof Kozlowski 8 interrupt sources). 2922227848SKrzysztof Kozlowski 3022227848SKrzysztof KozlowskiallOf: 3122227848SKrzysztof Kozlowski - $ref: /schemas/interrupt-controller.yaml# 3222227848SKrzysztof Kozlowski 3322227848SKrzysztof Kozlowskiproperties: 3422227848SKrzysztof Kozlowski compatible: 3522227848SKrzysztof Kozlowski const: samsung,exynos4210-combiner 3622227848SKrzysztof Kozlowski 3722227848SKrzysztof Kozlowski interrupt-controller: true 3822227848SKrzysztof Kozlowski 3922227848SKrzysztof Kozlowski interrupts: 4022227848SKrzysztof Kozlowski minItems: 8 4122227848SKrzysztof Kozlowski maxItems: 32 4222227848SKrzysztof Kozlowski 4322227848SKrzysztof Kozlowski "#interrupt-cells": 4422227848SKrzysztof Kozlowski description: | 4522227848SKrzysztof Kozlowski The meaning of the cells are: 4622227848SKrzysztof Kozlowski * First Cell: Combiner Group Number. 4722227848SKrzysztof Kozlowski * Second Cell: Interrupt number within the group. 4822227848SKrzysztof Kozlowski const: 2 4922227848SKrzysztof Kozlowski 5022227848SKrzysztof Kozlowski reg: 5122227848SKrzysztof Kozlowski maxItems: 1 5222227848SKrzysztof Kozlowski 5322227848SKrzysztof Kozlowski samsung,combiner-nr: 5422227848SKrzysztof Kozlowski description: | 5522227848SKrzysztof Kozlowski The number of interrupt combiners supported. Should match number 5622227848SKrzysztof Kozlowski of interrupts set in "interrupts" property. 5722227848SKrzysztof Kozlowski $ref: /schemas/types.yaml#/definitions/uint32 5822227848SKrzysztof Kozlowski minimum: 8 5922227848SKrzysztof Kozlowski maximum: 32 6022227848SKrzysztof Kozlowski default: 16 6122227848SKrzysztof Kozlowski 6222227848SKrzysztof Kozlowskirequired: 6322227848SKrzysztof Kozlowski - compatible 6422227848SKrzysztof Kozlowski - interrupt-controller 6522227848SKrzysztof Kozlowski - interrupts 6622227848SKrzysztof Kozlowski - "#interrupt-cells" 6722227848SKrzysztof Kozlowski - reg 6822227848SKrzysztof Kozlowski 6922227848SKrzysztof KozlowskiadditionalProperties: false 7022227848SKrzysztof Kozlowski 7122227848SKrzysztof Kozlowskiexamples: 7222227848SKrzysztof Kozlowski - | 7322227848SKrzysztof Kozlowski #include <dt-bindings/interrupt-controller/arm-gic.h> 7422227848SKrzysztof Kozlowski 7522227848SKrzysztof Kozlowski interrupt-controller@10440000 { 7622227848SKrzysztof Kozlowski compatible = "samsung,exynos4210-combiner"; 7722227848SKrzysztof Kozlowski interrupt-controller; 7822227848SKrzysztof Kozlowski #interrupt-cells = <2>; 7922227848SKrzysztof Kozlowski reg = <0x10440000 0x1000>; 8022227848SKrzysztof Kozlowski interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, 8122227848SKrzysztof Kozlowski <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>, 8222227848SKrzysztof Kozlowski <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>, 8322227848SKrzysztof Kozlowski <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>, 8422227848SKrzysztof Kozlowski <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>, 8522227848SKrzysztof Kozlowski <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>, 8622227848SKrzysztof Kozlowski <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>, 8722227848SKrzysztof Kozlowski <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>, 8822227848SKrzysztof Kozlowski <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, 8922227848SKrzysztof Kozlowski <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, 9022227848SKrzysztof Kozlowski <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>, 9122227848SKrzysztof Kozlowski <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>, 9222227848SKrzysztof Kozlowski <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>, 9322227848SKrzysztof Kozlowski <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>, 9422227848SKrzysztof Kozlowski <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>, 9522227848SKrzysztof Kozlowski <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; 9622227848SKrzysztof Kozlowski }; 97