ARM: dts: vf610: add Miscellaneous System Control Module (MSCM)
authorStefan Agner <stefan@agner.ch>
Sun, 1 Mar 2015 22:41:29 +0000 (23:41 +0100)
committerShawn Guo <shawn.guo@linaro.org>
Mon, 30 Mar 2015 08:43:48 +0000 (16:43 +0800)
commitc09d0f7ce05fb2d85edab12c99f0beb8f5c8f487
tree56089003de506bbf70b826e395c8ec7eb27c27d1
parent649b1fe856ad577a5db1b613c9fb0167a10abd8c
ARM: dts: vf610: add Miscellaneous System Control Module (MSCM)

Add the Miscellaneous System Control Module (MSCM) to the base
device tree for Vybrid SoC's. This module contains registers
to get information of the individual and current (accessing)
CPU. In a second block, there is an interrupt router, which
handles the routing of the interrupts between the two CPU cores
on VF6xx variants of the SoC. However, also on single core
variants the interrupt router needs to be configured in order
to receive interrupts on the CPU's interrupt controller. Almost
all peripheral interrupts are routed through the router, hence
the MSCM module is the default interrupt parent for this SoC.

In a earlier commit the interrupt nodes were moved out of the
peripheral nodes and specified in the CPU specific vf500.dtsi
device tree. This allowed to use the base device tree vfxxx.dtsi
also for a Cortex-M4 specific device tree, which uses different
interrupt nodes due to the NVIC interrupt controller. However,
since the interrupt parent for peripherals is the MSCM module
independently which CPU the device tree is used for, we can move
the interrupt nodes into the base device tree vfxxx.dtsi again.
Depending on which CPU this base device tree will be used with,
the correct parent interrupt controller has to be assigned to
the MSCM-IR node (GIC or NVIC). The driver takes care of the
parent interrupt controller specific needs (interrupt-cells).

Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Stefan Agner <stefan@agner.ch>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
arch/arm/boot/dts/vf500.dtsi
arch/arm/boot/dts/vfxxx.dtsi