Commit d839e821 authored by Vladimir Zapolskiy's avatar Vladimir Zapolskiy

dt-bindings: interrupt-controllers: add description of SIC1 and SIC2

NXP LPC32xx has three interrupt controllers, namely root Main
Interrupt Controller (MIC) and two supplementary Sub Interrupt
Controllers (SIC1 and SIC2), four interrupt outputs from SIC1 and SIC2
are connected to MIC.
Acked-by: default avatarRob Herring <robh@kernel.org>
Acked-by: default avatarSylvain Lemieux <slemieux.tyco@gmail.com>
Signed-off-by: default avatarVladimir Zapolskiy <vz@mleia.com>
parent 961212e3
* NXP LPC32xx Main Interrupt Controller * NXP LPC32xx MIC, SIC1 and SIC2 Interrupt Controllers
(MIC, including SIC1 and SIC2 secondary controllers)
Required properties: Required properties:
- compatible: Should be "nxp,lpc3220-mic" - compatible: "nxp,lpc3220-mic" or "nxp,lpc3220-sic".
- interrupt-controller: Identifies the node as an interrupt controller. - reg: should contain IC registers location and length.
- interrupt-parent: Empty for the interrupt controller itself - interrupt-controller: identifies the node as an interrupt controller.
- #interrupt-cells: The number of cells to define the interrupts. Should be 2. - #interrupt-cells: the number of cells to define an interrupt, should be 2.
The first cell is the IRQ number The first cell is the IRQ number, the second cell is used to specify
The second cell is used to specify mode: one of the supported IRQ types:
1 = low-to-high edge triggered IRQ_TYPE_EDGE_RISING = low-to-high edge triggered,
2 = high-to-low edge triggered IRQ_TYPE_EDGE_FALLING = high-to-low edge triggered,
4 = active high level-sensitive IRQ_TYPE_LEVEL_HIGH = active high level-sensitive,
8 = active low level-sensitive IRQ_TYPE_LEVEL_LOW = active low level-sensitive.
Default for internal sources should be set to 4 (active high). Reset value is IRQ_TYPE_LEVEL_LOW.
- reg: Should contain MIC registers location and length
Optional properties:
- interrupt-parent: empty for MIC interrupt controller, link to parent
MIC interrupt controller for SIC1 and SIC2
- interrupts: empty for MIC interrupt controller, cascaded MIC
hardware interrupts for SIC1 and SIC2
Examples: Examples:
/*
* MIC /* LPC32xx MIC, SIC1 and SIC2 interrupt controllers */
*/
mic: interrupt-controller@40008000 { mic: interrupt-controller@40008000 {
compatible = "nxp,lpc3220-mic"; compatible = "nxp,lpc3220-mic";
reg = <0x40008000 0x4000>;
interrupt-controller;
#interrupt-cells = <2>;
};
sic1: interrupt-controller@4000c000 {
compatible = "nxp,lpc3220-sic";
reg = <0x4000c000 0x4000>;
interrupt-controller; interrupt-controller;
interrupt-parent;
#interrupt-cells = <2>; #interrupt-cells = <2>;
reg = <0x40008000 0xC000>;
interrupt-parent = <&mic>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>,
<30 IRQ_TYPE_LEVEL_LOW>;
}; };
/* sic2: interrupt-controller@40010000 {
* ADC compatible = "nxp,lpc3220-sic";
*/ reg = <0x40010000 0x4000>;
interrupt-controller;
#interrupt-cells = <2>;
interrupt-parent = <&mic>;
interrupts = <1 IRQ_TYPE_LEVEL_LOW>,
<31 IRQ_TYPE_LEVEL_LOW>;
};
/* ADC */
adc@40048000 { adc@40048000 {
compatible = "nxp,lpc3220-adc"; compatible = "nxp,lpc3220-adc";
reg = <0x40048000 0x1000>; reg = <0x40048000 0x1000>;
interrupt-parent = <&mic>; interrupt-parent = <&sic1>;
interrupts = <39 4>; interrupts = <7 IRQ_TYPE_LEVEL_HIGH>;
}; };
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment