forked from Minki/linux
b1b3f49ce4
As suggested by Andrew Morton: This is a pet peeve of mine. Any time there's a long list of items (header file inclusions, kconfig entries, array initalisers, etc) and someone wants to add a new item, they *always* go and stick it at the end of the list. Guys, don't do this. Either put the new item into a randomly-chosen position or, probably better, alphanumerically sort the list. lets sort all our select statements alphanumerically. This commit was created by the following perl: while (<>) { while (/\\\s*$/) { $_ .= <>; } undef %selects if /^\s*config\s+/; if (/^\s+select\s+(\w+).*/) { if (defined($selects{$1})) { if ($selects{$1} eq $_) { print STDERR "Warning: removing duplicated $1 entry\n"; } else { print STDERR "Error: $1 differently selected\n". "\tOld: $selects{$1}\n". "\tNew: $_\n"; exit 1; } } $selects{$1} = $_; next; } if (%selects and (/^\s*$/ or /^\s+help/ or /^\s+---help---/ or /^endif/ or /^endchoice/)) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } undef %selects; } print; } if (%selects) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } } It found two duplicates: Warning: removing duplicated S5P_SETUP_MIPIPHY entry Warning: removing duplicated HARDIRQS_SW_RESEND entry and they are identical duplicates, hence the shrinkage in the diffstat of two lines. We have four testers reporting success of this change (Tony, Stephen, Linus and Sekhar.) Acked-by: Jason Cooper <jason@lakedaemon.net> Acked-by: Tony Lindgren <tony@atomide.com> Acked-by: Stephen Warren <swarren@nvidia.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
507 lines
11 KiB
Plaintext
507 lines
11 KiB
Plaintext
# arch/arm/plat-samsung/Kconfig
|
|
#
|
|
# Copyright 2009 Simtec Electronics
|
|
#
|
|
# Licensed under GPLv2
|
|
|
|
config PLAT_SAMSUNG
|
|
bool
|
|
depends on PLAT_S3C24XX || ARCH_S3C64XX || PLAT_S5P
|
|
default y
|
|
select GENERIC_IRQ_CHIP
|
|
select NO_IOPORT
|
|
help
|
|
Base platform code for all Samsung SoC based systems
|
|
|
|
config PLAT_S5P
|
|
bool
|
|
depends on (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210 || ARCH_EXYNOS)
|
|
default y
|
|
select ARCH_REQUIRE_GPIOLIB
|
|
select ARM_GIC if ARCH_EXYNOS
|
|
select ARM_VIC if !ARCH_EXYNOS
|
|
select GIC_NON_BANKED if ARCH_EXYNOS4
|
|
select NO_IOPORT
|
|
select PLAT_SAMSUNG
|
|
select S3C_GPIO_TRACK
|
|
select S5P_GPIO_DRVSTR
|
|
select SAMSUNG_CLKSRC
|
|
select SAMSUNG_GPIOLIB_4BIT
|
|
select SAMSUNG_IRQ_VIC_TIMER
|
|
help
|
|
Base platform code for Samsung's S5P series SoC.
|
|
|
|
if PLAT_SAMSUNG
|
|
|
|
# boot configurations
|
|
|
|
comment "Boot options"
|
|
|
|
config S3C_BOOT_WATCHDOG
|
|
bool "S3C Initialisation watchdog"
|
|
depends on S3C2410_WATCHDOG
|
|
help
|
|
Say y to enable the watchdog during the kernel decompression
|
|
stage. If the kernel fails to uncompress, then the watchdog
|
|
will trigger a reset and the system should restart.
|
|
|
|
config S3C_BOOT_ERROR_RESET
|
|
bool "S3C Reboot on decompression error"
|
|
help
|
|
Say y here to use the watchdog to reset the system if the
|
|
kernel decompressor detects an error during decompression.
|
|
|
|
config S3C_BOOT_UART_FORCE_FIFO
|
|
bool "Force UART FIFO on during boot process"
|
|
default y
|
|
help
|
|
Say Y here to force the UART FIFOs on during the kernel
|
|
uncompressor
|
|
|
|
|
|
config S3C_LOWLEVEL_UART_PORT
|
|
int "S3C UART to use for low-level messages"
|
|
default 0
|
|
help
|
|
Choice of which UART port to use for the low-level messages,
|
|
such as the `Uncompressing...` at start time. The value of
|
|
this configuration should be between zero and two. The port
|
|
must have been initialised by the boot-loader before use.
|
|
|
|
# timer options
|
|
|
|
config S5P_HRT
|
|
bool
|
|
select SAMSUNG_DEV_PWM
|
|
help
|
|
Use the High Resolution timer support
|
|
|
|
# clock options
|
|
|
|
config SAMSUNG_CLOCK
|
|
bool
|
|
default y if !COMMON_CLK
|
|
|
|
config SAMSUNG_CLKSRC
|
|
bool
|
|
help
|
|
Select the clock code for the clksrc implementation
|
|
used by newer systems such as the S3C64XX.
|
|
|
|
config S5P_CLOCK
|
|
def_bool (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210 || ARCH_EXYNOS)
|
|
help
|
|
Support common clock part for ARCH_S5P and ARCH_EXYNOS SoCs
|
|
|
|
# options for IRQ support
|
|
|
|
config SAMSUNG_IRQ_VIC_TIMER
|
|
bool
|
|
help
|
|
Internal configuration to build the VIC timer interrupt code.
|
|
|
|
config S5P_IRQ
|
|
def_bool (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210 || ARCH_EXYNOS)
|
|
help
|
|
Support common interrup part for ARCH_S5P and ARCH_EXYNOS SoCs
|
|
|
|
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.)
|
|
|
|
# options for gpio configuration support
|
|
|
|
config SAMSUNG_GPIOLIB_4BIT
|
|
bool
|
|
help
|
|
GPIOlib file contains the 4 bit modification functions for gpio
|
|
configuration. GPIOlib shall be compiled only for S3C64XX and S5P
|
|
series of processors.
|
|
|
|
config S3C_GPIO_CFG_S3C64XX
|
|
bool
|
|
help
|
|
Internal configuration to enable S3C64XX style GPIO configuration
|
|
functions.
|
|
|
|
config S5P_GPIO_DRVSTR
|
|
bool
|
|
help
|
|
Internal configuration to get and set correct GPIO driver strength
|
|
helper
|
|
|
|
config SAMSUNG_GPIO_EXTRA
|
|
int "Number of additional GPIO pins"
|
|
default 128 if SAMSUNG_GPIO_EXTRA128
|
|
default 64 if SAMSUNG_GPIO_EXTRA64
|
|
default 0
|
|
help
|
|
Use additional GPIO space in addition to the GPIO's the SOC
|
|
provides. This allows expanding the GPIO space for use with
|
|
GPIO expanders.
|
|
|
|
config SAMSUNG_GPIO_EXTRA64
|
|
bool
|
|
|
|
config SAMSUNG_GPIO_EXTRA128
|
|
bool
|
|
|
|
config S3C_GPIO_SPACE
|
|
int "Space between gpio banks"
|
|
default 0
|
|
help
|
|
Add a number of spare GPIO entries between each bank for debugging
|
|
purposes. This allows any problems where an counter overflows from
|
|
one bank to another to be caught, at the expense of using a little
|
|
more memory.
|
|
|
|
config S3C_GPIO_TRACK
|
|
bool
|
|
help
|
|
Internal configuration option to enable the s3c specific gpio
|
|
chip tracking if the platform requires it.
|
|
|
|
# uart options
|
|
|
|
config S5P_DEV_UART
|
|
def_bool y
|
|
depends on (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210)
|
|
|
|
# ADC driver
|
|
|
|
config S3C_ADC
|
|
bool "ADC common driver support"
|
|
help
|
|
Core support for the ADC block found in the Samsung SoC systems
|
|
for drivers such as the touchscreen and hwmon to use to share
|
|
this resource.
|
|
|
|
# device definitions to compile in
|
|
|
|
config S3C_DEV_HSMMC
|
|
bool
|
|
help
|
|
Compile in platform device definitions for HSMMC code
|
|
|
|
config S3C_DEV_HSMMC1
|
|
bool
|
|
help
|
|
Compile in platform device definitions for HSMMC channel 1
|
|
|
|
config S3C_DEV_HSMMC2
|
|
bool
|
|
help
|
|
Compile in platform device definitions for HSMMC channel 2
|
|
|
|
config S3C_DEV_HSMMC3
|
|
bool
|
|
help
|
|
Compile in platform device definitions for HSMMC channel 3
|
|
|
|
config S3C_DEV_HWMON
|
|
bool
|
|
help
|
|
Compile in platform device definitions for HWMON
|
|
|
|
config S3C_DEV_I2C1
|
|
bool
|
|
help
|
|
Compile in platform device definitions for I2C channel 1
|
|
|
|
config S3C_DEV_I2C2
|
|
bool
|
|
help
|
|
Compile in platform device definitions for I2C channel 2
|
|
|
|
config S3C_DEV_I2C3
|
|
bool
|
|
help
|
|
Compile in platform device definition for I2C controller 3
|
|
|
|
config S3C_DEV_I2C4
|
|
bool
|
|
help
|
|
Compile in platform device definition for I2C controller 4
|
|
|
|
config S3C_DEV_I2C5
|
|
bool
|
|
help
|
|
Compile in platform device definition for I2C controller 5
|
|
|
|
config S3C_DEV_I2C6
|
|
bool
|
|
help
|
|
Compile in platform device definition for I2C controller 6
|
|
|
|
config S3C_DEV_I2C7
|
|
bool
|
|
help
|
|
Compile in platform device definition for I2C controller 7
|
|
|
|
config S3C_DEV_FB
|
|
bool
|
|
help
|
|
Compile in platform device definition for framebuffer
|
|
|
|
config S3C_DEV_USB_HOST
|
|
bool
|
|
help
|
|
Compile in platform device definition for USB host.
|
|
|
|
config S3C_DEV_USB_HSOTG
|
|
bool
|
|
help
|
|
Compile in platform device definition for USB high-speed OtG
|
|
|
|
config S3C_DEV_WDT
|
|
bool
|
|
default y if ARCH_S3C24XX
|
|
help
|
|
Complie in platform device definition for Watchdog Timer
|
|
|
|
config S3C_DEV_NAND
|
|
bool
|
|
help
|
|
Compile in platform device definition for NAND controller
|
|
|
|
config S3C_DEV_ONENAND
|
|
bool
|
|
help
|
|
Compile in platform device definition for OneNAND controller
|
|
|
|
config S3C_DEV_RTC
|
|
bool
|
|
help
|
|
Complie in platform device definition for RTC
|
|
|
|
config SAMSUNG_DEV_ADC
|
|
bool
|
|
help
|
|
Compile in platform device definition for ADC controller
|
|
|
|
config SAMSUNG_DEV_IDE
|
|
bool
|
|
help
|
|
Compile in platform device definitions for IDE
|
|
|
|
config S3C64XX_DEV_SPI0
|
|
bool
|
|
help
|
|
Compile in platform device definitions for S3C64XX's type
|
|
SPI controller 0
|
|
|
|
config S3C64XX_DEV_SPI1
|
|
bool
|
|
help
|
|
Compile in platform device definitions for S3C64XX's type
|
|
SPI controller 1
|
|
|
|
config S3C64XX_DEV_SPI2
|
|
bool
|
|
help
|
|
Compile in platform device definitions for S3C64XX's type
|
|
SPI controller 2
|
|
|
|
config SAMSUNG_DEV_TS
|
|
bool
|
|
help
|
|
Common in platform device definitions for touchscreen device
|
|
|
|
config SAMSUNG_DEV_KEYPAD
|
|
bool
|
|
help
|
|
Compile in platform device definitions for keypad
|
|
|
|
config SAMSUNG_DEV_PWM
|
|
bool
|
|
default y if ARCH_S3C24XX
|
|
help
|
|
Compile in platform device definition for PWM Timer
|
|
|
|
config SAMSUNG_DEV_BACKLIGHT
|
|
bool
|
|
depends on SAMSUNG_DEV_PWM
|
|
help
|
|
Compile in platform device definition LCD backlight with PWM Timer
|
|
|
|
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_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_G2D
|
|
bool
|
|
help
|
|
Compile in platform device definitions for G2D device
|
|
|
|
config S5P_DEV_I2C_HDMIPHY
|
|
bool
|
|
help
|
|
Compile in platform device definitions for I2C HDMIPHY controller
|
|
|
|
config S5P_DEV_JPEG
|
|
bool
|
|
help
|
|
Compile in platform device definitions for JPEG codec
|
|
|
|
config S5P_DEV_MFC
|
|
bool
|
|
help
|
|
Compile in setup memory (init) code for MFC
|
|
|
|
config S5P_DEV_ONENAND
|
|
bool
|
|
help
|
|
Compile in platform device definition for OneNAND controller
|
|
|
|
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 S3C24XX_PWM
|
|
bool "PWM device support"
|
|
select PWM
|
|
select PWM_SAMSUNG
|
|
help
|
|
Support for exporting the PWM timer blocks via the pwm device
|
|
system
|
|
|
|
config S5P_SETUP_MIPIPHY
|
|
bool
|
|
help
|
|
Compile in common setup code for MIPI-CSIS and MIPI-DSIM devices
|
|
|
|
# DMA
|
|
|
|
config S3C_DMA
|
|
bool
|
|
help
|
|
Internal configuration for S3C DMA core
|
|
|
|
config SAMSUNG_DMADEV
|
|
bool
|
|
select ARM_AMBA
|
|
select DMADEVICES
|
|
select PL330_DMA if (ARCH_EXYNOS5 || ARCH_EXYNOS4 || CPU_S5PV210 || CPU_S5PC100 || \
|
|
CPU_S5P6450 || CPU_S5P6440)
|
|
help
|
|
Use DMA device engine for PL330 DMAC.
|
|
|
|
comment "Power management"
|
|
|
|
config SAMSUNG_PM_DEBUG
|
|
bool "S3C2410 PM Suspend debug"
|
|
depends on PM
|
|
select DEBUG_LL
|
|
help
|
|
Say Y here if you want verbose debugging from the PM Suspend and
|
|
Resume code. See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
|
|
for more information.
|
|
|
|
config S3C_PM_DEBUG_LED_SMDK
|
|
bool "SMDK LED suspend/resume debugging"
|
|
depends on PM && (MACH_SMDK6410)
|
|
help
|
|
Say Y here to enable the use of the SMDK LEDs on the baseboard
|
|
for debugging of the state of the suspend and resume process.
|
|
|
|
Note, this currently only works for S3C64XX based SMDK boards.
|
|
|
|
config SAMSUNG_PM_CHECK
|
|
bool "S3C2410 PM Suspend Memory CRC"
|
|
depends on PM && CRC32
|
|
help
|
|
Enable the PM code's memory area checksum over sleep. This option
|
|
will generate CRCs of all blocks of memory, and store them before
|
|
going to sleep. The blocks are then checked on resume for any
|
|
errors.
|
|
|
|
Note, this can take several seconds depending on memory size
|
|
and CPU speed.
|
|
|
|
See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
|
|
|
|
config SAMSUNG_PM_CHECK_CHUNKSIZE
|
|
int "S3C2410 PM Suspend CRC Chunksize (KiB)"
|
|
depends on PM && SAMSUNG_PM_CHECK
|
|
default 64
|
|
help
|
|
Set the chunksize in Kilobytes of the CRC for checking memory
|
|
corruption over suspend and resume. A smaller value will mean that
|
|
the CRC data block will take more memory, but wil identify any
|
|
faults with better precision.
|
|
|
|
See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
|
|
|
|
config SAMSUNG_WAKEMASK
|
|
bool
|
|
depends on PM
|
|
help
|
|
Compile support for wakeup-mask controls found on the S3C6400
|
|
and above. This code allows a set of interrupt to wakeup-mask
|
|
mappings. See <plat/wakeup-mask.h>
|
|
|
|
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.
|
|
|
|
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 DEBUG_S3C_UART
|
|
depends on PLAT_SAMSUNG
|
|
int
|
|
default "0" if DEBUG_S3C_UART0
|
|
default "1" if DEBUG_S3C_UART1
|
|
default "2" if DEBUG_S3C_UART2
|
|
|
|
endif
|