# 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 PLAT_S5P
	select S5P_EXT_INT
	select S3C_PL330_DMA
	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 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 SAMSUNG_DEV_ADC
	select SAMSUNG_DEV_IDE
	select SAMSUNG_DEV_KEYPAD
	select SAMSUNG_DEV_TS
	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
	help
	  Machine support for the Samsung SMDKC100

endif
