# arch/arm/mach-s3c2442/Kconfig
#
# Copyright 2007 Simtec Electronics
#
# Licensed under GPLv2

config CPU_S3C2442
	bool
	depends on ARCH_S3C2410
	select CPU_ARM920T
	select S3C2410_CLOCK
	select S3C2410_GPIO
	select S3C2410_PM if PM
	select CPU_S3C244X
	select CPU_LLSERIAL_S3C2440
	help
	  Support for S3C2442 Samsung Mobile CPU based systems.


menu "S3C2442 Machines"

config SMDK2440_CPU2442
	bool "SMDM2440 with S3C2442 CPU module"
	depends on ARCH_S3C2440
	select CPU_S3C2442

config MACH_NEO1973_GTA02
	bool "Openmoko GTA02 / Freerunner phone"
	select CPU_S3C2442
	select MFD_PCF50633
	select PCF50633_GPIO
	select I2C
	select POWER_SUPPLY
	select MACH_NEO1973
	select S3C2410_PWM
	help
	   Say Y here if you are using the Openmoko GTA02 / Freerunner GSM Phone


endmenu

