Message ID | 1436303617-17185-4-git-send-email-eric@anholt.net |
---|---|
State | Accepted, archived |
Commit | 815e7a31c3f7929f371da9c7e9ee91cfd52ef453 |
Headers | show |
On 07/07/2015 03:13 PM, Eric Anholt wrote: > This is a new per-cpu root interrupt controller on the Raspberry Pi 2, > which will chain to the bcm2835 interrupt controller for peripheral > interrupts. > diff --git a/Documentation/devicetree/bindings/interrupt-controller/brcm,bcm2836-l1-intc.txt b/Documentation/devicetree/bindings/interrupt-controller/brcm,bcm2836-l1-intc.txt > +local_intc: local_intc { > + interrupt-parent = <&local_intc>; I think that property shouldn't be there? -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Stephen Warren <swarren@wwwdotorg.org> writes: > On 07/07/2015 03:13 PM, Eric Anholt wrote: >> This is a new per-cpu root interrupt controller on the Raspberry Pi 2, >> which will chain to the bcm2835 interrupt controller for peripheral >> interrupts. > >> diff --git a/Documentation/devicetree/bindings/interrupt-controller/brcm,bcm2836-l1-intc.txt b/Documentation/devicetree/bindings/interrupt-controller/brcm,bcm2836-l1-intc.txt > >> +local_intc: local_intc { > >> + interrupt-parent = <&local_intc>; > > I think that property shouldn't be there? If you don't have it there, the core finds the interrupt-parent in the parent node, and waits for that one before initializing (which is in turn waiting for us). Note that for original 2835, you're finding the parent node as well.
On 07/11/2015 12:01 AM, Eric Anholt wrote: > Stephen Warren <swarren@wwwdotorg.org> writes: > >> On 07/07/2015 03:13 PM, Eric Anholt wrote: >>> This is a new per-cpu root interrupt controller on the >>> Raspberry Pi 2, which will chain to the bcm2835 interrupt >>> controller for peripheral interrupts. >> >>> diff --git >>> a/Documentation/devicetree/bindings/interrupt-controller/brcm,bcm2836-l1-intc.txt >>> b/Documentation/devicetree/bindings/interrupt-controller/brcm,bcm2836-l1-intc.txt >> >>> >>> +local_intc: local_intc { >> >>> + interrupt-parent = <&local_intc>; >> >> I think that property shouldn't be there? > > If you don't have it there, the core finds the interrupt-parent in > the parent node, and waits for that one before initializing (which > is in turn waiting for us). Note that for original 2835, you're > finding the parent node as well. Ah yes. It does indeed look like it's typical that the root IRQ controller points at itself. -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/Documentation/devicetree/bindings/interrupt-controller/brcm,bcm2836-l1-intc.txt b/Documentation/devicetree/bindings/interrupt-controller/brcm,bcm2836-l1-intc.txt new file mode 100644 index 0000000..f320dcd --- /dev/null +++ b/Documentation/devicetree/bindings/interrupt-controller/brcm,bcm2836-l1-intc.txt @@ -0,0 +1,37 @@ +BCM2836 per-CPU interrupt controller + +The BCM2836 has a per-cpu interrupt controller for the timer, PMU +events, and SMP IPIs. One of the CPUs may receive interrupts for the +peripheral (GPU) events, which chain to the BCM2835-style interrupt +controller. + +Required properties: + +- compatible: Should be "brcm,bcm2836-l1-intc" +- reg: Specifies base physical address and size of the + registers +- interrupt-controller: Identifies the node as an interrupt controller +- #interrupt-cells: Specifies the number of cells needed to encode an + interrupt source. The value shall be 1 + +Please refer to interrupts.txt in this directory for details of the common +Interrupt Controllers bindings used by client devices. + +The interrupt sources are as follows: + +0: CNTPSIRQ +1: CNTPNSIRQ +2: CNTHPIRQ +3: CNTVIRQ +8: GPU_FAST +9: PMU_FAST + +Example: + +local_intc: local_intc { + compatible = "brcm,bcm2836-l1-intc"; + reg = <0x40000000 0x100>; + interrupt-controller; + #interrupt-cells = <1>; + interrupt-parent = <&local_intc>; +};
This is a new per-cpu root interrupt controller on the Raspberry Pi 2, which will chain to the bcm2835 interrupt controller for peripheral interrupts. Signed-off-by: Eric Anholt <eric@anholt.net> --- .../interrupt-controller/brcm,bcm2836-l1-intc.txt | 37 ++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 Documentation/devicetree/bindings/interrupt-controller/brcm,bcm2836-l1-intc.txt