summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/interrupt-controller/mrvl,intc.txt
blob: a0ed02725a9d7778852380fae7c67579f86d5196 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
* Marvell MMP Interrupt controller

Required properties:
- compatible : Should be
               "mrvl,mmp-intc" on Marvel MMP,
               "mrvl,mmp2-intc" along with "mrvl,mmp2-mux-intc" on MMP2 or
               "marvell,mmp3-intc" with "mrvl,mmp2-mux-intc" on MMP3
- reg : Address and length of the register set of the interrupt controller.
  If the interrupt controller is intc, address and length means the range
  of the whole interrupt controller. The "marvell,mmp3-intc" controller
  also has a secondary range for the second CPU core.  If the interrupt
  controller is mux-intc, address and length means one register. Since
  address of mux-intc is in the range of intc. mux-intc is secondary
  interrupt controller.
- reg-names : Name of the register set of the interrupt controller. It's
  only required in mux-intc interrupt controller.
- interrupts : Should be the port interrupt shared by mux interrupts. It's
  only required in mux-intc interrupt controller.
- interrupt-controller : Identifies the node as an interrupt controller.
- #interrupt-cells : Specifies the number of cells needed to encode an
  interrupt source.
- mrvl,intc-nr-irqs : Specifies the number of interrupts in the interrupt
  controller.
- mrvl,clr-mfp-irq : Specifies the interrupt that needs to clear MFP edge
  detection first.

Example:
	intc: interrupt-controller@d4282000 {
		compatible = "mrvl,mmp2-intc";
		interrupt-controller;
		#interrupt-cells = <1>;
		reg = <0xd4282000 0x1000>;
		mrvl,intc-nr-irqs = <64>;
	};

	intcmux4@d4282150 {
		compatible = "mrvl,mmp2-mux-intc";
		interrupts = <4>;
		interrupt-controller;
		#interrupt-cells = <1>;
		reg = <0x150 0x4>, <0x168 0x4>;
		reg-names = "mux status", "mux mask";
		mrvl,intc-nr-irqs = <2>;
	};

* Marvell Orion Interrupt controller

Required properties
- compatible :  Should be "marvell,orion-intc".
- #interrupt-cells: Specifies the number of cells needed to encode an
  interrupt source. Supported value is <1>.
- interrupt-controller : Declare this node to be an interrupt controller.
- reg : Interrupt mask address. A list of 4 byte ranges, one per controller.
        One entry in the list represents 32 interrupts.

Example:

	intc: interrupt-controller {
        	compatible = "marvell,orion-intc", "marvell,intc";
		interrupt-controller;
		#interrupt-cells = <1>;
                reg = <0xfed20204 0x04>,
		      <0xfed20214 0x04>;
        };