| 
     1 * Samsung Exynos Interrupt Combiner Controller
    2 
    3 Samsung's Exynos4 architecture includes a interrupt combiner controller which
    4 can combine interrupt sources as a group and provide a single interrupt request
    5 for the group. The interrupt request from each group are connected to a parent
    6 interrupt controller, such as GIC in case of Exynos4210.
    7 
    8 The interrupt combiner controller consists of multiple combiners. Up to eight
    9 interrupt sources can be connected to a combiner. The combiner outputs one
   10 combined interrupt for its eight interrupt sources. The combined interrupt
   11 is usually connected to a parent interrupt controller.
   12 
   13 A single node in the device tree is used to describe the interrupt combiner
   14 controller module (which includes multiple combiners). A combiner in the
   15 interrupt controller module shares config/control registers with other
   16 combiners. For example, a 32-bit interrupt enable/disable config register
   17 can accommodate up to 4 interrupt combiners (with each combiner supporting
   18 up to 8 interrupt sources).
   19 
   20 Required properties:
   21 - compatible: should be "samsung,exynos4210-combiner".
   22 - interrupt-controller: Identifies the node as an interrupt controller.
   23 - #interrupt-cells: should be <2>. The meaning of the cells are
   24         * First Cell: Combiner Group Number.
   25         * Second Cell: Interrupt number within the group.
   26 - reg: Base address and size of interrupt combiner registers.
   27 - interrupts: The list of interrupts generated by the combiners which are then
   28     connected to a parent interrupt controller. The format of the interrupt
   29     specifier depends in the interrupt parent controller.
   30 
   31 Optional properties:
   32 - samsung,combiner-nr: The number of interrupt combiners supported. If this
   33   property is not specified, the default number of combiners is assumed
   34   to be 16.
   35 
   36 
   37 Example:
   38 
   39         The following is a an example from the Exynos4210 SoC dtsi file.
   40 
   41         combiner:interrupt-controller@10440000 {
   42                 compatible = "samsung,exynos4210-combiner";
   43                 interrupt-controller;
   44                 #interrupt-cells = <2>;
   45                 reg = <0x10440000 0x1000>;
   46                 interrupts = <0 0 0>, <0 1 0>, <0 2 0>, <0 3 0>,
   47                              <0 4 0>, <0 5 0>, <0 6 0>, <0 7 0>,
   48                              <0 8 0>, <0 9 0>, <0 10 0>, <0 11 0>,
   49                              <0 12 0>, <0 13 0>, <0 14 0>, <0 15 0>;
   50         };
Cache object: cf81e065cde5969a50cde8665bfceb11 
 
 |