![Olof Johansson](/assets/img/avatar_default.png)
From Kukjin Kim: This is including Samsung small updates(developments) for v3.8. Add node PL330 MDMA1 and UART3 for DEBUG_LL and secondary cpu bring-up for exynos4412. * 'next/devel-samsung-3' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: dts: add node for PL330 MDMA1 controller for exynos4 ARM: EXYNOS: Add support for secondary CPU bring-up on Exynos4412 ARM: EXYNOS: add UART3 to DEBUG_LL ports Signed-off-by: Olof Johansson <olof@lixom.net>
513 lines
11 KiB
Plaintext
513 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
|
|
|
|
config S3C_SETUP_CAMIF
|
|
bool
|
|
help
|
|
Compile in common setup code for S3C CAMIF 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
|
|
default "3" if DEBUG_S3C_UART3
|
|
|
|
endif
|