mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-29 15:43:59 +08:00
0f20e456bd
The gpio-samsung driver is special in the sense that it
interacts directly in multiple ways with the legacy platform
code for the s3c24xx and s3c64xx platforms. In contrast,
all devicetree based machines for Samsung, including the
ones on those two SoC families use a different driver.
The header files that define the interface between the platform
code and the gpio driver are not visible when building a
kernel for ARCH_MULTIPLATFORM, which prevents us from
turning on this option for s3c64xx.
To work around this, we now move the driver back into platform
code, from where it was originally moved to as part of commit
1b39d5f2cc
("gpio/samsung: gpio-samsung.c to support
Samsung GPIOs").
The long-term plan for this driver would be to remove it
entirely, after all Samsung machines have been converted
over to boot from DT, but there is currently no timeline
for when that might happen.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
310 lines
7.0 KiB
Plaintext
310 lines
7.0 KiB
Plaintext
# arch/arm/plat-samsung/Kconfig
|
|
#
|
|
# Copyright 2009 Simtec Electronics
|
|
#
|
|
# Licensed under GPLv2
|
|
|
|
config PLAT_SAMSUNG
|
|
bool
|
|
depends on PLAT_S3C24XX || ARCH_S3C64XX || ARCH_EXYNOS || ARCH_S5PV210
|
|
default y
|
|
select GENERIC_IRQ_CHIP
|
|
select NO_IOPORT_MAP
|
|
help
|
|
Base platform code for all Samsung SoC based systems
|
|
|
|
config SAMSUNG_PM
|
|
bool
|
|
depends on PM && (PLAT_S3C24XX || ARCH_S3C64XX)
|
|
default y
|
|
help
|
|
Base platform power management code for samsung code
|
|
|
|
if PLAT_SAMSUNG
|
|
menu "Samsung Common options"
|
|
|
|
# boot configurations
|
|
|
|
comment "Boot options"
|
|
|
|
config S3C_LOWLEVEL_UART_PORT
|
|
int "S3C UART to use for low-level messages"
|
|
depends on ARCH_S3C64XX
|
|
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.
|
|
|
|
config SAMSUNG_ATAGS
|
|
def_bool n
|
|
depends on !ARCH_MULTIPLATFORM
|
|
depends on ATAGS
|
|
help
|
|
This option enables ATAGS based boot support code for
|
|
Samsung platforms, including static platform devices, legacy
|
|
clock, timer and interrupt initialization, etc.
|
|
|
|
Platforms that support only DT based boot need not to select
|
|
this option.
|
|
|
|
if SAMSUNG_ATAGS
|
|
|
|
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.
|
|
|
|
# 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 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 GPIO_SAMSUNG
|
|
def_bool y
|
|
|
|
config SAMSUNG_PM_GPIO
|
|
bool
|
|
default y if GPIO_SAMSUNG && PM
|
|
help
|
|
Include legacy GPIO power management code for platforms not using
|
|
pinctrl-samsung driver.
|
|
endif
|
|
|
|
comment "Power management"
|
|
|
|
config SAMSUNG_PM_DEBUG
|
|
bool "Samsung PM Suspend debug"
|
|
depends on PM && DEBUG_KERNEL
|
|
depends on DEBUG_EXYNOS_UART || DEBUG_S3C24XX_UART || DEBUG_S3C2410_UART
|
|
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
|
|
select 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 SAMSUNG_WDT_RESET
|
|
bool
|
|
help
|
|
Compile support for system restart by triggering watchdog reset.
|
|
Used on SoCs that do not provide dedicated reset control.
|
|
|
|
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
|
|
|
|
endmenu
|
|
endif
|