xref: /linux/Documentation/devicetree/bindings/interrupt-controller/samsung,exynos4210-combiner.yaml (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
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