Exynos4: Enable device tree support for GIC controller
Kukjin Kim
kgene.kim at samsung.com
Wed Nov 2 08:44:54 EDT 2011
Thomas Abraham wrote:
>
> Changes since v1:
> - Dropped device tree support for interrupt combiner controller from this
patchset.
> Some rework in the interrupt combiner controller code is required to
address
> the irq domain related comments from Grant Likely and hence those
changes will
> be in another patchset.
> - As suggested by Grant Likely, linux virq number 0 is left unused.
>
> This patchset adds device tree support for GIC controller in Exynos4 SoC.
>
> Patch 1 moves the statically mapped timer irqs 11 to 15 to the end of the
> statically mapped linux irq space for Exynos4 platforms.
>
> For Exynos4 platforms, the five hardware timer irqs are connected to GIC
> at some hardware irq number (in exynos it is GIC_ID 69 to 73 for five
timers).
> When any of these hardware interrupt occurs, its interrupt handler calls
> generic_handle_irq() with linux irq number 11/12/13/14/15 for timer
0/1/2/3/4
> as the parameter. The code that needs to be notified about the timer
interrupts
> would have already registered its handler for either of the interrupts 11
to 15.
>
> Instead of using linux irq number 11 to 15 to which consumers of timer
interrupt
> attach their handler, this interrupt range is moved to the end of linux
irq
> space used. So there will be no interrupts statically mapped between 0 to
31.
>
> The GIC hardware interrupts, which were previously statically mapped to
> start from linux irq 32 are now moved to start from linux irq 0. In case
of
> exynos, GIC_ID[0] (which is SGI[0]) which was previously at linux irq 32,
will
> not be at linux irq 0. This was required to use Rob Herring's GIC OF
bindings
> patches for Exynos4.
>
> Patch 2 adds a interceptor for all ioremap calls targeted towards any of
the
> statically remapped memory region. This was required because the GIC OF
> binding's patchset ioremaps the GIC memory-mapped regions in the
gic_of_init()
> function. Without this patch, there would be two separate remap for GIC
> controller, one statically remapped and the other dynamically remapped by
the
> gic_of_init() function. The patch will eventually be superseded by Nicolas
> Pitre's vmalloc patch series.
>
> Patch 3 adds device tree support for GIC controllers on Exynos4. For GIC
> controller, this patch is based on Rob Herring's,
> "[PATCH 0/3] GIC OF bindings" patchset.
>
> This patchset is based on the following tree:
> git://git.linaro.org/git/people/arnd/arm-soc.git branch: for-next
>
> Thomas Abraham (3):
> ARM: Exynos4: Move timer irq numbers to end of linux irq space
> ARM: Exynos4: Add ioremap interceptor for statically remapped regions
> ARM: Exynos4: Enable conversion of GIC dt irq specifier to linux virq
>
> arch/arm/mach-exynos4/cpu.c | 33
> +++++++++++++++++++++-
> arch/arm/mach-exynos4/include/mach/entry-macro.S | 1 -
> arch/arm/mach-exynos4/include/mach/io.h | 5 +++
> arch/arm/mach-exynos4/include/mach/irqs.h | 8 +++--
> arch/arm/mach-s5p64x0/include/mach/irqs.h | 2 +
> arch/arm/mach-s5pc100/include/mach/irqs.h | 2 +
> arch/arm/mach-s5pv210/include/mach/irqs.h | 2 +
> arch/arm/plat-samsung/include/plat/irqs.h | 3 +-
> 8 files changed, 50 insertions(+), 6 deletions(-)
Looks ok to me, I replaced previous patches with this series.
Thanks.
Best regards,
Kgene.
--
Kukjin Kim <kgene.kim at samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.
More information about the linux-arm-kernel
mailing list