linux/arch/arm/plat-s5p
Marc Zyngier db0d4db22a ARM: gic: allow GIC to support non-banked setups
The GIC support code is heavily using the fact that hardware
implementations are exposing banked registers. Unfortunately, it
looks like at least one GIC implementation (EXYNOS) offers both
the distributor and the CPU interfaces at different addresses,
depending on the CPU.

This problem is solved by allowing the distributor and CPU interface
addresses to be per-cpu variables for the platforms that require it.
The EXYNOS code is updated not to mess with the GIC internals while
handling interrupts, and struct gic_chip_data is back to being private.
The DT binding for the gic is updated to allow an optional "cpu-offset"
value, which is used to compute the various base addresses.

Finally, a new config option (GIC_NON_BANKED) is used to control this
feature, so the overhead is only present on kernels compiled with
support for EXYNOS.

Tested on Origen (EXYNOS4) and Panda (OMAP4).

Cc: Kukjin Kim <kgene.kim@samsung.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Thomas Abraham <thomas.abraham@linaro.org>
Acked-by: Rob Herring <rob.herring@calxeda.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2011-11-15 18:13:03 +00:00
..
clock.c ARM: S5P: fix bug in spdif_clk_get_rate 2011-08-19 21:21:08 +09:00
cpu.c ARM: EXYNOS: Add ARCH_EXYNOS and reorganize arch/arm/mach-exynos 2011-11-06 13:54:56 +09:00
dev-mfc.c ARM: S5P: To merge devs.c files to one devs.c 2011-10-06 11:15:09 +09:00
dev-uart.c ARM: SAMSUNG: Remove uart irq handling from plaform code 2011-08-23 10:48:31 -07:00
irq-eint.c arm: Fold irq_set_chip/irq_set_handler 2011-03-29 14:47:58 +02:00
irq-gpioint.c Merge branch 'next/cleanup3' of git://git.linaro.org/people/arnd/arm-soc 2011-11-05 18:18:05 -07:00
irq-pm.c ARM / Samsung: Use struct syscore_ops for "core" power management 2011-04-24 19:16:10 +02:00
irq.c ARM: SAMSUNG: Remove uart irq handling from plaform code 2011-08-23 10:48:31 -07:00
Kconfig ARM: gic: allow GIC to support non-banked setups 2011-11-15 18:13:03 +00:00
Makefile ARM: S5P: To merge devs.c files to one devs.c 2011-10-06 11:15:09 +09:00
pm.c ARM: S5P: Remove unused s3c_pm_check_resume_pin 2011-04-14 13:19:40 +09:00
s5p-time.c Merge branch 'next-samsung-clkdev-fix' into next-samsung-devel 2011-07-21 17:28:23 +09:00
setup-mipiphy.c ARM: S5P: Add support for common MIPI CSIS/DSIM D-PHY control 2011-03-11 15:49:01 +09:00
sleep.S ARM: S5P: Make the sleep code common for S5P series SoCs 2011-10-04 20:25:51 +09:00
sysmmu.c treewide: Convert uses of struct resource to resource_size(ptr) 2011-06-10 14:55:36 +02:00