Commit | Line | Data |
---|---|---|
e873a47c TA |
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 | ||
f884ab15 | 8 | The interrupt combiner controller consists of multiple combiners. Up to eight |
e873a47c TA |
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 | |
f884ab15 AP |
17 | can accommodate up to 4 interrupt combiners (with each combiner supporting |
18 | up to 8 interrupt sources). | |
e873a47c TA |
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 | - interrupt-parent: pHandle of the parent interrupt controller, if not | |
36 | inherited from the parent node. | |
37 | ||
38 | ||
39 | Example: | |
40 | ||
41 | The following is a an example from the Exynos4210 SoC dtsi file. | |
42 | ||
43 | combiner:interrupt-controller@10440000 { | |
44 | compatible = "samsung,exynos4210-combiner"; | |
45 | interrupt-controller; | |
46 | #interrupt-cells = <2>; | |
47 | reg = <0x10440000 0x1000>; | |
48 | interrupts = <0 0 0>, <0 1 0>, <0 2 0>, <0 3 0>, | |
49 | <0 4 0>, <0 5 0>, <0 6 0>, <0 7 0>, | |
50 | <0 8 0>, <0 9 0>, <0 10 0>, <0 11 0>, | |
51 | <0 12 0>, <0 13 0>, <0 14 0>, <0 15 0>; | |
52 | }; |