mirror of
https://github.com/torvalds/linux.git
synced 2024-12-23 19:31:53 +00:00
db0d4db22a
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>
127 lines
2.6 KiB
Plaintext
127 lines
2.6 KiB
Plaintext
# arch/arm/plat-s5p/Kconfig
|
|
#
|
|
# Copyright (c) 2009 Samsung Electronics Co., Ltd.
|
|
# http://www.samsung.com/
|
|
#
|
|
# Licensed under GPLv2
|
|
|
|
config PLAT_S5P
|
|
bool
|
|
depends on (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210 || ARCH_EXYNOS)
|
|
default y
|
|
select ARM_VIC if !ARCH_EXYNOS4
|
|
select ARM_GIC if ARCH_EXYNOS4
|
|
select GIC_NON_BANKED if ARCH_EXYNOS4
|
|
select NO_IOPORT
|
|
select ARCH_REQUIRE_GPIOLIB
|
|
select S3C_GPIO_TRACK
|
|
select S5P_GPIO_DRVSTR
|
|
select SAMSUNG_GPIOLIB_4BIT
|
|
select PLAT_SAMSUNG
|
|
select SAMSUNG_CLKSRC
|
|
select SAMSUNG_IRQ_VIC_TIMER
|
|
help
|
|
Base platform code for Samsung's S5P series SoC.
|
|
|
|
config S5P_EXT_INT
|
|
bool
|
|
help
|
|
Use the external interrupts (other than GPIO interrupts.)
|
|
Note: Do not choose this for S5P6440 and S5P6450.
|
|
|
|
config S5P_GPIO_INT
|
|
bool
|
|
help
|
|
Common code for the GPIO interrupts (other than external interrupts.)
|
|
|
|
config S5P_HRT
|
|
bool
|
|
select SAMSUNG_DEV_PWM
|
|
help
|
|
Use the High Resolution timer support
|
|
|
|
config S5P_PM
|
|
bool
|
|
help
|
|
Common code for power management support on S5P and newer SoCs
|
|
Note: Do not select this for S5P6440 and S5P6450.
|
|
|
|
comment "System MMU"
|
|
|
|
config S5P_SYSTEM_MMU
|
|
bool "S5P SYSTEM MMU"
|
|
depends on ARCH_EXYNOS4
|
|
help
|
|
Say Y here if you want to enable System MMU
|
|
|
|
config S5P_SLEEP
|
|
bool
|
|
help
|
|
Internal config node to apply common S5P sleep management code.
|
|
Can be selected by S5P and newer SoCs with similar sleep procedure.
|
|
|
|
config S5P_DEV_FIMC0
|
|
bool
|
|
help
|
|
Compile in platform device definitions for FIMC controller 0
|
|
|
|
config S5P_DEV_FIMC1
|
|
bool
|
|
help
|
|
Compile in platform device definitions for FIMC controller 1
|
|
|
|
config S5P_DEV_FIMC2
|
|
bool
|
|
help
|
|
Compile in platform device definitions for FIMC controller 2
|
|
|
|
config S5P_DEV_FIMC3
|
|
bool
|
|
help
|
|
Compile in platform device definitions for FIMC controller 3
|
|
|
|
config S5P_DEV_FIMD0
|
|
bool
|
|
help
|
|
Compile in platform device definitions for FIMD controller 0
|
|
|
|
config S5P_DEV_I2C_HDMIPHY
|
|
bool
|
|
help
|
|
Compile in platform device definitions for I2C HDMIPHY controller
|
|
|
|
config S5P_DEV_MFC
|
|
bool
|
|
help
|
|
Compile in platform device definitions for MFC
|
|
|
|
config S5P_DEV_ONENAND
|
|
bool
|
|
help
|
|
Compile in platform device definition for OneNAND controller
|
|
|
|
config S5P_DEV_CSIS0
|
|
bool
|
|
help
|
|
Compile in platform device definitions for MIPI-CSIS channel 0
|
|
|
|
config S5P_DEV_CSIS1
|
|
bool
|
|
help
|
|
Compile in platform device definitions for MIPI-CSIS channel 1
|
|
|
|
config S5P_DEV_TV
|
|
bool
|
|
help
|
|
Compile in platform device definition for TV interface
|
|
|
|
config S5P_DEV_USB_EHCI
|
|
bool
|
|
help
|
|
Compile in platform device definition for USB EHCI
|
|
|
|
config S5P_SETUP_MIPIPHY
|
|
bool
|
|
help
|
|
Compile in common setup code for MIPI-CSIS and MIPI-DSIM devices
|