Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

irqchip: vf610-mscm: Add Vybrid MSCM bindings

Add binding documentation for CPU configuration and interrupt router
submodule of the Miscellaneous System Control Module. The MSCM is
used in all variants of Freescale Vybrid SoC's.

Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Stefan Agner <stefan@agner.ch>
Link: https://lkml.kernel.org/r/1425249689-32354-3-git-send-email-stefan@agner.ch
Signed-off-by: Jason Cooper <jason@lakedaemon.net>

authored by

Stefan Agner and committed by
Jason Cooper
4a073175 0494e11a

+47
+14
Documentation/devicetree/bindings/arm/freescale/fsl,vf610-mscm-cpucfg.txt
··· 1 + Freescale Vybrid Miscellaneous System Control - CPU Configuration 2 + 3 + The MSCM IP contains multiple sub modules, this binding describes the first 4 + block of registers which contains CPU configuration information. 5 + 6 + Required properties: 7 + - compatible: "fsl,vf610-mscm-cpucfg", "syscon" 8 + - reg: the register range of the MSCM CPU configuration registers 9 + 10 + Example: 11 + mscm_cpucfg: cpucfg@40001000 { 12 + compatible = "fsl,vf610-mscm-cpucfg", "syscon"; 13 + reg = <0x40001000 0x800>; 14 + }
+33
Documentation/devicetree/bindings/arm/freescale/fsl,vf610-mscm-ir.txt
··· 1 + Freescale Vybrid Miscellaneous System Control - Interrupt Router 2 + 3 + The MSCM IP contains multiple sub modules, this binding describes the second 4 + block of registers which control the interrupt router. The interrupt router 5 + allows to configure the recipient of each peripheral interrupt. Furthermore 6 + it controls the directed processor interrupts. The module is available in all 7 + Vybrid SoC's but is only really useful in dual core configurations (VF6xx 8 + which comes with a Cortex-A5/Cortex-M4 combination). 9 + 10 + Required properties: 11 + - compatible: "fsl,vf610-mscm-ir" 12 + - reg: the register range of the MSCM Interrupt Router 13 + - fsl,cpucfg: The handle to the MSCM CPU configuration node, required 14 + to get the current CPU ID 15 + - interrupt-controller: Identifies the node as an interrupt controller 16 + - #interrupt-cells: Two cells, interrupt number and cells. 17 + The hardware interrupt number according to interrupt 18 + assignment of the interrupt router is required. 19 + Flags get passed only when using GIC as parent. Flags 20 + encoding as documented by the GIC bindings. 21 + - interrupt-parent: Should be the phandle for the interrupt controller of 22 + the CPU the device tree is intended to be used on. This 23 + is either the node of the GIC or NVIC controller. 24 + 25 + Example: 26 + mscm_ir: interrupt-controller@40001800 { 27 + compatible = "fsl,vf610-mscm-ir"; 28 + reg = <0x40001800 0x400>; 29 + fsl,cpucfg = <&mscm_cpucfg>; 30 + interrupt-controller; 31 + #interrupt-cells = <2>; 32 + interrupt-parent = <&intc>; 33 + }