# Copyright 2009 Samsung Electronics Co.
#	Byungho Min <bhmin@samsung.com>
#
# Licensed under GPLv2

# Configuration options for the S5PC100 CPU

if ARCH_S5PC100

config CPU_S5PC100
	bool
	select ARM_AMBA
	select PL330_DMA if DMADEVICES
	select S5P_EXT_INT
	help
	  Enable S5PC100 CPU support

config S5PC100_SETUP_FB_24BPP
	bool
	help
	  Common setup code for S5PC1XX with an 24bpp RGB display helper.

config S5PC100_SETUP_I2C1
	bool
	help
	  Common setup code for i2c bus 1.

config S5PC100_SETUP_IDE
	bool
	help
	  Common setup code for S5PC100 IDE GPIO configurations

config S5PC100_SETUP_KEYPAD
	bool
	help
	  Common setup code for KEYPAD GPIO configurations.

config S5PC100_SETUP_SDHCI
	bool
	select S5PC100_SETUP_SDHCI_GPIO
	help
	  Internal helper functions for S5PC100 based SDHCI systems

config S5PC100_SETUP_SDHCI_GPIO
	bool
	help
	  Common setup code for SDHCI gpio.

config S5PC100_SETUP_SPI
	bool
	help
	  Common setup code for SPI GPIO configurations.

config MACH_SMDKC100
	bool "SMDKC100"
	select CPU_S5PC100
	select S3C_DEV_FB
	select S3C_DEV_HSMMC
	select S3C_DEV_HSMMC1
	select S3C_DEV_HSMMC2
	select S3C_DEV_I2C1
	select S3C_DEV_RTC
	select S3C_DEV_WDT
	select S5PC100_SETUP_FB_24BPP
	select S5PC100_SETUP_I2C1
	select S5PC100_SETUP_IDE
	select S5PC100_SETUP_KEYPAD
	select S5PC100_SETUP_SDHCI
	select S5P_DEV_FIMC0
	select S5P_DEV_FIMC1
	select S5P_DEV_FIMC2
	select SAMSUNG_DEV_ADC
	select SAMSUNG_DEV_BACKLIGHT
	select SAMSUNG_DEV_IDE
	select SAMSUNG_DEV_KEYPAD
	select SAMSUNG_DEV_PWM
	select SAMSUNG_DEV_TS
	help
	  Machine support for the Samsung SMDKC100

endif
