moko: Add 2.6.28 (doesn't boot :( )
authorMichael Büsch <mb@bu3sch.de>
Fri, 2 Jan 2009 00:51:54 +0000 (00:51 +0000)
committerMichael Büsch <mb@bu3sch.de>
Fri, 2 Jan 2009 00:51:54 +0000 (00:51 +0000)
SVN-Revision: 13801

target/linux/s3c24xx/config-2.6.28 [new file with mode: 0644]
target/linux/s3c24xx/patches-2.6.28/0001-merge-openmoko.patch [new file with mode: 0644]
target/linux/s3c24xx/patches-2.6.28/0002-disable-xt-chaos.patch [new file with mode: 0644]

diff --git a/target/linux/s3c24xx/config-2.6.28 b/target/linux/s3c24xx/config-2.6.28
new file mode 100644 (file)
index 0000000..5a51d41
--- /dev/null
@@ -0,0 +1,898 @@
+CONFIG_AEABI=y
+CONFIG_ALIGNMENT_TRAP=y
+CONFIG_ANDROID_BINDER_IPC=y
+CONFIG_ANDROID_LOGGER=y
+# CONFIG_ANDROID_PARANOID_NETWORK is not set
+CONFIG_ANDROID_POWER=y
+CONFIG_ANDROID_POWER_ALARM=y
+CONFIG_ANDROID_POWER_STAT=y
+# CONFIG_ANDROID_RAM_CONSOLE is not set
+# CONFIG_ANDROID_TIMED_GPIO is not set
+CONFIG_APM_EMULATION=y
+CONFIG_APM_POWER=y
+CONFIG_AR6000_WLAN=y
+# CONFIG_ARCH_AAEC2000 is not set
+# CONFIG_ARCH_AT91 is not set
+# CONFIG_ARCH_BAST is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CLPS7500 is not set
+# CONFIG_ARCH_DAVINCI is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_EP93XX is not set
+CONFIG_ARCH_FLATMEM_HAS_HOLES=y
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_H1940 is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_HAS_ILOG2_U32 is not set
+# CONFIG_ARCH_HAS_ILOG2_U64 is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_IOP13XX is not set
+# CONFIG_ARCH_IOP32X is not set
+# CONFIG_ARCH_IOP33X is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_IXP23XX is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_KIRKWOOD is not set
+# CONFIG_ARCH_KS8695 is not set
+# CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_LOKI is not set
+# CONFIG_ARCH_MSM is not set
+# CONFIG_ARCH_MV78XX0 is not set
+# CONFIG_ARCH_MXC is not set
+# CONFIG_ARCH_NETX is not set
+# CONFIG_ARCH_NS9XXX is not set
+# CONFIG_ARCH_OMAP is not set
+# CONFIG_ARCH_ORION5X is not set
+# CONFIG_ARCH_PNX4008 is not set
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_REALVIEW is not set
+CONFIG_ARCH_REQUIRE_GPIOLIB=y
+# CONFIG_ARCH_RPC is not set
+CONFIG_ARCH_S3C2410=y
+CONFIG_ARCH_S3C2440=y
+# CONFIG_ARCH_S3C64XX is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_SMDK2410 is not set
+# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
+# CONFIG_ARCH_SUPPORTS_MSI is not set
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+# CONFIG_ARCH_VERSATILE is not set
+CONFIG_ARM=y
+CONFIG_ARM_THUMB=y
+# CONFIG_ARPD is not set
+CONFIG_ASHMEM=y
+CONFIG_ATAGS_PROC=y
+# CONFIG_ATM is not set
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_CORGI=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+# CONFIG_BACKLIGHT_PWM is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+CONFIG_BASE_SMALL=0
+CONFIG_BATTERY_BQ27000_HDQ=y
+# CONFIG_BATTERY_BQ27x00 is not set
+# CONFIG_BATTERY_DS2760 is not set
+# CONFIG_BINFMT_AOUT is not set
+CONFIG_BITREVERSE=y
+CONFIG_BLK_DEV_DM=m
+# CONFIG_BLK_DEV_MD is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=4096
+CONFIG_BLK_DEV_SD=y
+CONFIG_BLK_DEV_SR=y
+# CONFIG_BLK_DEV_SR_VENDOR is not set
+CONFIG_BLK_DEV_UB=m
+# CONFIG_BLK_DEV_XIP is not set
+# CONFIG_BONDING is not set
+CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y
+CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=1
+# CONFIG_BOOT_PRINTK_DELAY is not set
+# CONFIG_BOOT_TRACER is not set
+# CONFIG_BRIDGE_EBT_NFLOG is not set
+CONFIG_BRIDGE_NETFILTER=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+CONFIG_BT=y
+CONFIG_BT_BNEP=y
+# CONFIG_BT_HCIBCM203X is not set
+# CONFIG_BT_HCIBFUSB is not set
+# CONFIG_BT_HCIBPA10X is not set
+CONFIG_BT_HCIBTUSB=y
+# CONFIG_BT_HCIUART is not set
+# CONFIG_BT_HCIVHCI is not set
+CONFIG_BT_HIDP=y
+CONFIG_BT_L2CAP=y
+CONFIG_BT_RFCOMM=y
+CONFIG_BT_SCO=y
+CONFIG_CHARGER_PCF50633=y
+CONFIG_CHR_DEV_SG=y
+# CONFIG_CIFS_STATS is not set
+CONFIG_CLASSIC_RCU=y
+CONFIG_CMDLINE="unused -- bootloader passes ATAG list"
+CONFIG_COMPAT_BRK=y
+CONFIG_CONFIGFS_FS=m
+CONFIG_CONNECTOR=m
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_CPU_32=y
+CONFIG_CPU_32v4T=y
+CONFIG_CPU_ABRT_EV4T=y
+CONFIG_CPU_ARM920T=y
+CONFIG_CPU_CACHE_V4WT=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_COPY_V4WB=y
+CONFIG_CPU_CP15=y
+CONFIG_CPU_CP15_MMU=y
+# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
+# CONFIG_CPU_ICACHE_DISABLE is not set
+CONFIG_CPU_IDLE=y
+CONFIG_CPU_IDLE_GOV_LADDER=y
+CONFIG_CPU_LLSERIAL_S3C2410=y
+CONFIG_CPU_LLSERIAL_S3C2440=y
+CONFIG_CPU_PABRT_NOIFAR=y
+CONFIG_CPU_S3C2410=y
+CONFIG_CPU_S3C2410_DMA=y
+CONFIG_CPU_S3C2440=y
+CONFIG_CPU_S3C2442=y
+CONFIG_CPU_S3C244X=y
+CONFIG_CPU_TLB_V4WBI=y
+CONFIG_CRAMFS=y
+CONFIG_CRC16=y
+CONFIG_CRC_CCITT=y
+# CONFIG_CRC_ITU_T is not set
+CONFIG_CRC_T10DIF=y
+CONFIG_CRYPTO_AEAD2=y
+CONFIG_CRYPTO_AES=y
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_ALGAPI2=y
+CONFIG_CRYPTO_ANSI_CPRNG=y
+CONFIG_CRYPTO_ARC4=y
+CONFIG_CRYPTO_BLKCIPHER=y
+CONFIG_CRYPTO_BLKCIPHER2=y
+CONFIG_CRYPTO_CBC=y
+CONFIG_CRYPTO_DES=y
+CONFIG_CRYPTO_ECB=y
+CONFIG_CRYPTO_FCRYPT=m
+CONFIG_CRYPTO_FIPS=y
+CONFIG_CRYPTO_GF128MUL=m
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_HMAC=y
+CONFIG_CRYPTO_HW=y
+CONFIG_CRYPTO_LRW=m
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+CONFIG_CRYPTO_MD5=y
+CONFIG_CRYPTO_PCBC=m
+CONFIG_CRYPTO_RNG=y
+CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_SHA1=y
+CONFIG_CRYPTO_XCBC=m
+CONFIG_DAB=y
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_DEVRES is not set
+# CONFIG_DEBUG_DRIVER is not set
+CONFIG_DEBUG_ERRORS=y
+CONFIG_DEBUG_GPIO=y
+CONFIG_DEBUG_INFO=y
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_KOBJECT is not set
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_DEBUG_LL is not set
+CONFIG_DEBUG_LOCKDEP=y
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+CONFIG_DEBUG_LOCK_ALLOC=y
+CONFIG_DEBUG_MEMORY_INIT=y
+CONFIG_DEBUG_MUTEXES=y
+# CONFIG_DEBUG_OBJECTS is not set
+CONFIG_DEBUG_PREEMPT=y
+# CONFIG_DEBUG_RT_MUTEXES is not set
+CONFIG_DEBUG_S3C_UART=2
+CONFIG_DEBUG_SG=y
+CONFIG_DEBUG_SHIRQ=y
+# CONFIG_DEBUG_SLAB is not set
+CONFIG_DEBUG_SPINLOCK=y
+CONFIG_DEBUG_SPINLOCK_SLEEP=y
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_DEBUG_USER is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_WRITECOUNT is not set
+CONFIG_DEFAULT_TCP_CONG="cubic"
+CONFIG_DETECT_SOFTLOCKUP=y
+CONFIG_DISPLAY_JBT6K74=y
+CONFIG_DISPLAY_SUPPORT=y
+# CONFIG_DM9000 is not set
+CONFIG_DMADEVICES=y
+CONFIG_DM_CRYPT=m
+# CONFIG_DM_DEBUG is not set
+# CONFIG_DM_DELAY is not set
+# CONFIG_DM_MIRROR is not set
+# CONFIG_DM_MULTIPATH is not set
+CONFIG_DM_SNAPSHOT=m
+# CONFIG_DM_UEVENT is not set
+# CONFIG_DM_ZERO is not set
+CONFIG_DNOTIFY=y
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_DYNAMIC_PRINTK_DEBUG=y
+# CONFIG_EEPROM_93CX6 is not set
+CONFIG_ELF_CORE=y
+# CONFIG_EMBEDDED is not set
+CONFIG_ENABLE_MUST_CHECK=y
+CONFIG_EXPORTFS=y
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+CONFIG_EXT4DEV_COMPAT=y
+CONFIG_EXT4_FS=y
+# CONFIG_EXT4_FS_POSIX_ACL is not set
+CONFIG_EXT4_FS_SECURITY=y
+CONFIG_EXT4_FS_XATTR=y
+CONFIG_FAT_FS=y
+# CONFIG_FAULT_INJECTION is not set
+CONFIG_FB=y
+# CONFIG_FB_BACKLIGHT is not set
+# CONFIG_FB_BOOT_VESA_SUPPORT is not set
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
+# CONFIG_FB_DDC is not set
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_MB862XX is not set
+# CONFIG_FB_METRONOME is not set
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_S1D13XXX is not set
+CONFIG_FB_S3C2410=y
+# CONFIG_FB_S3C2410_DEBUG is not set
+# CONFIG_FB_SVGALIB is not set
+# CONFIG_FB_SYS_COPYAREA is not set
+# CONFIG_FB_SYS_FILLRECT is not set
+# CONFIG_FB_SYS_FOPS is not set
+# CONFIG_FB_SYS_IMAGEBLIT is not set
+# CONFIG_FB_TILEBLITTING is not set
+# CONFIG_FB_UVESA is not set
+# CONFIG_FB_VIRTUAL is not set
+CONFIG_FIQ=y
+# CONFIG_FIRMWARE_EDID is not set
+CONFIG_FONTS=y
+# CONFIG_FONT_10x18 is not set
+CONFIG_FONT_6x11=y
+# CONFIG_FONT_7x14 is not set
+# CONFIG_FONT_8x16 is not set
+# CONFIG_FONT_8x8 is not set
+# CONFIG_FONT_ACORN_8x8 is not set
+# CONFIG_FONT_MINI_4x6 is not set
+# CONFIG_FONT_PEARL_8x8 is not set
+# CONFIG_FONT_SUN12x22 is not set
+# CONFIG_FONT_SUN8x16 is not set
+# CONFIG_FPE_FASTFPE is not set
+CONFIG_FPE_NWFPE=y
+# CONFIG_FPE_NWFPE_XP is not set
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+CONFIG_FRAME_POINTER=y
+CONFIG_FREEZER=y
+CONFIG_FS_MBCACHE=y
+CONFIG_FS_POSIX_ACL=y
+# CONFIG_FUNCTION_TRACER is not set
+CONFIG_FUSE_FS=m
+# CONFIG_GENERIC_CLOCKEVENTS is not set
+CONFIG_GENERIC_GPIO=y
+CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
+# CONFIG_GENERIC_TIME is not set
+CONFIG_GPIOLIB=y
+# CONFIG_GPIO_MAX7301 is not set
+# CONFIG_GPIO_MAX732X is not set
+CONFIG_GPIO_SYSFS=y
+CONFIG_GTA02_HDQ=y
+# CONFIG_HAMRADIO is not set
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_HAS_DMA=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAVE_AOUT=y
+CONFIG_HAVE_ARCH_KGDB=y
+CONFIG_HAVE_CLK=y
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+CONFIG_HAVE_IDE=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_HAVE_OPROFILE=y
+CONFIG_HAVE_PWM=y
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_HFS_FS is not set
+CONFIG_HID=y
+CONFIG_HID_A4TECH=y
+CONFIG_HID_APPLE=y
+CONFIG_HID_BELKIN=y
+CONFIG_HID_BRIGHT=y
+CONFIG_HID_CHERRY=y
+CONFIG_HID_CHICONY=y
+CONFIG_HID_COMPAT=y
+CONFIG_HID_CYPRESS=y
+CONFIG_HID_DELL=y
+CONFIG_HID_EZKEY=y
+CONFIG_HID_GYRATION=y
+CONFIG_HID_LOGITECH=y
+CONFIG_HID_MICROSOFT=y
+CONFIG_HID_MONTEREY=y
+CONFIG_HID_PANTHERLORD=y
+CONFIG_HID_PETALYNX=y
+CONFIG_HID_PID=y
+CONFIG_HID_SAMSUNG=y
+CONFIG_HID_SONY=y
+CONFIG_HID_SUNPLUS=y
+CONFIG_HID_SUPPORT=y
+# CONFIG_HTC_EGPIO is not set
+CONFIG_HWMON=y
+# CONFIG_HWMON_DEBUG_CHIP is not set
+CONFIG_HW_CONSOLE=y
+# CONFIG_HW_RANDOM is not set
+CONFIG_HZ=200
+CONFIG_I2C=y
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_HELPER_AUTO=y
+CONFIG_I2C_S3C2410=y
+# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
+# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
+# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
+# CONFIG_IDE is not set
+# CONFIG_IEEE80211 is not set
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_INOTIFY=y
+CONFIG_INOTIFY_USER=y
+CONFIG_INPUT=y
+# CONFIG_INPUT_CM109 is not set
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_GPIO_BUTTONS is not set
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_INPUT_LIS302DL=y
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_MOUSE=y
+CONFIG_INPUT_MOUSEDEV=y
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=480
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=640
+CONFIG_INPUT_PCF50633_PMU=y
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_INPUT_UINPUT=m
+# CONFIG_INPUT_YEALINK is not set
+CONFIG_IOSCHED_AS=m
+CONFIG_IOSCHED_CFQ=m
+CONFIG_IP6_NF_MANGLE=m
+CONFIG_IP6_NF_MATCH_EUI64=m
+CONFIG_IP6_NF_MATCH_FRAG=m
+CONFIG_IP6_NF_MATCH_HL=m
+CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+CONFIG_IP6_NF_MATCH_OPTS=m
+CONFIG_IP6_NF_MATCH_RT=m
+# CONFIG_IP6_NF_QUEUE is not set
+# CONFIG_IP6_NF_RAW is not set
+CONFIG_IP6_NF_TARGET_LOG=m
+CONFIG_IPV6_TUNNEL=m
+CONFIG_IP_NF_MATCH_ADDRTYPE=m
+CONFIG_IP_NF_MATCH_ECN=m
+# CONFIG_IP_NF_QUEUE is not set
+# CONFIG_IP_NF_RAW is not set
+CONFIG_IP_NF_TARGET_ECN=m
+CONFIG_IP_NF_TARGET_LOG=m
+# CONFIG_IP_NF_TARGET_REDIRECT is not set
+CONFIG_IP_NF_TARGET_TTL=m
+CONFIG_IP_NF_TARGET_ULOG=m
+CONFIG_IP_PNP=y
+# CONFIG_IP_PNP_BOOTP is not set
+# CONFIG_IP_PNP_DHCP is not set
+# CONFIG_IP_PNP_RARP is not set
+# CONFIG_IP_ROUTE_MULTIPATH is not set
+# CONFIG_IP_ROUTE_VERBOSE is not set
+# CONFIG_ISDN is not set
+CONFIG_JBD=y
+CONFIG_JBD2=y
+# CONFIG_JBD2_DEBUG is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_KALLSYMS=y
+CONFIG_KALLSYMS_ALL=y
+CONFIG_KEXEC=y
+# CONFIG_KEYBOARD_ATKBD is not set
+CONFIG_KEYBOARD_GPIO=m
+# CONFIG_KEYBOARD_LKKBD is not set
+CONFIG_KEYBOARD_NEO1973=y
+# CONFIG_KEYBOARD_NEWTON is not set
+CONFIG_KEYBOARD_QT2410=y
+CONFIG_KEYBOARD_STOWAWAY=m
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KGDB is not set
+CONFIG_KMOD=y
+CONFIG_LATENCYTOP=y
+CONFIG_LCD_CLASS_DEVICE=y
+# CONFIG_LCD_ILI9320 is not set
+CONFIG_LCD_LTV350QV=y
+# CONFIG_LCD_PLATFORM is not set
+# CONFIG_LCD_TDO24M is not set
+# CONFIG_LCD_VGG2432A4 is not set
+# CONFIG_LEDS_ALIX is not set
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_NEO1973_GTA02=y
+CONFIG_LEDS_NEO1973_VIBRATOR=y
+CONFIG_LEDS_S3C24XX=m
+CONFIG_LEDS_TRIGGER_BACKLIGHT=y
+# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
+# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
+# CONFIG_LLC2 is not set
+CONFIG_LOCALVERSION="-mokodev"
+CONFIG_LOCKD=y
+CONFIG_LOCKDEP=y
+CONFIG_LOCK_KERNEL=y
+CONFIG_LOCK_STAT=y
+# CONFIG_LOGIRUMBLEPAD2_FF is not set
+# CONFIG_LOGITECH_FF is not set
+# CONFIG_LOGO is not set
+CONFIG_LOG_BUF_SHIFT=18
+CONFIG_LOW_MEMORY_KILLER=y
+# CONFIG_MACH_AML_M5900 is not set
+# CONFIG_MACH_ANUBIS is not set
+# CONFIG_MACH_AT2440EVB is not set
+# CONFIG_MACH_JIVE is not set
+# CONFIG_MACH_N30 is not set
+CONFIG_MACH_NEO1973=y
+# CONFIG_MACH_NEO1973_GTA01 is not set
+CONFIG_MACH_NEO1973_GTA02=y
+# CONFIG_MACH_NEXCODER_2440 is not set
+# CONFIG_MACH_OSIRIS is not set
+# CONFIG_MACH_OTOM is not set
+CONFIG_MACH_QT2410=y
+# CONFIG_MACH_RX3715 is not set
+CONFIG_MACH_SMDK=y
+# CONFIG_MACH_SMDK2412 is not set
+# CONFIG_MACH_SMDK2413 is not set
+# CONFIG_MACH_SMDK2443 is not set
+# CONFIG_MACH_TCT_HAMMER is not set
+# CONFIG_MACH_VR1000 is not set
+# CONFIG_MACH_VSTMS is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_MARKERS=y
+CONFIG_MD=y
+# CONFIG_MFD_CORE is not set
+CONFIG_MFD_GLAMO=y
+CONFIG_MFD_GLAMO_FB=y
+CONFIG_MFD_GLAMO_MCI=y
+CONFIG_MFD_GLAMO_SPI_FB=y
+CONFIG_MFD_GLAMO_SPI_GPIO=y
+# CONFIG_MFD_PCF50606 is not set
+CONFIG_MFD_PCF50633=y
+# CONFIG_MFD_T7L66XB is not set
+# CONFIG_MFD_TC6387XB is not set
+# CONFIG_MFD_TC6393XB is not set
+# CONFIG_MFD_TMIO is not set
+# CONFIG_MINIX_FS is not set
+CONFIG_MMC=y
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_BLOCK_BOUNCE=y
+# CONFIG_MMC_DEBUG is not set
+CONFIG_MMC_S3C=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_S3C=y
+# CONFIG_MMC_SPI is not set
+CONFIG_MMC_UNSAFE_RESUME=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_MOUSE_BCM5974 is not set
+# CONFIG_MOUSE_GPIO is not set
+# CONFIG_MOUSE_PS2 is not set
+# CONFIG_MOUSE_SERIAL is not set
+# CONFIG_MOUSE_VSXXXAA is not set
+CONFIG_MSDOS_FS=y
+CONFIG_MTD=y
+CONFIG_MTD_ABSENT=y
+# CONFIG_MTD_AFS_PARTS is not set
+# CONFIG_MTD_ALAUDA is not set
+# CONFIG_MTD_ARM_INTEGRATOR is not set
+CONFIG_MTD_BLKDEVS=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_MTD_BLOCK2MTD is not set
+CONFIG_MTD_CFI=y
+# CONFIG_MTD_CFI_ADV_OPTIONS is not set
+# CONFIG_MTD_CFI_AMDSTD is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+CONFIG_MTD_CFI_INTELEXT=y
+# CONFIG_MTD_CFI_STAA is not set
+CONFIG_MTD_CFI_UTIL=y
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+CONFIG_MTD_CONCAT=y
+CONFIG_MTD_GEN_PROBE=y
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MTDRAM is not set
+CONFIG_MTD_NAND=y
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+# CONFIG_MTD_NAND_ECC_SMC is not set
+# CONFIG_MTD_NAND_GPIO is not set
+CONFIG_MTD_NAND_IDS=y
+# CONFIG_MTD_NAND_MUSEUM_IDS is not set
+# CONFIG_MTD_NAND_NANDSIM is not set
+# CONFIG_MTD_NAND_PLATFORM is not set
+CONFIG_MTD_NAND_S3C2410=y
+# CONFIG_MTD_NAND_S3C2410_CLKSTOP is not set
+CONFIG_MTD_NAND_S3C2410_DEBUG=y
+CONFIG_MTD_NAND_S3C2410_HWECC=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+# CONFIG_MTD_ONENAND is not set
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_PHRAM is not set
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_PHYSMAP_BANKWIDTH=2
+CONFIG_MTD_PHYSMAP_LEN=0
+CONFIG_MTD_PHYSMAP_START=0x0
+# CONFIG_MTD_PLATRAM is not set
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_ROM=y
+# CONFIG_MTD_SLRAM is not set
+CONFIG_NAMESPACES=y
+# CONFIG_NEO1973_GTA02_2440 is not set
+# CONFIG_NETDEV_1000 is not set
+CONFIG_NETFILTER_NETLINK=m
+CONFIG_NETFILTER_NETLINK_LOG=m
+CONFIG_NETFILTER_NETLINK_QUEUE=m
+# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
+# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set
+# CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set
+# CONFIG_NETFILTER_XT_MATCH_CONNMARK is not set
+# CONFIG_NETFILTER_XT_MATCH_HELPER is not set
+# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set
+# CONFIG_NETFILTER_XT_MATCH_OWNER is not set
+CONFIG_NETFILTER_XT_MATCH_QUOTA=m
+# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set
+# CONFIG_NETFILTER_XT_MATCH_STATE is not set
+CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
+# CONFIG_NETFILTER_XT_MATCH_TIME is not set
+# CONFIG_NETFILTER_XT_MATCH_U32 is not set
+# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set
+# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set
+# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set
+# CONFIG_NET_CLS_ACT is not set
+# CONFIG_NET_CLS_FLOW is not set
+# CONFIG_NET_CLS_IND is not set
+# CONFIG_NET_IPGRE_BROADCAST is not set
+CONFIG_NET_IPIP=m
+CONFIG_NET_KEY_MIGRATE=y
+# CONFIG_NET_PKTGEN is not set
+CONFIG_NET_SCH_NETEM=m
+CONFIG_NFSD=y
+CONFIG_NFSD_V2_ACL=y
+CONFIG_NFSD_V3_ACL=y
+# CONFIG_NFSD_V4 is not set
+CONFIG_NFS_ACL_SUPPORT=y
+# CONFIG_NFS_FS is not set
+CONFIG_NF_CONNTRACK=y
+# CONFIG_NF_CONNTRACK_AMANDA is not set
+# CONFIG_NF_CONNTRACK_FTP is not set
+# CONFIG_NF_CONNTRACK_H323 is not set
+CONFIG_NF_CONNTRACK_IPV4=y
+# CONFIG_NF_CONNTRACK_IRC is not set
+# CONFIG_NF_CONNTRACK_MARK is not set
+# CONFIG_NF_CONNTRACK_PPTP is not set
+# CONFIG_NF_CONNTRACK_PROC_COMPAT is not set
+# CONFIG_NF_CONNTRACK_SIP is not set
+# CONFIG_NF_CONNTRACK_TFTP is not set
+CONFIG_NF_DEFRAG_IPV4=y
+# CONFIG_NF_NAT_AMANDA is not set
+# CONFIG_NF_NAT_FTP is not set
+# CONFIG_NF_NAT_H323 is not set
+# CONFIG_NF_NAT_IRC is not set
+# CONFIG_NF_NAT_PPTP is not set
+# CONFIG_NF_NAT_SIP is not set
+# CONFIG_NF_NAT_SNMP_BASIC is not set
+# CONFIG_NF_NAT_TFTP is not set
+CONFIG_NLS=y
+# CONFIG_NLS_CODEPAGE_1250 is not set
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_ISO8859_1=y
+# CONFIG_NLS_ISO8859_15 is not set
+# CONFIG_NLS_KOI8_R is not set
+CONFIG_NO_IOPORT=y
+CONFIG_NR_TTY_DEVICES=6
+# CONFIG_NVRAM is not set
+CONFIG_OABI_COMPAT=y
+# CONFIG_OUTER_CACHE is not set
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_PAGE_OFFSET=0xC0000000
+# CONFIG_PANTHERLORD_FF is not set
+CONFIG_PCA9632=y
+CONFIG_PCF50633_ADC=y
+CONFIG_PCF50633_GPIO=y
+# CONFIG_PCI_SYSCALL is not set
+CONFIG_PDA_POWER=y
+# CONFIG_PHYS_ADDR_T_64BIT is not set
+CONFIG_PLAT_S3C=y
+CONFIG_PLAT_S3C24XX=y
+CONFIG_PM=y
+# CONFIG_PM_DEBUG is not set
+CONFIG_PM_SLEEP=y
+CONFIG_POWER_SUPPLY=y
+CONFIG_POWER_SUPPLY_DEBUG=y
+CONFIG_PPP=y
+# CONFIG_PPPOE is not set
+# CONFIG_PPPOL2TP is not set
+CONFIG_PPP_ASYNC=y
+CONFIG_PPP_BSDCOMP=y
+CONFIG_PPP_DEFLATE=y
+CONFIG_PPP_MPPE=y
+CONFIG_PPP_SYNC_TTY=y
+CONFIG_PREEMPT=y
+CONFIG_PRINTK_TIME=y
+CONFIG_PROC_PAGE_MONITOR=y
+# CONFIG_PROVE_LOCKING is not set
+CONFIG_RCU_CPU_STALL_DETECTOR=y
+# CONFIG_RCU_TORTURE_TEST is not set
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_DEBUG=y
+CONFIG_REGULATOR_PCF50633=y
+CONFIG_RFKILL=y
+CONFIG_RFKILL_INPUT=y
+CONFIG_RFKILL_LEDS=y
+CONFIG_ROMFS_FS=y
+# CONFIG_RPCSEC_GSS_KRB5 is not set
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DEBUG=y
+# CONFIG_RTC_DRV_CMOS is not set
+# CONFIG_RTC_DRV_DS1305 is not set
+# CONFIG_RTC_DRV_DS1307 is not set
+# CONFIG_RTC_DRV_DS1374 is not set
+# CONFIG_RTC_DRV_DS1390 is not set
+# CONFIG_RTC_DRV_DS1553 is not set
+# CONFIG_RTC_DRV_DS1672 is not set
+# CONFIG_RTC_DRV_DS1742 is not set
+# CONFIG_RTC_DRV_DS3234 is not set
+# CONFIG_RTC_DRV_ISL1208 is not set
+# CONFIG_RTC_DRV_M41T80 is not set
+# CONFIG_RTC_DRV_M41T94 is not set
+# CONFIG_RTC_DRV_M48T59 is not set
+# CONFIG_RTC_DRV_M48T86 is not set
+# CONFIG_RTC_DRV_PCF50606 is not set
+CONFIG_RTC_DRV_PCF50633=y
+# CONFIG_RTC_DRV_PCF8563 is not set
+# CONFIG_RTC_DRV_PCF8583 is not set
+# CONFIG_RTC_DRV_RS5C372 is not set
+CONFIG_RTC_DRV_S3C=m
+# CONFIG_RTC_DRV_STK17TA8 is not set
+# CONFIG_RTC_DRV_TEST is not set
+# CONFIG_RTC_DRV_V3020 is not set
+# CONFIG_RTC_DRV_X1205 is not set
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+CONFIG_RTC_INTF_DEV=y
+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_LIB=y
+# CONFIG_RT_MUTEX_TESTER is not set
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_S3C2410_CLOCK=y
+CONFIG_S3C2410_DMA=y
+# CONFIG_S3C2410_DMA_DEBUG is not set
+CONFIG_S3C2410_GPIO=y
+CONFIG_S3C2410_PM=y
+# CONFIG_S3C2410_PM_CHECK is not set
+# CONFIG_S3C2410_PM_DEBUG is not set
+CONFIG_S3C2410_PWM=y
+CONFIG_S3C2410_WATCHDOG=m
+CONFIG_S3C2440_C_FIQ=y
+CONFIG_S3C2440_DMA=y
+CONFIG_S3C24XX_PWM=y
+# CONFIG_S3C_BOOT_ERROR_RESET is not set
+CONFIG_S3C_BOOT_UART_FORCE_FIFO=y
+# CONFIG_S3C_BOOT_WATCHDOG is not set
+CONFIG_S3C_GPIO_SPACE=0
+CONFIG_S3C_GPIO_TRACK=y
+CONFIG_S3C_LOWLEVEL_UART_PORT=2
+CONFIG_SCHEDSTATS=y
+CONFIG_SCHED_DEBUG=y
+CONFIG_SCSI=y
+CONFIG_SCSI_SCAN_ASYNC=y
+CONFIG_SCSI_WAIT_SCAN=m
+# CONFIG_SDIO_UART is not set
+CONFIG_SECURITYFS=y
+# CONFIG_SENSORS_MAX1111 is not set
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_PCF50606 is not set
+# CONFIG_SENSORS_PCF50633 is not set
+# CONFIG_SENSORS_TSL256X is not set
+# CONFIG_SERIAL_8250 is not set
+CONFIG_SERIAL_S3C2410=y
+CONFIG_SERIAL_S3C2440=y
+CONFIG_SERIAL_SAMSUNG=y
+CONFIG_SERIAL_SAMSUNG_CONSOLE=y
+CONFIG_SERIAL_SAMSUNG_UARTS=3
+CONFIG_SERIO=y
+# CONFIG_SERIO_RAW is not set
+# CONFIG_SERIO_SERPORT is not set
+CONFIG_SLHC=y
+CONFIG_SMDK2440_CPU2440=y
+CONFIG_SMDK2440_CPU2442=y
+CONFIG_SND=y
+CONFIG_SND_ARM=y
+CONFIG_SND_DEBUG=y
+# CONFIG_SND_DEBUG_VERBOSE is not set
+CONFIG_SND_MIXER_OSS=y
+CONFIG_SND_PCM=y
+CONFIG_SND_PCM_OSS=y
+CONFIG_SND_PCM_XRUN_DEBUG=y
+CONFIG_SND_S3C24XX_SOC=y
+CONFIG_SND_S3C24XX_SOC_I2S=y
+# CONFIG_SND_S3C24XX_SOC_LN2440SBC_ALC650 is not set
+CONFIG_SND_S3C24XX_SOC_NEO1973_GTA02_WM8753=y
+CONFIG_SND_SOC=y
+# CONFIG_SND_SOC_ALL_CODECS is not set
+CONFIG_SND_SOC_WM8753=y
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_TIMER=y
+# CONFIG_SOFT_WATCHDOG is not set
+CONFIG_SOUND=y
+CONFIG_SOUND_OSS_CORE=y
+CONFIG_SPI=y
+CONFIG_SPI_BITBANG=y
+# CONFIG_SPI_GPIO is not set
+CONFIG_SPI_MASTER=y
+# CONFIG_SPI_S3C24XX is not set
+CONFIG_SPI_S3C24XX_GPIO=y
+# CONFIG_SPI_SPIDEV is not set
+CONFIG_SPLIT_PTLOCK_CPUS=4096
+CONFIG_SSB_POSSIBLE=y
+CONFIG_STACKTRACE=y
+# CONFIG_STACK_TRACER is not set
+CONFIG_SUNRPC=y
+# CONFIG_SUNRPC_REGISTER_V4 is not set
+CONFIG_SUSPEND=y
+CONFIG_SUSPEND_FREEZER=y
+CONFIG_SYSFS_DEPRECATED=y
+CONFIG_SYSFS_DEPRECATED_V2=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_TCP_MD5SIG=y
+# CONFIG_THRUSTMASTER_FF is not set
+CONFIG_TIMER_STATS=y
+# CONFIG_TOUCHSCREEN_ADS7846 is not set
+# CONFIG_TOUCHSCREEN_ELO is not set
+CONFIG_TOUCHSCREEN_FILTER=y
+CONFIG_TOUCHSCREEN_FILTER_GROUP=y
+CONFIG_TOUCHSCREEN_FILTER_LINEAR=y
+CONFIG_TOUCHSCREEN_FILTER_MEAN=y
+CONFIG_TOUCHSCREEN_FILTER_MEDIAN=y
+# CONFIG_TOUCHSCREEN_FUJITSU is not set
+# CONFIG_TOUCHSCREEN_GUNZE is not set
+# CONFIG_TOUCHSCREEN_INEXIO is not set
+# CONFIG_TOUCHSCREEN_MK712 is not set
+# CONFIG_TOUCHSCREEN_MTOUCH is not set
+# CONFIG_TOUCHSCREEN_PCAP7200 is not set
+# CONFIG_TOUCHSCREEN_PENMOUNT is not set
+CONFIG_TOUCHSCREEN_S3C2410=y
+# CONFIG_TOUCHSCREEN_S3C2410_DEBUG is not set
+# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
+# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
+# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
+# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
+CONFIG_TUN=y
+# CONFIG_UDF_FS is not set
+CONFIG_UID16=y
+CONFIG_UIO=y
+CONFIG_UIO_PDRV=y
+# CONFIG_UIO_PDRV_GENIRQ is not set
+# CONFIG_UIO_SERCOS3 is not set
+# CONFIG_UIO_SMX is not set
+CONFIG_UNEVICTABLE_LRU=y
+CONFIG_USB=y
+CONFIG_USB_ACM=y
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+# CONFIG_USB_ARCH_HAS_EHCI is not set
+CONFIG_USB_BERRY_CHARGE=m
+# CONFIG_USB_CDC_COMPOSITE is not set
+CONFIG_USB_DEVICE_CLASS=y
+CONFIG_USB_EPSON2888=y
+CONFIG_USB_ETH=y
+CONFIG_USB_ETH_RNDIS=y
+# CONFIG_USB_FILE_STORAGE is not set
+CONFIG_USB_GADGET=y
+# CONFIG_USB_GADGETFS is not set
+# CONFIG_USB_GADGET_AMD5536UDC is not set
+# CONFIG_USB_GADGET_AT91 is not set
+# CONFIG_USB_GADGET_ATMEL_USBA is not set
+# CONFIG_USB_GADGET_DEBUG is not set
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+# CONFIG_USB_GADGET_DEBUG_FS is not set
+# CONFIG_USB_GADGET_DUALSPEED is not set
+# CONFIG_USB_GADGET_DUMMY_HCD is not set
+# CONFIG_USB_GADGET_FSL_QE is not set
+# CONFIG_USB_GADGET_FSL_USB2 is not set
+# CONFIG_USB_GADGET_GOKU is not set
+# CONFIG_USB_GADGET_LH7A40X is not set
+# CONFIG_USB_GADGET_M66592 is not set
+# CONFIG_USB_GADGET_MUSB_HDRC is not set
+# CONFIG_USB_GADGET_NET2280 is not set
+# CONFIG_USB_GADGET_OMAP is not set
+# CONFIG_USB_GADGET_PXA25X is not set
+# CONFIG_USB_GADGET_PXA27X is not set
+CONFIG_USB_GADGET_S3C2410=y
+CONFIG_USB_GADGET_SELECTED=y
+CONFIG_USB_GADGET_VBUS_DRAW=500
+# CONFIG_USB_G_PRINTER is not set
+# CONFIG_USB_G_SERIAL is not set
+CONFIG_USB_HID=y
+# CONFIG_USB_HSO is not set
+CONFIG_USB_IOWARRIOR=m
+CONFIG_USB_KC2190=y
+CONFIG_USB_LIBUSUAL=y
+# CONFIG_USB_MIDI_GADGET is not set
+CONFIG_USB_MON=y
+# CONFIG_USB_MUSB_HDRC is not set
+CONFIG_USB_NET_CDCETHER=y
+CONFIG_USB_NET_RNDIS_HOST=y
+# CONFIG_USB_NET_SMSC95XX is not set
+# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
+# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
+CONFIG_USB_OHCI_HCD=y
+CONFIG_USB_RTL8150=m
+CONFIG_USB_S3C2410=y
+CONFIG_USB_S3C2410_DEBUG=y
+CONFIG_USB_SERIAL=y
+# CONFIG_USB_SERIAL_CH341 is not set
+CONFIG_USB_SERIAL_CONSOLE=y
+# CONFIG_USB_SERIAL_IUU is not set
+CONFIG_USB_SERIAL_OPTION=y
+# CONFIG_USB_SERIAL_OTI6858 is not set
+CONFIG_USB_STORAGE=y
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_SUSPEND=y
+CONFIG_USB_TMC=m
+CONFIG_USB_TRANCEVIBRATOR=m
+CONFIG_USB_USBNET=y
+# CONFIG_USB_ZERO is not set
+# CONFIG_USER_NS is not set
+CONFIG_VECTORS_BASE=0xffff0000
+CONFIG_VFAT_FS=y
+# CONFIG_VGASTATE is not set
+# CONFIG_VGA_CONSOLE is not set
+# CONFIG_VIDEO_DEV is not set
+CONFIG_VIDEO_OUTPUT_CONTROL=y
+# CONFIG_VLAN_8021Q is not set
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_VT_HW_CONSOLE_BINDING=y
+# CONFIG_W1 is not set
+# CONFIG_WIRELESS_OLD_REGULATORY is not set
+# CONFIG_WLAN_80211 is not set
+CONFIG_XFRM_MIGRATE=y
+# CONFIG_XFRM_USER is not set
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_ZBOOT_ROM_TEXT=0x0
+# CONFIG_ZEROPLUS_FF is not set
+# CONFIG_ZISOFS is not set
+CONFIG_ZONE_DMA_FLAG=0
diff --git a/target/linux/s3c24xx/patches-2.6.28/0001-merge-openmoko.patch b/target/linux/s3c24xx/patches-2.6.28/0001-merge-openmoko.patch
new file mode 100644 (file)
index 0000000..77be550
--- /dev/null
@@ -0,0 +1,151201 @@
+Merge OpenMoko kernel patches
+git://git.openmoko.org/git/kernel.git#andy-tracking
+
+mb@homer   Thu Jan  1 22:58:51 UTC 2009
+
+---
+
+Index: linux-2.6.28/arch/arm/common/vic.c
+===================================================================
+--- linux-2.6.28.orig/arch/arm/common/vic.c    2008-12-25 00:26:37.000000000 +0100
++++ linux-2.6.28/arch/arm/common/vic.c 2009-01-02 00:01:56.000000000 +0100
+@@ -69,12 +69,12 @@ void __init vic_init(void __iomem *base,
+       /*
+        * Make sure we clear all existing interrupts
+        */
+-      writel(0, base + VIC_VECT_ADDR);
++      writel(0, base + VIC_PL190_VECT_ADDR);
+       for (i = 0; i < 19; i++) {
+               unsigned int value;
+-              value = readl(base + VIC_VECT_ADDR);
+-              writel(value, base + VIC_VECT_ADDR);
++              value = readl(base + VIC_PL190_VECT_ADDR);
++              writel(value, base + VIC_PL190_VECT_ADDR);
+       }
+       for (i = 0; i < 16; i++) {
+@@ -82,7 +82,7 @@ void __init vic_init(void __iomem *base,
+               writel(VIC_VECT_CNTL_ENABLE | i, reg);
+       }
+-      writel(32, base + VIC_DEF_VECT_ADDR);
++      writel(32, base + VIC_PL190_DEF_VECT_ADDR);
+       for (i = 0; i < 32; i++) {
+               unsigned int irq = irq_start + i;
+Index: linux-2.6.28/arch/arm/configs/gta02-moredrivers-defconfig
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.28/arch/arm/configs/gta02-moredrivers-defconfig  2009-01-02 00:01:56.000000000 +0100
+@@ -0,0 +1,2107 @@
++#
++# Automatically generated make config: don't edit
++# Linux kernel version: 2.6.28-rc4
++# Mon Dec 29 12:13:48 2008
++#
++CONFIG_ARM=y
++CONFIG_HAVE_PWM=y
++CONFIG_SYS_SUPPORTS_APM_EMULATION=y
++CONFIG_GENERIC_GPIO=y
++# CONFIG_GENERIC_TIME is not set
++# CONFIG_GENERIC_CLOCKEVENTS is not set
++CONFIG_MMU=y
++CONFIG_NO_IOPORT=y
++CONFIG_GENERIC_HARDIRQS=y
++CONFIG_STACKTRACE_SUPPORT=y
++CONFIG_HAVE_LATENCYTOP_SUPPORT=y
++CONFIG_LOCKDEP_SUPPORT=y
++CONFIG_TRACE_IRQFLAGS_SUPPORT=y
++CONFIG_HARDIRQS_SW_RESEND=y
++CONFIG_GENERIC_IRQ_PROBE=y
++CONFIG_RWSEM_GENERIC_SPINLOCK=y
++# CONFIG_ARCH_HAS_ILOG2_U32 is not set
++# CONFIG_ARCH_HAS_ILOG2_U64 is not set
++CONFIG_GENERIC_HWEIGHT=y
++CONFIG_GENERIC_CALIBRATE_DELAY=y
++CONFIG_FIQ=y
++CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
++CONFIG_VECTORS_BASE=0xffff0000
++CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
++
++#
++# General setup
++#
++CONFIG_EXPERIMENTAL=y
++CONFIG_BROKEN_ON_SMP=y
++CONFIG_LOCK_KERNEL=y
++CONFIG_INIT_ENV_ARG_LIMIT=32
++CONFIG_LOCALVERSION="-mokodev"
++# CONFIG_LOCALVERSION_AUTO is not set
++CONFIG_SWAP=y
++CONFIG_SYSVIPC=y
++CONFIG_SYSVIPC_SYSCTL=y
++# CONFIG_POSIX_MQUEUE is not set
++# CONFIG_BSD_PROCESS_ACCT is not set
++# CONFIG_TASKSTATS is not set
++# CONFIG_AUDIT is not set
++CONFIG_IKCONFIG=y
++CONFIG_IKCONFIG_PROC=y
++CONFIG_LOG_BUF_SHIFT=18
++# CONFIG_CGROUPS is not set
++# CONFIG_GROUP_SCHED is not set
++CONFIG_SYSFS_DEPRECATED=y
++CONFIG_SYSFS_DEPRECATED_V2=y
++# CONFIG_RELAY is not set
++CONFIG_NAMESPACES=y
++# CONFIG_UTS_NS is not set
++# CONFIG_IPC_NS is not set
++# CONFIG_USER_NS is not set
++# CONFIG_PID_NS is not set
++CONFIG_BLK_DEV_INITRD=y
++CONFIG_INITRAMFS_SOURCE=""
++CONFIG_CC_OPTIMIZE_FOR_SIZE=y
++CONFIG_SYSCTL=y
++# CONFIG_EMBEDDED is not set
++CONFIG_UID16=y
++CONFIG_SYSCTL_SYSCALL=y
++CONFIG_KALLSYMS=y
++CONFIG_KALLSYMS_ALL=y
++# CONFIG_KALLSYMS_EXTRA_PASS is not set
++CONFIG_HOTPLUG=y
++CONFIG_PRINTK=y
++CONFIG_BUG=y
++CONFIG_ELF_CORE=y
++CONFIG_COMPAT_BRK=y
++CONFIG_BASE_FULL=y
++CONFIG_FUTEX=y
++CONFIG_ANON_INODES=y
++CONFIG_EPOLL=y
++CONFIG_SIGNALFD=y
++CONFIG_TIMERFD=y
++CONFIG_EVENTFD=y
++CONFIG_SHMEM=y
++CONFIG_AIO=y
++CONFIG_ASHMEM=y
++CONFIG_VM_EVENT_COUNTERS=y
++CONFIG_SLAB=y
++# CONFIG_SLUB is not set
++# CONFIG_SLOB is not set
++# CONFIG_PROFILING is not set
++CONFIG_MARKERS=y
++CONFIG_HAVE_OPROFILE=y
++# CONFIG_KPROBES is not set
++CONFIG_HAVE_KPROBES=y
++CONFIG_HAVE_KRETPROBES=y
++CONFIG_HAVE_CLK=y
++CONFIG_HAVE_GENERIC_DMA_COHERENT=y
++CONFIG_SLABINFO=y
++CONFIG_RT_MUTEXES=y
++# CONFIG_TINY_SHMEM is not set
++CONFIG_BASE_SMALL=0
++CONFIG_MODULES=y
++# CONFIG_MODULE_FORCE_LOAD is not set
++CONFIG_MODULE_UNLOAD=y
++CONFIG_MODULE_FORCE_UNLOAD=y
++# CONFIG_MODVERSIONS is not set
++# CONFIG_MODULE_SRCVERSION_ALL is not set
++CONFIG_KMOD=y
++CONFIG_BLOCK=y
++# CONFIG_LBD is not set
++# CONFIG_BLK_DEV_IO_TRACE is not set
++# CONFIG_LSF is not set
++# CONFIG_BLK_DEV_BSG is not set
++# CONFIG_BLK_DEV_INTEGRITY is not set
++
++#
++# IO Schedulers
++#
++CONFIG_IOSCHED_NOOP=y
++CONFIG_IOSCHED_AS=m
++CONFIG_IOSCHED_DEADLINE=y
++CONFIG_IOSCHED_CFQ=m
++# CONFIG_DEFAULT_AS is not set
++CONFIG_DEFAULT_DEADLINE=y
++# CONFIG_DEFAULT_CFQ is not set
++# CONFIG_DEFAULT_NOOP is not set
++CONFIG_DEFAULT_IOSCHED="deadline"
++CONFIG_CLASSIC_RCU=y
++CONFIG_FREEZER=y
++
++#
++# System Type
++#
++# CONFIG_ARCH_AAEC2000 is not set
++# CONFIG_ARCH_INTEGRATOR is not set
++# CONFIG_ARCH_REALVIEW is not set
++# CONFIG_ARCH_VERSATILE is not set
++# CONFIG_ARCH_AT91 is not set
++# CONFIG_ARCH_CLPS7500 is not set
++# CONFIG_ARCH_CLPS711X is not set
++# CONFIG_ARCH_EBSA110 is not set
++# CONFIG_ARCH_EP93XX is not set
++# CONFIG_ARCH_FOOTBRIDGE is not set
++# CONFIG_ARCH_NETX is not set
++# CONFIG_ARCH_H720X is not set
++# CONFIG_ARCH_IMX is not set
++# CONFIG_ARCH_IOP13XX is not set
++# CONFIG_ARCH_IOP32X is not set
++# CONFIG_ARCH_IOP33X is not set
++# CONFIG_ARCH_IXP23XX is not set
++# CONFIG_ARCH_IXP2000 is not set
++# CONFIG_ARCH_IXP4XX is not set
++# CONFIG_ARCH_L7200 is not set
++# CONFIG_ARCH_KIRKWOOD is not set
++# CONFIG_ARCH_KS8695 is not set
++# CONFIG_ARCH_NS9XXX is not set
++# CONFIG_ARCH_LOKI is not set
++# CONFIG_ARCH_MV78XX0 is not set
++# CONFIG_ARCH_MXC is not set
++# CONFIG_ARCH_ORION5X is not set
++# CONFIG_ARCH_PNX4008 is not set
++# CONFIG_ARCH_PXA is not set
++# CONFIG_ARCH_RPC is not set
++# CONFIG_ARCH_SA1100 is not set
++CONFIG_ARCH_S3C2410=y
++# CONFIG_ARCH_S3C64XX is not set
++# CONFIG_ARCH_SHARK is not set
++# CONFIG_ARCH_LH7A40X is not set
++# CONFIG_ARCH_DAVINCI is not set
++# CONFIG_ARCH_OMAP is not set
++# CONFIG_ARCH_MSM is not set
++CONFIG_PLAT_S3C24XX=y
++CONFIG_S3C2410_CLOCK=y
++CONFIG_CPU_S3C244X=y
++CONFIG_S3C24XX_PWM=y
++CONFIG_S3C2410_DMA=y
++# CONFIG_S3C2410_DMA_DEBUG is not set
++CONFIG_MACH_SMDK=y
++CONFIG_MACH_NEO1973=y
++CONFIG_PLAT_S3C=y
++CONFIG_CPU_LLSERIAL_S3C2410=y
++CONFIG_CPU_LLSERIAL_S3C2440=y
++
++#
++# Boot options
++#
++# CONFIG_S3C_BOOT_WATCHDOG is not set
++# CONFIG_S3C_BOOT_ERROR_RESET is not set
++CONFIG_S3C_BOOT_UART_FORCE_FIFO=y
++
++#
++# Power management
++#
++# CONFIG_S3C2410_PM_DEBUG is not set
++# CONFIG_S3C2410_PM_CHECK is not set
++CONFIG_S3C_LOWLEVEL_UART_PORT=2
++CONFIG_S3C_GPIO_SPACE=0
++CONFIG_S3C_GPIO_TRACK=y
++
++#
++# S3C2400 Machines
++#
++CONFIG_CPU_S3C2410=y
++CONFIG_CPU_S3C2410_DMA=y
++CONFIG_S3C2410_PM=y
++CONFIG_S3C2410_GPIO=y
++CONFIG_S3C2410_PWM=y
++
++#
++# S3C2410 Machines
++#
++# CONFIG_ARCH_SMDK2410 is not set
++# CONFIG_ARCH_H1940 is not set
++# CONFIG_MACH_N30 is not set
++# CONFIG_ARCH_BAST is not set
++# CONFIG_MACH_OTOM is not set
++# CONFIG_MACH_AML_M5900 is not set
++# CONFIG_MACH_TCT_HAMMER is not set
++# CONFIG_MACH_VR1000 is not set
++CONFIG_MACH_QT2410=y
++# CONFIG_MACH_NEO1973_GTA01 is not set
++
++#
++# S3C2412 Machines
++#
++# CONFIG_MACH_JIVE is not set
++# CONFIG_MACH_SMDK2413 is not set
++# CONFIG_MACH_SMDK2412 is not set
++# CONFIG_MACH_VSTMS is not set
++CONFIG_CPU_S3C2440=y
++CONFIG_S3C2440_DMA=y
++CONFIG_S3C2440_C_FIQ=y
++
++#
++# S3C2440 Machines
++#
++# CONFIG_MACH_ANUBIS is not set
++# CONFIG_MACH_OSIRIS is not set
++# CONFIG_MACH_RX3715 is not set
++CONFIG_ARCH_S3C2440=y
++# CONFIG_MACH_NEXCODER_2440 is not set
++CONFIG_SMDK2440_CPU2440=y
++# CONFIG_MACH_AT2440EVB is not set
++CONFIG_MACH_NEO1973_GTA02=y
++# CONFIG_NEO1973_GTA02_2440 is not set
++CONFIG_CPU_S3C2442=y
++
++#
++# S3C2442 Machines
++#
++CONFIG_SMDK2440_CPU2442=y
++
++#
++# S3C2443 Machines
++#
++# CONFIG_MACH_SMDK2443 is not set
++
++#
++# Processor Type
++#
++CONFIG_CPU_32=y
++CONFIG_CPU_ARM920T=y
++CONFIG_CPU_32v4T=y
++CONFIG_CPU_ABRT_EV4T=y
++CONFIG_CPU_PABRT_NOIFAR=y
++CONFIG_CPU_CACHE_V4WT=y
++CONFIG_CPU_CACHE_VIVT=y
++CONFIG_CPU_COPY_V4WB=y
++CONFIG_CPU_TLB_V4WBI=y
++CONFIG_CPU_CP15=y
++CONFIG_CPU_CP15_MMU=y
++
++#
++# Processor Features
++#
++CONFIG_ARM_THUMB=y
++# CONFIG_CPU_ICACHE_DISABLE is not set
++# CONFIG_CPU_DCACHE_DISABLE is not set
++# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
++# CONFIG_OUTER_CACHE is not set
++
++#
++# Bus support
++#
++# CONFIG_PCI_SYSCALL is not set
++# CONFIG_ARCH_SUPPORTS_MSI is not set
++# CONFIG_PCCARD is not set
++
++#
++# Kernel Features
++#
++CONFIG_VMSPLIT_3G=y
++# CONFIG_VMSPLIT_2G is not set
++# CONFIG_VMSPLIT_1G is not set
++CONFIG_PAGE_OFFSET=0xC0000000
++CONFIG_PREEMPT=y
++CONFIG_HZ=200
++CONFIG_AEABI=y
++CONFIG_OABI_COMPAT=y
++CONFIG_ARCH_FLATMEM_HAS_HOLES=y
++# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
++# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
++CONFIG_SELECT_MEMORY_MODEL=y
++CONFIG_FLATMEM_MANUAL=y
++# CONFIG_DISCONTIGMEM_MANUAL is not set
++# CONFIG_SPARSEMEM_MANUAL is not set
++CONFIG_FLATMEM=y
++CONFIG_FLAT_NODE_MEM_MAP=y
++CONFIG_PAGEFLAGS_EXTENDED=y
++CONFIG_SPLIT_PTLOCK_CPUS=4096
++# CONFIG_RESOURCES_64BIT is not set
++# CONFIG_PHYS_ADDR_T_64BIT is not set
++CONFIG_ZONE_DMA_FLAG=0
++CONFIG_VIRT_TO_BUS=y
++CONFIG_UNEVICTABLE_LRU=y
++CONFIG_ALIGNMENT_TRAP=y
++
++#
++# Boot options
++#
++CONFIG_ZBOOT_ROM_TEXT=0x0
++CONFIG_ZBOOT_ROM_BSS=0x0
++CONFIG_CMDLINE="unused -- bootloader passes ATAG list"
++# CONFIG_XIP_KERNEL is not set
++CONFIG_KEXEC=y
++CONFIG_ATAGS_PROC=y
++
++#
++# CPU Power Management
++#
++CONFIG_CPU_IDLE=y
++CONFIG_CPU_IDLE_GOV_LADDER=y
++
++#
++# Floating point emulation
++#
++
++#
++# At least one emulation must be selected
++#
++CONFIG_FPE_NWFPE=y
++# CONFIG_FPE_NWFPE_XP is not set
++# CONFIG_FPE_FASTFPE is not set
++
++#
++# Userspace binary formats
++#
++CONFIG_BINFMT_ELF=y
++# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
++CONFIG_HAVE_AOUT=y
++# CONFIG_BINFMT_AOUT is not set
++# CONFIG_BINFMT_MISC is not set
++
++#
++# Power management options
++#
++CONFIG_PM=y
++# CONFIG_PM_DEBUG is not set
++CONFIG_PM_SLEEP=y
++CONFIG_SUSPEND=y
++CONFIG_SUSPEND_FREEZER=y
++CONFIG_APM_EMULATION=y
++CONFIG_ARCH_SUSPEND_POSSIBLE=y
++CONFIG_NET=y
++
++#
++# Networking options
++#
++CONFIG_PACKET=y
++CONFIG_PACKET_MMAP=y
++CONFIG_UNIX=y
++CONFIG_XFRM=y
++# CONFIG_XFRM_USER is not set
++# CONFIG_XFRM_SUB_POLICY is not set
++CONFIG_XFRM_MIGRATE=y
++# CONFIG_XFRM_STATISTICS is not set
++CONFIG_XFRM_IPCOMP=m
++CONFIG_NET_KEY=m
++CONFIG_NET_KEY_MIGRATE=y
++CONFIG_INET=y
++CONFIG_IP_MULTICAST=y
++CONFIG_IP_ADVANCED_ROUTER=y
++CONFIG_ASK_IP_FIB_HASH=y
++# CONFIG_IP_FIB_TRIE is not set
++CONFIG_IP_FIB_HASH=y
++CONFIG_IP_MULTIPLE_TABLES=y
++# CONFIG_IP_ROUTE_MULTIPATH is not set
++# CONFIG_IP_ROUTE_VERBOSE is not set
++CONFIG_IP_PNP=y
++# CONFIG_IP_PNP_DHCP is not set
++# CONFIG_IP_PNP_BOOTP is not set
++# CONFIG_IP_PNP_RARP is not set
++CONFIG_NET_IPIP=m
++CONFIG_NET_IPGRE=m
++# CONFIG_NET_IPGRE_BROADCAST is not set
++# CONFIG_IP_MROUTE is not set
++# CONFIG_ARPD is not set
++CONFIG_SYN_COOKIES=y
++CONFIG_INET_AH=m
++CONFIG_INET_ESP=m
++CONFIG_INET_IPCOMP=m
++CONFIG_INET_XFRM_TUNNEL=m
++CONFIG_INET_TUNNEL=m
++CONFIG_INET_XFRM_MODE_TRANSPORT=m
++CONFIG_INET_XFRM_MODE_TUNNEL=m
++CONFIG_INET_XFRM_MODE_BEET=m
++# CONFIG_INET_LRO is not set
++CONFIG_INET_DIAG=y
++CONFIG_INET_TCP_DIAG=y
++# CONFIG_TCP_CONG_ADVANCED is not set
++CONFIG_TCP_CONG_CUBIC=y
++CONFIG_DEFAULT_TCP_CONG="cubic"
++CONFIG_TCP_MD5SIG=y
++CONFIG_IPV6=m
++# CONFIG_IPV6_PRIVACY is not set
++# CONFIG_IPV6_ROUTER_PREF is not set
++# CONFIG_IPV6_OPTIMISTIC_DAD is not set
++CONFIG_INET6_AH=m
++CONFIG_INET6_ESP=m
++CONFIG_INET6_IPCOMP=m
++# CONFIG_IPV6_MIP6 is not set
++CONFIG_INET6_XFRM_TUNNEL=m
++CONFIG_INET6_TUNNEL=m
++CONFIG_INET6_XFRM_MODE_TRANSPORT=m
++CONFIG_INET6_XFRM_MODE_TUNNEL=m
++CONFIG_INET6_XFRM_MODE_BEET=m
++# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
++CONFIG_IPV6_SIT=m
++CONFIG_IPV6_NDISC_NODETYPE=y
++CONFIG_IPV6_TUNNEL=m
++# CONFIG_IPV6_MULTIPLE_TABLES is not set
++# CONFIG_IPV6_MROUTE is not set
++# CONFIG_NETWORK_SECMARK is not set
++CONFIG_NETFILTER=y
++# CONFIG_NETFILTER_DEBUG is not set
++CONFIG_NETFILTER_ADVANCED=y
++CONFIG_BRIDGE_NETFILTER=y
++
++#
++# Core Netfilter Configuration
++#
++CONFIG_NETFILTER_NETLINK=m
++CONFIG_NETFILTER_NETLINK_QUEUE=m
++CONFIG_NETFILTER_NETLINK_LOG=m
++CONFIG_NF_CONNTRACK=y
++# CONFIG_NF_CT_ACCT is not set
++# CONFIG_NF_CONNTRACK_MARK is not set
++# CONFIG_NF_CONNTRACK_EVENTS is not set
++# CONFIG_NF_CT_PROTO_DCCP is not set
++# CONFIG_NF_CT_PROTO_SCTP is not set
++# CONFIG_NF_CT_PROTO_UDPLITE is not set
++# CONFIG_NF_CONNTRACK_AMANDA is not set
++# CONFIG_NF_CONNTRACK_FTP is not set
++# CONFIG_NF_CONNTRACK_H323 is not set
++# CONFIG_NF_CONNTRACK_IRC is not set
++# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set
++# CONFIG_NF_CONNTRACK_PPTP is not set
++# CONFIG_NF_CONNTRACK_SANE is not set
++# CONFIG_NF_CONNTRACK_SIP is not set
++# CONFIG_NF_CONNTRACK_TFTP is not set
++# CONFIG_NF_CT_NETLINK is not set
++# CONFIG_NETFILTER_TPROXY is not set
++CONFIG_NETFILTER_XTABLES=m
++CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
++# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set
++CONFIG_NETFILTER_XT_TARGET_DSCP=m
++CONFIG_NETFILTER_XT_TARGET_MARK=m
++CONFIG_NETFILTER_XT_TARGET_NFLOG=m
++CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
++# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set
++CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
++# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set
++# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
++# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set
++# CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set
++# CONFIG_NETFILTER_XT_MATCH_CONNMARK is not set
++CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
++CONFIG_NETFILTER_XT_MATCH_DCCP=m
++CONFIG_NETFILTER_XT_MATCH_DSCP=m
++CONFIG_NETFILTER_XT_MATCH_ESP=m
++CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
++# CONFIG_NETFILTER_XT_MATCH_HELPER is not set
++# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set
++CONFIG_NETFILTER_XT_MATCH_LENGTH=m
++CONFIG_NETFILTER_XT_MATCH_LIMIT=m
++CONFIG_NETFILTER_XT_MATCH_MAC=m
++CONFIG_NETFILTER_XT_MATCH_MARK=m
++CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
++# CONFIG_NETFILTER_XT_MATCH_OWNER is not set
++CONFIG_NETFILTER_XT_MATCH_POLICY=m
++CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
++CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
++CONFIG_NETFILTER_XT_MATCH_QUOTA=m
++# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set
++CONFIG_NETFILTER_XT_MATCH_REALM=m
++# CONFIG_NETFILTER_XT_MATCH_RECENT is not set
++CONFIG_NETFILTER_XT_MATCH_SCTP=m
++# CONFIG_NETFILTER_XT_MATCH_STATE is not set
++CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
++CONFIG_NETFILTER_XT_MATCH_STRING=m
++CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
++# CONFIG_NETFILTER_XT_MATCH_TIME is not set
++# CONFIG_NETFILTER_XT_MATCH_U32 is not set
++# CONFIG_IP_VS is not set
++
++#
++# IP: Netfilter Configuration
++#
++CONFIG_NF_DEFRAG_IPV4=y
++CONFIG_NF_CONNTRACK_IPV4=y
++# CONFIG_NF_CONNTRACK_PROC_COMPAT is not set
++# CONFIG_IP_NF_QUEUE is not set
++CONFIG_IP_NF_IPTABLES=m
++CONFIG_IP_NF_MATCH_ADDRTYPE=m
++CONFIG_IP_NF_MATCH_AH=m
++CONFIG_IP_NF_MATCH_ECN=m
++CONFIG_IP_NF_MATCH_TTL=m
++CONFIG_IP_NF_FILTER=m
++CONFIG_IP_NF_TARGET_REJECT=m
++CONFIG_IP_NF_TARGET_LOG=m
++CONFIG_IP_NF_TARGET_ULOG=m
++CONFIG_NF_NAT=m
++CONFIG_NF_NAT_NEEDED=y
++CONFIG_IP_NF_TARGET_MASQUERADE=m
++# CONFIG_IP_NF_TARGET_NETMAP is not set
++# CONFIG_IP_NF_TARGET_REDIRECT is not set
++# CONFIG_NF_NAT_SNMP_BASIC is not set
++# CONFIG_NF_NAT_FTP is not set
++# CONFIG_NF_NAT_IRC is not set
++# CONFIG_NF_NAT_TFTP is not set
++# CONFIG_NF_NAT_AMANDA is not set
++# CONFIG_NF_NAT_PPTP is not set
++# CONFIG_NF_NAT_H323 is not set
++# CONFIG_NF_NAT_SIP is not set
++CONFIG_IP_NF_MANGLE=m
++# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
++CONFIG_IP_NF_TARGET_ECN=m
++CONFIG_IP_NF_TARGET_TTL=m
++# CONFIG_IP_NF_RAW is not set
++# CONFIG_IP_NF_ARPTABLES is not set
++
++#
++# IPv6: Netfilter Configuration
++#
++CONFIG_NF_CONNTRACK_IPV6=m
++# CONFIG_IP6_NF_QUEUE is not set
++CONFIG_IP6_NF_IPTABLES=m
++CONFIG_IP6_NF_MATCH_AH=m
++CONFIG_IP6_NF_MATCH_EUI64=m
++CONFIG_IP6_NF_MATCH_FRAG=m
++CONFIG_IP6_NF_MATCH_OPTS=m
++CONFIG_IP6_NF_MATCH_HL=m
++CONFIG_IP6_NF_MATCH_IPV6HEADER=m
++CONFIG_IP6_NF_MATCH_MH=m
++CONFIG_IP6_NF_MATCH_RT=m
++CONFIG_IP6_NF_TARGET_LOG=m
++CONFIG_IP6_NF_FILTER=m
++CONFIG_IP6_NF_TARGET_REJECT=m
++CONFIG_IP6_NF_MANGLE=m
++CONFIG_IP6_NF_TARGET_HL=m
++# CONFIG_IP6_NF_RAW is not set
++CONFIG_BRIDGE_NF_EBTABLES=m
++CONFIG_BRIDGE_EBT_BROUTE=m
++CONFIG_BRIDGE_EBT_T_FILTER=m
++CONFIG_BRIDGE_EBT_T_NAT=m
++CONFIG_BRIDGE_EBT_802_3=m
++CONFIG_BRIDGE_EBT_AMONG=m
++CONFIG_BRIDGE_EBT_ARP=m
++CONFIG_BRIDGE_EBT_IP=m
++# CONFIG_BRIDGE_EBT_IP6 is not set
++CONFIG_BRIDGE_EBT_LIMIT=m
++CONFIG_BRIDGE_EBT_MARK=m
++CONFIG_BRIDGE_EBT_PKTTYPE=m
++CONFIG_BRIDGE_EBT_STP=m
++CONFIG_BRIDGE_EBT_VLAN=m
++CONFIG_BRIDGE_EBT_ARPREPLY=m
++CONFIG_BRIDGE_EBT_DNAT=m
++CONFIG_BRIDGE_EBT_MARK_T=m
++CONFIG_BRIDGE_EBT_REDIRECT=m
++CONFIG_BRIDGE_EBT_SNAT=m
++CONFIG_BRIDGE_EBT_LOG=m
++CONFIG_BRIDGE_EBT_ULOG=m
++# CONFIG_BRIDGE_EBT_NFLOG is not set
++# CONFIG_IP_DCCP is not set
++# CONFIG_IP_SCTP is not set
++# CONFIG_TIPC is not set
++# CONFIG_ATM is not set
++CONFIG_STP=y
++CONFIG_BRIDGE=y
++# CONFIG_NET_DSA is not set
++# CONFIG_VLAN_8021Q is not set
++# CONFIG_DECNET is not set
++CONFIG_LLC=y
++# CONFIG_LLC2 is not set
++# CONFIG_IPX is not set
++# CONFIG_ATALK is not set
++# CONFIG_X25 is not set
++# CONFIG_LAPB is not set
++# CONFIG_ECONET is not set
++# CONFIG_WAN_ROUTER is not set
++CONFIG_NET_SCHED=y
++
++#
++# Queueing/Scheduling
++#
++CONFIG_NET_SCH_CBQ=m
++CONFIG_NET_SCH_HTB=m
++CONFIG_NET_SCH_HFSC=m
++CONFIG_NET_SCH_PRIO=m
++# CONFIG_NET_SCH_MULTIQ is not set
++CONFIG_NET_SCH_RED=m
++CONFIG_NET_SCH_SFQ=m
++CONFIG_NET_SCH_TEQL=m
++CONFIG_NET_SCH_TBF=m
++CONFIG_NET_SCH_GRED=m
++CONFIG_NET_SCH_DSMARK=m
++CONFIG_NET_SCH_NETEM=m
++
++#
++# Classification
++#
++CONFIG_NET_CLS=y
++CONFIG_NET_CLS_BASIC=m
++CONFIG_NET_CLS_TCINDEX=m
++CONFIG_NET_CLS_ROUTE4=m
++CONFIG_NET_CLS_ROUTE=y
++CONFIG_NET_CLS_FW=m
++CONFIG_NET_CLS_U32=m
++CONFIG_CLS_U32_PERF=y
++CONFIG_CLS_U32_MARK=y
++CONFIG_NET_CLS_RSVP=m
++CONFIG_NET_CLS_RSVP6=m
++# CONFIG_NET_CLS_FLOW is not set
++# CONFIG_NET_EMATCH is not set
++# CONFIG_NET_CLS_ACT is not set
++# CONFIG_NET_CLS_IND is not set
++CONFIG_NET_SCH_FIFO=y
++
++#
++# Network testing
++#
++# CONFIG_NET_PKTGEN is not set
++# CONFIG_HAMRADIO is not set
++# CONFIG_CAN is not set
++# CONFIG_IRDA is not set
++CONFIG_BT=y
++CONFIG_BT_L2CAP=y
++CONFIG_BT_SCO=y
++CONFIG_BT_RFCOMM=y
++CONFIG_BT_RFCOMM_TTY=y
++CONFIG_BT_BNEP=y
++CONFIG_BT_BNEP_MC_FILTER=y
++CONFIG_BT_BNEP_PROTO_FILTER=y
++CONFIG_BT_HIDP=y
++
++#
++# Bluetooth device drivers
++#
++CONFIG_BT_HCIBTUSB=y
++# CONFIG_BT_HCIBTSDIO is not set
++# CONFIG_BT_HCIUART is not set
++# CONFIG_BT_HCIBCM203X is not set
++# CONFIG_BT_HCIBPA10X is not set
++# CONFIG_BT_HCIBFUSB is not set
++# CONFIG_BT_HCIVHCI is not set
++# CONFIG_AF_RXRPC is not set
++# CONFIG_PHONET is not set
++CONFIG_FIB_RULES=y
++CONFIG_WIRELESS=y
++# CONFIG_CFG80211 is not set
++# CONFIG_WIRELESS_OLD_REGULATORY is not set
++CONFIG_WIRELESS_EXT=y
++CONFIG_WIRELESS_EXT_SYSFS=y
++# CONFIG_MAC80211 is not set
++# CONFIG_IEEE80211 is not set
++CONFIG_RFKILL=y
++CONFIG_RFKILL_INPUT=y
++CONFIG_RFKILL_LEDS=y
++# CONFIG_NET_9P is not set
++
++#
++# Device Drivers
++#
++
++#
++# Generic Driver Options
++#
++CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
++CONFIG_STANDALONE=y
++CONFIG_PREVENT_FIRMWARE_BUILD=y
++CONFIG_FW_LOADER=y
++# CONFIG_FIRMWARE_IN_KERNEL is not set
++CONFIG_EXTRA_FIRMWARE=""
++# CONFIG_DEBUG_DRIVER is not set
++# CONFIG_DEBUG_DEVRES is not set
++# CONFIG_SYS_HYPERVISOR is not set
++CONFIG_CONNECTOR=m
++CONFIG_MTD=y
++# CONFIG_MTD_DEBUG is not set
++CONFIG_MTD_CONCAT=y
++CONFIG_MTD_PARTITIONS=y
++# CONFIG_MTD_REDBOOT_PARTS is not set
++CONFIG_MTD_CMDLINE_PARTS=y
++# CONFIG_MTD_AFS_PARTS is not set
++# CONFIG_MTD_AR7_PARTS is not set
++
++#
++# User Modules And Translation Layers
++#
++CONFIG_MTD_CHAR=y
++CONFIG_MTD_BLKDEVS=y
++CONFIG_MTD_BLOCK=y
++# CONFIG_FTL is not set
++# CONFIG_NFTL is not set
++# CONFIG_INFTL is not set
++# CONFIG_RFD_FTL is not set
++# CONFIG_SSFDC is not set
++# CONFIG_MTD_OOPS is not set
++
++#
++# RAM/ROM/Flash chip drivers
++#
++CONFIG_MTD_CFI=y
++# CONFIG_MTD_JEDECPROBE is not set
++CONFIG_MTD_GEN_PROBE=y
++# CONFIG_MTD_CFI_ADV_OPTIONS is not set
++CONFIG_MTD_MAP_BANK_WIDTH_1=y
++CONFIG_MTD_MAP_BANK_WIDTH_2=y
++CONFIG_MTD_MAP_BANK_WIDTH_4=y
++# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
++# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
++# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
++CONFIG_MTD_CFI_I1=y
++CONFIG_MTD_CFI_I2=y
++# CONFIG_MTD_CFI_I4 is not set
++# CONFIG_MTD_CFI_I8 is not set
++CONFIG_MTD_CFI_INTELEXT=y
++# CONFIG_MTD_CFI_AMDSTD is not set
++# CONFIG_MTD_CFI_STAA is not set
++CONFIG_MTD_CFI_UTIL=y
++# CONFIG_MTD_RAM is not set
++CONFIG_MTD_ROM=y
++CONFIG_MTD_ABSENT=y
++
++#
++# Mapping drivers for chip access
++#
++# CONFIG_MTD_COMPLEX_MAPPINGS is not set
++CONFIG_MTD_PHYSMAP=y
++CONFIG_MTD_PHYSMAP_START=0x0
++CONFIG_MTD_PHYSMAP_LEN=0
++CONFIG_MTD_PHYSMAP_BANKWIDTH=2
++# CONFIG_MTD_ARM_INTEGRATOR is not set
++# CONFIG_MTD_PLATRAM is not set
++
++#
++# Self-contained MTD device drivers
++#
++# CONFIG_MTD_DATAFLASH is not set
++# CONFIG_MTD_M25P80 is not set
++# CONFIG_MTD_SLRAM is not set
++# CONFIG_MTD_PHRAM is not set
++# CONFIG_MTD_MTDRAM is not set
++# CONFIG_MTD_BLOCK2MTD is not set
++
++#
++# Disk-On-Chip Device Drivers
++#
++# CONFIG_MTD_DOC2000 is not set
++# CONFIG_MTD_DOC2001 is not set
++# CONFIG_MTD_DOC2001PLUS is not set
++CONFIG_MTD_NAND=y
++CONFIG_MTD_NAND_VERIFY_WRITE=y
++# CONFIG_MTD_NAND_ECC_SMC is not set
++# CONFIG_MTD_NAND_MUSEUM_IDS is not set
++# CONFIG_MTD_NAND_GPIO is not set
++CONFIG_MTD_NAND_IDS=y
++CONFIG_MTD_NAND_S3C2410=y
++CONFIG_MTD_NAND_S3C2410_DEBUG=y
++CONFIG_MTD_NAND_S3C2410_HWECC=y
++# CONFIG_MTD_NAND_S3C2410_CLKSTOP is not set
++# CONFIG_MTD_NAND_DISKONCHIP is not set
++# CONFIG_MTD_NAND_NANDSIM is not set
++# CONFIG_MTD_NAND_PLATFORM is not set
++# CONFIG_MTD_ALAUDA is not set
++# CONFIG_MTD_ONENAND is not set
++
++#
++# UBI - Unsorted block images
++#
++# CONFIG_MTD_UBI is not set
++# CONFIG_PARPORT is not set
++CONFIG_BLK_DEV=y
++# CONFIG_BLK_DEV_COW_COMMON is not set
++CONFIG_BLK_DEV_LOOP=m
++# CONFIG_BLK_DEV_CRYPTOLOOP is not set
++# CONFIG_BLK_DEV_NBD is not set
++CONFIG_BLK_DEV_UB=m
++CONFIG_BLK_DEV_RAM=y
++CONFIG_BLK_DEV_RAM_COUNT=16
++CONFIG_BLK_DEV_RAM_SIZE=4096
++# CONFIG_BLK_DEV_XIP is not set
++# CONFIG_CDROM_PKTCDVD is not set
++# CONFIG_ATA_OVER_ETH is not set
++CONFIG_MISC_DEVICES=y
++# CONFIG_EEPROM_93CX6 is not set
++CONFIG_LOW_MEMORY_KILLER=y
++# CONFIG_ENCLOSURE_SERVICES is not set
++CONFIG_HAVE_IDE=y
++# CONFIG_IDE is not set
++
++#
++# SCSI device support
++#
++# CONFIG_RAID_ATTRS is not set
++CONFIG_SCSI=y
++CONFIG_SCSI_DMA=y
++# CONFIG_SCSI_TGT is not set
++# CONFIG_SCSI_NETLINK is not set
++CONFIG_SCSI_PROC_FS=y
++
++#
++# SCSI support type (disk, tape, CD-ROM)
++#
++CONFIG_BLK_DEV_SD=y
++# CONFIG_CHR_DEV_ST is not set
++# CONFIG_CHR_DEV_OSST is not set
++CONFIG_BLK_DEV_SR=y
++# CONFIG_BLK_DEV_SR_VENDOR is not set
++CONFIG_CHR_DEV_SG=y
++# CONFIG_CHR_DEV_SCH is not set
++
++#
++# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
++#
++CONFIG_SCSI_MULTI_LUN=y
++# CONFIG_SCSI_CONSTANTS is not set
++# CONFIG_SCSI_LOGGING is not set
++CONFIG_SCSI_SCAN_ASYNC=y
++CONFIG_SCSI_WAIT_SCAN=m
++
++#
++# SCSI Transports
++#
++# CONFIG_SCSI_SPI_ATTRS is not set
++# CONFIG_SCSI_FC_ATTRS is not set
++# CONFIG_SCSI_ISCSI_ATTRS is not set
++# CONFIG_SCSI_SAS_LIBSAS is not set
++# CONFIG_SCSI_SRP_ATTRS is not set
++CONFIG_SCSI_LOWLEVEL=y
++# CONFIG_ISCSI_TCP is not set
++# CONFIG_SCSI_DEBUG is not set
++# CONFIG_SCSI_DH is not set
++# CONFIG_ATA is not set
++CONFIG_MD=y
++# CONFIG_BLK_DEV_MD is not set
++CONFIG_BLK_DEV_DM=m
++# CONFIG_DM_DEBUG is not set
++CONFIG_DM_CRYPT=m
++CONFIG_DM_SNAPSHOT=m
++# CONFIG_DM_MIRROR is not set
++# CONFIG_DM_ZERO is not set
++# CONFIG_DM_MULTIPATH is not set
++# CONFIG_DM_DELAY is not set
++# CONFIG_DM_UEVENT is not set
++CONFIG_NETDEVICES=y
++# CONFIG_DUMMY is not set
++# CONFIG_BONDING is not set
++# CONFIG_MACVLAN is not set
++# CONFIG_EQUALIZER is not set
++CONFIG_TUN=y
++# CONFIG_VETH is not set
++# CONFIG_PHYLIB is not set
++CONFIG_NET_ETHERNET=y
++CONFIG_MII=y
++# CONFIG_AX88796 is not set
++# CONFIG_SMC91X is not set
++# CONFIG_DM9000 is not set
++# CONFIG_ENC28J60 is not set
++# CONFIG_SMC911X is not set
++# CONFIG_IBM_NEW_EMAC_ZMII is not set
++# CONFIG_IBM_NEW_EMAC_RGMII is not set
++# CONFIG_IBM_NEW_EMAC_TAH is not set
++# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
++# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
++# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
++# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
++# CONFIG_B44 is not set
++# CONFIG_NETDEV_1000 is not set
++# CONFIG_NETDEV_10000 is not set
++
++#
++# Wireless LAN
++#
++# CONFIG_WLAN_PRE80211 is not set
++# CONFIG_WLAN_80211 is not set
++# CONFIG_IWLWIFI_LEDS is not set
++
++#
++# USB Network Adapters
++#
++CONFIG_USB_CATC=m
++CONFIG_USB_KAWETH=m
++CONFIG_USB_PEGASUS=m
++CONFIG_USB_RTL8150=m
++CONFIG_USB_USBNET=y
++CONFIG_USB_NET_AX8817X=m
++CONFIG_USB_NET_CDCETHER=y
++CONFIG_USB_NET_DM9601=m
++# CONFIG_USB_NET_SMSC95XX is not set
++CONFIG_USB_NET_GL620A=m
++CONFIG_USB_NET_NET1080=m
++CONFIG_USB_NET_PLUSB=m
++CONFIG_USB_NET_MCS7830=m
++CONFIG_USB_NET_RNDIS_HOST=y
++CONFIG_USB_NET_CDC_SUBSET=m
++CONFIG_USB_ALI_M5632=y
++CONFIG_USB_AN2720=y
++CONFIG_USB_BELKIN=y
++CONFIG_USB_ARMLINUX=y
++CONFIG_USB_EPSON2888=y
++CONFIG_USB_KC2190=y
++CONFIG_USB_NET_ZAURUS=m
++# CONFIG_USB_HSO is not set
++# CONFIG_WAN is not set
++CONFIG_PPP=y
++CONFIG_PPP_MULTILINK=y
++CONFIG_PPP_FILTER=y
++CONFIG_PPP_ASYNC=y
++CONFIG_PPP_SYNC_TTY=y
++CONFIG_PPP_DEFLATE=y
++CONFIG_PPP_BSDCOMP=y
++CONFIG_PPP_MPPE=y
++# CONFIG_PPPOE is not set
++# CONFIG_PPPOL2TP is not set
++# CONFIG_SLIP is not set
++CONFIG_SLHC=y
++# CONFIG_NETCONSOLE is not set
++# CONFIG_NETPOLL is not set
++# CONFIG_NET_POLL_CONTROLLER is not set
++# CONFIG_ISDN is not set
++
++#
++# Input device support
++#
++CONFIG_INPUT=y
++# CONFIG_INPUT_FF_MEMLESS is not set
++# CONFIG_INPUT_POLLDEV is not set
++
++#
++# Userland interfaces
++#
++CONFIG_INPUT_MOUSEDEV=y
++# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
++CONFIG_INPUT_MOUSEDEV_SCREEN_X=480
++CONFIG_INPUT_MOUSEDEV_SCREEN_Y=640
++# CONFIG_INPUT_JOYDEV is not set
++CONFIG_INPUT_EVDEV=y
++# CONFIG_INPUT_EVBUG is not set
++
++#
++# Input Device Drivers
++#
++CONFIG_INPUT_KEYBOARD=y
++# CONFIG_KEYBOARD_ATKBD is not set
++# CONFIG_KEYBOARD_SUNKBD is not set
++# CONFIG_KEYBOARD_LKKBD is not set
++# CONFIG_KEYBOARD_XTKBD is not set
++# CONFIG_KEYBOARD_NEWTON is not set
++CONFIG_KEYBOARD_STOWAWAY=m
++CONFIG_KEYBOARD_GPIO=m
++CONFIG_KEYBOARD_NEO1973=y
++CONFIG_KEYBOARD_QT2410=y
++CONFIG_INPUT_MOUSE=y
++# CONFIG_MOUSE_PS2 is not set
++# CONFIG_MOUSE_SERIAL is not set
++# CONFIG_MOUSE_APPLETOUCH is not set
++# CONFIG_MOUSE_BCM5974 is not set
++# CONFIG_MOUSE_VSXXXAA is not set
++# CONFIG_MOUSE_GPIO is not set
++# CONFIG_INPUT_JOYSTICK is not set
++# CONFIG_INPUT_TABLET is not set
++CONFIG_INPUT_TOUCHSCREEN=y
++CONFIG_TOUCHSCREEN_FILTER=y
++CONFIG_TOUCHSCREEN_FILTER_GROUP=y
++CONFIG_TOUCHSCREEN_FILTER_MEDIAN=y
++CONFIG_TOUCHSCREEN_FILTER_MEAN=y
++CONFIG_TOUCHSCREEN_FILTER_LINEAR=y
++# CONFIG_TOUCHSCREEN_ADS7846 is not set
++# CONFIG_TOUCHSCREEN_FUJITSU is not set
++CONFIG_TOUCHSCREEN_S3C2410=y
++# CONFIG_TOUCHSCREEN_S3C2410_DEBUG is not set
++# CONFIG_TOUCHSCREEN_GUNZE is not set
++# CONFIG_TOUCHSCREEN_ELO is not set
++# CONFIG_TOUCHSCREEN_MTOUCH is not set
++# CONFIG_TOUCHSCREEN_INEXIO is not set
++# CONFIG_TOUCHSCREEN_MK712 is not set
++# CONFIG_TOUCHSCREEN_PENMOUNT is not set
++# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
++# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
++# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
++# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
++# CONFIG_TOUCHSCREEN_PCAP7200 is not set
++CONFIG_INPUT_MISC=y
++# CONFIG_INPUT_ATI_REMOTE is not set
++# CONFIG_INPUT_ATI_REMOTE2 is not set
++# CONFIG_INPUT_KEYSPAN_REMOTE is not set
++# CONFIG_INPUT_POWERMATE is not set
++# CONFIG_INPUT_YEALINK is not set
++# CONFIG_INPUT_CM109 is not set
++CONFIG_INPUT_UINPUT=m
++CONFIG_INPUT_LIS302DL=y
++CONFIG_INPUT_PCF50633_PMU=y
++
++#
++# Hardware I/O ports
++#
++CONFIG_SERIO=y
++# CONFIG_SERIO_SERPORT is not set
++# CONFIG_SERIO_RAW is not set
++# CONFIG_GAMEPORT is not set
++
++#
++# Character devices
++#
++CONFIG_VT=y
++CONFIG_CONSOLE_TRANSLATIONS=y
++CONFIG_VT_CONSOLE=y
++CONFIG_NR_TTY_DEVICES=6
++CONFIG_HW_CONSOLE=y
++CONFIG_VT_HW_CONSOLE_BINDING=y
++# CONFIG_DEVKMEM is not set
++# CONFIG_SERIAL_NONSTANDARD is not set
++
++#
++# Serial drivers
++#
++# CONFIG_SERIAL_8250 is not set
++
++#
++# Non-8250 serial port support
++#
++CONFIG_SERIAL_SAMSUNG=y
++CONFIG_SERIAL_SAMSUNG_UARTS=3
++CONFIG_SERIAL_SAMSUNG_CONSOLE=y
++CONFIG_SERIAL_S3C2410=y
++CONFIG_SERIAL_S3C2440=y
++CONFIG_SERIAL_CORE=y
++CONFIG_SERIAL_CORE_CONSOLE=y
++CONFIG_UNIX98_PTYS=y
++# CONFIG_LEGACY_PTYS is not set
++# CONFIG_IPMI_HANDLER is not set
++# CONFIG_HW_RANDOM is not set
++# CONFIG_NVRAM is not set
++# CONFIG_R3964 is not set
++# CONFIG_RAW_DRIVER is not set
++# CONFIG_TCG_TPM is not set
++CONFIG_I2C=y
++CONFIG_I2C_BOARDINFO=y
++CONFIG_I2C_CHARDEV=y
++CONFIG_I2C_HELPER_AUTO=y
++
++#
++# I2C Hardware Bus support
++#
++
++#
++# I2C system bus drivers (mostly embedded / system-on-chip)
++#
++# CONFIG_I2C_GPIO is not set
++# CONFIG_I2C_OCORES is not set
++CONFIG_I2C_S3C2410=y
++# CONFIG_I2C_SIMTEC is not set
++
++#
++# External I2C/SMBus adapter drivers
++#
++# CONFIG_I2C_PARPORT_LIGHT is not set
++# CONFIG_I2C_TAOS_EVM is not set
++# CONFIG_I2C_TINY_USB is not set
++
++#
++# Other I2C/SMBus bus drivers
++#
++# CONFIG_I2C_PCA_PLATFORM is not set
++# CONFIG_I2C_STUB is not set
++
++#
++# Miscellaneous I2C Chip support
++#
++# CONFIG_DS1682 is not set
++# CONFIG_AT24 is not set
++# CONFIG_SENSORS_EEPROM is not set
++# CONFIG_SENSORS_PCF50606 is not set
++# CONFIG_SENSORS_PCF50633 is not set
++# CONFIG_SENSORS_PCF8574 is not set
++# CONFIG_PCF8575 is not set
++# CONFIG_SENSORS_PCA9539 is not set
++# CONFIG_SENSORS_PCF8591 is not set
++# CONFIG_TPS65010 is not set
++# CONFIG_SENSORS_MAX6875 is not set
++# CONFIG_SENSORS_TSL2550 is not set
++# CONFIG_SENSORS_TSL256X is not set
++CONFIG_PCA9632=y
++# CONFIG_I2C_DEBUG_CORE is not set
++# CONFIG_I2C_DEBUG_ALGO is not set
++# CONFIG_I2C_DEBUG_BUS is not set
++# CONFIG_I2C_DEBUG_CHIP is not set
++CONFIG_SPI=y
++# CONFIG_SPI_DEBUG is not set
++CONFIG_SPI_MASTER=y
++
++#
++# SPI Master Controller Drivers
++#
++CONFIG_SPI_BITBANG=y
++# CONFIG_SPI_S3C24XX is not set
++CONFIG_SPI_S3C24XX_GPIO=y
++
++#
++# SPI Protocol Masters
++#
++# CONFIG_SPI_AT25 is not set
++# CONFIG_SPI_SPIDEV is not set
++# CONFIG_SPI_TLE62X0 is not set
++CONFIG_ARCH_REQUIRE_GPIOLIB=y
++CONFIG_GPIOLIB=y
++CONFIG_DEBUG_GPIO=y
++CONFIG_GPIO_SYSFS=y
++
++#
++# I2C GPIO expanders:
++#
++# CONFIG_GPIO_MAX732X is not set
++# CONFIG_GPIO_PCA953X is not set
++# CONFIG_GPIO_PCF857X is not set
++
++#
++# PCI GPIO expanders:
++#
++
++#
++# SPI GPIO expanders:
++#
++# CONFIG_GPIO_MAX7301 is not set
++# CONFIG_GPIO_MCP23S08 is not set
++# CONFIG_W1 is not set
++CONFIG_POWER_SUPPLY=y
++CONFIG_POWER_SUPPLY_DEBUG=y
++CONFIG_PDA_POWER=y
++CONFIG_APM_POWER=y
++# CONFIG_BATTERY_DS2760 is not set
++# CONFIG_BATTERY_BQ27x00 is not set
++CONFIG_BATTERY_BQ27000_HDQ=y
++CONFIG_GTA02_HDQ=y
++CONFIG_CHARGER_PCF50633=y
++CONFIG_HWMON=y
++# CONFIG_HWMON_VID is not set
++# CONFIG_SENSORS_AD7414 is not set
++# CONFIG_SENSORS_AD7418 is not set
++# CONFIG_SENSORS_ADCXX is not set
++# CONFIG_SENSORS_ADM1021 is not set
++# CONFIG_SENSORS_ADM1025 is not set
++# CONFIG_SENSORS_ADM1026 is not set
++# CONFIG_SENSORS_ADM1029 is not set
++# CONFIG_SENSORS_ADM1031 is not set
++# CONFIG_SENSORS_ADM9240 is not set
++# CONFIG_SENSORS_ADT7470 is not set
++# CONFIG_SENSORS_ADT7473 is not set
++# CONFIG_SENSORS_ATXP1 is not set
++# CONFIG_SENSORS_DS1621 is not set
++# CONFIG_SENSORS_F71805F is not set
++# CONFIG_SENSORS_F71882FG is not set
++# CONFIG_SENSORS_F75375S is not set
++# CONFIG_SENSORS_GL518SM is not set
++# CONFIG_SENSORS_GL520SM is not set
++# CONFIG_SENSORS_IT87 is not set
++# CONFIG_SENSORS_LM63 is not set
++# CONFIG_SENSORS_LM70 is not set
++# CONFIG_SENSORS_LM75 is not set
++# CONFIG_SENSORS_LM77 is not set
++# CONFIG_SENSORS_LM78 is not set
++# CONFIG_SENSORS_LM80 is not set
++# CONFIG_SENSORS_LM83 is not set
++# CONFIG_SENSORS_LM85 is not set
++# CONFIG_SENSORS_LM87 is not set
++# CONFIG_SENSORS_LM90 is not set
++# CONFIG_SENSORS_LM92 is not set
++# CONFIG_SENSORS_LM93 is not set
++# CONFIG_SENSORS_MAX1111 is not set
++# CONFIG_SENSORS_MAX1619 is not set
++# CONFIG_SENSORS_MAX6650 is not set
++# CONFIG_SENSORS_PC87360 is not set
++# CONFIG_SENSORS_PC87427 is not set
++# CONFIG_SENSORS_DME1737 is not set
++# CONFIG_SENSORS_SMSC47M1 is not set
++# CONFIG_SENSORS_SMSC47M192 is not set
++# CONFIG_SENSORS_SMSC47B397 is not set
++# CONFIG_SENSORS_ADS7828 is not set
++# CONFIG_SENSORS_THMC50 is not set
++# CONFIG_SENSORS_VT1211 is not set
++# CONFIG_SENSORS_W83781D is not set
++# CONFIG_SENSORS_W83791D is not set
++# CONFIG_SENSORS_W83792D is not set
++# CONFIG_SENSORS_W83793 is not set
++# CONFIG_SENSORS_W83L785TS is not set
++# CONFIG_SENSORS_W83L786NG is not set
++# CONFIG_SENSORS_W83627HF is not set
++# CONFIG_SENSORS_W83627EHF is not set
++# CONFIG_HWMON_DEBUG_CHIP is not set
++# CONFIG_THERMAL is not set
++# CONFIG_THERMAL_HWMON is not set
++CONFIG_WATCHDOG=y
++# CONFIG_WATCHDOG_NOWAYOUT is not set
++
++#
++# Watchdog Device Drivers
++#
++# CONFIG_SOFT_WATCHDOG is not set
++CONFIG_S3C2410_WATCHDOG=m
++
++#
++# USB-based Watchdog Cards
++#
++# CONFIG_USBPCWATCHDOG is not set
++
++#
++# Sonics Silicon Backplane
++#
++CONFIG_SSB_POSSIBLE=y
++# CONFIG_SSB is not set
++
++#
++# Multifunction device drivers
++#
++# CONFIG_MFD_CORE is not set
++# CONFIG_MFD_SM501 is not set
++# CONFIG_MFD_ASIC3 is not set
++# CONFIG_HTC_EGPIO is not set
++# CONFIG_HTC_PASIC3 is not set
++# CONFIG_MFD_TMIO is not set
++# CONFIG_MFD_T7L66XB is not set
++# CONFIG_MFD_TC6387XB is not set
++# CONFIG_MFD_TC6393XB is not set
++# CONFIG_PMIC_DA903X is not set
++# CONFIG_MFD_WM8400 is not set
++# CONFIG_MFD_WM8350_I2C is not set
++CONFIG_MFD_PCF50633=y
++CONFIG_PCF50633_ADC=y
++CONFIG_PCF50633_GPIO=y
++# CONFIG_MFD_PCF50606 is not set
++CONFIG_MFD_GLAMO=y
++CONFIG_MFD_GLAMO_FB=y
++CONFIG_MFD_GLAMO_SPI_GPIO=y
++CONFIG_MFD_GLAMO_SPI_FB=y
++CONFIG_MFD_GLAMO_MCI=y
++
++#
++# Multimedia devices
++#
++
++#
++# Multimedia core support
++#
++# CONFIG_VIDEO_DEV is not set
++# CONFIG_DVB_CORE is not set
++# CONFIG_VIDEO_MEDIA is not set
++
++#
++# Multimedia drivers
++#
++CONFIG_DAB=y
++# CONFIG_USB_DABUSB is not set
++
++#
++# Graphics support
++#
++# CONFIG_VGASTATE is not set
++CONFIG_VIDEO_OUTPUT_CONTROL=y
++CONFIG_FB=y
++# CONFIG_FIRMWARE_EDID is not set
++# CONFIG_FB_DDC is not set
++# CONFIG_FB_BOOT_VESA_SUPPORT is not set
++CONFIG_FB_CFB_FILLRECT=y
++CONFIG_FB_CFB_COPYAREA=y
++CONFIG_FB_CFB_IMAGEBLIT=y
++# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
++# CONFIG_FB_SYS_FILLRECT is not set
++# CONFIG_FB_SYS_COPYAREA is not set
++# CONFIG_FB_SYS_IMAGEBLIT is not set
++# CONFIG_FB_FOREIGN_ENDIAN is not set
++# CONFIG_FB_SYS_FOPS is not set
++# CONFIG_FB_SVGALIB is not set
++# CONFIG_FB_MACMODES is not set
++# CONFIG_FB_BACKLIGHT is not set
++# CONFIG_FB_MODE_HELPERS is not set
++# CONFIG_FB_TILEBLITTING is not set
++
++#
++# Frame buffer hardware drivers
++#
++# CONFIG_FB_UVESA is not set
++# CONFIG_FB_S1D13XXX is not set
++CONFIG_FB_S3C2410=y
++# CONFIG_FB_S3C2410_DEBUG is not set
++# CONFIG_FB_VIRTUAL is not set
++# CONFIG_FB_METRONOME is not set
++# CONFIG_FB_MB862XX is not set
++CONFIG_BACKLIGHT_LCD_SUPPORT=y
++CONFIG_LCD_CLASS_DEVICE=y
++CONFIG_LCD_LTV350QV=y
++# CONFIG_LCD_ILI9320 is not set
++# CONFIG_LCD_TDO24M is not set
++# CONFIG_LCD_VGG2432A4 is not set
++# CONFIG_LCD_PLATFORM is not set
++CONFIG_BACKLIGHT_CLASS_DEVICE=y
++CONFIG_BACKLIGHT_CORGI=y
++# CONFIG_BACKLIGHT_PWM is not set
++
++#
++# Display device support
++#
++CONFIG_DISPLAY_SUPPORT=y
++
++#
++# Display hardware drivers
++#
++CONFIG_DISPLAY_JBT6K74=y
++
++#
++# Console display driver support
++#
++# CONFIG_VGA_CONSOLE is not set
++CONFIG_DUMMY_CONSOLE=y
++CONFIG_FRAMEBUFFER_CONSOLE=y
++# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
++# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
++CONFIG_FONTS=y
++# CONFIG_FONT_8x8 is not set
++# CONFIG_FONT_8x16 is not set
++CONFIG_FONT_6x11=y
++# CONFIG_FONT_7x14 is not set
++# CONFIG_FONT_PEARL_8x8 is not set
++# CONFIG_FONT_ACORN_8x8 is not set
++# CONFIG_FONT_MINI_4x6 is not set
++# CONFIG_FONT_SUN8x16 is not set
++# CONFIG_FONT_SUN12x22 is not set
++# CONFIG_FONT_10x18 is not set
++# CONFIG_LOGO is not set
++CONFIG_SOUND=y
++CONFIG_SOUND_OSS_CORE=y
++CONFIG_SND=y
++CONFIG_SND_TIMER=y
++CONFIG_SND_PCM=y
++CONFIG_SND_HWDEP=m
++CONFIG_SND_RAWMIDI=m
++# CONFIG_SND_SEQUENCER is not set
++CONFIG_SND_OSSEMUL=y
++CONFIG_SND_MIXER_OSS=y
++CONFIG_SND_PCM_OSS=y
++CONFIG_SND_PCM_OSS_PLUGINS=y
++# CONFIG_SND_DYNAMIC_MINORS is not set
++CONFIG_SND_SUPPORT_OLD_API=y
++CONFIG_SND_VERBOSE_PROCFS=y
++# CONFIG_SND_VERBOSE_PRINTK is not set
++CONFIG_SND_DEBUG=y
++# CONFIG_SND_DEBUG_VERBOSE is not set
++CONFIG_SND_PCM_XRUN_DEBUG=y
++CONFIG_SND_DRIVERS=y
++# CONFIG_SND_DUMMY is not set
++# CONFIG_SND_MTPAV is not set
++# CONFIG_SND_SERIAL_U16550 is not set
++# CONFIG_SND_MPU401 is not set
++CONFIG_SND_ARM=y
++# CONFIG_SND_SPI is not set
++CONFIG_SND_USB=y
++CONFIG_SND_USB_AUDIO=m
++# CONFIG_SND_USB_CAIAQ is not set
++CONFIG_SND_SOC=y
++CONFIG_SND_S3C24XX_SOC=y
++CONFIG_SND_S3C24XX_SOC_I2S=y
++CONFIG_SND_S3C24XX_SOC_NEO1973_GTA02_WM8753=y
++# CONFIG_SND_S3C24XX_SOC_LN2440SBC_ALC650 is not set
++# CONFIG_SND_SOC_ALL_CODECS is not set
++CONFIG_SND_SOC_WM8753=y
++# CONFIG_SOUND_PRIME is not set
++CONFIG_HID_SUPPORT=y
++CONFIG_HID=y
++# CONFIG_HID_DEBUG is not set
++# CONFIG_HIDRAW is not set
++
++#
++# USB Input Devices
++#
++CONFIG_USB_HID=y
++CONFIG_HID_PID=y
++# CONFIG_USB_HIDDEV is not set
++
++#
++# Special HID drivers
++#
++CONFIG_HID_COMPAT=y
++CONFIG_HID_A4TECH=y
++CONFIG_HID_APPLE=y
++CONFIG_HID_BELKIN=y
++CONFIG_HID_BRIGHT=y
++CONFIG_HID_CHERRY=y
++CONFIG_HID_CHICONY=y
++CONFIG_HID_CYPRESS=y
++CONFIG_HID_DELL=y
++CONFIG_HID_EZKEY=y
++CONFIG_HID_GYRATION=y
++CONFIG_HID_LOGITECH=y
++# CONFIG_LOGITECH_FF is not set
++# CONFIG_LOGIRUMBLEPAD2_FF is not set
++CONFIG_HID_MICROSOFT=y
++CONFIG_HID_MONTEREY=y
++CONFIG_HID_PANTHERLORD=y
++# CONFIG_PANTHERLORD_FF is not set
++CONFIG_HID_PETALYNX=y
++CONFIG_HID_SAMSUNG=y
++CONFIG_HID_SONY=y
++CONFIG_HID_SUNPLUS=y
++# CONFIG_THRUSTMASTER_FF is not set
++# CONFIG_ZEROPLUS_FF is not set
++CONFIG_USB_SUPPORT=y
++CONFIG_USB_ARCH_HAS_HCD=y
++CONFIG_USB_ARCH_HAS_OHCI=y
++# CONFIG_USB_ARCH_HAS_EHCI is not set
++CONFIG_USB=y
++# CONFIG_USB_DEBUG is not set
++CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
++
++#
++# Miscellaneous USB options
++#
++CONFIG_USB_DEVICEFS=y
++CONFIG_USB_DEVICE_CLASS=y
++# CONFIG_USB_DYNAMIC_MINORS is not set
++CONFIG_USB_SUSPEND=y
++# CONFIG_USB_OTG is not set
++CONFIG_USB_MON=y
++# CONFIG_USB_WUSB is not set
++# CONFIG_USB_WUSB_CBAF is not set
++
++#
++# USB Host Controller Drivers
++#
++# CONFIG_USB_C67X00_HCD is not set
++# CONFIG_USB_ISP116X_HCD is not set
++# CONFIG_USB_ISP1760_HCD is not set
++CONFIG_USB_OHCI_HCD=y
++# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
++# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
++CONFIG_USB_OHCI_LITTLE_ENDIAN=y
++# CONFIG_USB_SL811_HCD is not set
++# CONFIG_USB_R8A66597_HCD is not set
++# CONFIG_USB_HWA_HCD is not set
++# CONFIG_USB_MUSB_HDRC is not set
++# CONFIG_USB_GADGET_MUSB_HDRC is not set
++
++#
++# USB Device Class drivers
++#
++CONFIG_USB_ACM=y
++CONFIG_USB_PRINTER=m
++# CONFIG_USB_WDM is not set
++CONFIG_USB_TMC=m
++
++#
++# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
++#
++
++#
++# may also be needed; see USB_STORAGE Help for more information
++#
++CONFIG_USB_STORAGE=y
++# CONFIG_USB_STORAGE_DEBUG is not set
++CONFIG_USB_STORAGE_DATAFAB=y
++CONFIG_USB_STORAGE_FREECOM=y
++# CONFIG_USB_STORAGE_ISD200 is not set
++CONFIG_USB_STORAGE_DPCM=y
++CONFIG_USB_STORAGE_USBAT=y
++CONFIG_USB_STORAGE_SDDR09=y
++CONFIG_USB_STORAGE_SDDR55=y
++CONFIG_USB_STORAGE_JUMPSHOT=y
++CONFIG_USB_STORAGE_ALAUDA=y
++# CONFIG_USB_STORAGE_ONETOUCH is not set
++CONFIG_USB_STORAGE_KARMA=y
++# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
++CONFIG_USB_LIBUSUAL=y
++
++#
++# USB Imaging devices
++#
++# CONFIG_USB_MDC800 is not set
++# CONFIG_USB_MICROTEK is not set
++
++#
++# USB port drivers
++#
++CONFIG_USB_SERIAL=y
++CONFIG_USB_SERIAL_CONSOLE=y
++CONFIG_USB_EZUSB=y
++CONFIG_USB_SERIAL_GENERIC=y
++CONFIG_USB_SERIAL_AIRCABLE=m
++CONFIG_USB_SERIAL_ARK3116=m
++CONFIG_USB_SERIAL_BELKIN=m
++# CONFIG_USB_SERIAL_CH341 is not set
++CONFIG_USB_SERIAL_WHITEHEAT=m
++CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
++CONFIG_USB_SERIAL_CP2101=m
++CONFIG_USB_SERIAL_CYPRESS_M8=m
++CONFIG_USB_SERIAL_EMPEG=m
++CONFIG_USB_SERIAL_FTDI_SIO=m
++CONFIG_USB_SERIAL_FUNSOFT=m
++CONFIG_USB_SERIAL_VISOR=m
++CONFIG_USB_SERIAL_IPAQ=m
++CONFIG_USB_SERIAL_IR=m
++CONFIG_USB_SERIAL_EDGEPORT=m
++CONFIG_USB_SERIAL_EDGEPORT_TI=m
++CONFIG_USB_SERIAL_GARMIN=m
++CONFIG_USB_SERIAL_IPW=m
++# CONFIG_USB_SERIAL_IUU is not set
++CONFIG_USB_SERIAL_KEYSPAN_PDA=m
++CONFIG_USB_SERIAL_KEYSPAN=m
++CONFIG_USB_SERIAL_KLSI=m
++CONFIG_USB_SERIAL_KOBIL_SCT=m
++CONFIG_USB_SERIAL_MCT_U232=m
++CONFIG_USB_SERIAL_MOS7720=m
++CONFIG_USB_SERIAL_MOS7840=m
++# CONFIG_USB_SERIAL_MOTOROLA is not set
++CONFIG_USB_SERIAL_NAVMAN=m
++CONFIG_USB_SERIAL_PL2303=m
++# CONFIG_USB_SERIAL_OTI6858 is not set
++# CONFIG_USB_SERIAL_SPCP8X5 is not set
++CONFIG_USB_SERIAL_HP4X=m
++CONFIG_USB_SERIAL_SAFE=m
++CONFIG_USB_SERIAL_SAFE_PADDED=y
++CONFIG_USB_SERIAL_SIERRAWIRELESS=m
++CONFIG_USB_SERIAL_TI=m
++CONFIG_USB_SERIAL_CYBERJACK=m
++CONFIG_USB_SERIAL_XIRCOM=m
++CONFIG_USB_SERIAL_OPTION=y
++CONFIG_USB_SERIAL_OMNINET=m
++# CONFIG_USB_SERIAL_DEBUG is not set
++
++#
++# USB Miscellaneous drivers
++#
++# CONFIG_USB_EMI62 is not set
++# CONFIG_USB_EMI26 is not set
++# CONFIG_USB_ADUTUX is not set
++# CONFIG_USB_SEVSEG is not set
++# CONFIG_USB_RIO500 is not set
++# CONFIG_USB_LEGOTOWER is not set
++# CONFIG_USB_LCD is not set
++CONFIG_USB_BERRY_CHARGE=m
++# CONFIG_USB_LED is not set
++# CONFIG_USB_CYPRESS_CY7C63 is not set
++# CONFIG_USB_CYTHERM is not set
++# CONFIG_USB_PHIDGET is not set
++# CONFIG_USB_IDMOUSE is not set
++# CONFIG_USB_FTDI_ELAN is not set
++# CONFIG_USB_APPLEDISPLAY is not set
++# CONFIG_USB_LD is not set
++CONFIG_USB_TRANCEVIBRATOR=m
++CONFIG_USB_IOWARRIOR=m
++# CONFIG_USB_TEST is not set
++# CONFIG_USB_ISIGHTFW is not set
++# CONFIG_USB_VST is not set
++CONFIG_USB_GADGET=y
++# CONFIG_USB_GADGET_DEBUG is not set
++# CONFIG_USB_GADGET_DEBUG_FILES is not set
++# CONFIG_USB_GADGET_DEBUG_FS is not set
++CONFIG_USB_GADGET_VBUS_DRAW=500
++CONFIG_USB_GADGET_SELECTED=y
++# CONFIG_USB_GADGET_AT91 is not set
++# CONFIG_USB_GADGET_ATMEL_USBA is not set
++# CONFIG_USB_GADGET_FSL_USB2 is not set
++# CONFIG_USB_GADGET_LH7A40X is not set
++# CONFIG_USB_GADGET_OMAP is not set
++# CONFIG_USB_GADGET_PXA25X is not set
++# CONFIG_USB_GADGET_PXA27X is not set
++CONFIG_USB_GADGET_S3C2410=y
++CONFIG_USB_S3C2410=y
++CONFIG_USB_S3C2410_DEBUG=y
++# CONFIG_USB_GADGET_M66592 is not set
++# CONFIG_USB_GADGET_AMD5536UDC is not set
++# CONFIG_USB_GADGET_FSL_QE is not set
++# CONFIG_USB_GADGET_NET2280 is not set
++# CONFIG_USB_GADGET_GOKU is not set
++# CONFIG_USB_GADGET_DUMMY_HCD is not set
++# CONFIG_USB_GADGET_DUALSPEED is not set
++# CONFIG_USB_ZERO is not set
++CONFIG_USB_ETH=y
++CONFIG_USB_ETH_RNDIS=y
++# CONFIG_USB_GADGETFS is not set
++# CONFIG_USB_FILE_STORAGE is not set
++# CONFIG_USB_G_SERIAL is not set
++# CONFIG_USB_MIDI_GADGET is not set
++# CONFIG_USB_G_PRINTER is not set
++# CONFIG_USB_CDC_COMPOSITE is not set
++CONFIG_AR6000_WLAN=y
++CONFIG_MMC=y
++# CONFIG_MMC_DEBUG is not set
++CONFIG_MMC_UNSAFE_RESUME=y
++
++#
++# MMC/SD/SDIO Card Drivers
++#
++CONFIG_MMC_BLOCK=y
++CONFIG_MMC_BLOCK_BOUNCE=y
++# CONFIG_SDIO_UART is not set
++# CONFIG_MMC_TEST is not set
++
++#
++# MMC/SD/SDIO Host Controller Drivers
++#
++CONFIG_MMC_SDHCI=y
++CONFIG_MMC_SDHCI_S3C=y
++# CONFIG_MMC_SPI is not set
++CONFIG_MMC_S3C=y
++# CONFIG_MEMSTICK is not set
++# CONFIG_ACCESSIBILITY is not set
++CONFIG_NEW_LEDS=y
++CONFIG_LEDS_CLASS=y
++
++#
++# LED drivers
++#
++CONFIG_LEDS_S3C24XX=m
++# CONFIG_LEDS_PCA9532 is not set
++CONFIG_LEDS_GPIO=y
++# CONFIG_LEDS_PCA955X is not set
++CONFIG_LEDS_NEO1973_VIBRATOR=y
++CONFIG_LEDS_NEO1973_GTA02=y
++
++#
++# LED Triggers
++#
++CONFIG_LEDS_TRIGGERS=y
++CONFIG_LEDS_TRIGGER_TIMER=y
++# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
++CONFIG_LEDS_TRIGGER_BACKLIGHT=y
++# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
++CONFIG_RTC_LIB=y
++CONFIG_RTC_CLASS=y
++CONFIG_RTC_HCTOSYS=y
++CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
++CONFIG_RTC_DEBUG=y
++
++#
++# RTC interfaces
++#
++CONFIG_RTC_INTF_SYSFS=y
++CONFIG_RTC_INTF_PROC=y
++CONFIG_RTC_INTF_DEV=y
++# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
++# CONFIG_RTC_DRV_TEST is not set
++
++#
++# I2C RTC drivers
++#
++# CONFIG_RTC_DRV_DS1307 is not set
++# CONFIG_RTC_DRV_DS1374 is not set
++# CONFIG_RTC_DRV_DS1672 is not set
++# CONFIG_RTC_DRV_MAX6900 is not set
++# CONFIG_RTC_DRV_RS5C372 is not set
++# CONFIG_RTC_DRV_ISL1208 is not set
++# CONFIG_RTC_DRV_X1205 is not set
++# CONFIG_RTC_DRV_PCF8563 is not set
++# CONFIG_RTC_DRV_PCF8583 is not set
++CONFIG_RTC_DRV_PCF50633=y
++# CONFIG_RTC_DRV_PCF50606 is not set
++# CONFIG_RTC_DRV_M41T80 is not set
++# CONFIG_RTC_DRV_S35390A is not set
++# CONFIG_RTC_DRV_FM3130 is not set
++
++#
++# SPI RTC drivers
++#
++# CONFIG_RTC_DRV_M41T94 is not set
++# CONFIG_RTC_DRV_DS1305 is not set
++# CONFIG_RTC_DRV_MAX6902 is not set
++# CONFIG_RTC_DRV_R9701 is not set
++# CONFIG_RTC_DRV_RS5C348 is not set
++# CONFIG_RTC_DRV_DS3234 is not set
++
++#
++# Platform RTC drivers
++#
++# CONFIG_RTC_DRV_CMOS is not set
++# CONFIG_RTC_DRV_DS1286 is not set
++# CONFIG_RTC_DRV_DS1511 is not set
++# CONFIG_RTC_DRV_DS1553 is not set
++# CONFIG_RTC_DRV_DS1742 is not set
++# CONFIG_RTC_DRV_STK17TA8 is not set
++# CONFIG_RTC_DRV_M48T86 is not set
++# CONFIG_RTC_DRV_M48T35 is not set
++# CONFIG_RTC_DRV_M48T59 is not set
++# CONFIG_RTC_DRV_BQ4802 is not set
++# CONFIG_RTC_DRV_V3020 is not set
++
++#
++# on-CPU RTC drivers
++#
++CONFIG_RTC_DRV_S3C=m
++CONFIG_DMADEVICES=y
++
++#
++# DMA Devices
++#
++
++#
++# Android
++#
++CONFIG_ANDROID_BINDER_IPC=y
++CONFIG_ANDROID_POWER=y
++CONFIG_ANDROID_POWER_STAT=y
++CONFIG_ANDROID_POWER_ALARM=y
++CONFIG_ANDROID_LOGGER=y
++# CONFIG_ANDROID_RAM_CONSOLE is not set
++# CONFIG_ANDROID_TIMED_GPIO is not set
++# CONFIG_ANDROID_PARANOID_NETWORK is not set
++CONFIG_REGULATOR=y
++CONFIG_REGULATOR_DEBUG=y
++# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
++# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
++# CONFIG_REGULATOR_BQ24022 is not set
++CONFIG_REGULATOR_PCF50633=y
++CONFIG_UIO=y
++CONFIG_UIO_PDRV=y
++# CONFIG_UIO_PDRV_GENIRQ is not set
++# CONFIG_UIO_SMX is not set
++# CONFIG_UIO_SERCOS3 is not set
++
++#
++# File systems
++#
++CONFIG_EXT2_FS=y
++# CONFIG_EXT2_FS_XATTR is not set
++# CONFIG_EXT2_FS_XIP is not set
++CONFIG_EXT3_FS=y
++# CONFIG_EXT3_FS_XATTR is not set
++CONFIG_EXT4_FS=y
++CONFIG_EXT4DEV_COMPAT=y
++CONFIG_EXT4_FS_XATTR=y
++# CONFIG_EXT4_FS_POSIX_ACL is not set
++CONFIG_EXT4_FS_SECURITY=y
++CONFIG_JBD=y
++# CONFIG_JBD_DEBUG is not set
++CONFIG_JBD2=y
++# CONFIG_JBD2_DEBUG is not set
++CONFIG_FS_MBCACHE=y
++# CONFIG_REISERFS_FS is not set
++# CONFIG_JFS_FS is not set
++CONFIG_FS_POSIX_ACL=y
++CONFIG_FILE_LOCKING=y
++# CONFIG_XFS_FS is not set
++# CONFIG_OCFS2_FS is not set
++CONFIG_DNOTIFY=y
++CONFIG_INOTIFY=y
++CONFIG_INOTIFY_USER=y
++# CONFIG_QUOTA is not set
++# CONFIG_AUTOFS_FS is not set
++# CONFIG_AUTOFS4_FS is not set
++CONFIG_FUSE_FS=m
++
++#
++# CD-ROM/DVD Filesystems
++#
++CONFIG_ISO9660_FS=m
++CONFIG_JOLIET=y
++# CONFIG_ZISOFS is not set
++# CONFIG_UDF_FS is not set
++
++#
++# DOS/FAT/NT Filesystems
++#
++CONFIG_FAT_FS=y
++CONFIG_MSDOS_FS=y
++CONFIG_VFAT_FS=y
++CONFIG_FAT_DEFAULT_CODEPAGE=437
++CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
++# CONFIG_NTFS_FS is not set
++
++#
++# Pseudo filesystems
++#
++CONFIG_PROC_FS=y
++CONFIG_PROC_SYSCTL=y
++CONFIG_PROC_PAGE_MONITOR=y
++CONFIG_SYSFS=y
++CONFIG_TMPFS=y
++# CONFIG_TMPFS_POSIX_ACL is not set
++# CONFIG_HUGETLB_PAGE is not set
++CONFIG_CONFIGFS_FS=m
++
++#
++# Miscellaneous filesystems
++#
++# CONFIG_ADFS_FS is not set
++# CONFIG_AFFS_FS is not set
++# CONFIG_HFS_FS is not set
++# CONFIG_HFSPLUS_FS is not set
++# CONFIG_BEFS_FS is not set
++# CONFIG_BFS_FS is not set
++# CONFIG_EFS_FS is not set
++CONFIG_JFFS2_FS=y
++CONFIG_JFFS2_FS_DEBUG=0
++CONFIG_JFFS2_FS_WRITEBUFFER=y
++# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
++CONFIG_JFFS2_SUMMARY=y
++# CONFIG_JFFS2_FS_XATTR is not set
++# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
++CONFIG_JFFS2_ZLIB=y
++# CONFIG_JFFS2_LZO is not set
++CONFIG_JFFS2_RTIME=y
++# CONFIG_JFFS2_RUBIN is not set
++CONFIG_CRAMFS=y
++# CONFIG_VXFS_FS is not set
++# CONFIG_MINIX_FS is not set
++# CONFIG_OMFS_FS is not set
++# CONFIG_HPFS_FS is not set
++# CONFIG_QNX4FS_FS is not set
++CONFIG_ROMFS_FS=y
++# CONFIG_SYSV_FS is not set
++# CONFIG_UFS_FS is not set
++CONFIG_NETWORK_FILESYSTEMS=y
++# CONFIG_NFS_FS is not set
++CONFIG_NFSD=y
++CONFIG_NFSD_V2_ACL=y
++CONFIG_NFSD_V3=y
++CONFIG_NFSD_V3_ACL=y
++# CONFIG_NFSD_V4 is not set
++CONFIG_LOCKD=y
++CONFIG_LOCKD_V4=y
++CONFIG_EXPORTFS=y
++CONFIG_NFS_ACL_SUPPORT=y
++CONFIG_NFS_COMMON=y
++CONFIG_SUNRPC=y
++# CONFIG_SUNRPC_REGISTER_V4 is not set
++# CONFIG_RPCSEC_GSS_KRB5 is not set
++# CONFIG_RPCSEC_GSS_SPKM3 is not set
++# CONFIG_SMB_FS is not set
++CONFIG_CIFS=m
++# CONFIG_CIFS_STATS is not set
++# CONFIG_CIFS_WEAK_PW_HASH is not set
++# CONFIG_CIFS_XATTR is not set
++# CONFIG_CIFS_DEBUG2 is not set
++# CONFIG_CIFS_EXPERIMENTAL is not set
++# CONFIG_NCP_FS is not set
++# CONFIG_CODA_FS is not set
++# CONFIG_AFS_FS is not set
++
++#
++# Partition Types
++#
++CONFIG_PARTITION_ADVANCED=y
++# CONFIG_ACORN_PARTITION is not set
++# CONFIG_OSF_PARTITION is not set
++# CONFIG_AMIGA_PARTITION is not set
++# CONFIG_ATARI_PARTITION is not set
++# CONFIG_MAC_PARTITION is not set
++CONFIG_MSDOS_PARTITION=y
++# CONFIG_BSD_DISKLABEL is not set
++# CONFIG_MINIX_SUBPARTITION is not set
++# CONFIG_SOLARIS_X86_PARTITION is not set
++# CONFIG_UNIXWARE_DISKLABEL is not set
++# CONFIG_LDM_PARTITION is not set
++# CONFIG_SGI_PARTITION is not set
++# CONFIG_ULTRIX_PARTITION is not set
++# CONFIG_SUN_PARTITION is not set
++# CONFIG_KARMA_PARTITION is not set
++# CONFIG_EFI_PARTITION is not set
++# CONFIG_SYSV68_PARTITION is not set
++CONFIG_NLS=y
++CONFIG_NLS_DEFAULT="iso8859-1"
++CONFIG_NLS_CODEPAGE_437=y
++# CONFIG_NLS_CODEPAGE_737 is not set
++# CONFIG_NLS_CODEPAGE_775 is not set
++CONFIG_NLS_CODEPAGE_850=m
++# CONFIG_NLS_CODEPAGE_852 is not set
++# CONFIG_NLS_CODEPAGE_855 is not set
++# CONFIG_NLS_CODEPAGE_857 is not set
++# CONFIG_NLS_CODEPAGE_860 is not set
++# CONFIG_NLS_CODEPAGE_861 is not set
++# CONFIG_NLS_CODEPAGE_862 is not set
++# CONFIG_NLS_CODEPAGE_863 is not set
++# CONFIG_NLS_CODEPAGE_864 is not set
++# CONFIG_NLS_CODEPAGE_865 is not set
++# CONFIG_NLS_CODEPAGE_866 is not set
++# CONFIG_NLS_CODEPAGE_869 is not set
++CONFIG_NLS_CODEPAGE_936=m
++CONFIG_NLS_CODEPAGE_950=m
++# CONFIG_NLS_CODEPAGE_932 is not set
++# CONFIG_NLS_CODEPAGE_949 is not set
++# CONFIG_NLS_CODEPAGE_874 is not set
++# CONFIG_NLS_ISO8859_8 is not set
++# CONFIG_NLS_CODEPAGE_1250 is not set
++# CONFIG_NLS_CODEPAGE_1251 is not set
++# CONFIG_NLS_ASCII is not set
++CONFIG_NLS_ISO8859_1=y
++# CONFIG_NLS_ISO8859_2 is not set
++# CONFIG_NLS_ISO8859_3 is not set
++# CONFIG_NLS_ISO8859_4 is not set
++# CONFIG_NLS_ISO8859_5 is not set
++# CONFIG_NLS_ISO8859_6 is not set
++# CONFIG_NLS_ISO8859_7 is not set
++# CONFIG_NLS_ISO8859_9 is not set
++# CONFIG_NLS_ISO8859_13 is not set
++# CONFIG_NLS_ISO8859_14 is not set
++# CONFIG_NLS_ISO8859_15 is not set
++# CONFIG_NLS_KOI8_R is not set
++# CONFIG_NLS_KOI8_U is not set
++CONFIG_NLS_UTF8=m
++# CONFIG_DLM is not set
++
++#
++# Kernel hacking
++#
++CONFIG_PRINTK_TIME=y
++CONFIG_ENABLE_WARN_DEPRECATED=y
++CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
++CONFIG_MAGIC_SYSRQ=y
++# CONFIG_UNUSED_SYMBOLS is not set
++CONFIG_DEBUG_FS=y
++# CONFIG_HEADERS_CHECK is not set
++CONFIG_DEBUG_KERNEL=y
++CONFIG_DEBUG_SHIRQ=y
++CONFIG_DETECT_SOFTLOCKUP=y
++CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y
++CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=1
++CONFIG_SCHED_DEBUG=y
++CONFIG_SCHEDSTATS=y
++CONFIG_TIMER_STATS=y
++# CONFIG_DEBUG_OBJECTS is not set
++# CONFIG_DEBUG_SLAB is not set
++CONFIG_DEBUG_PREEMPT=y
++# CONFIG_DEBUG_RT_MUTEXES is not set
++# CONFIG_RT_MUTEX_TESTER is not set
++CONFIG_DEBUG_SPINLOCK=y
++CONFIG_DEBUG_MUTEXES=y
++CONFIG_DEBUG_LOCK_ALLOC=y
++# CONFIG_PROVE_LOCKING is not set
++CONFIG_LOCKDEP=y
++CONFIG_LOCK_STAT=y
++CONFIG_DEBUG_LOCKDEP=y
++CONFIG_DEBUG_SPINLOCK_SLEEP=y
++# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
++CONFIG_STACKTRACE=y
++# CONFIG_DEBUG_KOBJECT is not set
++CONFIG_DEBUG_BUGVERBOSE=y
++CONFIG_DEBUG_INFO=y
++# CONFIG_DEBUG_VM is not set
++# CONFIG_DEBUG_WRITECOUNT is not set
++CONFIG_DEBUG_MEMORY_INIT=y
++# CONFIG_DEBUG_LIST is not set
++CONFIG_DEBUG_SG=y
++CONFIG_FRAME_POINTER=y
++# CONFIG_BOOT_PRINTK_DELAY is not set
++# CONFIG_RCU_TORTURE_TEST is not set
++CONFIG_RCU_CPU_STALL_DETECTOR=y
++# CONFIG_BACKTRACE_SELF_TEST is not set
++# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
++# CONFIG_FAULT_INJECTION is not set
++CONFIG_LATENCYTOP=y
++CONFIG_SYSCTL_SYSCALL_CHECK=y
++CONFIG_HAVE_FUNCTION_TRACER=y
++
++#
++# Tracers
++#
++# CONFIG_FUNCTION_TRACER is not set
++# CONFIG_SCHED_TRACER is not set
++# CONFIG_CONTEXT_SWITCH_TRACER is not set
++# CONFIG_BOOT_TRACER is not set
++# CONFIG_STACK_TRACER is not set
++CONFIG_DYNAMIC_PRINTK_DEBUG=y
++# CONFIG_SAMPLES is not set
++CONFIG_HAVE_ARCH_KGDB=y
++# CONFIG_KGDB is not set
++# CONFIG_DEBUG_USER is not set
++CONFIG_DEBUG_ERRORS=y
++# CONFIG_DEBUG_STACK_USAGE is not set
++# CONFIG_DEBUG_LL is not set
++CONFIG_DEBUG_S3C_UART=2
++
++#
++# Security options
++#
++# CONFIG_KEYS is not set
++# CONFIG_SECURITY is not set
++CONFIG_SECURITYFS=y
++# CONFIG_SECURITY_FILE_CAPABILITIES is not set
++CONFIG_CRYPTO=y
++
++#
++# Crypto core or helper
++#
++CONFIG_CRYPTO_FIPS=y
++CONFIG_CRYPTO_ALGAPI=y
++CONFIG_CRYPTO_AEAD=y
++CONFIG_CRYPTO_BLKCIPHER=y
++CONFIG_CRYPTO_HASH=y
++CONFIG_CRYPTO_RNG=y
++CONFIG_CRYPTO_MANAGER=y
++CONFIG_CRYPTO_GF128MUL=m
++CONFIG_CRYPTO_NULL=m
++# CONFIG_CRYPTO_CRYPTD is not set
++CONFIG_CRYPTO_AUTHENC=m
++CONFIG_CRYPTO_TEST=m
++
++#
++# Authenticated Encryption with Associated Data
++#
++# CONFIG_CRYPTO_CCM is not set
++# CONFIG_CRYPTO_GCM is not set
++# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Block modes
++#
++CONFIG_CRYPTO_CBC=y
++# CONFIG_CRYPTO_CTR is not set
++# CONFIG_CRYPTO_CTS is not set
++CONFIG_CRYPTO_ECB=y
++CONFIG_CRYPTO_LRW=m
++CONFIG_CRYPTO_PCBC=m
++# CONFIG_CRYPTO_XTS is not set
++
++#
++# Hash modes
++#
++CONFIG_CRYPTO_HMAC=y
++CONFIG_CRYPTO_XCBC=m
++
++#
++# Digest
++#
++CONFIG_CRYPTO_CRC32C=m
++CONFIG_CRYPTO_MD4=m
++CONFIG_CRYPTO_MD5=y
++CONFIG_CRYPTO_MICHAEL_MIC=m
++# CONFIG_CRYPTO_RMD128 is not set
++# CONFIG_CRYPTO_RMD160 is not set
++# CONFIG_CRYPTO_RMD256 is not set
++# CONFIG_CRYPTO_RMD320 is not set
++CONFIG_CRYPTO_SHA1=y
++CONFIG_CRYPTO_SHA256=m
++CONFIG_CRYPTO_SHA512=m
++CONFIG_CRYPTO_TGR192=m
++CONFIG_CRYPTO_WP512=m
++
++#
++# Ciphers
++#
++CONFIG_CRYPTO_AES=y
++CONFIG_CRYPTO_ANUBIS=m
++CONFIG_CRYPTO_ARC4=y
++CONFIG_CRYPTO_BLOWFISH=m
++CONFIG_CRYPTO_CAMELLIA=m
++CONFIG_CRYPTO_CAST5=m
++CONFIG_CRYPTO_CAST6=m
++CONFIG_CRYPTO_DES=y
++CONFIG_CRYPTO_FCRYPT=m
++CONFIG_CRYPTO_KHAZAD=m
++# CONFIG_CRYPTO_SALSA20 is not set
++# CONFIG_CRYPTO_SEED is not set
++CONFIG_CRYPTO_SERPENT=m
++CONFIG_CRYPTO_TEA=m
++CONFIG_CRYPTO_TWOFISH=m
++CONFIG_CRYPTO_TWOFISH_COMMON=m
++
++#
++# Compression
++#
++CONFIG_CRYPTO_DEFLATE=m
++# CONFIG_CRYPTO_LZO is not set
++
++#
++# Random Number Generation
++#
++CONFIG_CRYPTO_ANSI_CPRNG=y
++CONFIG_CRYPTO_HW=y
++
++#
++# Library routines
++#
++CONFIG_BITREVERSE=y
++CONFIG_CRC_CCITT=y
++CONFIG_CRC16=y
++CONFIG_CRC_T10DIF=y
++# CONFIG_CRC_ITU_T is not set
++CONFIG_CRC32=y
++# CONFIG_CRC7 is not set
++CONFIG_LIBCRC32C=m
++CONFIG_ZLIB_INFLATE=y
++CONFIG_ZLIB_DEFLATE=y
++CONFIG_TEXTSEARCH=y
++CONFIG_TEXTSEARCH_KMP=m
++CONFIG_TEXTSEARCH_BM=m
++CONFIG_TEXTSEARCH_FSM=m
++CONFIG_PLIST=y
++CONFIG_HAS_IOMEM=y
++CONFIG_HAS_DMA=y
+Index: linux-2.6.28/arch/arm/configs/gta02-packaging-defconfig
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.28/arch/arm/configs/gta02-packaging-defconfig    2009-01-02 00:01:56.000000000 +0100
+@@ -0,0 +1,2111 @@
++#
++# Automatically generated make config: don't edit
++# Linux kernel version: 2.6.28-rc4
++# Wed Dec 10 11:09:39 2008
++#
++CONFIG_ARM=y
++CONFIG_HAVE_PWM=y
++CONFIG_SYS_SUPPORTS_APM_EMULATION=y
++CONFIG_GENERIC_GPIO=y
++# CONFIG_GENERIC_TIME is not set
++# CONFIG_GENERIC_CLOCKEVENTS is not set
++CONFIG_MMU=y
++CONFIG_NO_IOPORT=y
++CONFIG_GENERIC_HARDIRQS=y
++CONFIG_STACKTRACE_SUPPORT=y
++CONFIG_HAVE_LATENCYTOP_SUPPORT=y
++CONFIG_LOCKDEP_SUPPORT=y
++CONFIG_TRACE_IRQFLAGS_SUPPORT=y
++CONFIG_HARDIRQS_SW_RESEND=y
++CONFIG_GENERIC_IRQ_PROBE=y
++CONFIG_RWSEM_GENERIC_SPINLOCK=y
++# CONFIG_ARCH_HAS_ILOG2_U32 is not set
++# CONFIG_ARCH_HAS_ILOG2_U64 is not set
++CONFIG_GENERIC_HWEIGHT=y
++CONFIG_GENERIC_CALIBRATE_DELAY=y
++CONFIG_FIQ=y
++CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
++CONFIG_VECTORS_BASE=0xffff0000
++CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
++
++#
++# General setup
++#
++CONFIG_EXPERIMENTAL=y
++CONFIG_BROKEN_ON_SMP=y
++CONFIG_LOCK_KERNEL=y
++CONFIG_INIT_ENV_ARG_LIMIT=32
++CONFIG_LOCALVERSION="-mokodev"
++# CONFIG_LOCALVERSION_AUTO is not set
++CONFIG_SWAP=y
++CONFIG_SYSVIPC=y
++CONFIG_SYSVIPC_SYSCTL=y
++# CONFIG_POSIX_MQUEUE is not set
++# CONFIG_BSD_PROCESS_ACCT is not set
++# CONFIG_TASKSTATS is not set
++# CONFIG_AUDIT is not set
++CONFIG_IKCONFIG=y
++CONFIG_IKCONFIG_PROC=y
++CONFIG_LOG_BUF_SHIFT=18
++# CONFIG_CGROUPS is not set
++# CONFIG_GROUP_SCHED is not set
++CONFIG_SYSFS_DEPRECATED=y
++CONFIG_SYSFS_DEPRECATED_V2=y
++# CONFIG_RELAY is not set
++CONFIG_NAMESPACES=y
++# CONFIG_UTS_NS is not set
++# CONFIG_IPC_NS is not set
++# CONFIG_USER_NS is not set
++# CONFIG_PID_NS is not set
++CONFIG_BLK_DEV_INITRD=y
++CONFIG_INITRAMFS_SOURCE=""
++CONFIG_CC_OPTIMIZE_FOR_SIZE=y
++CONFIG_SYSCTL=y
++# CONFIG_EMBEDDED is not set
++CONFIG_UID16=y
++CONFIG_SYSCTL_SYSCALL=y
++CONFIG_KALLSYMS=y
++CONFIG_KALLSYMS_ALL=y
++# CONFIG_KALLSYMS_EXTRA_PASS is not set
++CONFIG_HOTPLUG=y
++CONFIG_PRINTK=y
++CONFIG_BUG=y
++CONFIG_ELF_CORE=y
++CONFIG_COMPAT_BRK=y
++CONFIG_BASE_FULL=y
++CONFIG_FUTEX=y
++CONFIG_ANON_INODES=y
++CONFIG_EPOLL=y
++CONFIG_SIGNALFD=y
++CONFIG_TIMERFD=y
++CONFIG_EVENTFD=y
++CONFIG_SHMEM=y
++CONFIG_AIO=y
++CONFIG_ASHMEM=y
++CONFIG_VM_EVENT_COUNTERS=y
++CONFIG_SLAB=y
++# CONFIG_SLUB is not set
++# CONFIG_SLOB is not set
++# CONFIG_PROFILING is not set
++CONFIG_MARKERS=y
++CONFIG_HAVE_OPROFILE=y
++# CONFIG_KPROBES is not set
++CONFIG_HAVE_KPROBES=y
++CONFIG_HAVE_KRETPROBES=y
++CONFIG_HAVE_CLK=y
++CONFIG_HAVE_GENERIC_DMA_COHERENT=y
++CONFIG_SLABINFO=y
++CONFIG_RT_MUTEXES=y
++# CONFIG_TINY_SHMEM is not set
++CONFIG_BASE_SMALL=0
++CONFIG_MODULES=y
++# CONFIG_MODULE_FORCE_LOAD is not set
++CONFIG_MODULE_UNLOAD=y
++CONFIG_MODULE_FORCE_UNLOAD=y
++# CONFIG_MODVERSIONS is not set
++# CONFIG_MODULE_SRCVERSION_ALL is not set
++CONFIG_KMOD=y
++CONFIG_BLOCK=y
++# CONFIG_LBD is not set
++# CONFIG_BLK_DEV_IO_TRACE is not set
++# CONFIG_LSF is not set
++# CONFIG_BLK_DEV_BSG is not set
++# CONFIG_BLK_DEV_INTEGRITY is not set
++
++#
++# IO Schedulers
++#
++CONFIG_IOSCHED_NOOP=y
++CONFIG_IOSCHED_AS=m
++CONFIG_IOSCHED_DEADLINE=y
++CONFIG_IOSCHED_CFQ=m
++# CONFIG_DEFAULT_AS is not set
++CONFIG_DEFAULT_DEADLINE=y
++# CONFIG_DEFAULT_CFQ is not set
++# CONFIG_DEFAULT_NOOP is not set
++CONFIG_DEFAULT_IOSCHED="deadline"
++CONFIG_CLASSIC_RCU=y
++CONFIG_FREEZER=y
++
++#
++# System Type
++#
++# CONFIG_ARCH_AAEC2000 is not set
++# CONFIG_ARCH_INTEGRATOR is not set
++# CONFIG_ARCH_REALVIEW is not set
++# CONFIG_ARCH_VERSATILE is not set
++# CONFIG_ARCH_AT91 is not set
++# CONFIG_ARCH_CLPS7500 is not set
++# CONFIG_ARCH_CLPS711X is not set
++# CONFIG_ARCH_EBSA110 is not set
++# CONFIG_ARCH_EP93XX is not set
++# CONFIG_ARCH_FOOTBRIDGE is not set
++# CONFIG_ARCH_NETX is not set
++# CONFIG_ARCH_H720X is not set
++# CONFIG_ARCH_IMX is not set
++# CONFIG_ARCH_IOP13XX is not set
++# CONFIG_ARCH_IOP32X is not set
++# CONFIG_ARCH_IOP33X is not set
++# CONFIG_ARCH_IXP23XX is not set
++# CONFIG_ARCH_IXP2000 is not set
++# CONFIG_ARCH_IXP4XX is not set
++# CONFIG_ARCH_L7200 is not set
++# CONFIG_ARCH_KIRKWOOD is not set
++# CONFIG_ARCH_KS8695 is not set
++# CONFIG_ARCH_NS9XXX is not set
++# CONFIG_ARCH_LOKI is not set
++# CONFIG_ARCH_MV78XX0 is not set
++# CONFIG_ARCH_MXC is not set
++# CONFIG_ARCH_ORION5X is not set
++# CONFIG_ARCH_PNX4008 is not set
++# CONFIG_ARCH_PXA is not set
++# CONFIG_ARCH_RPC is not set
++# CONFIG_ARCH_SA1100 is not set
++CONFIG_ARCH_S3C2410=y
++# CONFIG_ARCH_S3C64XX is not set
++# CONFIG_ARCH_SHARK is not set
++# CONFIG_ARCH_LH7A40X is not set
++# CONFIG_ARCH_DAVINCI is not set
++# CONFIG_ARCH_OMAP is not set
++# CONFIG_ARCH_MSM is not set
++CONFIG_PLAT_S3C24XX=y
++CONFIG_S3C2410_CLOCK=y
++CONFIG_CPU_S3C244X=y
++CONFIG_S3C24XX_PWM=y
++CONFIG_S3C2410_DMA=y
++# CONFIG_S3C2410_DMA_DEBUG is not set
++CONFIG_MACH_SMDK=y
++CONFIG_MACH_NEO1973=y
++CONFIG_PLAT_S3C=y
++CONFIG_CPU_LLSERIAL_S3C2410=y
++CONFIG_CPU_LLSERIAL_S3C2440=y
++
++#
++# Boot options
++#
++# CONFIG_S3C_BOOT_WATCHDOG is not set
++# CONFIG_S3C_BOOT_ERROR_RESET is not set
++CONFIG_S3C_BOOT_UART_FORCE_FIFO=y
++
++#
++# Power management
++#
++# CONFIG_S3C2410_PM_DEBUG is not set
++# CONFIG_S3C2410_PM_CHECK is not set
++CONFIG_S3C_LOWLEVEL_UART_PORT=2
++CONFIG_S3C_GPIO_SPACE=0
++CONFIG_S3C_GPIO_TRACK=y
++
++#
++# S3C2400 Machines
++#
++CONFIG_CPU_S3C2410=y
++CONFIG_CPU_S3C2410_DMA=y
++CONFIG_S3C2410_PM=y
++CONFIG_S3C2410_GPIO=y
++CONFIG_S3C2410_PWM=y
++
++#
++# S3C2410 Machines
++#
++# CONFIG_ARCH_SMDK2410 is not set
++# CONFIG_ARCH_H1940 is not set
++# CONFIG_MACH_N30 is not set
++# CONFIG_ARCH_BAST is not set
++# CONFIG_MACH_OTOM is not set
++# CONFIG_MACH_AML_M5900 is not set
++# CONFIG_MACH_TCT_HAMMER is not set
++# CONFIG_MACH_VR1000 is not set
++CONFIG_MACH_QT2410=y
++# CONFIG_MACH_NEO1973_GTA01 is not set
++
++#
++# S3C2412 Machines
++#
++# CONFIG_MACH_JIVE is not set
++# CONFIG_MACH_SMDK2413 is not set
++# CONFIG_MACH_SMDK2412 is not set
++# CONFIG_MACH_VSTMS is not set
++CONFIG_CPU_S3C2440=y
++CONFIG_S3C2440_DMA=y
++CONFIG_S3C2440_C_FIQ=y
++
++#
++# S3C2440 Machines
++#
++# CONFIG_MACH_ANUBIS is not set
++# CONFIG_MACH_OSIRIS is not set
++# CONFIG_MACH_RX3715 is not set
++CONFIG_ARCH_S3C2440=y
++# CONFIG_MACH_NEXCODER_2440 is not set
++CONFIG_SMDK2440_CPU2440=y
++# CONFIG_MACH_AT2440EVB is not set
++CONFIG_MACH_NEO1973_GTA02=y
++# CONFIG_NEO1973_GTA02_2440 is not set
++CONFIG_CPU_S3C2442=y
++
++#
++# S3C2442 Machines
++#
++CONFIG_SMDK2440_CPU2442=y
++
++#
++# S3C2443 Machines
++#
++# CONFIG_MACH_SMDK2443 is not set
++
++#
++# Processor Type
++#
++CONFIG_CPU_32=y
++CONFIG_CPU_ARM920T=y
++CONFIG_CPU_32v4T=y
++CONFIG_CPU_ABRT_EV4T=y
++CONFIG_CPU_PABRT_NOIFAR=y
++CONFIG_CPU_CACHE_V4WT=y
++CONFIG_CPU_CACHE_VIVT=y
++CONFIG_CPU_COPY_V4WB=y
++CONFIG_CPU_TLB_V4WBI=y
++CONFIG_CPU_CP15=y
++CONFIG_CPU_CP15_MMU=y
++
++#
++# Processor Features
++#
++CONFIG_ARM_THUMB=y
++# CONFIG_CPU_ICACHE_DISABLE is not set
++# CONFIG_CPU_DCACHE_DISABLE is not set
++# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
++# CONFIG_OUTER_CACHE is not set
++
++#
++# Bus support
++#
++# CONFIG_PCI_SYSCALL is not set
++# CONFIG_ARCH_SUPPORTS_MSI is not set
++# CONFIG_PCCARD is not set
++
++#
++# Kernel Features
++#
++CONFIG_VMSPLIT_3G=y
++# CONFIG_VMSPLIT_2G is not set
++# CONFIG_VMSPLIT_1G is not set
++CONFIG_PAGE_OFFSET=0xC0000000
++CONFIG_PREEMPT=y
++CONFIG_HZ=200
++CONFIG_AEABI=y
++CONFIG_OABI_COMPAT=y
++CONFIG_ARCH_FLATMEM_HAS_HOLES=y
++# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
++# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
++CONFIG_SELECT_MEMORY_MODEL=y
++CONFIG_FLATMEM_MANUAL=y
++# CONFIG_DISCONTIGMEM_MANUAL is not set
++# CONFIG_SPARSEMEM_MANUAL is not set
++CONFIG_FLATMEM=y
++CONFIG_FLAT_NODE_MEM_MAP=y
++CONFIG_PAGEFLAGS_EXTENDED=y
++CONFIG_SPLIT_PTLOCK_CPUS=4096
++# CONFIG_RESOURCES_64BIT is not set
++# CONFIG_PHYS_ADDR_T_64BIT is not set
++CONFIG_ZONE_DMA_FLAG=0
++CONFIG_VIRT_TO_BUS=y
++CONFIG_UNEVICTABLE_LRU=y
++CONFIG_ALIGNMENT_TRAP=y
++
++#
++# Boot options
++#
++CONFIG_ZBOOT_ROM_TEXT=0x0
++CONFIG_ZBOOT_ROM_BSS=0x0
++CONFIG_CMDLINE="unused -- bootloader passes ATAG list"
++# CONFIG_XIP_KERNEL is not set
++CONFIG_KEXEC=y
++CONFIG_ATAGS_PROC=y
++
++#
++# CPU Power Management
++#
++CONFIG_CPU_IDLE=y
++CONFIG_CPU_IDLE_GOV_LADDER=y
++
++#
++# Floating point emulation
++#
++
++#
++# At least one emulation must be selected
++#
++CONFIG_FPE_NWFPE=y
++# CONFIG_FPE_NWFPE_XP is not set
++# CONFIG_FPE_FASTFPE is not set
++
++#
++# Userspace binary formats
++#
++CONFIG_BINFMT_ELF=y
++# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
++CONFIG_HAVE_AOUT=y
++# CONFIG_BINFMT_AOUT is not set
++# CONFIG_BINFMT_MISC is not set
++
++#
++# Power management options
++#
++CONFIG_PM=y
++# CONFIG_PM_DEBUG is not set
++CONFIG_PM_SLEEP=y
++CONFIG_SUSPEND=y
++CONFIG_SUSPEND_FREEZER=y
++CONFIG_APM_EMULATION=y
++CONFIG_ARCH_SUSPEND_POSSIBLE=y
++CONFIG_NET=y
++
++#
++# Networking options
++#
++CONFIG_PACKET=y
++CONFIG_PACKET_MMAP=y
++CONFIG_UNIX=y
++CONFIG_XFRM=y
++# CONFIG_XFRM_USER is not set
++# CONFIG_XFRM_SUB_POLICY is not set
++CONFIG_XFRM_MIGRATE=y
++# CONFIG_XFRM_STATISTICS is not set
++CONFIG_XFRM_IPCOMP=m
++CONFIG_NET_KEY=m
++CONFIG_NET_KEY_MIGRATE=y
++CONFIG_INET=y
++CONFIG_IP_MULTICAST=y
++CONFIG_IP_ADVANCED_ROUTER=y
++CONFIG_ASK_IP_FIB_HASH=y
++# CONFIG_IP_FIB_TRIE is not set
++CONFIG_IP_FIB_HASH=y
++CONFIG_IP_MULTIPLE_TABLES=y
++# CONFIG_IP_ROUTE_MULTIPATH is not set
++# CONFIG_IP_ROUTE_VERBOSE is not set
++CONFIG_IP_PNP=y
++# CONFIG_IP_PNP_DHCP is not set
++# CONFIG_IP_PNP_BOOTP is not set
++# CONFIG_IP_PNP_RARP is not set
++CONFIG_NET_IPIP=m
++CONFIG_NET_IPGRE=m
++# CONFIG_NET_IPGRE_BROADCAST is not set
++# CONFIG_IP_MROUTE is not set
++# CONFIG_ARPD is not set
++CONFIG_SYN_COOKIES=y
++CONFIG_INET_AH=m
++CONFIG_INET_ESP=m
++CONFIG_INET_IPCOMP=m
++CONFIG_INET_XFRM_TUNNEL=m
++CONFIG_INET_TUNNEL=m
++CONFIG_INET_XFRM_MODE_TRANSPORT=m
++CONFIG_INET_XFRM_MODE_TUNNEL=m
++CONFIG_INET_XFRM_MODE_BEET=m
++# CONFIG_INET_LRO is not set
++CONFIG_INET_DIAG=y
++CONFIG_INET_TCP_DIAG=y
++# CONFIG_TCP_CONG_ADVANCED is not set
++CONFIG_TCP_CONG_CUBIC=y
++CONFIG_DEFAULT_TCP_CONG="cubic"
++CONFIG_TCP_MD5SIG=y
++CONFIG_IPV6=m
++# CONFIG_IPV6_PRIVACY is not set
++# CONFIG_IPV6_ROUTER_PREF is not set
++# CONFIG_IPV6_OPTIMISTIC_DAD is not set
++CONFIG_INET6_AH=m
++CONFIG_INET6_ESP=m
++CONFIG_INET6_IPCOMP=m
++# CONFIG_IPV6_MIP6 is not set
++CONFIG_INET6_XFRM_TUNNEL=m
++CONFIG_INET6_TUNNEL=m
++CONFIG_INET6_XFRM_MODE_TRANSPORT=m
++CONFIG_INET6_XFRM_MODE_TUNNEL=m
++CONFIG_INET6_XFRM_MODE_BEET=m
++# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
++CONFIG_IPV6_SIT=m
++CONFIG_IPV6_NDISC_NODETYPE=y
++CONFIG_IPV6_TUNNEL=m
++# CONFIG_IPV6_MULTIPLE_TABLES is not set
++# CONFIG_IPV6_MROUTE is not set
++# CONFIG_NETWORK_SECMARK is not set
++CONFIG_NETFILTER=y
++# CONFIG_NETFILTER_DEBUG is not set
++CONFIG_NETFILTER_ADVANCED=y
++CONFIG_BRIDGE_NETFILTER=y
++
++#
++# Core Netfilter Configuration
++#
++CONFIG_NETFILTER_NETLINK=m
++CONFIG_NETFILTER_NETLINK_QUEUE=m
++CONFIG_NETFILTER_NETLINK_LOG=m
++CONFIG_NF_CONNTRACK=m
++CONFIG_NF_CT_ACCT=y
++CONFIG_NF_CONNTRACK_MARK=y
++# CONFIG_NF_CONNTRACK_EVENTS is not set
++# CONFIG_NF_CT_PROTO_DCCP is not set
++CONFIG_NF_CT_PROTO_GRE=m
++CONFIG_NF_CT_PROTO_SCTP=m
++# CONFIG_NF_CT_PROTO_UDPLITE is not set
++# CONFIG_NF_CONNTRACK_AMANDA is not set
++CONFIG_NF_CONNTRACK_FTP=m
++CONFIG_NF_CONNTRACK_H323=m
++CONFIG_NF_CONNTRACK_IRC=m
++CONFIG_NF_CONNTRACK_NETBIOS_NS=m
++CONFIG_NF_CONNTRACK_PPTP=m
++CONFIG_NF_CONNTRACK_SANE=m
++CONFIG_NF_CONNTRACK_SIP=m
++CONFIG_NF_CONNTRACK_TFTP=m
++CONFIG_NF_CT_NETLINK=m
++# CONFIG_NETFILTER_TPROXY is not set
++CONFIG_NETFILTER_XTABLES=m
++CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
++CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
++CONFIG_NETFILTER_XT_TARGET_DSCP=m
++CONFIG_NETFILTER_XT_TARGET_MARK=m
++CONFIG_NETFILTER_XT_TARGET_NFLOG=m
++CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
++# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set
++CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
++# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set
++# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
++CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
++# CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set
++CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
++CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
++CONFIG_NETFILTER_XT_MATCH_DCCP=m
++CONFIG_NETFILTER_XT_MATCH_DSCP=m
++CONFIG_NETFILTER_XT_MATCH_ESP=m
++CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
++CONFIG_NETFILTER_XT_MATCH_HELPER=m
++# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set
++CONFIG_NETFILTER_XT_MATCH_LENGTH=m
++CONFIG_NETFILTER_XT_MATCH_LIMIT=m
++CONFIG_NETFILTER_XT_MATCH_MAC=m
++CONFIG_NETFILTER_XT_MATCH_MARK=m
++CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
++# CONFIG_NETFILTER_XT_MATCH_OWNER is not set
++CONFIG_NETFILTER_XT_MATCH_POLICY=m
++CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
++CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
++CONFIG_NETFILTER_XT_MATCH_QUOTA=m
++# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set
++CONFIG_NETFILTER_XT_MATCH_REALM=m
++# CONFIG_NETFILTER_XT_MATCH_RECENT is not set
++CONFIG_NETFILTER_XT_MATCH_SCTP=m
++CONFIG_NETFILTER_XT_MATCH_STATE=m
++CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
++CONFIG_NETFILTER_XT_MATCH_STRING=m
++CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
++# CONFIG_NETFILTER_XT_MATCH_TIME is not set
++# CONFIG_NETFILTER_XT_MATCH_U32 is not set
++# CONFIG_IP_VS is not set
++
++#
++# IP: Netfilter Configuration
++#
++CONFIG_NF_DEFRAG_IPV4=m
++CONFIG_NF_CONNTRACK_IPV4=m
++# CONFIG_NF_CONNTRACK_PROC_COMPAT is not set
++# CONFIG_IP_NF_QUEUE is not set
++CONFIG_IP_NF_IPTABLES=m
++CONFIG_IP_NF_MATCH_ADDRTYPE=m
++CONFIG_IP_NF_MATCH_AH=m
++CONFIG_IP_NF_MATCH_ECN=m
++CONFIG_IP_NF_MATCH_TTL=m
++CONFIG_IP_NF_FILTER=m
++CONFIG_IP_NF_TARGET_REJECT=m
++CONFIG_IP_NF_TARGET_LOG=m
++CONFIG_IP_NF_TARGET_ULOG=m
++CONFIG_NF_NAT=m
++CONFIG_NF_NAT_NEEDED=y
++CONFIG_IP_NF_TARGET_MASQUERADE=m
++CONFIG_IP_NF_TARGET_NETMAP=m
++CONFIG_IP_NF_TARGET_REDIRECT=m
++CONFIG_NF_NAT_SNMP_BASIC=m
++CONFIG_NF_NAT_PROTO_GRE=m
++CONFIG_NF_NAT_PROTO_SCTP=m
++CONFIG_NF_NAT_FTP=m
++CONFIG_NF_NAT_IRC=m
++CONFIG_NF_NAT_TFTP=m
++# CONFIG_NF_NAT_AMANDA is not set
++CONFIG_NF_NAT_PPTP=m
++CONFIG_NF_NAT_H323=m
++CONFIG_NF_NAT_SIP=m
++CONFIG_IP_NF_MANGLE=m
++CONFIG_IP_NF_TARGET_CLUSTERIP=m
++CONFIG_IP_NF_TARGET_ECN=m
++CONFIG_IP_NF_TARGET_TTL=m
++# CONFIG_IP_NF_RAW is not set
++# CONFIG_IP_NF_ARPTABLES is not set
++
++#
++# IPv6: Netfilter Configuration
++#
++CONFIG_NF_CONNTRACK_IPV6=m
++# CONFIG_IP6_NF_QUEUE is not set
++CONFIG_IP6_NF_IPTABLES=m
++CONFIG_IP6_NF_MATCH_AH=m
++CONFIG_IP6_NF_MATCH_EUI64=m
++CONFIG_IP6_NF_MATCH_FRAG=m
++CONFIG_IP6_NF_MATCH_OPTS=m
++CONFIG_IP6_NF_MATCH_HL=m
++CONFIG_IP6_NF_MATCH_IPV6HEADER=m
++CONFIG_IP6_NF_MATCH_MH=m
++CONFIG_IP6_NF_MATCH_RT=m
++CONFIG_IP6_NF_TARGET_LOG=m
++CONFIG_IP6_NF_FILTER=m
++CONFIG_IP6_NF_TARGET_REJECT=m
++CONFIG_IP6_NF_MANGLE=m
++CONFIG_IP6_NF_TARGET_HL=m
++# CONFIG_IP6_NF_RAW is not set
++CONFIG_BRIDGE_NF_EBTABLES=m
++CONFIG_BRIDGE_EBT_BROUTE=m
++CONFIG_BRIDGE_EBT_T_FILTER=m
++CONFIG_BRIDGE_EBT_T_NAT=m
++CONFIG_BRIDGE_EBT_802_3=m
++CONFIG_BRIDGE_EBT_AMONG=m
++CONFIG_BRIDGE_EBT_ARP=m
++CONFIG_BRIDGE_EBT_IP=m
++# CONFIG_BRIDGE_EBT_IP6 is not set
++CONFIG_BRIDGE_EBT_LIMIT=m
++CONFIG_BRIDGE_EBT_MARK=m
++CONFIG_BRIDGE_EBT_PKTTYPE=m
++CONFIG_BRIDGE_EBT_STP=m
++CONFIG_BRIDGE_EBT_VLAN=m
++CONFIG_BRIDGE_EBT_ARPREPLY=m
++CONFIG_BRIDGE_EBT_DNAT=m
++CONFIG_BRIDGE_EBT_MARK_T=m
++CONFIG_BRIDGE_EBT_REDIRECT=m
++CONFIG_BRIDGE_EBT_SNAT=m
++CONFIG_BRIDGE_EBT_LOG=m
++CONFIG_BRIDGE_EBT_ULOG=m
++# CONFIG_BRIDGE_EBT_NFLOG is not set
++# CONFIG_IP_DCCP is not set
++# CONFIG_IP_SCTP is not set
++# CONFIG_TIPC is not set
++# CONFIG_ATM is not set
++CONFIG_STP=y
++CONFIG_BRIDGE=y
++# CONFIG_NET_DSA is not set
++# CONFIG_VLAN_8021Q is not set
++# CONFIG_DECNET is not set
++CONFIG_LLC=y
++# CONFIG_LLC2 is not set
++# CONFIG_IPX is not set
++# CONFIG_ATALK is not set
++# CONFIG_X25 is not set
++# CONFIG_LAPB is not set
++# CONFIG_ECONET is not set
++# CONFIG_WAN_ROUTER is not set
++CONFIG_NET_SCHED=y
++
++#
++# Queueing/Scheduling
++#
++CONFIG_NET_SCH_CBQ=m
++CONFIG_NET_SCH_HTB=m
++CONFIG_NET_SCH_HFSC=m
++CONFIG_NET_SCH_PRIO=m
++# CONFIG_NET_SCH_MULTIQ is not set
++CONFIG_NET_SCH_RED=m
++CONFIG_NET_SCH_SFQ=m
++CONFIG_NET_SCH_TEQL=m
++CONFIG_NET_SCH_TBF=m
++CONFIG_NET_SCH_GRED=m
++CONFIG_NET_SCH_DSMARK=m
++CONFIG_NET_SCH_NETEM=m
++
++#
++# Classification
++#
++CONFIG_NET_CLS=y
++CONFIG_NET_CLS_BASIC=m
++CONFIG_NET_CLS_TCINDEX=m
++CONFIG_NET_CLS_ROUTE4=m
++CONFIG_NET_CLS_ROUTE=y
++CONFIG_NET_CLS_FW=m
++CONFIG_NET_CLS_U32=m
++CONFIG_CLS_U32_PERF=y
++CONFIG_CLS_U32_MARK=y
++CONFIG_NET_CLS_RSVP=m
++CONFIG_NET_CLS_RSVP6=m
++# CONFIG_NET_CLS_FLOW is not set
++# CONFIG_NET_EMATCH is not set
++# CONFIG_NET_CLS_ACT is not set
++# CONFIG_NET_CLS_IND is not set
++CONFIG_NET_SCH_FIFO=y
++
++#
++# Network testing
++#
++# CONFIG_NET_PKTGEN is not set
++# CONFIG_HAMRADIO is not set
++# CONFIG_CAN is not set
++# CONFIG_IRDA is not set
++CONFIG_BT=m
++CONFIG_BT_L2CAP=m
++CONFIG_BT_SCO=m
++CONFIG_BT_RFCOMM=m
++CONFIG_BT_RFCOMM_TTY=y
++CONFIG_BT_BNEP=m
++CONFIG_BT_BNEP_MC_FILTER=y
++CONFIG_BT_BNEP_PROTO_FILTER=y
++CONFIG_BT_HIDP=m
++
++#
++# Bluetooth device drivers
++#
++CONFIG_BT_HCIBTUSB=m
++# CONFIG_BT_HCIBTSDIO is not set
++# CONFIG_BT_HCIUART is not set
++# CONFIG_BT_HCIBCM203X is not set
++# CONFIG_BT_HCIBPA10X is not set
++# CONFIG_BT_HCIBFUSB is not set
++# CONFIG_BT_HCIVHCI is not set
++# CONFIG_AF_RXRPC is not set
++# CONFIG_PHONET is not set
++CONFIG_FIB_RULES=y
++CONFIG_WIRELESS=y
++# CONFIG_CFG80211 is not set
++# CONFIG_WIRELESS_OLD_REGULATORY is not set
++CONFIG_WIRELESS_EXT=y
++CONFIG_WIRELESS_EXT_SYSFS=y
++# CONFIG_MAC80211 is not set
++# CONFIG_IEEE80211 is not set
++CONFIG_RFKILL=y
++CONFIG_RFKILL_INPUT=y
++CONFIG_RFKILL_LEDS=y
++# CONFIG_NET_9P is not set
++
++#
++# Device Drivers
++#
++
++#
++# Generic Driver Options
++#
++CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
++CONFIG_STANDALONE=y
++CONFIG_PREVENT_FIRMWARE_BUILD=y
++CONFIG_FW_LOADER=y
++# CONFIG_FIRMWARE_IN_KERNEL is not set
++CONFIG_EXTRA_FIRMWARE=""
++# CONFIG_DEBUG_DRIVER is not set
++# CONFIG_DEBUG_DEVRES is not set
++# CONFIG_SYS_HYPERVISOR is not set
++CONFIG_CONNECTOR=m
++CONFIG_MTD=y
++# CONFIG_MTD_DEBUG is not set
++CONFIG_MTD_CONCAT=y
++CONFIG_MTD_PARTITIONS=y
++# CONFIG_MTD_REDBOOT_PARTS is not set
++CONFIG_MTD_CMDLINE_PARTS=y
++# CONFIG_MTD_AFS_PARTS is not set
++# CONFIG_MTD_AR7_PARTS is not set
++
++#
++# User Modules And Translation Layers
++#
++CONFIG_MTD_CHAR=y
++CONFIG_MTD_BLKDEVS=y
++CONFIG_MTD_BLOCK=y
++# CONFIG_FTL is not set
++# CONFIG_NFTL is not set
++# CONFIG_INFTL is not set
++# CONFIG_RFD_FTL is not set
++# CONFIG_SSFDC is not set
++# CONFIG_MTD_OOPS is not set
++
++#
++# RAM/ROM/Flash chip drivers
++#
++CONFIG_MTD_CFI=y
++# CONFIG_MTD_JEDECPROBE is not set
++CONFIG_MTD_GEN_PROBE=y
++# CONFIG_MTD_CFI_ADV_OPTIONS is not set
++CONFIG_MTD_MAP_BANK_WIDTH_1=y
++CONFIG_MTD_MAP_BANK_WIDTH_2=y
++CONFIG_MTD_MAP_BANK_WIDTH_4=y
++# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
++# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
++# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
++CONFIG_MTD_CFI_I1=y
++CONFIG_MTD_CFI_I2=y
++# CONFIG_MTD_CFI_I4 is not set
++# CONFIG_MTD_CFI_I8 is not set
++CONFIG_MTD_CFI_INTELEXT=y
++# CONFIG_MTD_CFI_AMDSTD is not set
++# CONFIG_MTD_CFI_STAA is not set
++CONFIG_MTD_CFI_UTIL=y
++# CONFIG_MTD_RAM is not set
++CONFIG_MTD_ROM=y
++CONFIG_MTD_ABSENT=y
++
++#
++# Mapping drivers for chip access
++#
++# CONFIG_MTD_COMPLEX_MAPPINGS is not set
++CONFIG_MTD_PHYSMAP=y
++CONFIG_MTD_PHYSMAP_START=0x0
++CONFIG_MTD_PHYSMAP_LEN=0
++CONFIG_MTD_PHYSMAP_BANKWIDTH=2
++# CONFIG_MTD_ARM_INTEGRATOR is not set
++# CONFIG_MTD_PLATRAM is not set
++
++#
++# Self-contained MTD device drivers
++#
++# CONFIG_MTD_DATAFLASH is not set
++# CONFIG_MTD_M25P80 is not set
++# CONFIG_MTD_SLRAM is not set
++# CONFIG_MTD_PHRAM is not set
++# CONFIG_MTD_MTDRAM is not set
++# CONFIG_MTD_BLOCK2MTD is not set
++
++#
++# Disk-On-Chip Device Drivers
++#
++# CONFIG_MTD_DOC2000 is not set
++# CONFIG_MTD_DOC2001 is not set
++# CONFIG_MTD_DOC2001PLUS is not set
++CONFIG_MTD_NAND=y
++CONFIG_MTD_NAND_VERIFY_WRITE=y
++# CONFIG_MTD_NAND_ECC_SMC is not set
++# CONFIG_MTD_NAND_MUSEUM_IDS is not set
++# CONFIG_MTD_NAND_GPIO is not set
++CONFIG_MTD_NAND_IDS=y
++CONFIG_MTD_NAND_S3C2410=y
++CONFIG_MTD_NAND_S3C2410_DEBUG=y
++CONFIG_MTD_NAND_S3C2410_HWECC=y
++# CONFIG_MTD_NAND_S3C2410_CLKSTOP is not set
++# CONFIG_MTD_NAND_DISKONCHIP is not set
++# CONFIG_MTD_NAND_NANDSIM is not set
++# CONFIG_MTD_NAND_PLATFORM is not set
++# CONFIG_MTD_ALAUDA is not set
++# CONFIG_MTD_ONENAND is not set
++
++#
++# UBI - Unsorted block images
++#
++# CONFIG_MTD_UBI is not set
++# CONFIG_PARPORT is not set
++CONFIG_BLK_DEV=y
++# CONFIG_BLK_DEV_COW_COMMON is not set
++CONFIG_BLK_DEV_LOOP=m
++# CONFIG_BLK_DEV_CRYPTOLOOP is not set
++# CONFIG_BLK_DEV_NBD is not set
++CONFIG_BLK_DEV_UB=m
++CONFIG_BLK_DEV_RAM=y
++CONFIG_BLK_DEV_RAM_COUNT=16
++CONFIG_BLK_DEV_RAM_SIZE=4096
++# CONFIG_BLK_DEV_XIP is not set
++# CONFIG_CDROM_PKTCDVD is not set
++# CONFIG_ATA_OVER_ETH is not set
++CONFIG_MISC_DEVICES=y
++# CONFIG_EEPROM_93CX6 is not set
++CONFIG_LOW_MEMORY_KILLER=y
++# CONFIG_ENCLOSURE_SERVICES is not set
++CONFIG_HAVE_IDE=y
++# CONFIG_IDE is not set
++
++#
++# SCSI device support
++#
++# CONFIG_RAID_ATTRS is not set
++CONFIG_SCSI=m
++CONFIG_SCSI_DMA=y
++# CONFIG_SCSI_TGT is not set
++# CONFIG_SCSI_NETLINK is not set
++CONFIG_SCSI_PROC_FS=y
++
++#
++# SCSI support type (disk, tape, CD-ROM)
++#
++CONFIG_BLK_DEV_SD=m
++# CONFIG_CHR_DEV_ST is not set
++# CONFIG_CHR_DEV_OSST is not set
++CONFIG_BLK_DEV_SR=m
++# CONFIG_BLK_DEV_SR_VENDOR is not set
++CONFIG_CHR_DEV_SG=m
++# CONFIG_CHR_DEV_SCH is not set
++
++#
++# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
++#
++CONFIG_SCSI_MULTI_LUN=y
++# CONFIG_SCSI_CONSTANTS is not set
++# CONFIG_SCSI_LOGGING is not set
++CONFIG_SCSI_SCAN_ASYNC=y
++CONFIG_SCSI_WAIT_SCAN=m
++
++#
++# SCSI Transports
++#
++# CONFIG_SCSI_SPI_ATTRS is not set
++# CONFIG_SCSI_FC_ATTRS is not set
++# CONFIG_SCSI_ISCSI_ATTRS is not set
++# CONFIG_SCSI_SAS_LIBSAS is not set
++# CONFIG_SCSI_SRP_ATTRS is not set
++CONFIG_SCSI_LOWLEVEL=y
++# CONFIG_ISCSI_TCP is not set
++# CONFIG_SCSI_DEBUG is not set
++# CONFIG_SCSI_DH is not set
++# CONFIG_ATA is not set
++CONFIG_MD=y
++# CONFIG_BLK_DEV_MD is not set
++CONFIG_BLK_DEV_DM=m
++# CONFIG_DM_DEBUG is not set
++CONFIG_DM_CRYPT=m
++CONFIG_DM_SNAPSHOT=m
++# CONFIG_DM_MIRROR is not set
++# CONFIG_DM_ZERO is not set
++# CONFIG_DM_MULTIPATH is not set
++# CONFIG_DM_DELAY is not set
++# CONFIG_DM_UEVENT is not set
++CONFIG_NETDEVICES=y
++# CONFIG_DUMMY is not set
++# CONFIG_BONDING is not set
++# CONFIG_MACVLAN is not set
++# CONFIG_EQUALIZER is not set
++CONFIG_TUN=m
++# CONFIG_VETH is not set
++# CONFIG_PHYLIB is not set
++CONFIG_NET_ETHERNET=y
++CONFIG_MII=y
++# CONFIG_AX88796 is not set
++# CONFIG_SMC91X is not set
++# CONFIG_DM9000 is not set
++# CONFIG_ENC28J60 is not set
++# CONFIG_SMC911X is not set
++# CONFIG_IBM_NEW_EMAC_ZMII is not set
++# CONFIG_IBM_NEW_EMAC_RGMII is not set
++# CONFIG_IBM_NEW_EMAC_TAH is not set
++# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
++# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
++# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
++# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
++# CONFIG_B44 is not set
++# CONFIG_NETDEV_1000 is not set
++# CONFIG_NETDEV_10000 is not set
++
++#
++# Wireless LAN
++#
++# CONFIG_WLAN_PRE80211 is not set
++# CONFIG_WLAN_80211 is not set
++# CONFIG_IWLWIFI_LEDS is not set
++
++#
++# USB Network Adapters
++#
++CONFIG_USB_CATC=m
++CONFIG_USB_KAWETH=m
++CONFIG_USB_PEGASUS=m
++CONFIG_USB_RTL8150=m
++CONFIG_USB_USBNET=y
++CONFIG_USB_NET_AX8817X=m
++CONFIG_USB_NET_CDCETHER=m
++CONFIG_USB_NET_DM9601=m
++# CONFIG_USB_NET_SMSC95XX is not set
++CONFIG_USB_NET_GL620A=m
++CONFIG_USB_NET_NET1080=m
++CONFIG_USB_NET_PLUSB=m
++CONFIG_USB_NET_MCS7830=m
++CONFIG_USB_NET_RNDIS_HOST=m
++CONFIG_USB_NET_CDC_SUBSET=m
++CONFIG_USB_ALI_M5632=y
++CONFIG_USB_AN2720=y
++CONFIG_USB_BELKIN=y
++CONFIG_USB_ARMLINUX=y
++CONFIG_USB_EPSON2888=y
++CONFIG_USB_KC2190=y
++CONFIG_USB_NET_ZAURUS=m
++# CONFIG_USB_HSO is not set
++# CONFIG_WAN is not set
++CONFIG_PPP=m
++CONFIG_PPP_MULTILINK=y
++CONFIG_PPP_FILTER=y
++CONFIG_PPP_ASYNC=m
++CONFIG_PPP_SYNC_TTY=m
++CONFIG_PPP_DEFLATE=m
++CONFIG_PPP_BSDCOMP=m
++CONFIG_PPP_MPPE=m
++# CONFIG_PPPOE is not set
++# CONFIG_PPPOL2TP is not set
++# CONFIG_SLIP is not set
++CONFIG_SLHC=m
++# CONFIG_NETCONSOLE is not set
++# CONFIG_NETPOLL is not set
++# CONFIG_NET_POLL_CONTROLLER is not set
++# CONFIG_ISDN is not set
++
++#
++# Input device support
++#
++CONFIG_INPUT=y
++# CONFIG_INPUT_FF_MEMLESS is not set
++# CONFIG_INPUT_POLLDEV is not set
++
++#
++# Userland interfaces
++#
++CONFIG_INPUT_MOUSEDEV=y
++# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
++CONFIG_INPUT_MOUSEDEV_SCREEN_X=480
++CONFIG_INPUT_MOUSEDEV_SCREEN_Y=640
++# CONFIG_INPUT_JOYDEV is not set
++CONFIG_INPUT_EVDEV=y
++# CONFIG_INPUT_EVBUG is not set
++
++#
++# Input Device Drivers
++#
++CONFIG_INPUT_KEYBOARD=y
++# CONFIG_KEYBOARD_ATKBD is not set
++# CONFIG_KEYBOARD_SUNKBD is not set
++# CONFIG_KEYBOARD_LKKBD is not set
++# CONFIG_KEYBOARD_XTKBD is not set
++# CONFIG_KEYBOARD_NEWTON is not set
++CONFIG_KEYBOARD_STOWAWAY=m
++CONFIG_KEYBOARD_GPIO=m
++CONFIG_KEYBOARD_NEO1973=y
++CONFIG_KEYBOARD_QT2410=y
++CONFIG_INPUT_MOUSE=y
++# CONFIG_MOUSE_PS2 is not set
++# CONFIG_MOUSE_SERIAL is not set
++# CONFIG_MOUSE_APPLETOUCH is not set
++# CONFIG_MOUSE_BCM5974 is not set
++# CONFIG_MOUSE_VSXXXAA is not set
++# CONFIG_MOUSE_GPIO is not set
++# CONFIG_INPUT_JOYSTICK is not set
++# CONFIG_INPUT_TABLET is not set
++CONFIG_INPUT_TOUCHSCREEN=y
++CONFIG_TOUCHSCREEN_FILTER=y
++CONFIG_TOUCHSCREEN_FILTER_GROUP=y
++CONFIG_TOUCHSCREEN_FILTER_MEDIAN=y
++CONFIG_TOUCHSCREEN_FILTER_MEAN=y
++CONFIG_TOUCHSCREEN_FILTER_LINEAR=y
++# CONFIG_TOUCHSCREEN_ADS7846 is not set
++# CONFIG_TOUCHSCREEN_FUJITSU is not set
++CONFIG_TOUCHSCREEN_S3C2410=y
++# CONFIG_TOUCHSCREEN_S3C2410_DEBUG is not set
++# CONFIG_TOUCHSCREEN_GUNZE is not set
++# CONFIG_TOUCHSCREEN_ELO is not set
++# CONFIG_TOUCHSCREEN_MTOUCH is not set
++# CONFIG_TOUCHSCREEN_INEXIO is not set
++# CONFIG_TOUCHSCREEN_MK712 is not set
++# CONFIG_TOUCHSCREEN_PENMOUNT is not set
++# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
++# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
++# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
++# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
++# CONFIG_TOUCHSCREEN_PCAP7200 is not set
++CONFIG_INPUT_MISC=y
++# CONFIG_INPUT_ATI_REMOTE is not set
++# CONFIG_INPUT_ATI_REMOTE2 is not set
++# CONFIG_INPUT_KEYSPAN_REMOTE is not set
++# CONFIG_INPUT_POWERMATE is not set
++# CONFIG_INPUT_YEALINK is not set
++# CONFIG_INPUT_CM109 is not set
++CONFIG_INPUT_UINPUT=m
++CONFIG_INPUT_LIS302DL=y
++CONFIG_INPUT_PCF50633_PMU=y
++
++#
++# Hardware I/O ports
++#
++CONFIG_SERIO=y
++# CONFIG_SERIO_SERPORT is not set
++# CONFIG_SERIO_RAW is not set
++# CONFIG_GAMEPORT is not set
++
++#
++# Character devices
++#
++CONFIG_VT=y
++CONFIG_CONSOLE_TRANSLATIONS=y
++CONFIG_VT_CONSOLE=y
++CONFIG_NR_TTY_DEVICES=6
++CONFIG_HW_CONSOLE=y
++CONFIG_VT_HW_CONSOLE_BINDING=y
++# CONFIG_DEVKMEM is not set
++# CONFIG_SERIAL_NONSTANDARD is not set
++
++#
++# Serial drivers
++#
++# CONFIG_SERIAL_8250 is not set
++
++#
++# Non-8250 serial port support
++#
++CONFIG_SERIAL_SAMSUNG=y
++CONFIG_SERIAL_SAMSUNG_UARTS=3
++CONFIG_SERIAL_SAMSUNG_CONSOLE=y
++CONFIG_SERIAL_S3C2410=y
++CONFIG_SERIAL_S3C2440=y
++CONFIG_SERIAL_CORE=y
++CONFIG_SERIAL_CORE_CONSOLE=y
++CONFIG_UNIX98_PTYS=y
++# CONFIG_LEGACY_PTYS is not set
++# CONFIG_IPMI_HANDLER is not set
++# CONFIG_HW_RANDOM is not set
++# CONFIG_NVRAM is not set
++# CONFIG_R3964 is not set
++# CONFIG_RAW_DRIVER is not set
++# CONFIG_TCG_TPM is not set
++CONFIG_I2C=y
++CONFIG_I2C_BOARDINFO=y
++CONFIG_I2C_CHARDEV=y
++CONFIG_I2C_HELPER_AUTO=y
++
++#
++# I2C Hardware Bus support
++#
++
++#
++# I2C system bus drivers (mostly embedded / system-on-chip)
++#
++# CONFIG_I2C_GPIO is not set
++# CONFIG_I2C_OCORES is not set
++CONFIG_I2C_S3C2410=y
++# CONFIG_I2C_SIMTEC is not set
++
++#
++# External I2C/SMBus adapter drivers
++#
++# CONFIG_I2C_PARPORT_LIGHT is not set
++# CONFIG_I2C_TAOS_EVM is not set
++# CONFIG_I2C_TINY_USB is not set
++
++#
++# Other I2C/SMBus bus drivers
++#
++# CONFIG_I2C_PCA_PLATFORM is not set
++# CONFIG_I2C_STUB is not set
++
++#
++# Miscellaneous I2C Chip support
++#
++# CONFIG_DS1682 is not set
++# CONFIG_AT24 is not set
++# CONFIG_SENSORS_EEPROM is not set
++# CONFIG_SENSORS_PCF50606 is not set
++# CONFIG_SENSORS_PCF50633 is not set
++# CONFIG_SENSORS_PCF8574 is not set
++# CONFIG_PCF8575 is not set
++# CONFIG_SENSORS_PCA9539 is not set
++# CONFIG_SENSORS_PCF8591 is not set
++# CONFIG_TPS65010 is not set
++# CONFIG_SENSORS_MAX6875 is not set
++# CONFIG_SENSORS_TSL2550 is not set
++# CONFIG_SENSORS_TSL256X is not set
++CONFIG_PCA9632=y
++# CONFIG_I2C_DEBUG_CORE is not set
++# CONFIG_I2C_DEBUG_ALGO is not set
++# CONFIG_I2C_DEBUG_BUS is not set
++# CONFIG_I2C_DEBUG_CHIP is not set
++CONFIG_SPI=y
++# CONFIG_SPI_DEBUG is not set
++CONFIG_SPI_MASTER=y
++
++#
++# SPI Master Controller Drivers
++#
++CONFIG_SPI_BITBANG=y
++# CONFIG_SPI_S3C24XX is not set
++CONFIG_SPI_S3C24XX_GPIO=y
++
++#
++# SPI Protocol Masters
++#
++# CONFIG_SPI_AT25 is not set
++# CONFIG_SPI_SPIDEV is not set
++# CONFIG_SPI_TLE62X0 is not set
++CONFIG_ARCH_REQUIRE_GPIOLIB=y
++CONFIG_GPIOLIB=y
++CONFIG_DEBUG_GPIO=y
++CONFIG_GPIO_SYSFS=y
++
++#
++# I2C GPIO expanders:
++#
++# CONFIG_GPIO_MAX732X is not set
++# CONFIG_GPIO_PCA953X is not set
++# CONFIG_GPIO_PCF857X is not set
++
++#
++# PCI GPIO expanders:
++#
++
++#
++# SPI GPIO expanders:
++#
++# CONFIG_GPIO_MAX7301 is not set
++# CONFIG_GPIO_MCP23S08 is not set
++# CONFIG_W1 is not set
++CONFIG_POWER_SUPPLY=y
++CONFIG_POWER_SUPPLY_DEBUG=y
++CONFIG_PDA_POWER=y
++CONFIG_APM_POWER=y
++# CONFIG_BATTERY_DS2760 is not set
++# CONFIG_BATTERY_BQ27x00 is not set
++CONFIG_BATTERY_BQ27000_HDQ=y
++CONFIG_GTA02_HDQ=y
++CONFIG_CHARGER_PCF50633=y
++CONFIG_HWMON=y
++# CONFIG_HWMON_VID is not set
++# CONFIG_SENSORS_AD7414 is not set
++# CONFIG_SENSORS_AD7418 is not set
++# CONFIG_SENSORS_ADCXX is not set
++# CONFIG_SENSORS_ADM1021 is not set
++# CONFIG_SENSORS_ADM1025 is not set
++# CONFIG_SENSORS_ADM1026 is not set
++# CONFIG_SENSORS_ADM1029 is not set
++# CONFIG_SENSORS_ADM1031 is not set
++# CONFIG_SENSORS_ADM9240 is not set
++# CONFIG_SENSORS_ADT7470 is not set
++# CONFIG_SENSORS_ADT7473 is not set
++# CONFIG_SENSORS_ATXP1 is not set
++# CONFIG_SENSORS_DS1621 is not set
++# CONFIG_SENSORS_F71805F is not set
++# CONFIG_SENSORS_F71882FG is not set
++# CONFIG_SENSORS_F75375S is not set
++# CONFIG_SENSORS_GL518SM is not set
++# CONFIG_SENSORS_GL520SM is not set
++# CONFIG_SENSORS_IT87 is not set
++# CONFIG_SENSORS_LM63 is not set
++# CONFIG_SENSORS_LM70 is not set
++# CONFIG_SENSORS_LM75 is not set
++# CONFIG_SENSORS_LM77 is not set
++# CONFIG_SENSORS_LM78 is not set
++# CONFIG_SENSORS_LM80 is not set
++# CONFIG_SENSORS_LM83 is not set
++# CONFIG_SENSORS_LM85 is not set
++# CONFIG_SENSORS_LM87 is not set
++# CONFIG_SENSORS_LM90 is not set
++# CONFIG_SENSORS_LM92 is not set
++# CONFIG_SENSORS_LM93 is not set
++# CONFIG_SENSORS_MAX1111 is not set
++# CONFIG_SENSORS_MAX1619 is not set
++# CONFIG_SENSORS_MAX6650 is not set
++# CONFIG_SENSORS_PC87360 is not set
++# CONFIG_SENSORS_PC87427 is not set
++# CONFIG_SENSORS_DME1737 is not set
++# CONFIG_SENSORS_SMSC47M1 is not set
++# CONFIG_SENSORS_SMSC47M192 is not set
++# CONFIG_SENSORS_SMSC47B397 is not set
++# CONFIG_SENSORS_ADS7828 is not set
++# CONFIG_SENSORS_THMC50 is not set
++# CONFIG_SENSORS_VT1211 is not set
++# CONFIG_SENSORS_W83781D is not set
++# CONFIG_SENSORS_W83791D is not set
++# CONFIG_SENSORS_W83792D is not set
++# CONFIG_SENSORS_W83793 is not set
++# CONFIG_SENSORS_W83L785TS is not set
++# CONFIG_SENSORS_W83L786NG is not set
++# CONFIG_SENSORS_W83627HF is not set
++# CONFIG_SENSORS_W83627EHF is not set
++# CONFIG_HWMON_DEBUG_CHIP is not set
++# CONFIG_THERMAL is not set
++# CONFIG_THERMAL_HWMON is not set
++CONFIG_WATCHDOG=y
++# CONFIG_WATCHDOG_NOWAYOUT is not set
++
++#
++# Watchdog Device Drivers
++#
++# CONFIG_SOFT_WATCHDOG is not set
++CONFIG_S3C2410_WATCHDOG=m
++
++#
++# USB-based Watchdog Cards
++#
++# CONFIG_USBPCWATCHDOG is not set
++
++#
++# Sonics Silicon Backplane
++#
++CONFIG_SSB_POSSIBLE=y
++# CONFIG_SSB is not set
++
++#
++# Multifunction device drivers
++#
++# CONFIG_MFD_CORE is not set
++# CONFIG_MFD_SM501 is not set
++# CONFIG_MFD_ASIC3 is not set
++# CONFIG_HTC_EGPIO is not set
++# CONFIG_HTC_PASIC3 is not set
++# CONFIG_MFD_TMIO is not set
++# CONFIG_MFD_T7L66XB is not set
++# CONFIG_MFD_TC6387XB is not set
++# CONFIG_MFD_TC6393XB is not set
++# CONFIG_PMIC_DA903X is not set
++# CONFIG_MFD_WM8400 is not set
++# CONFIG_MFD_WM8350_I2C is not set
++CONFIG_MFD_PCF50633=y
++CONFIG_PCF50633_ADC=y
++CONFIG_PCF50633_GPIO=y
++# CONFIG_MFD_PCF50606 is not set
++CONFIG_MFD_GLAMO=y
++CONFIG_MFD_GLAMO_FB=y
++CONFIG_MFD_GLAMO_SPI_GPIO=y
++CONFIG_MFD_GLAMO_SPI_FB=y
++CONFIG_MFD_GLAMO_MCI=y
++
++#
++# Multimedia devices
++#
++
++#
++# Multimedia core support
++#
++# CONFIG_VIDEO_DEV is not set
++# CONFIG_DVB_CORE is not set
++# CONFIG_VIDEO_MEDIA is not set
++
++#
++# Multimedia drivers
++#
++CONFIG_DAB=y
++# CONFIG_USB_DABUSB is not set
++
++#
++# Graphics support
++#
++# CONFIG_VGASTATE is not set
++CONFIG_VIDEO_OUTPUT_CONTROL=y
++CONFIG_FB=y
++# CONFIG_FIRMWARE_EDID is not set
++# CONFIG_FB_DDC is not set
++# CONFIG_FB_BOOT_VESA_SUPPORT is not set
++CONFIG_FB_CFB_FILLRECT=y
++CONFIG_FB_CFB_COPYAREA=y
++CONFIG_FB_CFB_IMAGEBLIT=y
++# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
++# CONFIG_FB_SYS_FILLRECT is not set
++# CONFIG_FB_SYS_COPYAREA is not set
++# CONFIG_FB_SYS_IMAGEBLIT is not set
++# CONFIG_FB_FOREIGN_ENDIAN is not set
++# CONFIG_FB_SYS_FOPS is not set
++# CONFIG_FB_SVGALIB is not set
++# CONFIG_FB_MACMODES is not set
++# CONFIG_FB_BACKLIGHT is not set
++# CONFIG_FB_MODE_HELPERS is not set
++# CONFIG_FB_TILEBLITTING is not set
++
++#
++# Frame buffer hardware drivers
++#
++# CONFIG_FB_UVESA is not set
++# CONFIG_FB_S1D13XXX is not set
++CONFIG_FB_S3C2410=y
++# CONFIG_FB_S3C2410_DEBUG is not set
++# CONFIG_FB_VIRTUAL is not set
++# CONFIG_FB_METRONOME is not set
++# CONFIG_FB_MB862XX is not set
++CONFIG_BACKLIGHT_LCD_SUPPORT=y
++CONFIG_LCD_CLASS_DEVICE=y
++CONFIG_LCD_LTV350QV=y
++# CONFIG_LCD_ILI9320 is not set
++# CONFIG_LCD_TDO24M is not set
++# CONFIG_LCD_VGG2432A4 is not set
++# CONFIG_LCD_PLATFORM is not set
++CONFIG_BACKLIGHT_CLASS_DEVICE=y
++CONFIG_BACKLIGHT_CORGI=y
++# CONFIG_BACKLIGHT_PWM is not set
++
++#
++# Display device support
++#
++CONFIG_DISPLAY_SUPPORT=y
++
++#
++# Display hardware drivers
++#
++CONFIG_DISPLAY_JBT6K74=y
++
++#
++# Console display driver support
++#
++# CONFIG_VGA_CONSOLE is not set
++CONFIG_DUMMY_CONSOLE=y
++CONFIG_FRAMEBUFFER_CONSOLE=y
++# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
++# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
++CONFIG_FONTS=y
++# CONFIG_FONT_8x8 is not set
++# CONFIG_FONT_8x16 is not set
++CONFIG_FONT_6x11=y
++# CONFIG_FONT_7x14 is not set
++# CONFIG_FONT_PEARL_8x8 is not set
++# CONFIG_FONT_ACORN_8x8 is not set
++# CONFIG_FONT_MINI_4x6 is not set
++# CONFIG_FONT_SUN8x16 is not set
++# CONFIG_FONT_SUN12x22 is not set
++# CONFIG_FONT_10x18 is not set
++# CONFIG_LOGO is not set
++CONFIG_SOUND=y
++CONFIG_SOUND_OSS_CORE=y
++CONFIG_SND=m
++CONFIG_SND_TIMER=m
++CONFIG_SND_PCM=m
++CONFIG_SND_HWDEP=m
++CONFIG_SND_RAWMIDI=m
++# CONFIG_SND_SEQUENCER is not set
++CONFIG_SND_OSSEMUL=y
++CONFIG_SND_MIXER_OSS=m
++CONFIG_SND_PCM_OSS=m
++CONFIG_SND_PCM_OSS_PLUGINS=y
++# CONFIG_SND_DYNAMIC_MINORS is not set
++CONFIG_SND_SUPPORT_OLD_API=y
++CONFIG_SND_VERBOSE_PROCFS=y
++# CONFIG_SND_VERBOSE_PRINTK is not set
++CONFIG_SND_DEBUG=y
++# CONFIG_SND_DEBUG_VERBOSE is not set
++CONFIG_SND_PCM_XRUN_DEBUG=y
++CONFIG_SND_DRIVERS=y
++# CONFIG_SND_DUMMY is not set
++# CONFIG_SND_MTPAV is not set
++# CONFIG_SND_SERIAL_U16550 is not set
++# CONFIG_SND_MPU401 is not set
++CONFIG_SND_ARM=y
++# CONFIG_SND_SPI is not set
++CONFIG_SND_USB=y
++CONFIG_SND_USB_AUDIO=m
++# CONFIG_SND_USB_CAIAQ is not set
++CONFIG_SND_SOC=m
++CONFIG_SND_S3C24XX_SOC=m
++CONFIG_SND_S3C24XX_SOC_I2S=m
++CONFIG_SND_S3C24XX_SOC_NEO1973_GTA02_WM8753=m
++# CONFIG_SND_S3C24XX_SOC_LN2440SBC_ALC650 is not set
++# CONFIG_SND_SOC_ALL_CODECS is not set
++CONFIG_SND_SOC_WM8753=m
++# CONFIG_SOUND_PRIME is not set
++CONFIG_HID_SUPPORT=y
++CONFIG_HID=y
++# CONFIG_HID_DEBUG is not set
++# CONFIG_HIDRAW is not set
++
++#
++# USB Input Devices
++#
++CONFIG_USB_HID=y
++CONFIG_HID_PID=y
++# CONFIG_USB_HIDDEV is not set
++
++#
++# Special HID drivers
++#
++CONFIG_HID_COMPAT=y
++CONFIG_HID_A4TECH=y
++CONFIG_HID_APPLE=y
++CONFIG_HID_BELKIN=y
++CONFIG_HID_BRIGHT=y
++CONFIG_HID_CHERRY=y
++CONFIG_HID_CHICONY=y
++CONFIG_HID_CYPRESS=y
++CONFIG_HID_DELL=y
++CONFIG_HID_EZKEY=y
++CONFIG_HID_GYRATION=y
++CONFIG_HID_LOGITECH=y
++# CONFIG_LOGITECH_FF is not set
++# CONFIG_LOGIRUMBLEPAD2_FF is not set
++CONFIG_HID_MICROSOFT=y
++CONFIG_HID_MONTEREY=y
++CONFIG_HID_PANTHERLORD=y
++# CONFIG_PANTHERLORD_FF is not set
++CONFIG_HID_PETALYNX=y
++CONFIG_HID_SAMSUNG=y
++CONFIG_HID_SONY=y
++CONFIG_HID_SUNPLUS=y
++# CONFIG_THRUSTMASTER_FF is not set
++# CONFIG_ZEROPLUS_FF is not set
++CONFIG_USB_SUPPORT=y
++CONFIG_USB_ARCH_HAS_HCD=y
++CONFIG_USB_ARCH_HAS_OHCI=y
++# CONFIG_USB_ARCH_HAS_EHCI is not set
++CONFIG_USB=y
++# CONFIG_USB_DEBUG is not set
++CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
++
++#
++# Miscellaneous USB options
++#
++CONFIG_USB_DEVICEFS=y
++CONFIG_USB_DEVICE_CLASS=y
++# CONFIG_USB_DYNAMIC_MINORS is not set
++CONFIG_USB_SUSPEND=y
++# CONFIG_USB_OTG is not set
++CONFIG_USB_MON=y
++# CONFIG_USB_WUSB is not set
++# CONFIG_USB_WUSB_CBAF is not set
++
++#
++# USB Host Controller Drivers
++#
++# CONFIG_USB_C67X00_HCD is not set
++# CONFIG_USB_ISP116X_HCD is not set
++# CONFIG_USB_ISP1760_HCD is not set
++CONFIG_USB_OHCI_HCD=m
++# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
++# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
++CONFIG_USB_OHCI_LITTLE_ENDIAN=y
++# CONFIG_USB_SL811_HCD is not set
++# CONFIG_USB_R8A66597_HCD is not set
++# CONFIG_USB_HWA_HCD is not set
++# CONFIG_USB_MUSB_HDRC is not set
++# CONFIG_USB_GADGET_MUSB_HDRC is not set
++
++#
++# USB Device Class drivers
++#
++CONFIG_USB_ACM=m
++CONFIG_USB_PRINTER=m
++# CONFIG_USB_WDM is not set
++CONFIG_USB_TMC=m
++
++#
++# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
++#
++
++#
++# may also be needed; see USB_STORAGE Help for more information
++#
++CONFIG_USB_STORAGE=m
++# CONFIG_USB_STORAGE_DEBUG is not set
++CONFIG_USB_STORAGE_DATAFAB=y
++CONFIG_USB_STORAGE_FREECOM=y
++# CONFIG_USB_STORAGE_ISD200 is not set
++CONFIG_USB_STORAGE_DPCM=y
++CONFIG_USB_STORAGE_USBAT=y
++CONFIG_USB_STORAGE_SDDR09=y
++CONFIG_USB_STORAGE_SDDR55=y
++CONFIG_USB_STORAGE_JUMPSHOT=y
++CONFIG_USB_STORAGE_ALAUDA=y
++# CONFIG_USB_STORAGE_ONETOUCH is not set
++CONFIG_USB_STORAGE_KARMA=y
++# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
++CONFIG_USB_LIBUSUAL=y
++
++#
++# USB Imaging devices
++#
++# CONFIG_USB_MDC800 is not set
++# CONFIG_USB_MICROTEK is not set
++
++#
++# USB port drivers
++#
++CONFIG_USB_SERIAL=m
++CONFIG_USB_EZUSB=y
++CONFIG_USB_SERIAL_GENERIC=y
++CONFIG_USB_SERIAL_AIRCABLE=m
++CONFIG_USB_SERIAL_ARK3116=m
++CONFIG_USB_SERIAL_BELKIN=m
++# CONFIG_USB_SERIAL_CH341 is not set
++CONFIG_USB_SERIAL_WHITEHEAT=m
++CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
++CONFIG_USB_SERIAL_CP2101=m
++CONFIG_USB_SERIAL_CYPRESS_M8=m
++CONFIG_USB_SERIAL_EMPEG=m
++CONFIG_USB_SERIAL_FTDI_SIO=m
++CONFIG_USB_SERIAL_FUNSOFT=m
++CONFIG_USB_SERIAL_VISOR=m
++CONFIG_USB_SERIAL_IPAQ=m
++CONFIG_USB_SERIAL_IR=m
++CONFIG_USB_SERIAL_EDGEPORT=m
++CONFIG_USB_SERIAL_EDGEPORT_TI=m
++CONFIG_USB_SERIAL_GARMIN=m
++CONFIG_USB_SERIAL_IPW=m
++# CONFIG_USB_SERIAL_IUU is not set
++CONFIG_USB_SERIAL_KEYSPAN_PDA=m
++CONFIG_USB_SERIAL_KEYSPAN=m
++CONFIG_USB_SERIAL_KLSI=m
++CONFIG_USB_SERIAL_KOBIL_SCT=m
++CONFIG_USB_SERIAL_MCT_U232=m
++CONFIG_USB_SERIAL_MOS7720=m
++CONFIG_USB_SERIAL_MOS7840=m
++# CONFIG_USB_SERIAL_MOTOROLA is not set
++CONFIG_USB_SERIAL_NAVMAN=m
++CONFIG_USB_SERIAL_PL2303=m
++# CONFIG_USB_SERIAL_OTI6858 is not set
++# CONFIG_USB_SERIAL_SPCP8X5 is not set
++CONFIG_USB_SERIAL_HP4X=m
++CONFIG_USB_SERIAL_SAFE=m
++CONFIG_USB_SERIAL_SAFE_PADDED=y
++CONFIG_USB_SERIAL_SIERRAWIRELESS=m
++CONFIG_USB_SERIAL_TI=m
++CONFIG_USB_SERIAL_CYBERJACK=m
++CONFIG_USB_SERIAL_XIRCOM=m
++CONFIG_USB_SERIAL_OPTION=m
++CONFIG_USB_SERIAL_OMNINET=m
++# CONFIG_USB_SERIAL_DEBUG is not set
++
++#
++# USB Miscellaneous drivers
++#
++# CONFIG_USB_EMI62 is not set
++# CONFIG_USB_EMI26 is not set
++# CONFIG_USB_ADUTUX is not set
++# CONFIG_USB_SEVSEG is not set
++# CONFIG_USB_RIO500 is not set
++# CONFIG_USB_LEGOTOWER is not set
++# CONFIG_USB_LCD is not set
++CONFIG_USB_BERRY_CHARGE=m
++# CONFIG_USB_LED is not set
++# CONFIG_USB_CYPRESS_CY7C63 is not set
++# CONFIG_USB_CYTHERM is not set
++# CONFIG_USB_PHIDGET is not set
++# CONFIG_USB_IDMOUSE is not set
++# CONFIG_USB_FTDI_ELAN is not set
++# CONFIG_USB_APPLEDISPLAY is not set
++# CONFIG_USB_LD is not set
++CONFIG_USB_TRANCEVIBRATOR=m
++CONFIG_USB_IOWARRIOR=m
++# CONFIG_USB_TEST is not set
++# CONFIG_USB_ISIGHTFW is not set
++# CONFIG_USB_VST is not set
++CONFIG_USB_GADGET=y
++# CONFIG_USB_GADGET_DEBUG is not set
++# CONFIG_USB_GADGET_DEBUG_FILES is not set
++# CONFIG_USB_GADGET_DEBUG_FS is not set
++CONFIG_USB_GADGET_VBUS_DRAW=500
++CONFIG_USB_GADGET_SELECTED=y
++# CONFIG_USB_GADGET_AT91 is not set
++# CONFIG_USB_GADGET_ATMEL_USBA is not set
++# CONFIG_USB_GADGET_FSL_USB2 is not set
++# CONFIG_USB_GADGET_LH7A40X is not set
++# CONFIG_USB_GADGET_OMAP is not set
++# CONFIG_USB_GADGET_PXA25X is not set
++# CONFIG_USB_GADGET_PXA27X is not set
++CONFIG_USB_GADGET_S3C2410=y
++CONFIG_USB_S3C2410=y
++CONFIG_USB_S3C2410_DEBUG=y
++# CONFIG_USB_GADGET_M66592 is not set
++# CONFIG_USB_GADGET_AMD5536UDC is not set
++# CONFIG_USB_GADGET_FSL_QE is not set
++# CONFIG_USB_GADGET_NET2280 is not set
++# CONFIG_USB_GADGET_GOKU is not set
++# CONFIG_USB_GADGET_DUMMY_HCD is not set
++# CONFIG_USB_GADGET_DUALSPEED is not set
++# CONFIG_USB_ZERO is not set
++CONFIG_USB_ETH=m
++CONFIG_USB_ETH_RNDIS=y
++CONFIG_USB_GADGETFS=m
++CONFIG_USB_FILE_STORAGE=m
++# CONFIG_USB_FILE_STORAGE_TEST is not set
++CONFIG_USB_G_SERIAL=m
++CONFIG_USB_MIDI_GADGET=m
++# CONFIG_USB_G_PRINTER is not set
++# CONFIG_USB_CDC_COMPOSITE is not set
++CONFIG_AR6000_WLAN=y
++CONFIG_MMC=y
++# CONFIG_MMC_DEBUG is not set
++CONFIG_MMC_UNSAFE_RESUME=y
++
++#
++# MMC/SD/SDIO Card Drivers
++#
++CONFIG_MMC_BLOCK=y
++CONFIG_MMC_BLOCK_BOUNCE=y
++# CONFIG_SDIO_UART is not set
++# CONFIG_MMC_TEST is not set
++
++#
++# MMC/SD/SDIO Host Controller Drivers
++#
++CONFIG_MMC_SDHCI=y
++CONFIG_MMC_SDHCI_S3C=y
++# CONFIG_MMC_SPI is not set
++CONFIG_MMC_S3C=y
++# CONFIG_MEMSTICK is not set
++# CONFIG_ACCESSIBILITY is not set
++CONFIG_NEW_LEDS=y
++CONFIG_LEDS_CLASS=y
++
++#
++# LED drivers
++#
++CONFIG_LEDS_S3C24XX=m
++# CONFIG_LEDS_PCA9532 is not set
++CONFIG_LEDS_GPIO=y
++# CONFIG_LEDS_PCA955X is not set
++CONFIG_LEDS_NEO1973_VIBRATOR=y
++CONFIG_LEDS_NEO1973_GTA02=y
++
++#
++# LED Triggers
++#
++CONFIG_LEDS_TRIGGERS=y
++CONFIG_LEDS_TRIGGER_TIMER=y
++# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
++CONFIG_LEDS_TRIGGER_BACKLIGHT=y
++# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
++CONFIG_RTC_LIB=y
++CONFIG_RTC_CLASS=y
++CONFIG_RTC_HCTOSYS=y
++CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
++CONFIG_RTC_DEBUG=y
++
++#
++# RTC interfaces
++#
++CONFIG_RTC_INTF_SYSFS=y
++CONFIG_RTC_INTF_PROC=y
++CONFIG_RTC_INTF_DEV=y
++# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
++# CONFIG_RTC_DRV_TEST is not set
++
++#
++# I2C RTC drivers
++#
++# CONFIG_RTC_DRV_DS1307 is not set
++# CONFIG_RTC_DRV_DS1374 is not set
++# CONFIG_RTC_DRV_DS1672 is not set
++# CONFIG_RTC_DRV_MAX6900 is not set
++# CONFIG_RTC_DRV_RS5C372 is not set
++# CONFIG_RTC_DRV_ISL1208 is not set
++# CONFIG_RTC_DRV_X1205 is not set
++# CONFIG_RTC_DRV_PCF8563 is not set
++# CONFIG_RTC_DRV_PCF8583 is not set
++CONFIG_RTC_DRV_PCF50633=y
++# CONFIG_RTC_DRV_PCF50606 is not set
++# CONFIG_RTC_DRV_M41T80 is not set
++# CONFIG_RTC_DRV_S35390A is not set
++# CONFIG_RTC_DRV_FM3130 is not set
++
++#
++# SPI RTC drivers
++#
++# CONFIG_RTC_DRV_M41T94 is not set
++# CONFIG_RTC_DRV_DS1305 is not set
++# CONFIG_RTC_DRV_MAX6902 is not set
++# CONFIG_RTC_DRV_R9701 is not set
++# CONFIG_RTC_DRV_RS5C348 is not set
++# CONFIG_RTC_DRV_DS3234 is not set
++
++#
++# Platform RTC drivers
++#
++# CONFIG_RTC_DRV_CMOS is not set
++# CONFIG_RTC_DRV_DS1286 is not set
++# CONFIG_RTC_DRV_DS1511 is not set
++# CONFIG_RTC_DRV_DS1553 is not set
++# CONFIG_RTC_DRV_DS1742 is not set
++# CONFIG_RTC_DRV_STK17TA8 is not set
++# CONFIG_RTC_DRV_M48T86 is not set
++# CONFIG_RTC_DRV_M48T35 is not set
++# CONFIG_RTC_DRV_M48T59 is not set
++# CONFIG_RTC_DRV_BQ4802 is not set
++# CONFIG_RTC_DRV_V3020 is not set
++
++#
++# on-CPU RTC drivers
++#
++CONFIG_RTC_DRV_S3C=m
++CONFIG_DMADEVICES=y
++
++#
++# DMA Devices
++#
++
++#
++# Android
++#
++CONFIG_ANDROID_BINDER_IPC=y
++CONFIG_ANDROID_POWER=y
++CONFIG_ANDROID_POWER_STAT=y
++CONFIG_ANDROID_POWER_ALARM=y
++CONFIG_ANDROID_LOGGER=y
++# CONFIG_ANDROID_RAM_CONSOLE is not set
++# CONFIG_ANDROID_TIMED_GPIO is not set
++# CONFIG_ANDROID_PARANOID_NETWORK is not set
++CONFIG_REGULATOR=y
++CONFIG_REGULATOR_DEBUG=y
++# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
++# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
++# CONFIG_REGULATOR_BQ24022 is not set
++CONFIG_REGULATOR_PCF50633=y
++CONFIG_UIO=y
++CONFIG_UIO_PDRV=y
++# CONFIG_UIO_PDRV_GENIRQ is not set
++# CONFIG_UIO_SMX is not set
++# CONFIG_UIO_SERCOS3 is not set
++
++#
++# File systems
++#
++CONFIG_EXT2_FS=y
++# CONFIG_EXT2_FS_XATTR is not set
++# CONFIG_EXT2_FS_XIP is not set
++CONFIG_EXT3_FS=y
++# CONFIG_EXT3_FS_XATTR is not set
++CONFIG_EXT4_FS=y
++CONFIG_EXT4DEV_COMPAT=y
++CONFIG_EXT4_FS_XATTR=y
++# CONFIG_EXT4_FS_POSIX_ACL is not set
++CONFIG_EXT4_FS_SECURITY=y
++CONFIG_JBD=y
++# CONFIG_JBD_DEBUG is not set
++CONFIG_JBD2=y
++# CONFIG_JBD2_DEBUG is not set
++CONFIG_FS_MBCACHE=y
++# CONFIG_REISERFS_FS is not set
++# CONFIG_JFS_FS is not set
++CONFIG_FS_POSIX_ACL=y
++CONFIG_FILE_LOCKING=y
++# CONFIG_XFS_FS is not set
++# CONFIG_OCFS2_FS is not set
++CONFIG_DNOTIFY=y
++CONFIG_INOTIFY=y
++CONFIG_INOTIFY_USER=y
++# CONFIG_QUOTA is not set
++# CONFIG_AUTOFS_FS is not set
++CONFIG_AUTOFS4_FS=m
++CONFIG_FUSE_FS=m
++
++#
++# CD-ROM/DVD Filesystems
++#
++CONFIG_ISO9660_FS=m
++CONFIG_JOLIET=y
++# CONFIG_ZISOFS is not set
++CONFIG_UDF_FS=m
++CONFIG_UDF_NLS=y
++
++#
++# DOS/FAT/NT Filesystems
++#
++CONFIG_FAT_FS=y
++CONFIG_MSDOS_FS=y
++CONFIG_VFAT_FS=y
++CONFIG_FAT_DEFAULT_CODEPAGE=437
++CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
++# CONFIG_NTFS_FS is not set
++
++#
++# Pseudo filesystems
++#
++CONFIG_PROC_FS=y
++CONFIG_PROC_SYSCTL=y
++CONFIG_PROC_PAGE_MONITOR=y
++CONFIG_SYSFS=y
++CONFIG_TMPFS=y
++# CONFIG_TMPFS_POSIX_ACL is not set
++# CONFIG_HUGETLB_PAGE is not set
++CONFIG_CONFIGFS_FS=m
++
++#
++# Miscellaneous filesystems
++#
++# CONFIG_ADFS_FS is not set
++# CONFIG_AFFS_FS is not set
++# CONFIG_HFS_FS is not set
++# CONFIG_HFSPLUS_FS is not set
++# CONFIG_BEFS_FS is not set
++# CONFIG_BFS_FS is not set
++# CONFIG_EFS_FS is not set
++CONFIG_JFFS2_FS=y
++CONFIG_JFFS2_FS_DEBUG=0
++CONFIG_JFFS2_FS_WRITEBUFFER=y
++# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
++CONFIG_JFFS2_SUMMARY=y
++# CONFIG_JFFS2_FS_XATTR is not set
++# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
++CONFIG_JFFS2_ZLIB=y
++# CONFIG_JFFS2_LZO is not set
++CONFIG_JFFS2_RTIME=y
++# CONFIG_JFFS2_RUBIN is not set
++CONFIG_CRAMFS=y
++# CONFIG_VXFS_FS is not set
++# CONFIG_MINIX_FS is not set
++# CONFIG_OMFS_FS is not set
++# CONFIG_HPFS_FS is not set
++# CONFIG_QNX4FS_FS is not set
++CONFIG_ROMFS_FS=y
++# CONFIG_SYSV_FS is not set
++# CONFIG_UFS_FS is not set
++CONFIG_NETWORK_FILESYSTEMS=y
++# CONFIG_NFS_FS is not set
++CONFIG_NFSD=m
++CONFIG_NFSD_V2_ACL=y
++CONFIG_NFSD_V3=y
++CONFIG_NFSD_V3_ACL=y
++# CONFIG_NFSD_V4 is not set
++CONFIG_LOCKD=m
++CONFIG_LOCKD_V4=y
++CONFIG_EXPORTFS=m
++CONFIG_NFS_ACL_SUPPORT=m
++CONFIG_NFS_COMMON=y
++CONFIG_SUNRPC=m
++# CONFIG_SUNRPC_REGISTER_V4 is not set
++# CONFIG_RPCSEC_GSS_KRB5 is not set
++# CONFIG_RPCSEC_GSS_SPKM3 is not set
++# CONFIG_SMB_FS is not set
++CONFIG_CIFS=m
++# CONFIG_CIFS_STATS is not set
++# CONFIG_CIFS_WEAK_PW_HASH is not set
++# CONFIG_CIFS_XATTR is not set
++# CONFIG_CIFS_DEBUG2 is not set
++# CONFIG_CIFS_EXPERIMENTAL is not set
++# CONFIG_NCP_FS is not set
++# CONFIG_CODA_FS is not set
++# CONFIG_AFS_FS is not set
++
++#
++# Partition Types
++#
++CONFIG_PARTITION_ADVANCED=y
++# CONFIG_ACORN_PARTITION is not set
++# CONFIG_OSF_PARTITION is not set
++# CONFIG_AMIGA_PARTITION is not set
++# CONFIG_ATARI_PARTITION is not set
++# CONFIG_MAC_PARTITION is not set
++CONFIG_MSDOS_PARTITION=y
++# CONFIG_BSD_DISKLABEL is not set
++# CONFIG_MINIX_SUBPARTITION is not set
++# CONFIG_SOLARIS_X86_PARTITION is not set
++# CONFIG_UNIXWARE_DISKLABEL is not set
++# CONFIG_LDM_PARTITION is not set
++# CONFIG_SGI_PARTITION is not set
++# CONFIG_ULTRIX_PARTITION is not set
++# CONFIG_SUN_PARTITION is not set
++# CONFIG_KARMA_PARTITION is not set
++# CONFIG_EFI_PARTITION is not set
++# CONFIG_SYSV68_PARTITION is not set
++CONFIG_NLS=y
++CONFIG_NLS_DEFAULT="iso8859-1"
++CONFIG_NLS_CODEPAGE_437=y
++# CONFIG_NLS_CODEPAGE_737 is not set
++# CONFIG_NLS_CODEPAGE_775 is not set
++CONFIG_NLS_CODEPAGE_850=m
++# CONFIG_NLS_CODEPAGE_852 is not set
++# CONFIG_NLS_CODEPAGE_855 is not set
++# CONFIG_NLS_CODEPAGE_857 is not set
++# CONFIG_NLS_CODEPAGE_860 is not set
++# CONFIG_NLS_CODEPAGE_861 is not set
++# CONFIG_NLS_CODEPAGE_862 is not set
++# CONFIG_NLS_CODEPAGE_863 is not set
++# CONFIG_NLS_CODEPAGE_864 is not set
++# CONFIG_NLS_CODEPAGE_865 is not set
++# CONFIG_NLS_CODEPAGE_866 is not set
++# CONFIG_NLS_CODEPAGE_869 is not set
++CONFIG_NLS_CODEPAGE_936=m
++CONFIG_NLS_CODEPAGE_950=m
++# CONFIG_NLS_CODEPAGE_932 is not set
++# CONFIG_NLS_CODEPAGE_949 is not set
++# CONFIG_NLS_CODEPAGE_874 is not set
++# CONFIG_NLS_ISO8859_8 is not set
++# CONFIG_NLS_CODEPAGE_1250 is not set
++# CONFIG_NLS_CODEPAGE_1251 is not set
++# CONFIG_NLS_ASCII is not set
++CONFIG_NLS_ISO8859_1=y
++# CONFIG_NLS_ISO8859_2 is not set
++# CONFIG_NLS_ISO8859_3 is not set
++# CONFIG_NLS_ISO8859_4 is not set
++# CONFIG_NLS_ISO8859_5 is not set
++# CONFIG_NLS_ISO8859_6 is not set
++# CONFIG_NLS_ISO8859_7 is not set
++# CONFIG_NLS_ISO8859_9 is not set
++# CONFIG_NLS_ISO8859_13 is not set
++# CONFIG_NLS_ISO8859_14 is not set
++# CONFIG_NLS_ISO8859_15 is not set
++# CONFIG_NLS_KOI8_R is not set
++# CONFIG_NLS_KOI8_U is not set
++CONFIG_NLS_UTF8=m
++# CONFIG_DLM is not set
++
++#
++# Kernel hacking
++#
++CONFIG_PRINTK_TIME=y
++CONFIG_ENABLE_WARN_DEPRECATED=y
++CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
++CONFIG_MAGIC_SYSRQ=y
++# CONFIG_UNUSED_SYMBOLS is not set
++CONFIG_DEBUG_FS=y
++# CONFIG_HEADERS_CHECK is not set
++CONFIG_DEBUG_KERNEL=y
++CONFIG_DEBUG_SHIRQ=y
++CONFIG_DETECT_SOFTLOCKUP=y
++CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y
++CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=1
++CONFIG_SCHED_DEBUG=y
++CONFIG_SCHEDSTATS=y
++CONFIG_TIMER_STATS=y
++# CONFIG_DEBUG_OBJECTS is not set
++# CONFIG_DEBUG_SLAB is not set
++CONFIG_DEBUG_PREEMPT=y
++# CONFIG_DEBUG_RT_MUTEXES is not set
++# CONFIG_RT_MUTEX_TESTER is not set
++CONFIG_DEBUG_SPINLOCK=y
++CONFIG_DEBUG_MUTEXES=y
++CONFIG_DEBUG_LOCK_ALLOC=y
++# CONFIG_PROVE_LOCKING is not set
++CONFIG_LOCKDEP=y
++CONFIG_LOCK_STAT=y
++CONFIG_DEBUG_LOCKDEP=y
++CONFIG_DEBUG_SPINLOCK_SLEEP=y
++# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
++CONFIG_STACKTRACE=y
++# CONFIG_DEBUG_KOBJECT is not set
++CONFIG_DEBUG_BUGVERBOSE=y
++CONFIG_DEBUG_INFO=y
++# CONFIG_DEBUG_VM is not set
++# CONFIG_DEBUG_WRITECOUNT is not set
++CONFIG_DEBUG_MEMORY_INIT=y
++# CONFIG_DEBUG_LIST is not set
++CONFIG_DEBUG_SG=y
++CONFIG_FRAME_POINTER=y
++# CONFIG_BOOT_PRINTK_DELAY is not set
++# CONFIG_RCU_TORTURE_TEST is not set
++CONFIG_RCU_CPU_STALL_DETECTOR=y
++# CONFIG_BACKTRACE_SELF_TEST is not set
++# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
++# CONFIG_FAULT_INJECTION is not set
++CONFIG_LATENCYTOP=y
++CONFIG_SYSCTL_SYSCALL_CHECK=y
++CONFIG_HAVE_FUNCTION_TRACER=y
++
++#
++# Tracers
++#
++# CONFIG_FUNCTION_TRACER is not set
++# CONFIG_SCHED_TRACER is not set
++# CONFIG_CONTEXT_SWITCH_TRACER is not set
++# CONFIG_BOOT_TRACER is not set
++# CONFIG_STACK_TRACER is not set
++CONFIG_DYNAMIC_PRINTK_DEBUG=y
++# CONFIG_SAMPLES is not set
++CONFIG_HAVE_ARCH_KGDB=y
++# CONFIG_KGDB is not set
++# CONFIG_DEBUG_USER is not set
++CONFIG_DEBUG_ERRORS=y
++# CONFIG_DEBUG_STACK_USAGE is not set
++# CONFIG_DEBUG_LL is not set
++CONFIG_DEBUG_S3C_UART=2
++
++#
++# Security options
++#
++# CONFIG_KEYS is not set
++# CONFIG_SECURITY is not set
++CONFIG_SECURITYFS=y
++# CONFIG_SECURITY_FILE_CAPABILITIES is not set
++CONFIG_CRYPTO=y
++
++#
++# Crypto core or helper
++#
++CONFIG_CRYPTO_FIPS=y
++CONFIG_CRYPTO_ALGAPI=y
++CONFIG_CRYPTO_AEAD=y
++CONFIG_CRYPTO_BLKCIPHER=y
++CONFIG_CRYPTO_HASH=y
++CONFIG_CRYPTO_RNG=y
++CONFIG_CRYPTO_MANAGER=y
++CONFIG_CRYPTO_GF128MUL=m
++CONFIG_CRYPTO_NULL=m
++# CONFIG_CRYPTO_CRYPTD is not set
++CONFIG_CRYPTO_AUTHENC=m
++CONFIG_CRYPTO_TEST=m
++
++#
++# Authenticated Encryption with Associated Data
++#
++# CONFIG_CRYPTO_CCM is not set
++# CONFIG_CRYPTO_GCM is not set
++# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Block modes
++#
++CONFIG_CRYPTO_CBC=y
++# CONFIG_CRYPTO_CTR is not set
++# CONFIG_CRYPTO_CTS is not set
++CONFIG_CRYPTO_ECB=m
++CONFIG_CRYPTO_LRW=m
++CONFIG_CRYPTO_PCBC=m
++# CONFIG_CRYPTO_XTS is not set
++
++#
++# Hash modes
++#
++CONFIG_CRYPTO_HMAC=y
++CONFIG_CRYPTO_XCBC=m
++
++#
++# Digest
++#
++CONFIG_CRYPTO_CRC32C=m
++CONFIG_CRYPTO_MD4=m
++CONFIG_CRYPTO_MD5=y
++CONFIG_CRYPTO_MICHAEL_MIC=m
++# CONFIG_CRYPTO_RMD128 is not set
++# CONFIG_CRYPTO_RMD160 is not set
++# CONFIG_CRYPTO_RMD256 is not set
++# CONFIG_CRYPTO_RMD320 is not set
++CONFIG_CRYPTO_SHA1=m
++CONFIG_CRYPTO_SHA256=m
++CONFIG_CRYPTO_SHA512=m
++CONFIG_CRYPTO_TGR192=m
++CONFIG_CRYPTO_WP512=m
++
++#
++# Ciphers
++#
++CONFIG_CRYPTO_AES=y
++CONFIG_CRYPTO_ANUBIS=m
++CONFIG_CRYPTO_ARC4=m
++CONFIG_CRYPTO_BLOWFISH=m
++CONFIG_CRYPTO_CAMELLIA=m
++CONFIG_CRYPTO_CAST5=m
++CONFIG_CRYPTO_CAST6=m
++CONFIG_CRYPTO_DES=y
++CONFIG_CRYPTO_FCRYPT=m
++CONFIG_CRYPTO_KHAZAD=m
++# CONFIG_CRYPTO_SALSA20 is not set
++# CONFIG_CRYPTO_SEED is not set
++CONFIG_CRYPTO_SERPENT=m
++CONFIG_CRYPTO_TEA=m
++CONFIG_CRYPTO_TWOFISH=m
++CONFIG_CRYPTO_TWOFISH_COMMON=m
++
++#
++# Compression
++#
++CONFIG_CRYPTO_DEFLATE=m
++# CONFIG_CRYPTO_LZO is not set
++
++#
++# Random Number Generation
++#
++CONFIG_CRYPTO_ANSI_CPRNG=y
++CONFIG_CRYPTO_HW=y
++
++#
++# Library routines
++#
++CONFIG_BITREVERSE=y
++CONFIG_CRC_CCITT=m
++CONFIG_CRC16=y
++CONFIG_CRC_T10DIF=y
++CONFIG_CRC_ITU_T=m
++CONFIG_CRC32=y
++# CONFIG_CRC7 is not set
++CONFIG_LIBCRC32C=m
++CONFIG_ZLIB_INFLATE=y
++CONFIG_ZLIB_DEFLATE=y
++CONFIG_TEXTSEARCH=y
++CONFIG_TEXTSEARCH_KMP=m
++CONFIG_TEXTSEARCH_BM=m
++CONFIG_TEXTSEARCH_FSM=m
++CONFIG_PLIST=y
++CONFIG_HAS_IOMEM=y
++CONFIG_HAS_DMA=y
+Index: linux-2.6.28/arch/arm/configs/gta03_defconfig
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.28/arch/arm/configs/gta03_defconfig      2009-01-02 00:01:56.000000000 +0100
+@@ -0,0 +1,1548 @@
++#
++# Automatically generated make config: don't edit
++# Linux kernel version: 2.6.28-rc4
++# Fri Dec 12 12:07:49 2008
++#
++CONFIG_ARM=y
++CONFIG_SYS_SUPPORTS_APM_EMULATION=y
++CONFIG_GENERIC_GPIO=y
++# CONFIG_GENERIC_TIME is not set
++# CONFIG_GENERIC_CLOCKEVENTS is not set
++CONFIG_MMU=y
++CONFIG_NO_IOPORT=y
++CONFIG_GENERIC_HARDIRQS=y
++CONFIG_STACKTRACE_SUPPORT=y
++CONFIG_HAVE_LATENCYTOP_SUPPORT=y
++CONFIG_LOCKDEP_SUPPORT=y
++CONFIG_TRACE_IRQFLAGS_SUPPORT=y
++CONFIG_HARDIRQS_SW_RESEND=y
++CONFIG_GENERIC_IRQ_PROBE=y
++CONFIG_RWSEM_GENERIC_SPINLOCK=y
++# CONFIG_ARCH_HAS_ILOG2_U32 is not set
++# CONFIG_ARCH_HAS_ILOG2_U64 is not set
++CONFIG_GENERIC_HWEIGHT=y
++CONFIG_GENERIC_CALIBRATE_DELAY=y
++CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
++CONFIG_VECTORS_BASE=0xffff0000
++CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
++
++#
++# General setup
++#
++CONFIG_EXPERIMENTAL=y
++CONFIG_BROKEN_ON_SMP=y
++CONFIG_INIT_ENV_ARG_LIMIT=32
++CONFIG_LOCALVERSION=""
++CONFIG_LOCALVERSION_AUTO=y
++CONFIG_SWAP=y
++# CONFIG_SYSVIPC is not set
++# CONFIG_POSIX_MQUEUE is not set
++# CONFIG_BSD_PROCESS_ACCT is not set
++# CONFIG_TASKSTATS is not set
++# CONFIG_AUDIT is not set
++CONFIG_IKCONFIG=y
++CONFIG_IKCONFIG_PROC=y
++CONFIG_LOG_BUF_SHIFT=18
++# CONFIG_CGROUPS is not set
++# CONFIG_GROUP_SCHED is not set
++CONFIG_SYSFS_DEPRECATED=y
++CONFIG_SYSFS_DEPRECATED_V2=y
++# CONFIG_RELAY is not set
++CONFIG_NAMESPACES=y
++# CONFIG_UTS_NS is not set
++# CONFIG_USER_NS is not set
++# CONFIG_PID_NS is not set
++CONFIG_BLK_DEV_INITRD=y
++CONFIG_INITRAMFS_SOURCE=""
++CONFIG_CC_OPTIMIZE_FOR_SIZE=y
++CONFIG_SYSCTL=y
++# CONFIG_EMBEDDED is not set
++CONFIG_UID16=y
++CONFIG_SYSCTL_SYSCALL=y
++CONFIG_KALLSYMS=y
++CONFIG_KALLSYMS_ALL=y
++# CONFIG_KALLSYMS_EXTRA_PASS is not set
++CONFIG_HOTPLUG=y
++CONFIG_PRINTK=y
++CONFIG_BUG=y
++CONFIG_ELF_CORE=y
++CONFIG_COMPAT_BRK=y
++CONFIG_BASE_FULL=y
++CONFIG_FUTEX=y
++CONFIG_ANON_INODES=y
++CONFIG_EPOLL=y
++CONFIG_SIGNALFD=y
++CONFIG_TIMERFD=y
++CONFIG_EVENTFD=y
++CONFIG_SHMEM=y
++CONFIG_AIO=y
++CONFIG_ASHMEM=y
++CONFIG_VM_EVENT_COUNTERS=y
++CONFIG_SLUB_DEBUG=y
++# CONFIG_SLAB is not set
++CONFIG_SLUB=y
++# CONFIG_SLOB is not set
++# CONFIG_PROFILING is not set
++# CONFIG_MARKERS is not set
++CONFIG_HAVE_OPROFILE=y
++# CONFIG_KPROBES is not set
++CONFIG_HAVE_KPROBES=y
++CONFIG_HAVE_KRETPROBES=y
++CONFIG_HAVE_CLK=y
++CONFIG_HAVE_GENERIC_DMA_COHERENT=y
++CONFIG_SLABINFO=y
++CONFIG_RT_MUTEXES=y
++# CONFIG_TINY_SHMEM is not set
++CONFIG_BASE_SMALL=0
++CONFIG_MODULES=y
++# CONFIG_MODULE_FORCE_LOAD is not set
++CONFIG_MODULE_UNLOAD=y
++# CONFIG_MODULE_FORCE_UNLOAD is not set
++# CONFIG_MODVERSIONS is not set
++# CONFIG_MODULE_SRCVERSION_ALL is not set
++CONFIG_KMOD=y
++CONFIG_BLOCK=y
++CONFIG_LBD=y
++# CONFIG_BLK_DEV_IO_TRACE is not set
++CONFIG_LSF=y
++# CONFIG_BLK_DEV_BSG is not set
++# CONFIG_BLK_DEV_INTEGRITY is not set
++
++#
++# IO Schedulers
++#
++CONFIG_IOSCHED_NOOP=y
++CONFIG_IOSCHED_AS=y
++CONFIG_IOSCHED_DEADLINE=y
++CONFIG_IOSCHED_CFQ=y
++# CONFIG_DEFAULT_AS is not set
++# CONFIG_DEFAULT_DEADLINE is not set
++CONFIG_DEFAULT_CFQ=y
++# CONFIG_DEFAULT_NOOP is not set
++CONFIG_DEFAULT_IOSCHED="cfq"
++CONFIG_CLASSIC_RCU=y
++CONFIG_FREEZER=y
++
++#
++# System Type
++#
++# CONFIG_ARCH_AAEC2000 is not set
++# CONFIG_ARCH_INTEGRATOR is not set
++# CONFIG_ARCH_REALVIEW is not set
++# CONFIG_ARCH_VERSATILE is not set
++# CONFIG_ARCH_AT91 is not set
++# CONFIG_ARCH_CLPS7500 is not set
++# CONFIG_ARCH_CLPS711X is not set
++# CONFIG_ARCH_EBSA110 is not set
++# CONFIG_ARCH_EP93XX is not set
++# CONFIG_ARCH_FOOTBRIDGE is not set
++# CONFIG_ARCH_NETX is not set
++# CONFIG_ARCH_H720X is not set
++# CONFIG_ARCH_IMX is not set
++# CONFIG_ARCH_IOP13XX is not set
++# CONFIG_ARCH_IOP32X is not set
++# CONFIG_ARCH_IOP33X is not set
++# CONFIG_ARCH_IXP23XX is not set
++# CONFIG_ARCH_IXP2000 is not set
++# CONFIG_ARCH_IXP4XX is not set
++# CONFIG_ARCH_L7200 is not set
++# CONFIG_ARCH_KIRKWOOD is not set
++# CONFIG_ARCH_KS8695 is not set
++# CONFIG_ARCH_NS9XXX is not set
++# CONFIG_ARCH_LOKI is not set
++# CONFIG_ARCH_MV78XX0 is not set
++# CONFIG_ARCH_MXC is not set
++# CONFIG_ARCH_ORION5X is not set
++# CONFIG_ARCH_PNX4008 is not set
++# CONFIG_ARCH_PXA is not set
++# CONFIG_ARCH_RPC is not set
++# CONFIG_ARCH_SA1100 is not set
++# CONFIG_ARCH_S3C2410 is not set
++CONFIG_ARCH_S3C64XX=y
++# CONFIG_ARCH_SHARK is not set
++# CONFIG_ARCH_LH7A40X is not set
++# CONFIG_ARCH_DAVINCI is not set
++# CONFIG_ARCH_OMAP is not set
++# CONFIG_ARCH_MSM is not set
++CONFIG_MACH_NEO1973=y
++CONFIG_PLAT_S3C64XX=y
++CONFIG_CPU_S3C6400_INIT=y
++CONFIG_CPU_S3C6400_CLOCK=y
++CONFIG_S3C64XX_SETUP_I2C0=y
++CONFIG_S3C64XX_SETUP_I2C1=y
++CONFIG_S3C64XX_SETUP_FB_24BPP=y
++CONFIG_PLAT_S3C=y
++
++#
++# Boot options
++#
++CONFIG_S3C_BOOT_ERROR_RESET=y
++CONFIG_S3C_BOOT_UART_FORCE_FIFO=y
++
++#
++# Power management
++#
++# CONFIG_S3C2410_PM_DEBUG is not set
++# CONFIG_S3C2410_PM_CHECK is not set
++CONFIG_S3C_LOWLEVEL_UART_PORT=3
++CONFIG_S3C_GPIO_SPACE=0
++CONFIG_S3C_GPIO_TRACK=y
++CONFIG_S3C_GPIO_PULL_UPDOWN=y
++CONFIG_S3C_GPIO_CFG_S3C24XX=y
++CONFIG_S3C_GPIO_CFG_S3C64XX=y
++CONFIG_S3C_DEV_HSMMC=y
++CONFIG_S3C_DEV_HSMMC1=y
++CONFIG_S3C_DEV_I2C1=y
++CONFIG_S3C_DEV_FB=y
++CONFIG_CPU_S3C6410=y
++CONFIG_S3C6410_SETUP_SDHCI=y
++# CONFIG_MACH_SMDK6410 is not set
++CONFIG_MACH_OPENMOKO_GTA03=y
++
++#
++# Processor Type
++#
++CONFIG_CPU_32=y
++CONFIG_CPU_V6=y
++CONFIG_CPU_32v6K=y
++CONFIG_CPU_32v6=y
++CONFIG_CPU_ABRT_EV6=y
++CONFIG_CPU_PABRT_NOIFAR=y
++CONFIG_CPU_CACHE_V6=y
++CONFIG_CPU_CACHE_VIPT=y
++CONFIG_CPU_COPY_V6=y
++CONFIG_CPU_TLB_V6=y
++CONFIG_CPU_HAS_ASID=y
++CONFIG_CPU_CP15=y
++CONFIG_CPU_CP15_MMU=y
++
++#
++# Processor Features
++#
++CONFIG_ARM_THUMB=y
++# CONFIG_CPU_ICACHE_DISABLE is not set
++# CONFIG_CPU_DCACHE_DISABLE is not set
++# CONFIG_CPU_BPREDICT_DISABLE is not set
++# CONFIG_OUTER_CACHE is not set
++CONFIG_ARM_VIC=y
++
++#
++# Bus support
++#
++# CONFIG_PCI_SYSCALL is not set
++# CONFIG_ARCH_SUPPORTS_MSI is not set
++# CONFIG_PCCARD is not set
++
++#
++# Kernel Features
++#
++CONFIG_VMSPLIT_3G=y
++# CONFIG_VMSPLIT_2G is not set
++# CONFIG_VMSPLIT_1G is not set
++CONFIG_PAGE_OFFSET=0xC0000000
++# CONFIG_PREEMPT is not set
++CONFIG_HZ=100
++CONFIG_AEABI=y
++CONFIG_OABI_COMPAT=y
++CONFIG_ARCH_FLATMEM_HAS_HOLES=y
++# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
++# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
++CONFIG_SELECT_MEMORY_MODEL=y
++CONFIG_FLATMEM_MANUAL=y
++# CONFIG_DISCONTIGMEM_MANUAL is not set
++# CONFIG_SPARSEMEM_MANUAL is not set
++CONFIG_FLATMEM=y
++CONFIG_FLAT_NODE_MEM_MAP=y
++CONFIG_PAGEFLAGS_EXTENDED=y
++CONFIG_SPLIT_PTLOCK_CPUS=4
++# CONFIG_RESOURCES_64BIT is not set
++# CONFIG_PHYS_ADDR_T_64BIT is not set
++CONFIG_ZONE_DMA_FLAG=0
++CONFIG_VIRT_TO_BUS=y
++CONFIG_UNEVICTABLE_LRU=y
++CONFIG_ALIGNMENT_TRAP=y
++
++#
++# Boot options
++#
++CONFIG_ZBOOT_ROM_TEXT=0
++CONFIG_ZBOOT_ROM_BSS=0
++CONFIG_CMDLINE="console=ttySAC0,115200 root=/dev/ram init=/bin/bash initrd=0x51000000,4M"
++# CONFIG_XIP_KERNEL is not set
++# CONFIG_KEXEC is not set
++
++#
++# CPU Power Management
++#
++CONFIG_CPU_IDLE=y
++CONFIG_CPU_IDLE_GOV_LADDER=y
++
++#
++# Floating point emulation
++#
++
++#
++# At least one emulation must be selected
++#
++# CONFIG_FPE_NWFPE is not set
++# CONFIG_FPE_FASTFPE is not set
++CONFIG_VFP=y
++
++#
++# Userspace binary formats
++#
++CONFIG_BINFMT_ELF=y
++# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
++CONFIG_HAVE_AOUT=y
++# CONFIG_BINFMT_AOUT is not set
++# CONFIG_BINFMT_MISC is not set
++
++#
++# Power management options
++#
++CONFIG_PM=y
++# CONFIG_PM_DEBUG is not set
++CONFIG_PM_SLEEP=y
++CONFIG_SUSPEND=y
++CONFIG_SUSPEND_FREEZER=y
++CONFIG_APM_EMULATION=y
++CONFIG_ARCH_SUSPEND_POSSIBLE=y
++CONFIG_NET=y
++
++#
++# Networking options
++#
++CONFIG_PACKET=y
++CONFIG_PACKET_MMAP=y
++CONFIG_UNIX=y
++CONFIG_XFRM=y
++# CONFIG_XFRM_USER is not set
++# CONFIG_XFRM_SUB_POLICY is not set
++CONFIG_XFRM_MIGRATE=y
++# CONFIG_XFRM_STATISTICS is not set
++# CONFIG_NET_KEY is not set
++CONFIG_INET=y
++CONFIG_IP_MULTICAST=y
++CONFIG_IP_ADVANCED_ROUTER=y
++CONFIG_ASK_IP_FIB_HASH=y
++# CONFIG_IP_FIB_TRIE is not set
++CONFIG_IP_FIB_HASH=y
++CONFIG_IP_MULTIPLE_TABLES=y
++# CONFIG_IP_ROUTE_MULTIPATH is not set
++# CONFIG_IP_ROUTE_VERBOSE is not set
++CONFIG_IP_PNP=y
++# CONFIG_IP_PNP_DHCP is not set
++# CONFIG_IP_PNP_BOOTP is not set
++# CONFIG_IP_PNP_RARP is not set
++# CONFIG_NET_IPIP is not set
++# CONFIG_NET_IPGRE is not set
++# CONFIG_IP_MROUTE is not set
++# CONFIG_ARPD is not set
++CONFIG_SYN_COOKIES=y
++# CONFIG_INET_AH is not set
++# CONFIG_INET_ESP is not set
++# CONFIG_INET_IPCOMP is not set
++# CONFIG_INET_XFRM_TUNNEL is not set
++CONFIG_INET_TUNNEL=m
++CONFIG_INET_XFRM_MODE_TRANSPORT=y
++CONFIG_INET_XFRM_MODE_TUNNEL=y
++CONFIG_INET_XFRM_MODE_BEET=y
++# CONFIG_INET_LRO is not set
++CONFIG_INET_DIAG=y
++CONFIG_INET_TCP_DIAG=y
++# CONFIG_TCP_CONG_ADVANCED is not set
++CONFIG_TCP_CONG_CUBIC=y
++CONFIG_DEFAULT_TCP_CONG="cubic"
++CONFIG_TCP_MD5SIG=y
++CONFIG_IPV6=m
++# CONFIG_IPV6_PRIVACY is not set
++# CONFIG_IPV6_ROUTER_PREF is not set
++# CONFIG_IPV6_OPTIMISTIC_DAD is not set
++# CONFIG_INET6_AH is not set
++# CONFIG_INET6_ESP is not set
++# CONFIG_INET6_IPCOMP is not set
++# CONFIG_IPV6_MIP6 is not set
++# CONFIG_INET6_XFRM_TUNNEL is not set
++# CONFIG_INET6_TUNNEL is not set
++CONFIG_INET6_XFRM_MODE_TRANSPORT=m
++CONFIG_INET6_XFRM_MODE_TUNNEL=m
++CONFIG_INET6_XFRM_MODE_BEET=m
++# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
++CONFIG_IPV6_SIT=m
++CONFIG_IPV6_NDISC_NODETYPE=y
++# CONFIG_IPV6_TUNNEL is not set
++# CONFIG_IPV6_MULTIPLE_TABLES is not set
++# CONFIG_IPV6_MROUTE is not set
++# CONFIG_NETWORK_SECMARK is not set
++CONFIG_NETFILTER=y
++# CONFIG_NETFILTER_DEBUG is not set
++CONFIG_NETFILTER_ADVANCED=y
++
++#
++# Core Netfilter Configuration
++#
++# CONFIG_NETFILTER_NETLINK_QUEUE is not set
++# CONFIG_NETFILTER_NETLINK_LOG is not set
++# CONFIG_NF_CONNTRACK is not set
++CONFIG_NETFILTER_XTABLES=m
++# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
++# CONFIG_NETFILTER_XT_TARGET_MARK is not set
++# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
++# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
++# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set
++# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
++# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
++# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
++# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
++# CONFIG_NETFILTER_XT_MATCH_ESP is not set
++# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
++# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set
++# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set
++# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set
++# CONFIG_NETFILTER_XT_MATCH_MAC is not set
++# CONFIG_NETFILTER_XT_MATCH_MARK is not set
++# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
++# CONFIG_NETFILTER_XT_MATCH_OWNER is not set
++# CONFIG_NETFILTER_XT_MATCH_POLICY is not set
++# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
++# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
++# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set
++# CONFIG_NETFILTER_XT_MATCH_REALM is not set
++# CONFIG_NETFILTER_XT_MATCH_RECENT is not set
++# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
++# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set
++# CONFIG_NETFILTER_XT_MATCH_STRING is not set
++# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set
++# CONFIG_NETFILTER_XT_MATCH_TIME is not set
++# CONFIG_NETFILTER_XT_MATCH_U32 is not set
++# CONFIG_IP_VS is not set
++
++#
++# IP: Netfilter Configuration
++#
++# CONFIG_NF_DEFRAG_IPV4 is not set
++# CONFIG_IP_NF_QUEUE is not set
++# CONFIG_IP_NF_IPTABLES is not set
++# CONFIG_IP_NF_ARPTABLES is not set
++
++#
++# IPv6: Netfilter Configuration
++#
++# CONFIG_IP6_NF_QUEUE is not set
++CONFIG_IP6_NF_IPTABLES=m
++# CONFIG_IP6_NF_MATCH_AH is not set
++# CONFIG_IP6_NF_MATCH_EUI64 is not set
++# CONFIG_IP6_NF_MATCH_FRAG is not set
++# CONFIG_IP6_NF_MATCH_OPTS is not set
++# CONFIG_IP6_NF_MATCH_HL is not set
++# CONFIG_IP6_NF_MATCH_IPV6HEADER is not set
++# CONFIG_IP6_NF_MATCH_MH is not set
++# CONFIG_IP6_NF_MATCH_RT is not set
++# CONFIG_IP6_NF_TARGET_LOG is not set
++# CONFIG_IP6_NF_FILTER is not set
++# CONFIG_IP6_NF_MANGLE is not set
++# CONFIG_IP6_NF_RAW is not set
++# CONFIG_IP_DCCP is not set
++# CONFIG_IP_SCTP is not set
++# CONFIG_TIPC is not set
++# CONFIG_ATM is not set
++# CONFIG_BRIDGE is not set
++# CONFIG_NET_DSA is not set
++# CONFIG_VLAN_8021Q is not set
++# CONFIG_DECNET is not set
++# CONFIG_LLC2 is not set
++# CONFIG_IPX is not set
++# CONFIG_ATALK is not set
++# CONFIG_X25 is not set
++# CONFIG_LAPB is not set
++# CONFIG_ECONET is not set
++# CONFIG_WAN_ROUTER is not set
++# CONFIG_NET_SCHED is not set
++
++#
++# Network testing
++#
++# CONFIG_NET_PKTGEN is not set
++# CONFIG_HAMRADIO is not set
++# CONFIG_CAN is not set
++# CONFIG_IRDA is not set
++# CONFIG_BT is not set
++# CONFIG_AF_RXRPC is not set
++# CONFIG_PHONET is not set
++CONFIG_FIB_RULES=y
++CONFIG_WIRELESS=y
++CONFIG_CFG80211=y
++CONFIG_NL80211=y
++CONFIG_WIRELESS_OLD_REGULATORY=y
++CONFIG_WIRELESS_EXT=y
++CONFIG_WIRELESS_EXT_SYSFS=y
++CONFIG_MAC80211=y
++
++#
++# Rate control algorithm selection
++#
++CONFIG_MAC80211_RC_PID=y
++# CONFIG_MAC80211_RC_MINSTREL is not set
++CONFIG_MAC80211_RC_DEFAULT_PID=y
++# CONFIG_MAC80211_RC_DEFAULT_MINSTREL is not set
++CONFIG_MAC80211_RC_DEFAULT="pid"
++# CONFIG_MAC80211_MESH is not set
++CONFIG_MAC80211_LEDS=y
++# CONFIG_MAC80211_DEBUG_MENU is not set
++# CONFIG_IEEE80211 is not set
++# CONFIG_RFKILL is not set
++# CONFIG_NET_9P is not set
++
++#
++# Device Drivers
++#
++
++#
++# Generic Driver Options
++#
++CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
++CONFIG_STANDALONE=y
++CONFIG_PREVENT_FIRMWARE_BUILD=y
++CONFIG_FW_LOADER=y
++CONFIG_FIRMWARE_IN_KERNEL=y
++CONFIG_EXTRA_FIRMWARE=""
++# CONFIG_DEBUG_DRIVER is not set
++# CONFIG_DEBUG_DEVRES is not set
++# CONFIG_SYS_HYPERVISOR is not set
++# CONFIG_CONNECTOR is not set
++CONFIG_MTD=y
++# CONFIG_MTD_DEBUG is not set
++# CONFIG_MTD_CONCAT is not set
++CONFIG_MTD_PARTITIONS=y
++# CONFIG_MTD_REDBOOT_PARTS is not set
++CONFIG_MTD_CMDLINE_PARTS=y
++# CONFIG_MTD_AFS_PARTS is not set
++# CONFIG_MTD_AR7_PARTS is not set
++
++#
++# User Modules And Translation Layers
++#
++CONFIG_MTD_CHAR=y
++CONFIG_MTD_BLKDEVS=y
++CONFIG_MTD_BLOCK=y
++# CONFIG_FTL is not set
++# CONFIG_NFTL is not set
++# CONFIG_INFTL is not set
++# CONFIG_RFD_FTL is not set
++# CONFIG_SSFDC is not set
++# CONFIG_MTD_OOPS is not set
++
++#
++# RAM/ROM/Flash chip drivers
++#
++# CONFIG_MTD_CFI is not set
++# CONFIG_MTD_JEDECPROBE is not set
++CONFIG_MTD_MAP_BANK_WIDTH_1=y
++CONFIG_MTD_MAP_BANK_WIDTH_2=y
++CONFIG_MTD_MAP_BANK_WIDTH_4=y
++# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
++# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
++# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
++CONFIG_MTD_CFI_I1=y
++CONFIG_MTD_CFI_I2=y
++# CONFIG_MTD_CFI_I4 is not set
++# CONFIG_MTD_CFI_I8 is not set
++# CONFIG_MTD_RAM is not set
++# CONFIG_MTD_ROM is not set
++# CONFIG_MTD_ABSENT is not set
++
++#
++# Mapping drivers for chip access
++#
++# CONFIG_MTD_COMPLEX_MAPPINGS is not set
++# CONFIG_MTD_PLATRAM is not set
++
++#
++# Self-contained MTD device drivers
++#
++# CONFIG_MTD_DATAFLASH is not set
++# CONFIG_MTD_M25P80 is not set
++# CONFIG_MTD_SLRAM is not set
++# CONFIG_MTD_PHRAM is not set
++# CONFIG_MTD_MTDRAM is not set
++# CONFIG_MTD_BLOCK2MTD is not set
++
++#
++# Disk-On-Chip Device Drivers
++#
++# CONFIG_MTD_DOC2000 is not set
++# CONFIG_MTD_DOC2001 is not set
++# CONFIG_MTD_DOC2001PLUS is not set
++# CONFIG_MTD_NAND is not set
++CONFIG_MTD_ONENAND=y
++# CONFIG_MTD_ONENAND_VERIFY_WRITE is not set
++CONFIG_MTD_ONENAND_GENERIC=y
++# CONFIG_MTD_ONENAND_OTP is not set
++# CONFIG_MTD_ONENAND_2X_PROGRAM is not set
++# CONFIG_MTD_ONENAND_SIM is not set
++
++#
++# UBI - Unsorted block images
++#
++# CONFIG_MTD_UBI is not set
++# CONFIG_PARPORT is not set
++CONFIG_BLK_DEV=y
++# CONFIG_BLK_DEV_COW_COMMON is not set
++CONFIG_BLK_DEV_LOOP=y
++# CONFIG_BLK_DEV_CRYPTOLOOP is not set
++# CONFIG_BLK_DEV_NBD is not set
++CONFIG_BLK_DEV_RAM=y
++CONFIG_BLK_DEV_RAM_COUNT=16
++CONFIG_BLK_DEV_RAM_SIZE=8192
++# CONFIG_BLK_DEV_XIP is not set
++# CONFIG_CDROM_PKTCDVD is not set
++# CONFIG_ATA_OVER_ETH is not set
++CONFIG_MISC_DEVICES=y
++# CONFIG_EEPROM_93CX6 is not set
++CONFIG_LOW_MEMORY_KILLER=y
++# CONFIG_ENCLOSURE_SERVICES is not set
++CONFIG_HAVE_IDE=y
++# CONFIG_IDE is not set
++
++#
++# SCSI device support
++#
++# CONFIG_RAID_ATTRS is not set
++# CONFIG_SCSI is not set
++# CONFIG_SCSI_DMA is not set
++# CONFIG_SCSI_NETLINK is not set
++# CONFIG_ATA is not set
++# CONFIG_MD is not set
++CONFIG_NETDEVICES=y
++# CONFIG_DUMMY is not set
++# CONFIG_BONDING is not set
++# CONFIG_MACVLAN is not set
++# CONFIG_EQUALIZER is not set
++CONFIG_TUN=y
++# CONFIG_VETH is not set
++# CONFIG_NET_ETHERNET is not set
++# CONFIG_NETDEV_1000 is not set
++# CONFIG_NETDEV_10000 is not set
++
++#
++# Wireless LAN
++#
++# CONFIG_WLAN_PRE80211 is not set
++# CONFIG_WLAN_80211 is not set
++# CONFIG_IWLWIFI_LEDS is not set
++# CONFIG_WAN is not set
++CONFIG_PPP=y
++# CONFIG_PPP_MULTILINK is not set
++# CONFIG_PPP_FILTER is not set
++CONFIG_PPP_ASYNC=y
++CONFIG_PPP_SYNC_TTY=y
++CONFIG_PPP_DEFLATE=y
++CONFIG_PPP_BSDCOMP=y
++CONFIG_PPP_MPPE=y
++# CONFIG_PPPOE is not set
++# CONFIG_PPPOL2TP is not set
++# CONFIG_SLIP is not set
++CONFIG_SLHC=y
++# CONFIG_NETCONSOLE is not set
++# CONFIG_NETPOLL is not set
++# CONFIG_NET_POLL_CONTROLLER is not set
++# CONFIG_ISDN is not set
++
++#
++# Input device support
++#
++CONFIG_INPUT=y
++# CONFIG_INPUT_FF_MEMLESS is not set
++# CONFIG_INPUT_POLLDEV is not set
++
++#
++# Userland interfaces
++#
++CONFIG_INPUT_MOUSEDEV=y
++CONFIG_INPUT_MOUSEDEV_PSAUX=y
++CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
++CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
++# CONFIG_INPUT_JOYDEV is not set
++CONFIG_INPUT_EVDEV=y
++# CONFIG_INPUT_EVBUG is not set
++
++#
++# Input Device Drivers
++#
++CONFIG_INPUT_KEYBOARD=y
++CONFIG_KEYBOARD_ATKBD=y
++# CONFIG_KEYBOARD_SUNKBD is not set
++# CONFIG_KEYBOARD_LKKBD is not set
++# CONFIG_KEYBOARD_XTKBD is not set
++# CONFIG_KEYBOARD_NEWTON is not set
++# CONFIG_KEYBOARD_STOWAWAY is not set
++# CONFIG_KEYBOARD_GPIO is not set
++CONFIG_KEYBOARD_NEO1973=y
++CONFIG_INPUT_MOUSE=y
++CONFIG_MOUSE_PS2=y
++CONFIG_MOUSE_PS2_ALPS=y
++CONFIG_MOUSE_PS2_LOGIPS2PP=y
++CONFIG_MOUSE_PS2_SYNAPTICS=y
++CONFIG_MOUSE_PS2_LIFEBOOK=y
++CONFIG_MOUSE_PS2_TRACKPOINT=y
++# CONFIG_MOUSE_PS2_ELANTECH is not set
++# CONFIG_MOUSE_PS2_TOUCHKIT is not set
++# CONFIG_MOUSE_SERIAL is not set
++# CONFIG_MOUSE_APPLETOUCH is not set
++# CONFIG_MOUSE_BCM5974 is not set
++# CONFIG_MOUSE_VSXXXAA is not set
++# CONFIG_MOUSE_GPIO is not set
++# CONFIG_INPUT_JOYSTICK is not set
++# CONFIG_INPUT_TABLET is not set
++CONFIG_INPUT_TOUCHSCREEN=y
++CONFIG_TOUCHSCREEN_FILTER=y
++CONFIG_TOUCHSCREEN_FILTER_GROUP=y
++CONFIG_TOUCHSCREEN_FILTER_MEDIAN=y
++CONFIG_TOUCHSCREEN_FILTER_MEAN=y
++# CONFIG_TOUCHSCREEN_ADS7846 is not set
++# CONFIG_TOUCHSCREEN_FUJITSU is not set
++# CONFIG_TOUCHSCREEN_GUNZE is not set
++# CONFIG_TOUCHSCREEN_ELO is not set
++# CONFIG_TOUCHSCREEN_MTOUCH is not set
++# CONFIG_TOUCHSCREEN_INEXIO is not set
++# CONFIG_TOUCHSCREEN_MK712 is not set
++# CONFIG_TOUCHSCREEN_PENMOUNT is not set
++# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
++# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
++# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
++# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
++CONFIG_INPUT_MISC=y
++CONFIG_TOUCHSCREEN_PCAP7200=y
++# CONFIG_INPUT_ATI_REMOTE is not set
++# CONFIG_INPUT_ATI_REMOTE2 is not set
++# CONFIG_INPUT_KEYSPAN_REMOTE is not set
++# CONFIG_INPUT_POWERMATE is not set
++# CONFIG_INPUT_YEALINK is not set
++# CONFIG_INPUT_CM109 is not set
++# CONFIG_INPUT_UINPUT is not set
++CONFIG_INPUT_LIS302DL=y
++CONFIG_INPUT_PCF50633_PMU=y
++
++#
++# Hardware I/O ports
++#
++CONFIG_SERIO=y
++CONFIG_SERIO_SERPORT=y
++CONFIG_SERIO_LIBPS2=y
++# CONFIG_SERIO_RAW is not set
++# CONFIG_GAMEPORT is not set
++
++#
++# Character devices
++#
++CONFIG_VT=y
++CONFIG_CONSOLE_TRANSLATIONS=y
++CONFIG_VT_CONSOLE=y
++CONFIG_NR_TTY_DEVICES=6
++CONFIG_HW_CONSOLE=y
++# CONFIG_VT_HW_CONSOLE_BINDING is not set
++CONFIG_DEVKMEM=y
++# CONFIG_SERIAL_NONSTANDARD is not set
++
++#
++# Serial drivers
++#
++CONFIG_SERIAL_8250=y
++# CONFIG_SERIAL_8250_CONSOLE is not set
++CONFIG_SERIAL_8250_NR_UARTS=4
++CONFIG_SERIAL_8250_RUNTIME_UARTS=4
++# CONFIG_SERIAL_8250_EXTENDED is not set
++
++#
++# Non-8250 serial port support
++#
++CONFIG_SERIAL_SAMSUNG=y
++CONFIG_SERIAL_SAMSUNG_UARTS=4
++# CONFIG_SERIAL_SAMSUNG_DEBUG is not set
++CONFIG_SERIAL_SAMSUNG_CONSOLE=y
++CONFIG_SERIAL_S3C6400=y
++CONFIG_SERIAL_CORE=y
++CONFIG_SERIAL_CORE_CONSOLE=y
++CONFIG_UNIX98_PTYS=y
++CONFIG_LEGACY_PTYS=y
++CONFIG_LEGACY_PTY_COUNT=256
++# CONFIG_IPMI_HANDLER is not set
++CONFIG_HW_RANDOM=y
++# CONFIG_NVRAM is not set
++# CONFIG_R3964 is not set
++# CONFIG_RAW_DRIVER is not set
++# CONFIG_TCG_TPM is not set
++CONFIG_I2C=y
++CONFIG_I2C_BOARDINFO=y
++CONFIG_I2C_CHARDEV=y
++CONFIG_I2C_HELPER_AUTO=y
++
++#
++# I2C Hardware Bus support
++#
++
++#
++# I2C system bus drivers (mostly embedded / system-on-chip)
++#
++# CONFIG_I2C_GPIO is not set
++# CONFIG_I2C_OCORES is not set
++CONFIG_I2C_S3C2410=y
++# CONFIG_I2C_SIMTEC is not set
++
++#
++# External I2C/SMBus adapter drivers
++#
++# CONFIG_I2C_PARPORT_LIGHT is not set
++# CONFIG_I2C_TAOS_EVM is not set
++
++#
++# Other I2C/SMBus bus drivers
++#
++# CONFIG_I2C_PCA_PLATFORM is not set
++# CONFIG_I2C_STUB is not set
++
++#
++# Miscellaneous I2C Chip support
++#
++# CONFIG_DS1682 is not set
++# CONFIG_AT24 is not set
++# CONFIG_SENSORS_EEPROM is not set
++# CONFIG_SENSORS_PCF50606 is not set
++# CONFIG_SENSORS_PCF50633 is not set
++# CONFIG_SENSORS_PCF8574 is not set
++# CONFIG_PCF8575 is not set
++# CONFIG_SENSORS_PCA9539 is not set
++# CONFIG_SENSORS_PCF8591 is not set
++# CONFIG_TPS65010 is not set
++# CONFIG_SENSORS_MAX6875 is not set
++# CONFIG_SENSORS_TSL2550 is not set
++# CONFIG_SENSORS_TSL256X is not set
++CONFIG_PCA9632=y
++# CONFIG_I2C_DEBUG_CORE is not set
++# CONFIG_I2C_DEBUG_ALGO is not set
++# CONFIG_I2C_DEBUG_BUS is not set
++# CONFIG_I2C_DEBUG_CHIP is not set
++CONFIG_SPI=y
++# CONFIG_SPI_DEBUG is not set
++CONFIG_SPI_MASTER=y
++
++#
++# SPI Master Controller Drivers
++#
++CONFIG_SPI_BITBANG=y
++
++#
++# SPI Protocol Masters
++#
++# CONFIG_SPI_AT25 is not set
++# CONFIG_SPI_SPIDEV is not set
++# CONFIG_SPI_TLE62X0 is not set
++CONFIG_ARCH_REQUIRE_GPIOLIB=y
++CONFIG_GPIOLIB=y
++# CONFIG_DEBUG_GPIO is not set
++CONFIG_GPIO_SYSFS=y
++
++#
++# I2C GPIO expanders:
++#
++# CONFIG_GPIO_MAX732X is not set
++# CONFIG_GPIO_PCA953X is not set
++# CONFIG_GPIO_PCF857X is not set
++
++#
++# PCI GPIO expanders:
++#
++
++#
++# SPI GPIO expanders:
++#
++# CONFIG_GPIO_MAX7301 is not set
++# CONFIG_GPIO_MCP23S08 is not set
++# CONFIG_W1 is not set
++CONFIG_POWER_SUPPLY=y
++# CONFIG_POWER_SUPPLY_DEBUG is not set
++# CONFIG_PDA_POWER is not set
++# CONFIG_APM_POWER is not set
++# CONFIG_BATTERY_DS2760 is not set
++# CONFIG_BATTERY_BQ27x00 is not set
++# CONFIG_BATTERY_BQ27000_HDQ is not set
++CONFIG_CHARGER_PCF50633=y
++CONFIG_HWMON=y
++# CONFIG_HWMON_VID is not set
++# CONFIG_SENSORS_AD7414 is not set
++# CONFIG_SENSORS_AD7418 is not set
++# CONFIG_SENSORS_ADCXX is not set
++# CONFIG_SENSORS_ADM1021 is not set
++# CONFIG_SENSORS_ADM1025 is not set
++# CONFIG_SENSORS_ADM1026 is not set
++# CONFIG_SENSORS_ADM1029 is not set
++# CONFIG_SENSORS_ADM1031 is not set
++# CONFIG_SENSORS_ADM9240 is not set
++# CONFIG_SENSORS_ADT7470 is not set
++# CONFIG_SENSORS_ADT7473 is not set
++# CONFIG_SENSORS_ATXP1 is not set
++# CONFIG_SENSORS_DS1621 is not set
++# CONFIG_SENSORS_F71805F is not set
++# CONFIG_SENSORS_F71882FG is not set
++# CONFIG_SENSORS_F75375S is not set
++# CONFIG_SENSORS_GL518SM is not set
++# CONFIG_SENSORS_GL520SM is not set
++# CONFIG_SENSORS_IT87 is not set
++# CONFIG_SENSORS_LM63 is not set
++# CONFIG_SENSORS_LM70 is not set
++# CONFIG_SENSORS_LM75 is not set
++# CONFIG_SENSORS_LM77 is not set
++# CONFIG_SENSORS_LM78 is not set
++# CONFIG_SENSORS_LM80 is not set
++# CONFIG_SENSORS_LM83 is not set
++# CONFIG_SENSORS_LM85 is not set
++# CONFIG_SENSORS_LM87 is not set
++# CONFIG_SENSORS_LM90 is not set
++# CONFIG_SENSORS_LM92 is not set
++# CONFIG_SENSORS_LM93 is not set
++# CONFIG_SENSORS_MAX1111 is not set
++# CONFIG_SENSORS_MAX1619 is not set
++# CONFIG_SENSORS_MAX6650 is not set
++# CONFIG_SENSORS_PC87360 is not set
++# CONFIG_SENSORS_PC87427 is not set
++# CONFIG_SENSORS_DME1737 is not set
++# CONFIG_SENSORS_SMSC47M1 is not set
++# CONFIG_SENSORS_SMSC47M192 is not set
++# CONFIG_SENSORS_SMSC47B397 is not set
++# CONFIG_SENSORS_ADS7828 is not set
++# CONFIG_SENSORS_THMC50 is not set
++# CONFIG_SENSORS_VT1211 is not set
++# CONFIG_SENSORS_W83781D is not set
++# CONFIG_SENSORS_W83791D is not set
++# CONFIG_SENSORS_W83792D is not set
++# CONFIG_SENSORS_W83793 is not set
++# CONFIG_SENSORS_W83L785TS is not set
++# CONFIG_SENSORS_W83L786NG is not set
++# CONFIG_SENSORS_W83627HF is not set
++# CONFIG_SENSORS_W83627EHF is not set
++# CONFIG_HWMON_DEBUG_CHIP is not set
++# CONFIG_THERMAL is not set
++# CONFIG_THERMAL_HWMON is not set
++# CONFIG_WATCHDOG is not set
++
++#
++# Sonics Silicon Backplane
++#
++CONFIG_SSB_POSSIBLE=y
++# CONFIG_SSB is not set
++
++#
++# Multifunction device drivers
++#
++# CONFIG_MFD_CORE is not set
++# CONFIG_MFD_SM501 is not set
++# CONFIG_MFD_ASIC3 is not set
++# CONFIG_HTC_EGPIO is not set
++# CONFIG_HTC_PASIC3 is not set
++# CONFIG_MFD_TMIO is not set
++# CONFIG_MFD_T7L66XB is not set
++# CONFIG_MFD_TC6387XB is not set
++# CONFIG_MFD_TC6393XB is not set
++# CONFIG_PMIC_DA903X is not set
++# CONFIG_MFD_WM8400 is not set
++# CONFIG_MFD_WM8350_I2C is not set
++CONFIG_MFD_PCF50633=y
++CONFIG_PCF50633_ADC=y
++CONFIG_PCF50633_GPIO=y
++# CONFIG_MFD_PCF50606 is not set
++# CONFIG_MFD_GLAMO is not set
++
++#
++# Multimedia devices
++#
++
++#
++# Multimedia core support
++#
++# CONFIG_VIDEO_DEV is not set
++# CONFIG_DVB_CORE is not set
++# CONFIG_VIDEO_MEDIA is not set
++
++#
++# Multimedia drivers
++#
++# CONFIG_DAB is not set
++
++#
++# Graphics support
++#
++# CONFIG_VGASTATE is not set
++# CONFIG_VIDEO_OUTPUT_CONTROL is not set
++CONFIG_FB=y
++# CONFIG_FIRMWARE_EDID is not set
++# CONFIG_FB_DDC is not set
++# CONFIG_FB_BOOT_VESA_SUPPORT is not set
++CONFIG_FB_CFB_FILLRECT=y
++CONFIG_FB_CFB_COPYAREA=y
++CONFIG_FB_CFB_IMAGEBLIT=y
++# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
++# CONFIG_FB_SYS_FILLRECT is not set
++# CONFIG_FB_SYS_COPYAREA is not set
++# CONFIG_FB_SYS_IMAGEBLIT is not set
++# CONFIG_FB_FOREIGN_ENDIAN is not set
++# CONFIG_FB_SYS_FOPS is not set
++# CONFIG_FB_SVGALIB is not set
++# CONFIG_FB_MACMODES is not set
++# CONFIG_FB_BACKLIGHT is not set
++CONFIG_FB_MODE_HELPERS=y
++CONFIG_FB_TILEBLITTING=y
++
++#
++# Frame buffer hardware drivers
++#
++# CONFIG_FB_S1D13XXX is not set
++CONFIG_FB_S3C=y
++# CONFIG_FB_S3C_DEBUG_REGWRITE is not set
++# CONFIG_FB_VIRTUAL is not set
++# CONFIG_FB_METRONOME is not set
++# CONFIG_FB_MB862XX is not set
++CONFIG_BACKLIGHT_LCD_SUPPORT=y
++CONFIG_LCD_CLASS_DEVICE=y
++# CONFIG_LCD_LTV350QV is not set
++# CONFIG_LCD_ILI9320 is not set
++# CONFIG_LCD_TDO24M is not set
++# CONFIG_LCD_VGG2432A4 is not set
++CONFIG_LCD_PLATFORM=y
++CONFIG_BACKLIGHT_CLASS_DEVICE=y
++CONFIG_BACKLIGHT_CORGI=y
++
++#
++# Display device support
++#
++# CONFIG_DISPLAY_SUPPORT is not set
++# CONFIG_DISPLAY_JBT6K74 is not set
++
++#
++# Console display driver support
++#
++# CONFIG_VGA_CONSOLE is not set
++CONFIG_DUMMY_CONSOLE=y
++CONFIG_FRAMEBUFFER_CONSOLE=y
++CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
++CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
++CONFIG_FONTS=y
++CONFIG_FONT_8x8=y
++CONFIG_FONT_8x16=y
++# CONFIG_FONT_6x11 is not set
++# CONFIG_FONT_7x14 is not set
++# CONFIG_FONT_PEARL_8x8 is not set
++# CONFIG_FONT_ACORN_8x8 is not set
++# CONFIG_FONT_MINI_4x6 is not set
++# CONFIG_FONT_SUN8x16 is not set
++# CONFIG_FONT_SUN12x22 is not set
++# CONFIG_FONT_10x18 is not set
++CONFIG_LOGO=y
++CONFIG_LOGO_LINUX_MONO=y
++CONFIG_LOGO_LINUX_VGA16=y
++# CONFIG_LOGO_LINUX_CLUT224 is not set
++CONFIG_SOUND=y
++# CONFIG_SOUND_OSS_CORE is not set
++CONFIG_SND=y
++CONFIG_SND_TIMER=y
++CONFIG_SND_PCM=y
++# CONFIG_SND_SEQUENCER is not set
++# CONFIG_SND_MIXER_OSS is not set
++# CONFIG_SND_PCM_OSS is not set
++# CONFIG_SND_DYNAMIC_MINORS is not set
++CONFIG_SND_SUPPORT_OLD_API=y
++CONFIG_SND_VERBOSE_PROCFS=y
++# CONFIG_SND_VERBOSE_PRINTK is not set
++# CONFIG_SND_DEBUG is not set
++CONFIG_SND_DRIVERS=y
++# CONFIG_SND_DUMMY is not set
++# CONFIG_SND_MTPAV is not set
++# CONFIG_SND_SERIAL_U16550 is not set
++# CONFIG_SND_MPU401 is not set
++CONFIG_SND_ARM=y
++CONFIG_SND_SPI=y
++CONFIG_SND_SOC=y
++# CONFIG_SND_SOC_ALL_CODECS is not set
++# CONFIG_SOUND_PRIME is not set
++CONFIG_HID_SUPPORT=y
++CONFIG_HID=y
++CONFIG_HID_DEBUG=y
++# CONFIG_HIDRAW is not set
++# CONFIG_HID_PID is not set
++
++#
++# Special HID drivers
++#
++# CONFIG_HID_COMPAT is not set
++CONFIG_USB_SUPPORT=y
++CONFIG_USB_ARCH_HAS_HCD=y
++# CONFIG_USB_ARCH_HAS_OHCI is not set
++# CONFIG_USB_ARCH_HAS_EHCI is not set
++# CONFIG_USB is not set
++
++#
++# Enable Host or Gadget support to see Inventra options
++#
++
++#
++# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
++#
++# CONFIG_USB_GADGET is not set
++# CONFIG_AR6000_WLAN is not set
++CONFIG_MMC=y
++CONFIG_MMC_DEBUG=y
++CONFIG_MMC_UNSAFE_RESUME=y
++
++#
++# MMC/SD/SDIO Card Drivers
++#
++CONFIG_MMC_BLOCK=y
++CONFIG_MMC_BLOCK_BOUNCE=y
++CONFIG_SDIO_UART=y
++# CONFIG_MMC_TEST is not set
++
++#
++# MMC/SD/SDIO Host Controller Drivers
++#
++CONFIG_MMC_SDHCI=y
++CONFIG_MMC_SDHCI_S3C=y
++# CONFIG_MMC_SPI is not set
++# CONFIG_MEMSTICK is not set
++# CONFIG_ACCESSIBILITY is not set
++CONFIG_NEW_LEDS=y
++# CONFIG_LEDS_CLASS is not set
++
++#
++# LED drivers
++#
++
++#
++# LED Triggers
++#
++CONFIG_LEDS_TRIGGERS=y
++# CONFIG_LEDS_TRIGGER_TIMER is not set
++# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
++# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
++# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
++CONFIG_RTC_LIB=y
++CONFIG_RTC_CLASS=y
++CONFIG_RTC_HCTOSYS=y
++CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
++# CONFIG_RTC_DEBUG is not set
++
++#
++# RTC interfaces
++#
++CONFIG_RTC_INTF_SYSFS=y
++CONFIG_RTC_INTF_PROC=y
++CONFIG_RTC_INTF_DEV=y
++# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
++# CONFIG_RTC_DRV_TEST is not set
++
++#
++# I2C RTC drivers
++#
++# CONFIG_RTC_DRV_DS1307 is not set
++# CONFIG_RTC_DRV_DS1374 is not set
++# CONFIG_RTC_DRV_DS1672 is not set
++# CONFIG_RTC_DRV_MAX6900 is not set
++# CONFIG_RTC_DRV_RS5C372 is not set
++# CONFIG_RTC_DRV_ISL1208 is not set
++# CONFIG_RTC_DRV_X1205 is not set
++# CONFIG_RTC_DRV_PCF8563 is not set
++# CONFIG_RTC_DRV_PCF8583 is not set
++CONFIG_RTC_DRV_PCF50633=y
++# CONFIG_RTC_DRV_PCF50606 is not set
++# CONFIG_RTC_DRV_M41T80 is not set
++# CONFIG_RTC_DRV_S35390A is not set
++# CONFIG_RTC_DRV_FM3130 is not set
++
++#
++# SPI RTC drivers
++#
++# CONFIG_RTC_DRV_M41T94 is not set
++# CONFIG_RTC_DRV_DS1305 is not set
++# CONFIG_RTC_DRV_MAX6902 is not set
++# CONFIG_RTC_DRV_R9701 is not set
++# CONFIG_RTC_DRV_RS5C348 is not set
++# CONFIG_RTC_DRV_DS3234 is not set
++
++#
++# Platform RTC drivers
++#
++# CONFIG_RTC_DRV_CMOS is not set
++# CONFIG_RTC_DRV_DS1286 is not set
++# CONFIG_RTC_DRV_DS1511 is not set
++# CONFIG_RTC_DRV_DS1553 is not set
++# CONFIG_RTC_DRV_DS1742 is not set
++# CONFIG_RTC_DRV_STK17TA8 is not set
++# CONFIG_RTC_DRV_M48T86 is not set
++# CONFIG_RTC_DRV_M48T35 is not set
++# CONFIG_RTC_DRV_M48T59 is not set
++# CONFIG_RTC_DRV_BQ4802 is not set
++# CONFIG_RTC_DRV_V3020 is not set
++
++#
++# on-CPU RTC drivers
++#
++# CONFIG_DMADEVICES is not set
++
++#
++# Android
++#
++CONFIG_ANDROID_BINDER_IPC=y
++# CONFIG_ANDROID_POWER is not set
++CONFIG_ANDROID_LOGGER=y
++# CONFIG_ANDROID_RAM_CONSOLE is not set
++# CONFIG_ANDROID_TIMED_GPIO is not set
++# CONFIG_ANDROID_PARANOID_NETWORK is not set
++CONFIG_REGULATOR=y
++# CONFIG_REGULATOR_DEBUG is not set
++# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
++# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
++# CONFIG_REGULATOR_BQ24022 is not set
++CONFIG_REGULATOR_PCF50633=y
++# CONFIG_UIO is not set
++
++#
++# File systems
++#
++CONFIG_EXT2_FS=y
++# CONFIG_EXT2_FS_XATTR is not set
++# CONFIG_EXT2_FS_XIP is not set
++CONFIG_EXT3_FS=y
++CONFIG_EXT3_FS_XATTR=y
++CONFIG_EXT3_FS_POSIX_ACL=y
++CONFIG_EXT3_FS_SECURITY=y
++# CONFIG_EXT4_FS is not set
++CONFIG_JBD=y
++CONFIG_FS_MBCACHE=y
++# CONFIG_REISERFS_FS is not set
++# CONFIG_JFS_FS is not set
++CONFIG_FS_POSIX_ACL=y
++CONFIG_FILE_LOCKING=y
++# CONFIG_XFS_FS is not set
++# CONFIG_GFS2_FS is not set
++# CONFIG_OCFS2_FS is not set
++CONFIG_DNOTIFY=y
++CONFIG_INOTIFY=y
++CONFIG_INOTIFY_USER=y
++# CONFIG_QUOTA is not set
++# CONFIG_AUTOFS_FS is not set
++# CONFIG_AUTOFS4_FS is not set
++# CONFIG_FUSE_FS is not set
++CONFIG_GENERIC_ACL=y
++
++#
++# CD-ROM/DVD Filesystems
++#
++# CONFIG_ISO9660_FS is not set
++# CONFIG_UDF_FS is not set
++
++#
++# DOS/FAT/NT Filesystems
++#
++CONFIG_FAT_FS=y
++# CONFIG_MSDOS_FS is not set
++CONFIG_VFAT_FS=y
++CONFIG_FAT_DEFAULT_CODEPAGE=437
++CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
++# CONFIG_NTFS_FS is not set
++
++#
++# Pseudo filesystems
++#
++CONFIG_PROC_FS=y
++CONFIG_PROC_SYSCTL=y
++CONFIG_PROC_PAGE_MONITOR=y
++CONFIG_SYSFS=y
++CONFIG_TMPFS=y
++CONFIG_TMPFS_POSIX_ACL=y
++# CONFIG_HUGETLB_PAGE is not set
++# CONFIG_CONFIGFS_FS is not set
++
++#
++# Miscellaneous filesystems
++#
++# CONFIG_ADFS_FS is not set
++# CONFIG_AFFS_FS is not set
++# CONFIG_HFS_FS is not set
++# CONFIG_HFSPLUS_FS is not set
++# CONFIG_BEFS_FS is not set
++# CONFIG_BFS_FS is not set
++# CONFIG_EFS_FS is not set
++CONFIG_JFFS2_FS=y
++CONFIG_JFFS2_FS_DEBUG=0
++CONFIG_JFFS2_FS_WRITEBUFFER=y
++# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
++CONFIG_JFFS2_SUMMARY=y
++# CONFIG_JFFS2_FS_XATTR is not set
++# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
++CONFIG_JFFS2_ZLIB=y
++# CONFIG_JFFS2_LZO is not set
++CONFIG_JFFS2_RTIME=y
++# CONFIG_JFFS2_RUBIN is not set
++CONFIG_CRAMFS=y
++# CONFIG_VXFS_FS is not set
++# CONFIG_MINIX_FS is not set
++# CONFIG_OMFS_FS is not set
++# CONFIG_HPFS_FS is not set
++# CONFIG_QNX4FS_FS is not set
++CONFIG_ROMFS_FS=y
++# CONFIG_SYSV_FS is not set
++# CONFIG_UFS_FS is not set
++CONFIG_NETWORK_FILESYSTEMS=y
++# CONFIG_NFS_FS is not set
++# CONFIG_NFSD is not set
++# CONFIG_SMB_FS is not set
++# CONFIG_CIFS is not set
++# CONFIG_NCP_FS is not set
++# CONFIG_CODA_FS is not set
++# CONFIG_AFS_FS is not set
++
++#
++# Partition Types
++#
++CONFIG_PARTITION_ADVANCED=y
++# CONFIG_ACORN_PARTITION is not set
++# CONFIG_OSF_PARTITION is not set
++# CONFIG_AMIGA_PARTITION is not set
++# CONFIG_ATARI_PARTITION is not set
++# CONFIG_MAC_PARTITION is not set
++CONFIG_MSDOS_PARTITION=y
++# CONFIG_BSD_DISKLABEL is not set
++# CONFIG_MINIX_SUBPARTITION is not set
++# CONFIG_SOLARIS_X86_PARTITION is not set
++# CONFIG_UNIXWARE_DISKLABEL is not set
++# CONFIG_LDM_PARTITION is not set
++# CONFIG_SGI_PARTITION is not set
++# CONFIG_ULTRIX_PARTITION is not set
++# CONFIG_SUN_PARTITION is not set
++# CONFIG_KARMA_PARTITION is not set
++# CONFIG_EFI_PARTITION is not set
++# CONFIG_SYSV68_PARTITION is not set
++CONFIG_NLS=y
++CONFIG_NLS_DEFAULT="iso8859-1"
++CONFIG_NLS_CODEPAGE_437=y
++# CONFIG_NLS_CODEPAGE_737 is not set
++# CONFIG_NLS_CODEPAGE_775 is not set
++# CONFIG_NLS_CODEPAGE_850 is not set
++# CONFIG_NLS_CODEPAGE_852 is not set
++# CONFIG_NLS_CODEPAGE_855 is not set
++# CONFIG_NLS_CODEPAGE_857 is not set
++# CONFIG_NLS_CODEPAGE_860 is not set
++# CONFIG_NLS_CODEPAGE_861 is not set
++# CONFIG_NLS_CODEPAGE_862 is not set
++# CONFIG_NLS_CODEPAGE_863 is not set
++# CONFIG_NLS_CODEPAGE_864 is not set
++# CONFIG_NLS_CODEPAGE_865 is not set
++# CONFIG_NLS_CODEPAGE_866 is not set
++# CONFIG_NLS_CODEPAGE_869 is not set
++# CONFIG_NLS_CODEPAGE_936 is not set
++# CONFIG_NLS_CODEPAGE_950 is not set
++# CONFIG_NLS_CODEPAGE_932 is not set
++# CONFIG_NLS_CODEPAGE_949 is not set
++# CONFIG_NLS_CODEPAGE_874 is not set
++# CONFIG_NLS_ISO8859_8 is not set
++# CONFIG_NLS_CODEPAGE_1250 is not set
++# CONFIG_NLS_CODEPAGE_1251 is not set
++# CONFIG_NLS_ASCII is not set
++CONFIG_NLS_ISO8859_1=y
++# CONFIG_NLS_ISO8859_2 is not set
++# CONFIG_NLS_ISO8859_3 is not set
++# CONFIG_NLS_ISO8859_4 is not set
++# CONFIG_NLS_ISO8859_5 is not set
++# CONFIG_NLS_ISO8859_6 is not set
++# CONFIG_NLS_ISO8859_7 is not set
++# CONFIG_NLS_ISO8859_9 is not set
++# CONFIG_NLS_ISO8859_13 is not set
++# CONFIG_NLS_ISO8859_14 is not set
++# CONFIG_NLS_ISO8859_15 is not set
++# CONFIG_NLS_KOI8_R is not set
++# CONFIG_NLS_KOI8_U is not set
++CONFIG_NLS_UTF8=y
++# CONFIG_DLM is not set
++
++#
++# Kernel hacking
++#
++CONFIG_PRINTK_TIME=y
++CONFIG_ENABLE_WARN_DEPRECATED=y
++CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
++CONFIG_MAGIC_SYSRQ=y
++# CONFIG_UNUSED_SYMBOLS is not set
++# CONFIG_DEBUG_FS is not set
++# CONFIG_HEADERS_CHECK is not set
++CONFIG_DEBUG_KERNEL=y
++# CONFIG_DEBUG_SHIRQ is not set
++CONFIG_DETECT_SOFTLOCKUP=y
++# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
++CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
++CONFIG_SCHED_DEBUG=y
++# CONFIG_SCHEDSTATS is not set
++# CONFIG_TIMER_STATS is not set
++# CONFIG_DEBUG_OBJECTS is not set
++# CONFIG_SLUB_DEBUG_ON is not set
++# CONFIG_SLUB_STATS is not set
++CONFIG_DEBUG_RT_MUTEXES=y
++CONFIG_DEBUG_PI_LIST=y
++# CONFIG_RT_MUTEX_TESTER is not set
++CONFIG_DEBUG_SPINLOCK=y
++CONFIG_DEBUG_MUTEXES=y
++# CONFIG_DEBUG_LOCK_ALLOC is not set
++# CONFIG_PROVE_LOCKING is not set
++# CONFIG_LOCK_STAT is not set
++CONFIG_DEBUG_SPINLOCK_SLEEP=y
++# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
++# CONFIG_DEBUG_KOBJECT is not set
++CONFIG_DEBUG_BUGVERBOSE=y
++CONFIG_DEBUG_INFO=y
++# CONFIG_DEBUG_VM is not set
++# CONFIG_DEBUG_WRITECOUNT is not set
++CONFIG_DEBUG_MEMORY_INIT=y
++# CONFIG_DEBUG_LIST is not set
++# CONFIG_DEBUG_SG is not set
++CONFIG_FRAME_POINTER=y
++# CONFIG_BOOT_PRINTK_DELAY is not set
++# CONFIG_RCU_TORTURE_TEST is not set
++# CONFIG_RCU_CPU_STALL_DETECTOR is not set
++# CONFIG_BACKTRACE_SELF_TEST is not set
++# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
++# CONFIG_FAULT_INJECTION is not set
++# CONFIG_LATENCYTOP is not set
++CONFIG_SYSCTL_SYSCALL_CHECK=y
++CONFIG_HAVE_FUNCTION_TRACER=y
++
++#
++# Tracers
++#
++# CONFIG_FUNCTION_TRACER is not set
++# CONFIG_SCHED_TRACER is not set
++# CONFIG_CONTEXT_SWITCH_TRACER is not set
++# CONFIG_BOOT_TRACER is not set
++# CONFIG_STACK_TRACER is not set
++CONFIG_DYNAMIC_PRINTK_DEBUG=y
++# CONFIG_SAMPLES is not set
++CONFIG_HAVE_ARCH_KGDB=y
++# CONFIG_KGDB is not set
++CONFIG_DEBUG_USER=y
++CONFIG_DEBUG_ERRORS=y
++# CONFIG_DEBUG_STACK_USAGE is not set
++CONFIG_DEBUG_LL=y
++# CONFIG_DEBUG_ICEDCC is not set
++CONFIG_DEBUG_S3C_PORT=y
++CONFIG_DEBUG_S3C_UART=3
++
++#
++# Security options
++#
++# CONFIG_KEYS is not set
++# CONFIG_SECURITY is not set
++# CONFIG_SECURITYFS is not set
++# CONFIG_SECURITY_FILE_CAPABILITIES is not set
++CONFIG_CRYPTO=y
++
++#
++# Crypto core or helper
++#
++# CONFIG_CRYPTO_FIPS is not set
++CONFIG_CRYPTO_ALGAPI=y
++CONFIG_CRYPTO_AEAD=y
++CONFIG_CRYPTO_BLKCIPHER=y
++CONFIG_CRYPTO_HASH=y
++CONFIG_CRYPTO_RNG=y
++CONFIG_CRYPTO_MANAGER=y
++# CONFIG_CRYPTO_GF128MUL is not set
++# CONFIG_CRYPTO_NULL is not set
++# CONFIG_CRYPTO_CRYPTD is not set
++# CONFIG_CRYPTO_AUTHENC is not set
++# CONFIG_CRYPTO_TEST is not set
++
++#
++# Authenticated Encryption with Associated Data
++#
++# CONFIG_CRYPTO_CCM is not set
++# CONFIG_CRYPTO_GCM is not set
++# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Block modes
++#
++# CONFIG_CRYPTO_CBC is not set
++# CONFIG_CRYPTO_CTR is not set
++# CONFIG_CRYPTO_CTS is not set
++CONFIG_CRYPTO_ECB=y
++# CONFIG_CRYPTO_LRW is not set
++# CONFIG_CRYPTO_PCBC is not set
++# CONFIG_CRYPTO_XTS is not set
++
++#
++# Hash modes
++#
++# CONFIG_CRYPTO_HMAC is not set
++# CONFIG_CRYPTO_XCBC is not set
++
++#
++# Digest
++#
++# CONFIG_CRYPTO_CRC32C is not set
++# CONFIG_CRYPTO_MD4 is not set
++CONFIG_CRYPTO_MD5=y
++# CONFIG_CRYPTO_MICHAEL_MIC is not set
++# CONFIG_CRYPTO_RMD128 is not set
++# CONFIG_CRYPTO_RMD160 is not set
++# CONFIG_CRYPTO_RMD256 is not set
++# CONFIG_CRYPTO_RMD320 is not set
++CONFIG_CRYPTO_SHA1=y
++# CONFIG_CRYPTO_SHA256 is not set
++# CONFIG_CRYPTO_SHA512 is not set
++# CONFIG_CRYPTO_TGR192 is not set
++# CONFIG_CRYPTO_WP512 is not set
++
++#
++# Ciphers
++#
++CONFIG_CRYPTO_AES=y
++# CONFIG_CRYPTO_ANUBIS is not set
++CONFIG_CRYPTO_ARC4=y
++# CONFIG_CRYPTO_BLOWFISH is not set
++# CONFIG_CRYPTO_CAMELLIA is not set
++# CONFIG_CRYPTO_CAST5 is not set
++# CONFIG_CRYPTO_CAST6 is not set
++# CONFIG_CRYPTO_DES is not set
++# CONFIG_CRYPTO_FCRYPT is not set
++# CONFIG_CRYPTO_KHAZAD is not set
++# CONFIG_CRYPTO_SALSA20 is not set
++# CONFIG_CRYPTO_SEED is not set
++# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_TEA is not set
++# CONFIG_CRYPTO_TWOFISH is not set
++
++#
++# Compression
++#
++# CONFIG_CRYPTO_DEFLATE is not set
++# CONFIG_CRYPTO_LZO is not set
++
++#
++# Random Number Generation
++#
++# CONFIG_CRYPTO_ANSI_CPRNG is not set
++CONFIG_CRYPTO_HW=y
++
++#
++# Library routines
++#
++CONFIG_BITREVERSE=y
++CONFIG_CRC_CCITT=y
++# CONFIG_CRC16 is not set
++# CONFIG_CRC_T10DIF is not set
++# CONFIG_CRC_ITU_T is not set
++CONFIG_CRC32=y
++# CONFIG_CRC7 is not set
++# CONFIG_LIBCRC32C is not set
++CONFIG_ZLIB_INFLATE=y
++CONFIG_ZLIB_DEFLATE=y
++CONFIG_PLIST=y
++CONFIG_HAS_IOMEM=y
++CONFIG_HAS_DMA=y
+Index: linux-2.6.28/arch/arm/configs/s3c6400_defconfig
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.28/arch/arm/configs/s3c6400_defconfig    2009-01-02 00:01:56.000000000 +0100
+@@ -0,0 +1,845 @@
++#
++# Automatically generated make config: don't edit
++# Linux kernel version: 2.6.28-rc3
++# Mon Nov  3 10:10:30 2008
++#
++CONFIG_ARM=y
++CONFIG_SYS_SUPPORTS_APM_EMULATION=y
++CONFIG_GENERIC_GPIO=y
++# CONFIG_GENERIC_TIME is not set
++# CONFIG_GENERIC_CLOCKEVENTS is not set
++CONFIG_MMU=y
++CONFIG_NO_IOPORT=y
++CONFIG_GENERIC_HARDIRQS=y
++CONFIG_STACKTRACE_SUPPORT=y
++CONFIG_HAVE_LATENCYTOP_SUPPORT=y
++CONFIG_LOCKDEP_SUPPORT=y
++CONFIG_TRACE_IRQFLAGS_SUPPORT=y
++CONFIG_HARDIRQS_SW_RESEND=y
++CONFIG_GENERIC_IRQ_PROBE=y
++CONFIG_RWSEM_GENERIC_SPINLOCK=y
++# CONFIG_ARCH_HAS_ILOG2_U32 is not set
++# CONFIG_ARCH_HAS_ILOG2_U64 is not set
++CONFIG_GENERIC_HWEIGHT=y
++CONFIG_GENERIC_CALIBRATE_DELAY=y
++CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
++CONFIG_VECTORS_BASE=0xffff0000
++CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
++
++#
++# General setup
++#
++CONFIG_EXPERIMENTAL=y
++CONFIG_BROKEN_ON_SMP=y
++CONFIG_INIT_ENV_ARG_LIMIT=32
++CONFIG_LOCALVERSION=""
++CONFIG_LOCALVERSION_AUTO=y
++CONFIG_SWAP=y
++# CONFIG_SYSVIPC is not set
++# CONFIG_BSD_PROCESS_ACCT is not set
++# CONFIG_IKCONFIG is not set
++CONFIG_LOG_BUF_SHIFT=17
++# CONFIG_CGROUPS is not set
++# CONFIG_GROUP_SCHED is not set
++CONFIG_SYSFS_DEPRECATED=y
++CONFIG_SYSFS_DEPRECATED_V2=y
++# CONFIG_RELAY is not set
++CONFIG_NAMESPACES=y
++# CONFIG_UTS_NS is not set
++# CONFIG_USER_NS is not set
++# CONFIG_PID_NS is not set
++CONFIG_BLK_DEV_INITRD=y
++CONFIG_INITRAMFS_SOURCE=""
++CONFIG_CC_OPTIMIZE_FOR_SIZE=y
++CONFIG_SYSCTL=y
++# CONFIG_EMBEDDED is not set
++CONFIG_UID16=y
++CONFIG_SYSCTL_SYSCALL=y
++CONFIG_KALLSYMS=y
++CONFIG_KALLSYMS_ALL=y
++# CONFIG_KALLSYMS_EXTRA_PASS is not set
++CONFIG_HOTPLUG=y
++CONFIG_PRINTK=y
++CONFIG_BUG=y
++CONFIG_ELF_CORE=y
++CONFIG_COMPAT_BRK=y
++CONFIG_BASE_FULL=y
++CONFIG_FUTEX=y
++CONFIG_ANON_INODES=y
++CONFIG_EPOLL=y
++CONFIG_SIGNALFD=y
++CONFIG_TIMERFD=y
++CONFIG_EVENTFD=y
++CONFIG_SHMEM=y
++CONFIG_AIO=y
++CONFIG_VM_EVENT_COUNTERS=y
++CONFIG_SLUB_DEBUG=y
++# CONFIG_SLAB is not set
++CONFIG_SLUB=y
++# CONFIG_SLOB is not set
++# CONFIG_PROFILING is not set
++# CONFIG_MARKERS is not set
++CONFIG_HAVE_OPROFILE=y
++# CONFIG_KPROBES is not set
++CONFIG_HAVE_KPROBES=y
++CONFIG_HAVE_KRETPROBES=y
++CONFIG_HAVE_CLK=y
++CONFIG_HAVE_GENERIC_DMA_COHERENT=y
++CONFIG_SLABINFO=y
++CONFIG_RT_MUTEXES=y
++# CONFIG_TINY_SHMEM is not set
++CONFIG_BASE_SMALL=0
++CONFIG_MODULES=y
++# CONFIG_MODULE_FORCE_LOAD is not set
++CONFIG_MODULE_UNLOAD=y
++# CONFIG_MODULE_FORCE_UNLOAD is not set
++# CONFIG_MODVERSIONS is not set
++# CONFIG_MODULE_SRCVERSION_ALL is not set
++CONFIG_KMOD=y
++CONFIG_BLOCK=y
++CONFIG_LBD=y
++# CONFIG_BLK_DEV_IO_TRACE is not set
++CONFIG_LSF=y
++# CONFIG_BLK_DEV_BSG is not set
++# CONFIG_BLK_DEV_INTEGRITY is not set
++
++#
++# IO Schedulers
++#
++CONFIG_IOSCHED_NOOP=y
++CONFIG_IOSCHED_AS=y
++CONFIG_IOSCHED_DEADLINE=y
++CONFIG_IOSCHED_CFQ=y
++# CONFIG_DEFAULT_AS is not set
++# CONFIG_DEFAULT_DEADLINE is not set
++CONFIG_DEFAULT_CFQ=y
++# CONFIG_DEFAULT_NOOP is not set
++CONFIG_DEFAULT_IOSCHED="cfq"
++CONFIG_CLASSIC_RCU=y
++# CONFIG_FREEZER is not set
++
++#
++# System Type
++#
++# CONFIG_ARCH_AAEC2000 is not set
++# CONFIG_ARCH_INTEGRATOR is not set
++# CONFIG_ARCH_REALVIEW is not set
++# CONFIG_ARCH_VERSATILE is not set
++# CONFIG_ARCH_AT91 is not set
++# CONFIG_ARCH_CLPS7500 is not set
++# CONFIG_ARCH_CLPS711X is not set
++# CONFIG_ARCH_EBSA110 is not set
++# CONFIG_ARCH_EP93XX is not set
++# CONFIG_ARCH_FOOTBRIDGE is not set
++# CONFIG_ARCH_NETX is not set
++# CONFIG_ARCH_H720X is not set
++# CONFIG_ARCH_IMX is not set
++# CONFIG_ARCH_IOP13XX is not set
++# CONFIG_ARCH_IOP32X is not set
++# CONFIG_ARCH_IOP33X is not set
++# CONFIG_ARCH_IXP23XX is not set
++# CONFIG_ARCH_IXP2000 is not set
++# CONFIG_ARCH_IXP4XX is not set
++# CONFIG_ARCH_L7200 is not set
++# CONFIG_ARCH_KIRKWOOD is not set
++# CONFIG_ARCH_KS8695 is not set
++# CONFIG_ARCH_NS9XXX is not set
++# CONFIG_ARCH_LOKI is not set
++# CONFIG_ARCH_MV78XX0 is not set
++# CONFIG_ARCH_MXC is not set
++# CONFIG_ARCH_ORION5X is not set
++# CONFIG_ARCH_PNX4008 is not set
++# CONFIG_ARCH_PXA is not set
++# CONFIG_ARCH_RPC is not set
++# CONFIG_ARCH_SA1100 is not set
++# CONFIG_ARCH_S3C2410 is not set
++CONFIG_ARCH_S3C64XX=y
++# CONFIG_ARCH_SHARK is not set
++# CONFIG_ARCH_LH7A40X is not set
++# CONFIG_ARCH_DAVINCI is not set
++# CONFIG_ARCH_OMAP is not set
++# CONFIG_ARCH_MSM is not set
++CONFIG_PLAT_S3C64XX=y
++CONFIG_CPU_S3C6400_INIT=y
++CONFIG_CPU_S3C6400_CLOCK=y
++CONFIG_S3C64XX_SETUP_I2C0=y
++CONFIG_S3C64XX_SETUP_I2C1=y
++CONFIG_PLAT_S3C=y
++
++#
++# Boot options
++#
++CONFIG_S3C_BOOT_ERROR_RESET=y
++
++#
++# Power management
++#
++CONFIG_S3C_LOWLEVEL_UART_PORT=0
++CONFIG_S3C_GPIO_SPACE=0
++CONFIG_S3C_GPIO_TRACK=y
++CONFIG_S3C_GPIO_PULL_UPDOWN=y
++CONFIG_S3C_GPIO_CFG_S3C24XX=y
++CONFIG_S3C_GPIO_CFG_S3C64XX=y
++CONFIG_S3C_DEV_HSMMC=y
++CONFIG_S3C_DEV_HSMMC1=y
++CONFIG_S3C_DEV_I2C1=y
++CONFIG_CPU_S3C6410=y
++CONFIG_S3C6410_SETUP_SDHCI=y
++CONFIG_MACH_SMDK6410=y
++CONFIG_SMDK6410_SD_CH0=y
++# CONFIG_SMDK6410_SD_CH1 is not set
++
++#
++# Processor Type
++#
++CONFIG_CPU_32=y
++CONFIG_CPU_V6=y
++CONFIG_CPU_32v6K=y
++CONFIG_CPU_32v6=y
++CONFIG_CPU_ABRT_EV6=y
++CONFIG_CPU_PABRT_NOIFAR=y
++CONFIG_CPU_CACHE_V6=y
++CONFIG_CPU_CACHE_VIPT=y
++CONFIG_CPU_COPY_V6=y
++CONFIG_CPU_TLB_V6=y
++CONFIG_CPU_HAS_ASID=y
++CONFIG_CPU_CP15=y
++CONFIG_CPU_CP15_MMU=y
++
++#
++# Processor Features
++#
++CONFIG_ARM_THUMB=y
++# CONFIG_CPU_ICACHE_DISABLE is not set
++# CONFIG_CPU_DCACHE_DISABLE is not set
++# CONFIG_CPU_BPREDICT_DISABLE is not set
++# CONFIG_OUTER_CACHE is not set
++CONFIG_ARM_VIC=y
++
++#
++# Bus support
++#
++# CONFIG_PCI_SYSCALL is not set
++# CONFIG_ARCH_SUPPORTS_MSI is not set
++# CONFIG_PCCARD is not set
++
++#
++# Kernel Features
++#
++CONFIG_VMSPLIT_3G=y
++# CONFIG_VMSPLIT_2G is not set
++# CONFIG_VMSPLIT_1G is not set
++CONFIG_PAGE_OFFSET=0xC0000000
++# CONFIG_PREEMPT is not set
++CONFIG_HZ=100
++CONFIG_AEABI=y
++CONFIG_OABI_COMPAT=y
++CONFIG_ARCH_FLATMEM_HAS_HOLES=y
++# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
++# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
++CONFIG_SELECT_MEMORY_MODEL=y
++CONFIG_FLATMEM_MANUAL=y
++# CONFIG_DISCONTIGMEM_MANUAL is not set
++# CONFIG_SPARSEMEM_MANUAL is not set
++CONFIG_FLATMEM=y
++CONFIG_FLAT_NODE_MEM_MAP=y
++CONFIG_PAGEFLAGS_EXTENDED=y
++CONFIG_SPLIT_PTLOCK_CPUS=4
++# CONFIG_RESOURCES_64BIT is not set
++# CONFIG_PHYS_ADDR_T_64BIT is not set
++CONFIG_ZONE_DMA_FLAG=0
++CONFIG_VIRT_TO_BUS=y
++CONFIG_UNEVICTABLE_LRU=y
++CONFIG_ALIGNMENT_TRAP=y
++
++#
++# Boot options
++#
++CONFIG_ZBOOT_ROM_TEXT=0
++CONFIG_ZBOOT_ROM_BSS=0
++CONFIG_CMDLINE="console=ttySAC0,115200 root=/dev/ram init=/bin/bash initrd=0x51000000,4M"
++# CONFIG_XIP_KERNEL is not set
++# CONFIG_KEXEC is not set
++
++#
++# CPU Power Management
++#
++# CONFIG_CPU_IDLE is not set
++
++#
++# Floating point emulation
++#
++
++#
++# At least one emulation must be selected
++#
++# CONFIG_FPE_NWFPE is not set
++# CONFIG_FPE_FASTFPE is not set
++CONFIG_VFP=y
++
++#
++# Userspace binary formats
++#
++CONFIG_BINFMT_ELF=y
++# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
++CONFIG_HAVE_AOUT=y
++# CONFIG_BINFMT_AOUT is not set
++# CONFIG_BINFMT_MISC is not set
++
++#
++# Power management options
++#
++# CONFIG_PM is not set
++CONFIG_ARCH_SUSPEND_POSSIBLE=y
++# CONFIG_NET is not set
++
++#
++# Device Drivers
++#
++
++#
++# Generic Driver Options
++#
++CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
++CONFIG_STANDALONE=y
++CONFIG_PREVENT_FIRMWARE_BUILD=y
++CONFIG_FW_LOADER=y
++CONFIG_FIRMWARE_IN_KERNEL=y
++CONFIG_EXTRA_FIRMWARE=""
++# CONFIG_DEBUG_DRIVER is not set
++# CONFIG_DEBUG_DEVRES is not set
++# CONFIG_SYS_HYPERVISOR is not set
++# CONFIG_MTD is not set
++# CONFIG_PARPORT is not set
++CONFIG_BLK_DEV=y
++# CONFIG_BLK_DEV_COW_COMMON is not set
++CONFIG_BLK_DEV_LOOP=y
++# CONFIG_BLK_DEV_CRYPTOLOOP is not set
++CONFIG_BLK_DEV_RAM=y
++CONFIG_BLK_DEV_RAM_COUNT=16
++CONFIG_BLK_DEV_RAM_SIZE=4096
++# CONFIG_BLK_DEV_XIP is not set
++# CONFIG_CDROM_PKTCDVD is not set
++CONFIG_MISC_DEVICES=y
++# CONFIG_EEPROM_93CX6 is not set
++# CONFIG_ENCLOSURE_SERVICES is not set
++CONFIG_HAVE_IDE=y
++# CONFIG_IDE is not set
++
++#
++# SCSI device support
++#
++# CONFIG_RAID_ATTRS is not set
++# CONFIG_SCSI is not set
++# CONFIG_SCSI_DMA is not set
++# CONFIG_SCSI_NETLINK is not set
++# CONFIG_ATA is not set
++# CONFIG_MD is not set
++
++#
++# Input device support
++#
++CONFIG_INPUT=y
++# CONFIG_INPUT_FF_MEMLESS is not set
++# CONFIG_INPUT_POLLDEV is not set
++
++#
++# Userland interfaces
++#
++CONFIG_INPUT_MOUSEDEV=y
++CONFIG_INPUT_MOUSEDEV_PSAUX=y
++CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
++CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
++# CONFIG_INPUT_JOYDEV is not set
++# CONFIG_INPUT_EVDEV is not set
++# CONFIG_INPUT_EVBUG is not set
++
++#
++# Input Device Drivers
++#
++CONFIG_INPUT_KEYBOARD=y
++CONFIG_KEYBOARD_ATKBD=y
++# CONFIG_KEYBOARD_SUNKBD is not set
++# CONFIG_KEYBOARD_LKKBD is not set
++# CONFIG_KEYBOARD_XTKBD is not set
++# CONFIG_KEYBOARD_NEWTON is not set
++# CONFIG_KEYBOARD_STOWAWAY is not set
++# CONFIG_KEYBOARD_GPIO is not set
++CONFIG_INPUT_MOUSE=y
++CONFIG_MOUSE_PS2=y
++CONFIG_MOUSE_PS2_ALPS=y
++CONFIG_MOUSE_PS2_LOGIPS2PP=y
++CONFIG_MOUSE_PS2_SYNAPTICS=y
++CONFIG_MOUSE_PS2_LIFEBOOK=y
++CONFIG_MOUSE_PS2_TRACKPOINT=y
++# CONFIG_MOUSE_PS2_ELANTECH is not set
++# CONFIG_MOUSE_PS2_TOUCHKIT is not set
++# CONFIG_MOUSE_SERIAL is not set
++# CONFIG_MOUSE_APPLETOUCH is not set
++# CONFIG_MOUSE_BCM5974 is not set
++# CONFIG_MOUSE_VSXXXAA is not set
++# CONFIG_MOUSE_GPIO is not set
++# CONFIG_INPUT_JOYSTICK is not set
++# CONFIG_INPUT_TABLET is not set
++# CONFIG_INPUT_TOUCHSCREEN is not set
++# CONFIG_INPUT_MISC is not set
++
++#
++# Hardware I/O ports
++#
++CONFIG_SERIO=y
++CONFIG_SERIO_SERPORT=y
++CONFIG_SERIO_LIBPS2=y
++# CONFIG_SERIO_RAW is not set
++# CONFIG_GAMEPORT is not set
++
++#
++# Character devices
++#
++CONFIG_VT=y
++CONFIG_CONSOLE_TRANSLATIONS=y
++CONFIG_VT_CONSOLE=y
++CONFIG_HW_CONSOLE=y
++# CONFIG_VT_HW_CONSOLE_BINDING is not set
++CONFIG_DEVKMEM=y
++# CONFIG_SERIAL_NONSTANDARD is not set
++
++#
++# Serial drivers
++#
++CONFIG_SERIAL_8250=y
++# CONFIG_SERIAL_8250_CONSOLE is not set
++CONFIG_SERIAL_8250_NR_UARTS=4
++CONFIG_SERIAL_8250_RUNTIME_UARTS=4
++# CONFIG_SERIAL_8250_EXTENDED is not set
++
++#
++# Non-8250 serial port support
++#
++CONFIG_SERIAL_SAMSUNG=y
++CONFIG_SERIAL_SAMSUNG_UARTS=4
++# CONFIG_SERIAL_SAMSUNG_DEBUG is not set
++CONFIG_SERIAL_SAMSUNG_CONSOLE=y
++CONFIG_SERIAL_S3C6400=y
++CONFIG_SERIAL_CORE=y
++CONFIG_SERIAL_CORE_CONSOLE=y
++CONFIG_UNIX98_PTYS=y
++CONFIG_LEGACY_PTYS=y
++CONFIG_LEGACY_PTY_COUNT=256
++# CONFIG_IPMI_HANDLER is not set
++CONFIG_HW_RANDOM=y
++# CONFIG_NVRAM is not set
++# CONFIG_R3964 is not set
++# CONFIG_RAW_DRIVER is not set
++# CONFIG_TCG_TPM is not set
++CONFIG_I2C=y
++CONFIG_I2C_BOARDINFO=y
++CONFIG_I2C_CHARDEV=y
++CONFIG_I2C_HELPER_AUTO=y
++
++#
++# I2C Hardware Bus support
++#
++
++#
++# I2C system bus drivers (mostly embedded / system-on-chip)
++#
++# CONFIG_I2C_GPIO is not set
++# CONFIG_I2C_OCORES is not set
++CONFIG_I2C_S3C2410=y
++# CONFIG_I2C_SIMTEC is not set
++
++#
++# External I2C/SMBus adapter drivers
++#
++# CONFIG_I2C_PARPORT_LIGHT is not set
++# CONFIG_I2C_TAOS_EVM is not set
++
++#
++# Other I2C/SMBus bus drivers
++#
++# CONFIG_I2C_PCA_PLATFORM is not set
++# CONFIG_I2C_STUB is not set
++
++#
++# Miscellaneous I2C Chip support
++#
++# CONFIG_DS1682 is not set
++CONFIG_AT24=y
++# CONFIG_SENSORS_EEPROM is not set
++# CONFIG_SENSORS_PCF8574 is not set
++# CONFIG_PCF8575 is not set
++# CONFIG_SENSORS_PCA9539 is not set
++# CONFIG_SENSORS_PCF8591 is not set
++# CONFIG_TPS65010 is not set
++# CONFIG_SENSORS_MAX6875 is not set
++# CONFIG_SENSORS_TSL2550 is not set
++# CONFIG_I2C_DEBUG_CORE is not set
++# CONFIG_I2C_DEBUG_ALGO is not set
++# CONFIG_I2C_DEBUG_BUS is not set
++# CONFIG_I2C_DEBUG_CHIP is not set
++# CONFIG_SPI is not set
++CONFIG_ARCH_REQUIRE_GPIOLIB=y
++CONFIG_GPIOLIB=y
++# CONFIG_DEBUG_GPIO is not set
++# CONFIG_GPIO_SYSFS is not set
++
++#
++# I2C GPIO expanders:
++#
++# CONFIG_GPIO_MAX732X is not set
++# CONFIG_GPIO_PCA953X is not set
++# CONFIG_GPIO_PCF857X is not set
++
++#
++# PCI GPIO expanders:
++#
++
++#
++# SPI GPIO expanders:
++#
++# CONFIG_W1 is not set
++# CONFIG_POWER_SUPPLY is not set
++CONFIG_HWMON=y
++# CONFIG_HWMON_VID is not set
++# CONFIG_SENSORS_AD7414 is not set
++# CONFIG_SENSORS_AD7418 is not set
++# CONFIG_SENSORS_ADM1021 is not set
++# CONFIG_SENSORS_ADM1025 is not set
++# CONFIG_SENSORS_ADM1026 is not set
++# CONFIG_SENSORS_ADM1029 is not set
++# CONFIG_SENSORS_ADM1031 is not set
++# CONFIG_SENSORS_ADM9240 is not set
++# CONFIG_SENSORS_ADT7470 is not set
++# CONFIG_SENSORS_ADT7473 is not set
++# CONFIG_SENSORS_ATXP1 is not set
++# CONFIG_SENSORS_DS1621 is not set
++# CONFIG_SENSORS_F71805F is not set
++# CONFIG_SENSORS_F71882FG is not set
++# CONFIG_SENSORS_F75375S is not set
++# CONFIG_SENSORS_GL518SM is not set
++# CONFIG_SENSORS_GL520SM is not set
++# CONFIG_SENSORS_IT87 is not set
++# CONFIG_SENSORS_LM63 is not set
++# CONFIG_SENSORS_LM75 is not set
++# CONFIG_SENSORS_LM77 is not set
++# CONFIG_SENSORS_LM78 is not set
++# CONFIG_SENSORS_LM80 is not set
++# CONFIG_SENSORS_LM83 is not set
++# CONFIG_SENSORS_LM85 is not set
++# CONFIG_SENSORS_LM87 is not set
++# CONFIG_SENSORS_LM90 is not set
++# CONFIG_SENSORS_LM92 is not set
++# CONFIG_SENSORS_LM93 is not set
++# CONFIG_SENSORS_MAX1619 is not set
++# CONFIG_SENSORS_MAX6650 is not set
++# CONFIG_SENSORS_PC87360 is not set
++# CONFIG_SENSORS_PC87427 is not set
++# CONFIG_SENSORS_DME1737 is not set
++# CONFIG_SENSORS_SMSC47M1 is not set
++# CONFIG_SENSORS_SMSC47M192 is not set
++# CONFIG_SENSORS_SMSC47B397 is not set
++# CONFIG_SENSORS_ADS7828 is not set
++# CONFIG_SENSORS_THMC50 is not set
++# CONFIG_SENSORS_VT1211 is not set
++# CONFIG_SENSORS_W83781D is not set
++# CONFIG_SENSORS_W83791D is not set
++# CONFIG_SENSORS_W83792D is not set
++# CONFIG_SENSORS_W83793 is not set
++# CONFIG_SENSORS_W83L785TS is not set
++# CONFIG_SENSORS_W83L786NG is not set
++# CONFIG_SENSORS_W83627HF is not set
++# CONFIG_SENSORS_W83627EHF is not set
++# CONFIG_HWMON_DEBUG_CHIP is not set
++# CONFIG_THERMAL is not set
++# CONFIG_THERMAL_HWMON is not set
++# CONFIG_WATCHDOG is not set
++
++#
++# Sonics Silicon Backplane
++#
++CONFIG_SSB_POSSIBLE=y
++# CONFIG_SSB is not set
++
++#
++# Multifunction device drivers
++#
++# CONFIG_MFD_CORE is not set
++# CONFIG_MFD_SM501 is not set
++# CONFIG_MFD_ASIC3 is not set
++# CONFIG_HTC_EGPIO is not set
++# CONFIG_HTC_PASIC3 is not set
++# CONFIG_MFD_TMIO is not set
++# CONFIG_MFD_T7L66XB is not set
++# CONFIG_MFD_TC6387XB is not set
++# CONFIG_MFD_TC6393XB is not set
++# CONFIG_PMIC_DA903X is not set
++# CONFIG_MFD_WM8400 is not set
++# CONFIG_MFD_WM8350_I2C is not set
++
++#
++# Multimedia devices
++#
++
++#
++# Multimedia core support
++#
++# CONFIG_VIDEO_DEV is not set
++# CONFIG_VIDEO_MEDIA is not set
++
++#
++# Multimedia drivers
++#
++# CONFIG_DAB is not set
++
++#
++# Graphics support
++#
++# CONFIG_VGASTATE is not set
++# CONFIG_VIDEO_OUTPUT_CONTROL is not set
++# CONFIG_FB is not set
++# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
++
++#
++# Display device support
++#
++# CONFIG_DISPLAY_SUPPORT is not set
++
++#
++# Console display driver support
++#
++# CONFIG_VGA_CONSOLE is not set
++CONFIG_DUMMY_CONSOLE=y
++# CONFIG_SOUND is not set
++CONFIG_HID_SUPPORT=y
++CONFIG_HID=y
++CONFIG_HID_DEBUG=y
++# CONFIG_HIDRAW is not set
++# CONFIG_HID_PID is not set
++
++#
++# Special HID drivers
++#
++# CONFIG_HID_COMPAT is not set
++CONFIG_USB_SUPPORT=y
++CONFIG_USB_ARCH_HAS_HCD=y
++# CONFIG_USB_ARCH_HAS_OHCI is not set
++# CONFIG_USB_ARCH_HAS_EHCI is not set
++# CONFIG_USB is not set
++
++#
++# Enable Host or Gadget support to see Inventra options
++#
++
++#
++# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
++#
++# CONFIG_USB_GADGET is not set
++CONFIG_MMC=y
++CONFIG_MMC_DEBUG=y
++CONFIG_MMC_UNSAFE_RESUME=y
++
++#
++# MMC/SD/SDIO Card Drivers
++#
++CONFIG_MMC_BLOCK=y
++CONFIG_MMC_BLOCK_BOUNCE=y
++CONFIG_SDIO_UART=y
++# CONFIG_MMC_TEST is not set
++
++#
++# MMC/SD/SDIO Host Controller Drivers
++#
++CONFIG_MMC_SDHCI=y
++CONFIG_MMC_SDHCI_S3C=y
++# CONFIG_MEMSTICK is not set
++# CONFIG_ACCESSIBILITY is not set
++# CONFIG_NEW_LEDS is not set
++CONFIG_RTC_LIB=y
++# CONFIG_RTC_CLASS is not set
++# CONFIG_DMADEVICES is not set
++
++#
++# Voltage and Current regulators
++#
++# CONFIG_REGULATOR is not set
++# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
++# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
++# CONFIG_REGULATOR_BQ24022 is not set
++# CONFIG_UIO is not set
++
++#
++# File systems
++#
++CONFIG_EXT2_FS=y
++# CONFIG_EXT2_FS_XATTR is not set
++# CONFIG_EXT2_FS_XIP is not set
++CONFIG_EXT3_FS=y
++CONFIG_EXT3_FS_XATTR=y
++CONFIG_EXT3_FS_POSIX_ACL=y
++CONFIG_EXT3_FS_SECURITY=y
++# CONFIG_EXT4_FS is not set
++CONFIG_JBD=y
++CONFIG_FS_MBCACHE=y
++# CONFIG_REISERFS_FS is not set
++# CONFIG_JFS_FS is not set
++CONFIG_FS_POSIX_ACL=y
++CONFIG_FILE_LOCKING=y
++# CONFIG_XFS_FS is not set
++# CONFIG_GFS2_FS is not set
++CONFIG_DNOTIFY=y
++CONFIG_INOTIFY=y
++CONFIG_INOTIFY_USER=y
++# CONFIG_QUOTA is not set
++# CONFIG_AUTOFS_FS is not set
++# CONFIG_AUTOFS4_FS is not set
++# CONFIG_FUSE_FS is not set
++CONFIG_GENERIC_ACL=y
++
++#
++# CD-ROM/DVD Filesystems
++#
++# CONFIG_ISO9660_FS is not set
++# CONFIG_UDF_FS is not set
++
++#
++# DOS/FAT/NT Filesystems
++#
++# CONFIG_MSDOS_FS is not set
++# CONFIG_VFAT_FS is not set
++# CONFIG_NTFS_FS is not set
++
++#
++# Pseudo filesystems
++#
++CONFIG_PROC_FS=y
++CONFIG_PROC_SYSCTL=y
++CONFIG_PROC_PAGE_MONITOR=y
++CONFIG_SYSFS=y
++CONFIG_TMPFS=y
++CONFIG_TMPFS_POSIX_ACL=y
++# CONFIG_HUGETLB_PAGE is not set
++# CONFIG_CONFIGFS_FS is not set
++
++#
++# Miscellaneous filesystems
++#
++# CONFIG_ADFS_FS is not set
++# CONFIG_AFFS_FS is not set
++# CONFIG_HFS_FS is not set
++# CONFIG_HFSPLUS_FS is not set
++# CONFIG_BEFS_FS is not set
++# CONFIG_BFS_FS is not set
++# CONFIG_EFS_FS is not set
++CONFIG_CRAMFS=y
++# CONFIG_VXFS_FS is not set
++# CONFIG_MINIX_FS is not set
++# CONFIG_OMFS_FS is not set
++# CONFIG_HPFS_FS is not set
++# CONFIG_QNX4FS_FS is not set
++CONFIG_ROMFS_FS=y
++# CONFIG_SYSV_FS is not set
++# CONFIG_UFS_FS is not set
++
++#
++# Partition Types
++#
++# CONFIG_PARTITION_ADVANCED is not set
++CONFIG_MSDOS_PARTITION=y
++# CONFIG_NLS is not set
++
++#
++# Kernel hacking
++#
++# CONFIG_PRINTK_TIME is not set
++CONFIG_ENABLE_WARN_DEPRECATED=y
++CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
++CONFIG_MAGIC_SYSRQ=y
++# CONFIG_UNUSED_SYMBOLS is not set
++# CONFIG_DEBUG_FS is not set
++# CONFIG_HEADERS_CHECK is not set
++CONFIG_DEBUG_KERNEL=y
++# CONFIG_DEBUG_SHIRQ is not set
++CONFIG_DETECT_SOFTLOCKUP=y
++# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
++CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
++CONFIG_SCHED_DEBUG=y
++# CONFIG_SCHEDSTATS is not set
++# CONFIG_TIMER_STATS is not set
++# CONFIG_DEBUG_OBJECTS is not set
++# CONFIG_SLUB_DEBUG_ON is not set
++# CONFIG_SLUB_STATS is not set
++CONFIG_DEBUG_RT_MUTEXES=y
++CONFIG_DEBUG_PI_LIST=y
++# CONFIG_RT_MUTEX_TESTER is not set
++CONFIG_DEBUG_SPINLOCK=y
++CONFIG_DEBUG_MUTEXES=y
++# CONFIG_DEBUG_LOCK_ALLOC is not set
++# CONFIG_PROVE_LOCKING is not set
++# CONFIG_LOCK_STAT is not set
++CONFIG_DEBUG_SPINLOCK_SLEEP=y
++# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
++# CONFIG_DEBUG_KOBJECT is not set
++CONFIG_DEBUG_BUGVERBOSE=y
++CONFIG_DEBUG_INFO=y
++# CONFIG_DEBUG_VM is not set
++# CONFIG_DEBUG_WRITECOUNT is not set
++CONFIG_DEBUG_MEMORY_INIT=y
++# CONFIG_DEBUG_LIST is not set
++# CONFIG_DEBUG_SG is not set
++CONFIG_FRAME_POINTER=y
++# CONFIG_BOOT_PRINTK_DELAY is not set
++# CONFIG_RCU_TORTURE_TEST is not set
++# CONFIG_RCU_CPU_STALL_DETECTOR is not set
++# CONFIG_BACKTRACE_SELF_TEST is not set
++# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
++# CONFIG_FAULT_INJECTION is not set
++# CONFIG_LATENCYTOP is not set
++CONFIG_SYSCTL_SYSCALL_CHECK=y
++CONFIG_HAVE_FUNCTION_TRACER=y
++
++#
++# Tracers
++#
++# CONFIG_FUNCTION_TRACER is not set
++# CONFIG_SCHED_TRACER is not set
++# CONFIG_CONTEXT_SWITCH_TRACER is not set
++# CONFIG_BOOT_TRACER is not set
++# CONFIG_STACK_TRACER is not set
++# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
++# CONFIG_SAMPLES is not set
++CONFIG_HAVE_ARCH_KGDB=y
++# CONFIG_KGDB is not set
++CONFIG_DEBUG_USER=y
++CONFIG_DEBUG_ERRORS=y
++# CONFIG_DEBUG_STACK_USAGE is not set
++CONFIG_DEBUG_LL=y
++# CONFIG_DEBUG_ICEDCC is not set
++CONFIG_DEBUG_S3C_PORT=y
++CONFIG_DEBUG_S3C_UART=0
++
++#
++# Security options
++#
++# CONFIG_KEYS is not set
++# CONFIG_SECURITY is not set
++# CONFIG_SECURITYFS is not set
++# CONFIG_SECURITY_FILE_CAPABILITIES is not set
++# CONFIG_CRYPTO is not set
++
++#
++# Library routines
++#
++CONFIG_BITREVERSE=y
++# CONFIG_CRC_CCITT is not set
++# CONFIG_CRC16 is not set
++# CONFIG_CRC_T10DIF is not set
++# CONFIG_CRC_ITU_T is not set
++CONFIG_CRC32=y
++# CONFIG_CRC7 is not set
++# CONFIG_LIBCRC32C is not set
++CONFIG_ZLIB_INFLATE=y
++CONFIG_PLIST=y
++CONFIG_HAS_IOMEM=y
++CONFIG_HAS_DMA=y
+Index: linux-2.6.28/arch/arm/Kconfig
+===================================================================
+--- linux-2.6.28.orig/arch/arm/Kconfig 2008-12-25 00:26:37.000000000 +0100
++++ linux-2.6.28/arch/arm/Kconfig      2009-01-02 00:01:56.000000000 +0100
+@@ -498,6 +498,13 @@ config ARCH_S3C2410
+         BAST (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or
+         the Samsung SMDK2410 development board (and derivatives).
++config ARCH_S3C64XX
++      bool "Samsung S3C64XX"
++      select GENERIC_GPIO
++      select HAVE_CLK
++      help
++        Samsung S3C64XX series based systems
++
+ config ARCH_SHARK
+       bool "Shark"
+       select ISA
+@@ -590,6 +597,7 @@ source "arch/arm/mach-orion5x/Kconfig"
+ source "arch/arm/mach-kirkwood/Kconfig"
+ source "arch/arm/plat-s3c24xx/Kconfig"
++source "arch/arm/plat-s3c64xx/Kconfig"
+ source "arch/arm/plat-s3c/Kconfig"
+ if ARCH_S3C2410
+@@ -601,6 +609,11 @@ source "arch/arm/mach-s3c2442/Kconfig"
+ source "arch/arm/mach-s3c2443/Kconfig"
+ endif
++if ARCH_S3C64XX
++source "arch/arm/mach-s3c6400/Kconfig"
++source "arch/arm/mach-s3c6410/Kconfig"
++endif
++
+ source "arch/arm/mach-lh7a40x/Kconfig"
+ source "arch/arm/mach-imx/Kconfig"
+@@ -1256,6 +1269,8 @@ source "drivers/usb/Kconfig"
+ source "drivers/uwb/Kconfig"
++source "drivers/ar6000/Kconfig"
++
+ source "drivers/mmc/Kconfig"
+ source "drivers/memstick/Kconfig"
+@@ -1268,6 +1283,8 @@ source "drivers/rtc/Kconfig"
+ source "drivers/dma/Kconfig"
++source "drivers/android/Kconfig"
++
+ source "drivers/dca/Kconfig"
+ source "drivers/auxdisplay/Kconfig"
+Index: linux-2.6.28/arch/arm/kernel/vmlinux.lds.S
+===================================================================
+--- linux-2.6.28.orig/arch/arm/kernel/vmlinux.lds.S    2008-12-25 00:26:37.000000000 +0100
++++ linux-2.6.28/arch/arm/kernel/vmlinux.lds.S 2009-01-02 00:01:56.000000000 +0100
+@@ -106,6 +106,8 @@ SECTIONS
+               *(.got)                 /* Global offset table          */
+       }
++      NOTES
++
+       RODATA
+       _etext = .;                     /* End of text and rodata section */
+Index: linux-2.6.28/arch/arm/mach-s3c2410/clock.c
+===================================================================
+--- linux-2.6.28.orig/arch/arm/mach-s3c2410/clock.c    2008-12-25 00:26:37.000000000 +0100
++++ /dev/null  1970-01-01 00:00:00.000000000 +0000
+@@ -1,276 +0,0 @@
+-/* linux/arch/arm/mach-s3c2410/clock.c
+- *
+- * Copyright (c) 2006 Simtec Electronics
+- *    Ben Dooks <ben@simtec.co.uk>
+- *
+- * S3C2410,S3C2440,S3C2442 Clock control support
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- * GNU General Public License for more details.
+- *
+- * You should have received a copy of the GNU General Public License
+- * along with this program; if not, write to the Free Software
+- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+-*/
+-
+-#include <linux/init.h>
+-#include <linux/module.h>
+-#include <linux/kernel.h>
+-#include <linux/list.h>
+-#include <linux/errno.h>
+-#include <linux/err.h>
+-#include <linux/sysdev.h>
+-#include <linux/clk.h>
+-#include <linux/mutex.h>
+-#include <linux/delay.h>
+-#include <linux/serial_core.h>
+-#include <linux/io.h>
+-
+-#include <asm/mach/map.h>
+-
+-#include <mach/hardware.h>
+-
+-#include <plat/regs-serial.h>
+-#include <mach/regs-clock.h>
+-#include <mach/regs-gpio.h>
+-
+-#include <plat/s3c2410.h>
+-#include <plat/clock.h>
+-#include <plat/cpu.h>
+-
+-int s3c2410_clkcon_enable(struct clk *clk, int enable)
+-{
+-      unsigned int clocks = clk->ctrlbit;
+-      unsigned long clkcon;
+-
+-      clkcon = __raw_readl(S3C2410_CLKCON);
+-
+-      if (enable)
+-              clkcon |= clocks;
+-      else
+-              clkcon &= ~clocks;
+-
+-      /* ensure none of the special function bits set */
+-      clkcon &= ~(S3C2410_CLKCON_IDLE|S3C2410_CLKCON_POWER);
+-
+-      __raw_writel(clkcon, S3C2410_CLKCON);
+-
+-      return 0;
+-}
+-
+-static int s3c2410_upll_enable(struct clk *clk, int enable)
+-{
+-      unsigned long clkslow = __raw_readl(S3C2410_CLKSLOW);
+-      unsigned long orig = clkslow;
+-
+-      if (enable)
+-              clkslow &= ~S3C2410_CLKSLOW_UCLK_OFF;
+-      else
+-              clkslow |= S3C2410_CLKSLOW_UCLK_OFF;
+-
+-      __raw_writel(clkslow, S3C2410_CLKSLOW);
+-
+-      /* if we started the UPLL, then allow to settle */
+-
+-      if (enable && (orig & S3C2410_CLKSLOW_UCLK_OFF))
+-              udelay(200);
+-
+-      return 0;
+-}
+-
+-/* standard clock definitions */
+-
+-static struct clk init_clocks_disable[] = {
+-      {
+-              .name           = "nand",
+-              .id             = -1,
+-              .parent         = &clk_h,
+-              .enable         = s3c2410_clkcon_enable,
+-              .ctrlbit        = S3C2410_CLKCON_NAND,
+-      }, {
+-              .name           = "sdi",
+-              .id             = -1,
+-              .parent         = &clk_p,
+-              .enable         = s3c2410_clkcon_enable,
+-              .ctrlbit        = S3C2410_CLKCON_SDI,
+-      }, {
+-              .name           = "adc",
+-              .id             = -1,
+-              .parent         = &clk_p,
+-              .enable         = s3c2410_clkcon_enable,
+-              .ctrlbit        = S3C2410_CLKCON_ADC,
+-      }, {
+-              .name           = "i2c",
+-              .id             = -1,
+-              .parent         = &clk_p,
+-              .enable         = s3c2410_clkcon_enable,
+-              .ctrlbit        = S3C2410_CLKCON_IIC,
+-      }, {
+-              .name           = "iis",
+-              .id             = -1,
+-              .parent         = &clk_p,
+-              .enable         = s3c2410_clkcon_enable,
+-              .ctrlbit        = S3C2410_CLKCON_IIS,
+-      }, {
+-              .name           = "spi",
+-              .id             = -1,
+-              .parent         = &clk_p,
+-              .enable         = s3c2410_clkcon_enable,
+-              .ctrlbit        = S3C2410_CLKCON_SPI,
+-      }
+-};
+-
+-static struct clk init_clocks[] = {
+-      {
+-              .name           = "lcd",
+-              .id             = -1,
+-              .parent         = &clk_h,
+-              .enable         = s3c2410_clkcon_enable,
+-              .ctrlbit        = S3C2410_CLKCON_LCDC,
+-      }, {
+-              .name           = "gpio",
+-              .id             = -1,
+-              .parent         = &clk_p,
+-              .enable         = s3c2410_clkcon_enable,
+-              .ctrlbit        = S3C2410_CLKCON_GPIO,
+-      }, {
+-              .name           = "usb-host",
+-              .id             = -1,
+-              .parent         = &clk_h,
+-              .enable         = s3c2410_clkcon_enable,
+-              .ctrlbit        = S3C2410_CLKCON_USBH,
+-      }, {
+-              .name           = "usb-device",
+-              .id             = -1,
+-              .parent         = &clk_h,
+-              .enable         = s3c2410_clkcon_enable,
+-              .ctrlbit        = S3C2410_CLKCON_USBD,
+-      }, {
+-              .name           = "timers",
+-              .id             = -1,
+-              .parent         = &clk_p,
+-              .enable         = s3c2410_clkcon_enable,
+-              .ctrlbit        = S3C2410_CLKCON_PWMT,
+-      }, {
+-              .name           = "uart",
+-              .id             = 0,
+-              .parent         = &clk_p,
+-              .enable         = s3c2410_clkcon_enable,
+-              .ctrlbit        = S3C2410_CLKCON_UART0,
+-      }, {
+-              .name           = "uart",
+-              .id             = 1,
+-              .parent         = &clk_p,
+-              .enable         = s3c2410_clkcon_enable,
+-              .ctrlbit        = S3C2410_CLKCON_UART1,
+-      }, {
+-              .name           = "uart",
+-              .id             = 2,
+-              .parent         = &clk_p,
+-              .enable         = s3c2410_clkcon_enable,
+-              .ctrlbit        = S3C2410_CLKCON_UART2,
+-      }, {
+-              .name           = "rtc",
+-              .id             = -1,
+-              .parent         = &clk_p,
+-              .enable         = s3c2410_clkcon_enable,
+-              .ctrlbit        = S3C2410_CLKCON_RTC,
+-      }, {
+-              .name           = "watchdog",
+-              .id             = -1,
+-              .parent         = &clk_p,
+-              .ctrlbit        = 0,
+-      }, {
+-              .name           = "usb-bus-host",
+-              .id             = -1,
+-              .parent         = &clk_usb_bus,
+-      }, {
+-              .name           = "usb-bus-gadget",
+-              .id             = -1,
+-              .parent         = &clk_usb_bus,
+-      },
+-};
+-
+-/* s3c2410_baseclk_add()
+- *
+- * Add all the clocks used by the s3c2410 or compatible CPUs
+- * such as the S3C2440 and S3C2442.
+- *
+- * We cannot use a system device as we are needed before any
+- * of the init-calls that initialise the devices are actually
+- * done.
+-*/
+-
+-int __init s3c2410_baseclk_add(void)
+-{
+-      unsigned long clkslow = __raw_readl(S3C2410_CLKSLOW);
+-      unsigned long clkcon  = __raw_readl(S3C2410_CLKCON);
+-      struct clk *clkp;
+-      struct clk *xtal;
+-      int ret;
+-      int ptr;
+-
+-      clk_upll.enable = s3c2410_upll_enable;
+-
+-      if (s3c24xx_register_clock(&clk_usb_bus) < 0)
+-              printk(KERN_ERR "failed to register usb bus clock\n");
+-
+-      /* register clocks from clock array */
+-
+-      clkp = init_clocks;
+-      for (ptr = 0; ptr < ARRAY_SIZE(init_clocks); ptr++, clkp++) {
+-              /* ensure that we note the clock state */
+-
+-              clkp->usage = clkcon & clkp->ctrlbit ? 1 : 0;
+-
+-              ret = s3c24xx_register_clock(clkp);
+-              if (ret < 0) {
+-                      printk(KERN_ERR "Failed to register clock %s (%d)\n",
+-                             clkp->name, ret);
+-              }
+-      }
+-
+-      /* We must be careful disabling the clocks we are not intending to
+-       * be using at boot time, as subsystems such as the LCD which do
+-       * their own DMA requests to the bus can cause the system to lockup
+-       * if they where in the middle of requesting bus access.
+-       *
+-       * Disabling the LCD clock if the LCD is active is very dangerous,
+-       * and therefore the bootloader should be careful to not enable
+-       * the LCD clock if it is not needed.
+-      */
+-
+-      /* install (and disable) the clocks we do not need immediately */
+-
+-      clkp = init_clocks_disable;
+-      for (ptr = 0; ptr < ARRAY_SIZE(init_clocks_disable); ptr++, clkp++) {
+-
+-              ret = s3c24xx_register_clock(clkp);
+-              if (ret < 0) {
+-                      printk(KERN_ERR "Failed to register clock %s (%d)\n",
+-                             clkp->name, ret);
+-              }
+-
+-              s3c2410_clkcon_enable(clkp, 0);
+-      }
+-
+-      /* show the clock-slow value */
+-
+-      xtal = clk_get(NULL, "xtal");
+-
+-      printk("CLOCK: Slow mode (%ld.%ld MHz), %s, MPLL %s, UPLL %s\n",
+-             print_mhz(clk_get_rate(xtal) /
+-                       ( 2 * S3C2410_CLKSLOW_GET_SLOWVAL(clkslow))),
+-             (clkslow & S3C2410_CLKSLOW_SLOW) ? "slow" : "fast",
+-             (clkslow & S3C2410_CLKSLOW_MPLL_OFF) ? "off" : "on",
+-             (clkslow & S3C2410_CLKSLOW_UCLK_OFF) ? "off" : "on");
+-
+-      return 0;
+-}
+Index: linux-2.6.28/arch/arm/mach-s3c2410/dma.c
+===================================================================
+--- linux-2.6.28.orig/arch/arm/mach-s3c2410/dma.c      2008-12-25 00:26:37.000000000 +0100
++++ linux-2.6.28/arch/arm/mach-s3c2410/dma.c   2009-01-02 00:01:56.000000000 +0100
+@@ -25,12 +25,12 @@
+ #include <plat/regs-serial.h>
+ #include <mach/regs-gpio.h>
+-#include <asm/plat-s3c/regs-ac97.h>
++#include <plat/regs-ac97.h>
+ #include <mach/regs-mem.h>
+ #include <mach/regs-lcd.h>
+ #include <mach/regs-sdi.h>
+ #include <asm/plat-s3c24xx/regs-iis.h>
+-#include <asm/plat-s3c24xx/regs-spi.h>
++#include <plat/regs-spi.h>
+ static struct s3c24xx_dma_map __initdata s3c2410_dma_mappings[] = {
+       [DMACH_XD0] = {
+Index: linux-2.6.28/arch/arm/mach-s3c2410/include/mach/fiq_ipc_gta02.h
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.28/arch/arm/mach-s3c2410/include/mach/fiq_ipc_gta02.h    2009-01-02 00:01:56.000000000 +0100
+@@ -0,0 +1,60 @@
++#ifndef _LINUX_FIQ_IPC_H
++#define _LINUX_FIQ_IPC_H
++
++/*
++ * this defines the struct which is used to communicate between the FIQ
++ * world and the normal linux kernel world.  One of these structs is
++ * statically defined for you in the monolithic kernel so the FIQ ISR code
++ * can safely touch it any any time.
++ *
++ * You also want to include this file in your kernel module that wants to
++ * communicate with your FIQ code.  Add any kinds of vars that are used by
++ * the FIQ ISR and the module in here.
++ *
++ * To get you started there is just an int that is incremented every FIQ
++ * you can remove this when you are ready to customize, but it is useful
++ * for testing
++ */
++
++#include <mach/pwm.h>
++#include <plat/regs-timer.h>
++
++extern u8 fiq_ready;
++
++enum hdq_bitbang_states {
++      HDQB_IDLE = 0,
++      HDQB_TX_BREAK,
++      HDQB_TX_BREAK_RECOVERY,
++      HDQB_ADS_CALC,
++      HDQB_ADS_LOW,
++      HDQB_ADS_HIGH,
++      HDQB_WAIT_RX,
++      HDQB_DATA_RX_LOW,
++      HDQB_DATA_RX_HIGH,
++      HDQB_WAIT_TX,
++};
++
++struct fiq_ipc {
++      /* vibrator */
++      unsigned long vib_gpio_pin; /* which pin to meddle with */
++      u8 vib_pwm; /* 0 = OFF -- will ensure GPIO deasserted and stop FIQ */
++      u8 vib_pwm_latched;
++
++      /* hdq */
++      u8 hdq_probed; /* nonzero after HDQ driver probed */
++      struct mutex hdq_lock; /* if you want to use hdq, you have to take lock */
++      unsigned long hdq_gpio_pin; /* GTA02 = GPD14 which pin to meddle with */
++      u8 hdq_ads; /* b7..b6 = register address, b0 = r/w */
++      u8 hdq_tx_data; /* data to tx for write action */
++      u8 hdq_rx_data; /* data received in read action */
++      u8 hdq_request_ctr; /* incremented by "user" to request a transfer */
++      u8 hdq_transaction_ctr; /* incremented after each transfer */
++      u8 hdq_error; /* 0 = no error */
++};
++
++/* actual definition lives in arch/arm/mach-s3c2440/fiq_c_isr.c */
++extern struct fiq_ipc fiq_ipc;
++extern unsigned long _fiq_count_fiqs;
++extern void fiq_kick(void);  /* provoke a FIQ "immediately" */
++
++#endif /* _LINUX_FIQ_IPC_H */
+Index: linux-2.6.28/arch/arm/mach-s3c2410/include/mach/gpio-core.h
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.28/arch/arm/mach-s3c2410/include/mach/gpio-core.h        2009-01-02 00:01:56.000000000 +0100
+@@ -0,0 +1,21 @@
++/* arch/arm/mach-s3c24100/include/mach/gpio-core.h
++ *
++ * Copyright 2008 Openmoko, Inc.
++ * Copyright 2008 Simtec Electronics
++ *      Ben Dooks <ben@simtec.co.uk>
++ *      http://armlinux.simtec.co.uk/
++ *
++ * S3C2410 - GPIO core support
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation.
++*/
++
++#ifndef __ASM_ARCH_GPIO_CORE_H
++#define __ASM_ARCH_GPIO_CORE_H __FILE__
++
++/* currently we just include the platform support */
++#include <plat/gpio-core.h>
++
++#endif /* __ASM_ARCH_GPIO_CORE_H */
+Index: linux-2.6.28/arch/arm/mach-s3c2410/include/mach/gpio.h
+===================================================================
+--- linux-2.6.28.orig/arch/arm/mach-s3c2410/include/mach/gpio.h        2008-12-25 00:26:37.000000000 +0100
++++ linux-2.6.28/arch/arm/mach-s3c2410/include/mach/gpio.h     2009-01-02 00:01:56.000000000 +0100
+@@ -15,4 +15,14 @@
+ #define gpio_set_value        __gpio_set_value
+ #define gpio_cansleep __gpio_cansleep
++/* These two defines should be removed as soon as the
++ * generic irq handling makes it upstream */
++#include <mach/hardware.h>
++#define gpio_to_irq(gpio)               s3c2410_gpio_getirq(gpio)
++#define irq_to_gpio(irq)                s3c2410_gpio_irq2pin(irq)
++/* -- cut to here when generic irq makes it */
++
+ #include <asm-generic/gpio.h>
++#include <mach/gpio-nrs.h>
++
++#define S3C_GPIO_END  (S3C2410_GPIO_BANKH + 32)
+Index: linux-2.6.28/arch/arm/mach-s3c2410/include/mach/gpio-nrs.h
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.28/arch/arm/mach-s3c2410/include/mach/gpio-nrs.h 2009-01-02 00:01:56.000000000 +0100
+@@ -0,0 +1,23 @@
++/* arch/arm/mach-s3c2410/include/mach/gpio-nrs.h
++ *
++ * Copyright (c) 2008 Simtec Electronics
++ *    http://armlinux.simtec.co.uk/
++ *    Ben Dooks <ben@simtec.co.uk>
++ *
++ * S3C2410 - GPIO bank numbering
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation.
++*/
++
++#define S3C2410_GPIONO(bank,offset) ((bank) + (offset))
++
++#define S3C2410_GPIO_BANKA   (32*0)
++#define S3C2410_GPIO_BANKB   (32*1)
++#define S3C2410_GPIO_BANKC   (32*2)
++#define S3C2410_GPIO_BANKD   (32*3)
++#define S3C2410_GPIO_BANKE   (32*4)
++#define S3C2410_GPIO_BANKF   (32*5)
++#define S3C2410_GPIO_BANKG   (32*6)
++#define S3C2410_GPIO_BANKH   (32*7)
+Index: linux-2.6.28/arch/arm/mach-s3c2410/include/mach/gta01.h
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.28/arch/arm/mach-s3c2410/include/mach/gta01.h    2009-01-02 00:01:56.000000000 +0100
+@@ -0,0 +1,74 @@
++#ifndef _GTA01_H
++#define _GTA01_H
++
++#include <mach/regs-gpio.h>
++#include <mach/irqs.h>
++
++/* Different hardware revisions, passed in ATAG_REVISION by u-boot */
++#define GTA01v3_SYSTEM_REV    0x00000130
++#define GTA01v4_SYSTEM_REV    0x00000140
++#define GTA01Bv2_SYSTEM_REV   0x00000220
++#define GTA01Bv3_SYSTEM_REV   0x00000230
++#define GTA01Bv4_SYSTEM_REV   0x00000240
++
++/* Backlight */
++
++extern void gta01bl_deferred_resume(void);
++
++struct gta01bl_machinfo {
++      unsigned int default_intensity;
++      unsigned int max_intensity;
++      unsigned int limit_mask;
++      unsigned int defer_resume_backlight;
++};
++
++/* Definitions common to all revisions */
++#define GTA01_GPIO_BACKLIGHT  S3C2410_GPB0
++#define GTA01_GPIO_GPS_PWRON  S3C2410_GPB1
++#define GTA01_GPIO_MODEM_RST  S3C2410_GPB6
++#define GTA01_GPIO_MODEM_ON   S3C2410_GPB7
++#define GTA01_GPIO_LCD_RESET  S3C2410_GPC6
++#define GTA01_GPIO_PMU_IRQ    S3C2410_GPG8
++#define GTA01_GPIO_JACK_INSERT        S3C2410_GPF4
++#define GTA01_GPIO_nSD_DETECT S3C2410_GPF5
++#define GTA01_GPIO_AUX_KEY    S3C2410_GPF6
++#define GTA01_GPIO_HOLD_KEY   S3C2410_GPF7
++#define GTA01_GPIO_VIBRATOR_ON        S3C2410_GPG11
++
++#define GTA01_IRQ_MODEM               IRQ_EINT1
++#define GTA01_IRQ_JACK_INSERT IRQ_EINT4
++#define GTA01_IRQ_nSD_DETECT  IRQ_EINT5
++#define GTA01_IRQ_AUX_KEY     IRQ_EINT6
++#define GTA01_IRQ_PCF50606      IRQ_EINT16
++
++/* GTA01v3 */
++#define GTA01v3_GPIO_nGSM_EN  S3C2410_GPG9
++
++/* GTA01v4 */
++#define GTA01_GPIO_MODEM_DNLOAD       S3C2410_GPG0
++
++/* GTA01Bv2 */
++#define GTA01Bv2_GPIO_nGSM_EN S3C2410_GPF2
++#define GTA01Bv2_GPIO_VIBRATOR_ON S3C2410_GPB10
++
++/* GTA01Bv3 */
++#define GTA01_GPIO_GPS_EN_3V3 S3C2410_GPG9
++
++#define GTA01_GPIO_SDMMC_ON   S3C2410_GPB2
++#define GTA01_GPIO_BT_EN      S3C2410_GPB5
++#define GTA01_GPIO_AB_DETECT  S3C2410_GPB8
++#define GTA01_GPIO_USB_PULLUP S3C2410_GPB9
++#define GTA01_GPIO_USB_ATTACH S3C2410_GPB10
++
++#define GTA01_GPIO_GPS_EN_2V8 S3C2410_GPG9
++#define GTA01_GPIO_GPS_EN_3V  S3C2410_GPG10
++#define GTA01_GPIO_GPS_RESET  S3C2410_GPC0
++
++/* GTA01Bv4 */
++#define GTA01Bv4_GPIO_nNAND_WP        S3C2410_GPA16
++#define GTA01Bv4_GPIO_VIBRATOR_ON S3C2410_GPB3
++#define GTA01Bv4_GPIO_PMU_IRQ S3C2410_GPG1
++
++#define GTA01Bv4_IRQ_PCF50606 IRQ_EINT9
++
++#endif /* _GTA01_H */
+Index: linux-2.6.28/arch/arm/mach-s3c2410/include/mach/gta02.h
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.28/arch/arm/mach-s3c2410/include/mach/gta02.h    2009-01-02 00:01:56.000000000 +0100
+@@ -0,0 +1,113 @@
++#ifndef _GTA02_H
++#define _GTA02_H
++
++#include <mach/regs-gpio.h>
++#include <mach/irqs.h>
++
++#include <linux/mfd/pcf50633/core.h>
++
++/* Different hardware revisions, passed in ATAG_REVISION by u-boot */
++#define GTA02v1_SYSTEM_REV    0x00000310
++#define GTA02v2_SYSTEM_REV    0x00000320
++#define GTA02v3_SYSTEM_REV    0x00000330
++#define GTA02v4_SYSTEM_REV    0x00000340
++#define GTA02v5_SYSTEM_REV    0x00000350
++#define GTA02v6_SYSTEM_REV    0x00000360
++
++#define GTA02_GPIO_n3DL_GSM   S3C2410_GPA13   /* v1 + v2 + v3 only */
++
++#define GTA02_GPIO_PWR_LED1   S3C2410_GPB0
++#define GTA02_GPIO_PWR_LED2   S3C2410_GPB1
++#define GTA02_GPIO_AUX_LED    S3C2410_GPB2
++#define GTA02_GPIO_VIBRATOR_ON        S3C2410_GPB3
++#define GTA02v1_GPIO_GPS_PWRON        S3C2410_GPB4    /* v1 only */
++#define GTA02_GPIO_MODEM_RST  S3C2410_GPB5
++#define GTA02_GPIO_BT_EN      S3C2410_GPB6
++#define GTA02_GPIO_MODEM_ON   S3C2410_GPB7
++#define GTA02v1_GPIO_EN_AGPS3V        S3C2410_GPB8    /* v1 only */
++#define GTA02_GPIO_EXTINT8    S3C2410_GPB8
++#define GTA02_GPIO_USB_PULLUP S3C2410_GPB9
++
++#define GTA02v1_GPIO_nGPS_RST S3C2410_GPC0    /* v1 only */
++#define GTA02v12_GPIO_PIO3    S3C2410_GPC5    /* v1 + v2 only */
++#define GTA02_GPIO_PIO5               S3C2410_GPC5    /* v3 + v4 only */
++#define GTA02_GPIO_LCD_RESET  S3C2410_GPC6    /* v1 + v2 only */
++#define GTA02v12_GPIO_PIO2    S3C2410_GPC7    /* v1 + v2 only */
++#define GTA02v2_nUSB_FLT      S3C2410_GPC9    /* v2 only */
++#define GTA02v2_nUSB_OC               S3C2410_GPC10   /* v2 only */
++#define GTA02v2_nGSM_OC               S3C2410_GPC12   /* v2 only */
++
++#define GTA02v3_GPIO_nG1_CS   S3C2410_GPD12   /* v3 + v4 only */
++#define GTA02v3_GPIO_nG2_CS   S3C2410_GPD13   /* v3 + v4 only */
++#define GTA02v5_GPIO_HDQ      S3C2410_GPD14   /* v5 + */
++
++#define GTA02_GPIO_nG1_INT    S3C2410_GPF0
++#define GTA02_GPIO_IO1                S3C2410_GPF1
++#define GTA02v1_GPIO_nG2_INT  S3C2410_GPF2    /* v1 only */
++#define GTA02_GPIO_PIO_2      S3C2410_GPF2    /* v2 + v3 + v4 only */
++#define GTA02_GPIO_JACK_INSERT        S3C2410_GPF4
++#define GTA02v1_GPIO_nSD_DETECT       S3C2410_GPF5    /* v1 only */
++#define GTA02_GPIO_WLAN_GPIO1 S3C2410_GPF5    /* v2 + v3 + v4 only */
++#define GTA02_GPIO_AUX_KEY    S3C2410_GPF6
++#define GTA02_GPIO_HOLD_KEY   S3C2410_GPF7
++
++#define GTA02_GPIO_3D_IRQ     S3C2410_GPG4
++#define GTA02v1_GPIO_nG1_CS   S3C2410_GPG8    /* v1 only */
++#define GTA02v2_GPIO_nG2_INT  S3C2410_GPG8    /* v2 + v3 + v4 only */
++#define GTA02v3_GPIO_nUSB_OC  S3C2410_GPG9    /* v3 + v4 only */
++#define GTA02v3_GPIO_nUSB_FLT S3C2410_GPG10   /* v3 + v4 only */
++#define GTA02v1_GPIO_nG2_CS   S3C2410_GPG11   /* v1 only */
++#define GTA02v3_GPIO_nGSM_OC  S3C2410_GPG11   /* v3 + v4 only */
++
++#define GTA02v1_GPIO_3D_RESET S3C2440_GPJ0    /* v1 only */
++#define GTA02v2_GPIO_BAT_ID   S3C2440_GPJ0    /* v2 only */
++#define GTA02v1_GPIO_WLAN_GPIO8       S3C2440_GPJ1    /* v1 only */
++#define GTA02_GPIO_AMP_SHUT   S3C2440_GPJ1    /* v2 + v3 + v4 only */
++#define GTA02v1_GPIO_WLAN_GPIO10      S3C2440_GPJ2
++#define GTA02_GPIO_HP_IN      S3C2440_GPJ2    /* v2 + v3 + v4 only */
++#define GTA02v1_GPIO_KEEPACT  S3C2440_GPJ3    /* v1 only */
++#define GTA02_GPIO_INT0               S3C2440_GPJ3    /* v2 + v3 + v4 only */
++#define GTA02_GPIO_nGSM_EN    S3C2440_GPJ4
++#define GTA02_GPIO_3D_RESET   S3C2440_GPJ5
++#define GTA02_GPIO_nDL_GSM    S3C2440_GPJ6    /* v4 + v5 only */
++#define GTA02_GPIO_WLAN_GPIO0 S3C2440_GPJ7
++#define GTA02v1_GPIO_BAT_ID   S3C2440_GPJ8
++#define GTA02_GPIO_KEEPACT    S3C2440_GPJ8
++#define GTA02v1_GPIO_AMP_SHUT S3C2440_GPJ9    /* v1 only */
++#define GTA02v2_nG1_CS                S3C2440_GPJ9    /* v2 only */
++#define GTA02v1_GPIO_HP_IN    S3C2440_GPJ10
++#define GTA02v2_nG2_CS                S3C2440_GPJ10   /* v2 only */
++#define GTA02v1_GPIO_INT0     S3C2440_GPJ11   /* v1 only */
++#define GTA02_CHIP_PWD                S3C2440_GPJ11   /* v2 + v3 + v4 only */
++#define GTA02v1_GPIO_nGSM_EN  S3C2440_GPJ12   /* v1 only */
++#define GTA02_GPIO_nWLAN_RESET        S3C2440_GPJ12   /* v2 + v3 + v4 only */
++
++#define GTA02_IRQ_GSENSOR_1   IRQ_EINT0
++#define GTA02_IRQ_MODEM               IRQ_EINT1
++#define GTA02v1_IRQ_GSENSOR_2 IRQ_EINT2       /* v1 only */
++#define GTA02_IRQ_PIO_2               IRQ_EINT2       /* v2 + v3 + v4 only */
++#define GTA02_IRQ_nJACK_INSERT        IRQ_EINT4
++#define GTA02v1_IRQ_nSD_CD    IRQ_EINT5       /* v1 only */
++#define GTA02_IRQ_WLAN_GPIO1  IRQ_EINT5
++#define GTA02_IRQ_AUX         IRQ_EINT6
++#define GTA02_IRQ_nHOLD               IRQ_EINT7
++#define GTA02v1_IRQ_nSIM_CD   IRQ_EINT8       /* v1 only */
++#define GTA02_IRQ_PCF50633    IRQ_EINT9
++#define GTA02_IRQ_3D          IRQ_EINT12
++#define GTA02_IRQ_GSENSOR_2   IRQ_EINT16      /* v2 + v3 + v4 only */
++#define GTA02v3_IRQ_nUSB_OC   IRQ_EINT17      /* v3 + v4 only */
++#define GTA02v3_IRQ_nUSB_FLT  IRQ_EINT18      /* v3 + v4 only */
++#define GTA02v3_IRQ_nGSM_OC   IRQ_EINT19      /* v3 + v4 only */
++
++/* returns 00 000 on GTA02 A5 and earlier, A6 returns 01 001 */
++#define GTA02_PCB_ID1_0               S3C2410_GPC13
++#define GTA02_PCB_ID1_1               S3C2410_GPC15
++#define GTA02_PCB_ID1_2               S3C2410_GPD0
++#define GTA02_PCB_ID2_0               S3C2410_GPD3
++#define GTA02_PCB_ID2_1               S3C2410_GPD4
++
++int gta02_get_pcb_revision(void);
++
++extern struct pcf50633_platform_data gta02_pcf_pdata;
++
++#endif /* _GTA02_H */
+Index: linux-2.6.28/arch/arm/mach-s3c2410/include/mach/gta02-pm-wlan.h
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.28/arch/arm/mach-s3c2410/include/mach/gta02-pm-wlan.h    2009-01-02 00:01:56.000000000 +0100
+@@ -0,0 +1 @@
++void gta02_wlan_power(int on);
+Index: linux-2.6.28/arch/arm/mach-s3c2410/include/mach/irqs.h
+===================================================================
+--- linux-2.6.28.orig/arch/arm/mach-s3c2410/include/mach/irqs.h        2008-12-25 00:26:37.000000000 +0100
++++ linux-2.6.28/arch/arm/mach-s3c2410/include/mach/irqs.h     2009-01-02 00:01:56.000000000 +0100
+@@ -12,9 +12,9 @@
+ #ifndef __ASM_ARCH_IRQS_H
+ #define __ASM_ARCH_IRQS_H __FILE__
+-#ifndef __ASM_ARM_IRQ_H
+-#error "Do not include this directly, instead #include <asm/irq.h>"
+-#endif
++//#ifndef __ASM_ARM_IRQ_H
++//#error "Do not include this directly, instead #include <asm/irq.h>"
++//#endif
+ /* we keep the first set of CPU IRQs out of the range of
+  * the ISA space, so that the PC104 has them to itself
+@@ -84,7 +84,7 @@
+ #define IRQ_EINT22     S3C2410_IRQ(50)
+ #define IRQ_EINT23     S3C2410_IRQ(51)
+-
++#define IRQ_EINT_BIT(x)       ((x) - IRQ_EINT4 + 4)
+ #define IRQ_EINT(x)    (((x) >= 4) ? (IRQ_EINT4 + (x) - 4) : (IRQ_EINT0 + (x)))
+ #define IRQ_LCD_FIFO   S3C2410_IRQ(52)
+@@ -134,6 +134,8 @@
+ #define IRQ_S3C2443_HSMMC     S3C2410_IRQ(20)         /* IRQ_SDI */
+ #define IRQ_S3C2443_NAND      S3C2410_IRQ(24)         /* reserved */
++#define IRQ_HSMMC0            IRQ_S3C2443_HSMMC
++
+ #define IRQ_S3C2443_LCD1      S3C2410_IRQSUB(14)
+ #define IRQ_S3C2443_LCD2      S3C2410_IRQSUB(15)
+ #define IRQ_S3C2443_LCD3      S3C2410_IRQSUB(16)
+@@ -155,12 +157,47 @@
+ #define IRQ_S3C2443_AC97      S3C2410_IRQSUB(28)
+ #ifdef CONFIG_CPU_S3C2443
+-#define NR_IRQS (IRQ_S3C2443_AC97+1)
++#define _NR_IRQS (IRQ_S3C2443_AC97+1)
+ #else
+-#define NR_IRQS (IRQ_S3C2440_AC97+1)
++#define _NR_IRQS (IRQ_S3C2440_AC97+1)
+ #endif
++/* compatibility define. */
++#define IRQ_UART3             IRQ_S3C2443_UART3
++#define IRQ_S3CUART_RX3               IRQ_S3C2443_RX3
++#define IRQ_S3CUART_TX3               IRQ_S3C2443_TX3
++#define IRQ_S3CUART_ERR3      IRQ_S3C2443_ERR3
++
+ /* Our FIQs are routable from IRQ_EINT0 to IRQ_ADCPARENT */
+ #define FIQ_START             IRQ_EINT0
++
++/*
++ * The next 16 interrupts are for board specific purposes.  Since
++ * the kernel can only run on one machine at a time, we can re-use
++ * these.  If you need more, increase IRQ_BOARD_END, but keep it
++ * within sensible limits.
++ */
++#define IRQ_BOARD_START         _NR_IRQS
++#define IRQ_BOARD_END           (_NR_IRQS + 10)
++
++#if defined(CONFIG_MACH_NEO1973_GTA02)
++#define NR_IRQS                 (IRQ_BOARD_END)
++#else
++#define NR_IRQS                 (IRQ_BOARD_START)
++#endif
++
++/* Neo1973 GTA02 interrupts */
++#define NEO1973_GTA02_IRQ(x)    (IRQ_BOARD_START + (x))
++#define IRQ_GLAMO(x)            NEO1973_GTA02_IRQ(x)
++#define IRQ_GLAMO_HOSTBUS       IRQ_GLAMO(0)
++#define IRQ_GLAMO_JPEG          IRQ_GLAMO(1)
++#define IRQ_GLAMO_MPEG          IRQ_GLAMO(2)
++#define IRQ_GLAMO_MPROC1        IRQ_GLAMO(3)
++#define IRQ_GLAMO_MPROC0        IRQ_GLAMO(4)
++#define IRQ_GLAMO_CMDQUEUE      IRQ_GLAMO(5)
++#define IRQ_GLAMO_2D            IRQ_GLAMO(6)
++#define IRQ_GLAMO_MMC           IRQ_GLAMO(7)
++#define IRQ_GLAMO_RISC          IRQ_GLAMO(8)
++
+ #endif /* __ASM_ARCH_IRQ_H */
+Index: linux-2.6.28/arch/arm/mach-s3c2410/include/mach/map.h
+===================================================================
+--- linux-2.6.28.orig/arch/arm/mach-s3c2410/include/mach/map.h 2008-12-25 00:26:37.000000000 +0100
++++ linux-2.6.28/arch/arm/mach-s3c2410/include/mach/map.h      2009-01-02 00:01:56.000000000 +0100
+@@ -13,34 +13,20 @@
+ #ifndef __ASM_ARCH_MAP_H
+ #define __ASM_ARCH_MAP_H
++#include <plat/map-base.h>
+ #include <plat/map.h>
+ #define S3C2410_ADDR(x)               S3C_ADDR(x)
+-/* interrupt controller is the first thing we put in, to make
+- * the assembly code for the irq detection easier
+- */
+-#define S3C24XX_VA_IRQ           S3C_VA_IRQ
+-#define S3C2410_PA_IRQ           (0x4A000000)
+-#define S3C24XX_SZ_IRQ           SZ_1M
+-
+-/* memory controller registers */
+-#define S3C24XX_VA_MEMCTRL S3C_VA_MEM
+-#define S3C2410_PA_MEMCTRL (0x48000000)
+-#define S3C24XX_SZ_MEMCTRL SZ_1M
+-
+ /* USB host controller */
+ #define S3C2410_PA_USBHOST (0x49000000)
+-#define S3C24XX_SZ_USBHOST SZ_1M
+ /* DMA controller */
+ #define S3C2410_PA_DMA           (0x4B000000)
+ #define S3C24XX_SZ_DMA           SZ_1M
+ /* Clock and Power management */
+-#define S3C24XX_VA_CLKPWR  S3C_VA_SYS
+ #define S3C2410_PA_CLKPWR  (0x4C000000)
+-#define S3C24XX_SZ_CLKPWR  SZ_1M
+ /* LCD controller */
+ #define S3C2410_PA_LCD           (0x4D000000)
+@@ -48,48 +34,12 @@
+ /* NAND flash controller */
+ #define S3C2410_PA_NAND          (0x4E000000)
+-#define S3C24XX_SZ_NAND          SZ_1M
+-
+-/* UARTs */
+-#define S3C24XX_VA_UART          S3C_VA_UART
+-#define S3C2410_PA_UART          (0x50000000)
+-#define S3C24XX_SZ_UART          SZ_1M
+-
+-/* Timers */
+-#define S3C24XX_VA_TIMER   S3C_VA_TIMER
+-#define S3C2410_PA_TIMER   (0x51000000)
+-#define S3C24XX_SZ_TIMER   SZ_1M
+-
+-/* USB Device port */
+-#define S3C2410_PA_USBDEV  (0x52000000)
+-#define S3C24XX_SZ_USBDEV  SZ_1M
+-
+-/* Watchdog */
+-#define S3C24XX_VA_WATCHDOG S3C_VA_WATCHDOG
+-#define S3C2410_PA_WATCHDOG (0x53000000)
+-#define S3C24XX_SZ_WATCHDOG SZ_1M
+ /* IIC hardware controller */
+ #define S3C2410_PA_IIC           (0x54000000)
+-#define S3C24XX_SZ_IIC           SZ_1M
+ /* IIS controller */
+ #define S3C2410_PA_IIS           (0x55000000)
+-#define S3C24XX_SZ_IIS           SZ_1M
+-
+-/* GPIO ports */
+-
+-/* the calculation for the VA of this must ensure that
+- * it is the same distance apart from the UART in the
+- * phsyical address space, as the initial mapping for the IO
+- * is done as a 1:1 maping. This puts it (currently) at
+- * 0xFA800000, which is not in the way of any current mapping
+- * by the base system.
+-*/
+-
+-#define S3C2410_PA_GPIO          (0x56000000)
+-#define S3C24XX_VA_GPIO          ((S3C2410_PA_GPIO - S3C24XX_PA_UART) + S3C24XX_VA_UART)
+-#define S3C24XX_SZ_GPIO          SZ_1M
+ /* RTC */
+ #define S3C2410_PA_RTC           (0x57000000)
+@@ -97,15 +47,12 @@
+ /* ADC */
+ #define S3C2410_PA_ADC           (0x58000000)
+-#define S3C24XX_SZ_ADC           SZ_1M
+ /* SPI */
+ #define S3C2410_PA_SPI           (0x59000000)
+-#define S3C24XX_SZ_SPI           SZ_1M
+ /* SDI */
+ #define S3C2410_PA_SDI           (0x5A000000)
+-#define S3C24XX_SZ_SDI           SZ_1M
+ /* CAMIF */
+ #define S3C2440_PA_CAMIF   (0x4F000000)
+@@ -120,13 +67,6 @@
+ #define S3C2443_PA_HSMMC   (0x4A800000)
+ #define S3C2443_SZ_HSMMC   (256)
+-/* ISA style IO, for each machine to sort out mappings for, if it
+- * implements it. We reserve two 16M regions for ISA.
+- */
+-
+-#define S3C24XX_VA_ISA_WORD  S3C2410_ADDR(0x02000000)
+-#define S3C24XX_VA_ISA_BYTE  S3C2410_ADDR(0x03000000)
+-
+ /* physical addresses of all the chip-select areas */
+ #define S3C2410_CS0 (0x00000000)
+@@ -152,27 +92,16 @@
+ #define S3C24XX_PA_TIMER    S3C2410_PA_TIMER
+ #define S3C24XX_PA_USBDEV   S3C2410_PA_USBDEV
+ #define S3C24XX_PA_WATCHDOG S3C2410_PA_WATCHDOG
+-#define S3C24XX_PA_IIC      S3C2410_PA_IIC
+ #define S3C24XX_PA_IIS      S3C2410_PA_IIS
+ #define S3C24XX_PA_GPIO     S3C2410_PA_GPIO
+ #define S3C24XX_PA_RTC      S3C2410_PA_RTC
+ #define S3C24XX_PA_ADC      S3C2410_PA_ADC
+ #define S3C24XX_PA_SPI      S3C2410_PA_SPI
++#define S3C24XX_PA_SDI      S3C2410_PA_SDI
++#define S3C24XX_PA_NAND           S3C2410_PA_NAND
+-/* deal with the registers that move under the 2412/2413 */
+-
+-#if defined(CONFIG_CPU_S3C2412) || defined(CONFIG_CPU_S3C2413)
+-#ifndef __ASSEMBLY__
+-extern void __iomem *s3c24xx_va_gpio2;
+-#endif
+-#ifdef CONFIG_CPU_S3C2412_ONLY
+-#define S3C24XX_VA_GPIO2 (S3C24XX_VA_GPIO + 0x10)
+-#else
+-#define S3C24XX_VA_GPIO2 s3c24xx_va_gpio2
+-#endif
+-#else
+-#define s3c24xx_va_gpio2 S3C24XX_VA_GPIO
+-#define S3C24XX_VA_GPIO2 S3C24XX_VA_GPIO
+-#endif
++#define S3C_PA_IIC          S3C2410_PA_IIC
++#define S3C_PA_UART       S3C24XX_PA_UART
++#define S3C_PA_HSMMC0     S3C2443_PA_HSMMC
+ #endif /* __ASM_ARCH_MAP_H */
+Index: linux-2.6.28/arch/arm/mach-s3c2410/include/mach/mci.h
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.28/arch/arm/mach-s3c2410/include/mach/mci.h      2009-01-02 00:01:56.000000000 +0100
+@@ -0,0 +1,13 @@
++#ifndef _ARCH_MCI_H
++#define _ARCH_MCI_H
++
++struct s3c24xx_mci_pdata {
++      unsigned int    gpio_detect;
++      unsigned int    gpio_wprotect;
++      unsigned long   ocr_avail;
++      unsigned int    do_dma;
++      void            (*set_power)(unsigned char power_mode,
++                                   unsigned short vdd);
++};
++
++#endif /* _ARCH_NCI_H */
+Index: linux-2.6.28/arch/arm/mach-s3c2410/include/mach/neo1973-pm-gsm.h
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.28/arch/arm/mach-s3c2410/include/mach/neo1973-pm-gsm.h   2009-01-02 00:01:56.000000000 +0100
+@@ -0,0 +1 @@
++extern int gta_gsm_interrupts;
+Index: linux-2.6.28/arch/arm/mach-s3c2410/include/mach/pwm.h
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.28/arch/arm/mach-s3c2410/include/mach/pwm.h      2009-01-02 00:01:56.000000000 +0100
+@@ -0,0 +1,46 @@
++#ifndef __S3C2410_PWM_H
++#define __S3C2410_PWM_H
++
++#include <linux/err.h>
++#include <linux/platform_device.h>
++#include <linux/clk.h>
++
++#include <mach/io.h>
++#include <mach/hardware.h>
++#include <asm/mach-types.h>
++#include <plat/regs-timer.h>
++#include <mach/gta01.h>
++
++enum pwm_timer {
++      PWM0,
++      PWM1,
++      PWM2,
++      PWM3,
++      PWM4
++};
++
++struct s3c2410_pwm {
++      enum pwm_timer timerid;
++      struct clk *pclk;
++      unsigned long pclk_rate;
++      unsigned long prescaler;
++      unsigned long divider;
++      unsigned long counter;
++      unsigned long comparer;
++};
++
++struct s3c24xx_pwm_platform_data{
++        /* callback to attach platform children (to enforce suspend / resume
++         * ordering */
++        void (*attach_child_devices)(struct device *parent_device);
++};
++
++int s3c2410_pwm_init(struct s3c2410_pwm *s3c2410_pwm);
++int s3c2410_pwm_enable(struct s3c2410_pwm *s3c2410_pwm);
++int s3c2410_pwm_disable(struct s3c2410_pwm *s3c2410_pwm);
++int s3c2410_pwm_start(struct s3c2410_pwm *s3c2410_pwm);
++int s3c2410_pwm_stop(struct s3c2410_pwm *s3c2410_pwm);
++int s3c2410_pwm_duty_cycle(int reg_value, struct s3c2410_pwm *s3c2410_pwm);
++int s3c2410_pwm_dumpregs(void);
++
++#endif /* __S3C2410_PWM_H */
+Index: linux-2.6.28/arch/arm/mach-s3c2410/include/mach/regs-clock.h
+===================================================================
+--- linux-2.6.28.orig/arch/arm/mach-s3c2410/include/mach/regs-clock.h  2008-12-25 00:26:37.000000000 +0100
++++ linux-2.6.28/arch/arm/mach-s3c2410/include/mach/regs-clock.h       2009-01-02 00:01:56.000000000 +0100
+@@ -42,13 +42,6 @@
+ #define S3C2410_CLKCON_IIS         (1<<17)
+ #define S3C2410_CLKCON_SPI         (1<<18)
+-#define S3C2410_PLLCON_MDIVSHIFT     12
+-#define S3C2410_PLLCON_PDIVSHIFT     4
+-#define S3C2410_PLLCON_SDIVSHIFT     0
+-#define S3C2410_PLLCON_MDIVMASK            ((1<<(1+(19-12)))-1)
+-#define S3C2410_PLLCON_PDIVMASK            ((1<<5)-1)
+-#define S3C2410_PLLCON_SDIVMASK            3
+-
+ /* DCLKCON register addresses in gpio.h */
+ #define S3C2410_DCLKCON_DCLK0EN            (1<<0)
+@@ -76,32 +69,6 @@
+ #define S3C2410_CLKSLOW_SLOWVAL(x)    (x)
+ #define S3C2410_CLKSLOW_GET_SLOWVAL(x)        ((x) & 7)
+-#ifndef __ASSEMBLY__
+-
+-#include <asm/div64.h>
+-
+-static inline unsigned int
+-s3c2410_get_pll(unsigned int pllval, unsigned int baseclk)
+-{
+-      unsigned int mdiv, pdiv, sdiv;
+-      uint64_t fvco;
+-
+-      mdiv = pllval >> S3C2410_PLLCON_MDIVSHIFT;
+-      pdiv = pllval >> S3C2410_PLLCON_PDIVSHIFT;
+-      sdiv = pllval >> S3C2410_PLLCON_SDIVSHIFT;
+-
+-      mdiv &= S3C2410_PLLCON_MDIVMASK;
+-      pdiv &= S3C2410_PLLCON_PDIVMASK;
+-      sdiv &= S3C2410_PLLCON_SDIVMASK;
+-
+-      fvco = (uint64_t)baseclk * (mdiv + 8);
+-      do_div(fvco, (pdiv + 2) << sdiv);
+-
+-      return (unsigned int)fvco;
+-}
+-
+-#endif /* __ASSEMBLY__ */
+-
+ #if defined(CONFIG_CPU_S3C2440) || defined(CONFIG_CPU_S3C2442)
+ /* extra registers */
+Index: linux-2.6.28/arch/arm/mach-s3c2410/include/mach/regs-gpio.h
+===================================================================
+--- linux-2.6.28.orig/arch/arm/mach-s3c2410/include/mach/regs-gpio.h   2008-12-25 00:26:37.000000000 +0100
++++ linux-2.6.28/arch/arm/mach-s3c2410/include/mach/regs-gpio.h        2009-01-02 00:01:56.000000000 +0100
+@@ -14,16 +14,7 @@
+ #ifndef __ASM_ARCH_REGS_GPIO_H
+ #define __ASM_ARCH_REGS_GPIO_H
+-#define S3C2410_GPIONO(bank,offset) ((bank) + (offset))
+-
+-#define S3C2410_GPIO_BANKA   (32*0)
+-#define S3C2410_GPIO_BANKB   (32*1)
+-#define S3C2410_GPIO_BANKC   (32*2)
+-#define S3C2410_GPIO_BANKD   (32*3)
+-#define S3C2410_GPIO_BANKE   (32*4)
+-#define S3C2410_GPIO_BANKF   (32*5)
+-#define S3C2410_GPIO_BANKG   (32*6)
+-#define S3C2410_GPIO_BANKH   (32*7)
++#include <mach/gpio-nrs.h>
+ #ifdef CONFIG_CPU_S3C2400
+ #define S3C24XX_GPIO_BASE(x)  S3C2400_GPIO_BASE(x)
+@@ -1053,13 +1044,6 @@
+ #define S3C24XX_EXTINT1          S3C24XX_GPIOREG2(0x8C)
+ #define S3C24XX_EXTINT2          S3C24XX_GPIOREG2(0x90)
+-/* values for S3C2410_EXTINT0/1/2 */
+-#define S3C2410_EXTINT_LOWLEV  (0x00)
+-#define S3C2410_EXTINT_HILEV   (0x01)
+-#define S3C2410_EXTINT_FALLEDGE        (0x02)
+-#define S3C2410_EXTINT_RISEEDGE        (0x04)
+-#define S3C2410_EXTINT_BOTHEDGE        (0x06)
+-
+ /* interrupt filtering conrrol for EINT16..EINT23 */
+ #define S3C2410_EINFLT0          S3C2410_GPIOREG(0x94)
+ #define S3C2410_EINFLT1          S3C2410_GPIOREG(0x98)
+Index: linux-2.6.28/arch/arm/mach-s3c2410/include/mach/regs-sdi.h
+===================================================================
+--- linux-2.6.28.orig/arch/arm/mach-s3c2410/include/mach/regs-sdi.h    2008-12-25 00:26:37.000000000 +0100
++++ linux-2.6.28/arch/arm/mach-s3c2410/include/mach/regs-sdi.h 2009-01-02 00:01:56.000000000 +0100
+@@ -30,6 +30,7 @@
+ #define S3C2410_SDIFSTA               (0x38)
+ #define S3C2410_SDIDATA               (0x3C)
++#define S3C2410_SDIDATA_BYTE          (0x3C)
+ #define S3C2410_SDIIMSK               (0x40)
+ #define S3C2440_SDIDATA               (0x40)
+@@ -37,6 +38,8 @@
+ #define S3C2440_SDICON_SDRESET        (1<<8)
+ #define S3C2440_SDICON_MMCCLOCK       (1<<5)
++#define S3C2440_SDIDATA_BYTE          (0x48)
++
+ #define S3C2410_SDICON_BYTEORDER      (1<<4)
+ #define S3C2410_SDICON_SDIOIRQ        (1<<3)
+ #define S3C2410_SDICON_RWAITEN        (1<<2)
+Index: linux-2.6.28/arch/arm/mach-s3c2410/include/mach/s3c24xx-serial.h
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.28/arch/arm/mach-s3c2410/include/mach/s3c24xx-serial.h   2009-01-02 00:01:56.000000000 +0100
+@@ -0,0 +1,5 @@
++#include <linux/resume-dependency.h>
++
++extern void s3c24xx_serial_console_set_silence(int silence);
++extern void s3c24xx_serial_register_resume_dependency(struct resume_dependency *
++                                           resume_dependency, int uart_index);
+Index: linux-2.6.28/arch/arm/mach-s3c2410/include/mach/spi-gpio.h
+===================================================================
+--- linux-2.6.28.orig/arch/arm/mach-s3c2410/include/mach/spi-gpio.h    2008-12-25 00:26:37.000000000 +0100
++++ linux-2.6.28/arch/arm/mach-s3c2410/include/mach/spi-gpio.h 2009-01-02 00:43:03.000000000 +0100
+@@ -21,7 +21,15 @@ struct s3c2410_spigpio_info {
+       int                      num_chipselect;
+       int                      bus_num;
+-      void (*chip_select)(struct s3c2410_spigpio_info *spi, int cs);
++      /*
++       * FIXME: board_size and board_info DO NOT belong here.
++       * These were already removed upstream... but we still rely on them
++       * so leave for now and revisit this.
++       */
++      unsigned long            board_size;
++      struct spi_board_info   *board_info;
++
++      void (*chip_select)(struct s3c2410_spigpio_info *spi, int csid, int cs);
+ };
+Index: linux-2.6.28/arch/arm/mach-s3c2410/include/mach/spi.h
+===================================================================
+--- linux-2.6.28.orig/arch/arm/mach-s3c2410/include/mach/spi.h 2008-12-25 00:26:37.000000000 +0100
++++ linux-2.6.28/arch/arm/mach-s3c2410/include/mach/spi.h      2009-01-02 00:01:56.000000000 +0100
+@@ -22,5 +22,12 @@ struct s3c2410_spi_info {
+       void (*set_cs)(struct s3c2410_spi_info *spi, int cs, int pol);
+ };
++/* Standard setup / suspend routines for SPI GPIO pins. */
++
++extern void s3c24xx_spi_gpiocfg_bus0_gpe11_12_13(struct s3c2410_spi_info *spi,
++                                               int enable);
++
++extern void s3c24xx_spi_gpiocfg_bus1_gpg5_6_7(struct s3c2410_spi_info *spi,
++                                            int enable);
+ #endif /* __ASM_ARCH_SPI_H */
+Index: linux-2.6.28/arch/arm/mach-s3c2410/include/mach/system-reset.h
+===================================================================
+--- linux-2.6.28.orig/arch/arm/mach-s3c2410/include/mach/system-reset.h        2008-12-25 00:26:37.000000000 +0100
++++ linux-2.6.28/arch/arm/mach-s3c2410/include/mach/system-reset.h     2009-01-02 00:01:56.000000000 +0100
+@@ -13,7 +13,7 @@
+ #include <mach/hardware.h>
+ #include <linux/io.h>
+-#include <asm/plat-s3c/regs-watchdog.h>
++#include <plat/regs-watchdog.h>
+ #include <mach/regs-clock.h>
+ #include <linux/clk.h>
+Index: linux-2.6.28/arch/arm/mach-s3c2410/include/mach/tick.h
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.28/arch/arm/mach-s3c2410/include/mach/tick.h     2009-01-02 00:01:56.000000000 +0100
+@@ -0,0 +1,15 @@
++/* linux/arch/arm/mach-s3c2410/include/mach/tick.h
++ *
++ * Copyright 2008 Simtec Electronics
++ *      Ben Dooks <ben@simtec.co.uk>
++ *      http://armlinux.simtec.co.uk/
++ *
++ * S3C2410 - timer tick support
++ */
++
++#define SRCPND_TIMER4 (1<<(IRQ_TIMER4 - IRQ_EINT0))
++
++static inline int s3c24xx_ostimer_pending(void)
++{
++      return __raw_readl(S3C2410_SRCPND) & SRCPND_TIMER4;
++}
+Index: linux-2.6.28/arch/arm/mach-s3c2410/include/mach/timex.h
+===================================================================
+--- linux-2.6.28.orig/arch/arm/mach-s3c2410/include/mach/timex.h       2008-12-25 00:26:37.000000000 +0100
++++ /dev/null  1970-01-01 00:00:00.000000000 +0000
+@@ -1,26 +0,0 @@
+-/* arch/arm/mach-s3c2410/include/mach/timex.h
+- *
+- * Copyright (c) 2003-2005 Simtec Electronics
+- *    Ben Dooks <ben@simtec.co.uk>
+- *
+- * S3C2410 - time parameters
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License version 2 as
+- * published by the Free Software Foundation.
+-*/
+-
+-#ifndef __ASM_ARCH_TIMEX_H
+-#define __ASM_ARCH_TIMEX_H
+-
+-/* CLOCK_TICK_RATE needs to be evaluatable by the cpp, so making it
+- * a variable is useless. It seems as long as we make our timers an
+- * exact multiple of HZ, any value that makes a 1->1 correspondence
+- * for the time conversion functions to/from jiffies is acceptable.
+-*/
+-
+-
+-#define CLOCK_TICK_RATE 12000000
+-
+-
+-#endif /* __ASM_ARCH_TIMEX_H */
+Index: linux-2.6.28/arch/arm/mach-s3c2410/include/mach/ts.h
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.28/arch/arm/mach-s3c2410/include/mach/ts.h       2009-01-02 00:01:56.000000000 +0100
+@@ -0,0 +1,35 @@
++/* arch/arm/mach-s3c2410/include/mach/ts.h
++ *
++ * Copyright (c) 2005 Arnaud Patard <arnaud.patard@rtp-net.org>
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation.
++ *
++ *
++ *  Changelog:
++ *     24-Mar-2005     RTP     Created file
++ *     03-Aug-2005     RTP     Renamed to ts.h
++ */
++
++#ifndef __ASM_ARM_TS_H
++#define __ASM_ARM_TS_H
++
++#include <linux/ts_filter.h>
++
++struct s3c2410_ts_mach_info {
++        int delay;
++        int presc;
++        /* array of pointers to filter APIs we want to use, in order
++         * ends on first NULL, all NULL is OK
++         */
++        struct ts_filter_api *filter_sequence[MAX_TS_FILTER_CHAIN];
++        /* array of configuration ints, one for each filter above */
++        void *filter_config[MAX_TS_FILTER_CHAIN];
++};
++
++void set_s3c2410ts_info(struct s3c2410_ts_mach_info *hard_s3c2410ts_info);
++
++#endif /* __ASM_ARM_TS_H */
++
+Index: linux-2.6.28/arch/arm/mach-s3c2410/include/mach/uncompress.h
+===================================================================
+--- linux-2.6.28.orig/arch/arm/mach-s3c2410/include/mach/uncompress.h  2008-12-25 00:26:37.000000000 +0100
++++ linux-2.6.28/arch/arm/mach-s3c2410/include/mach/uncompress.h       2009-01-02 00:01:56.000000000 +0100
+@@ -1,3 +1,4 @@
++
+ /* arch/arm/mach-s3c2410/include/mach/uncompress.h
+  *
+  * Copyright (c) 2003, 2007 Simtec Electronics
+Index: linux-2.6.28/arch/arm/mach-s3c2410/include/mach/vmalloc.h
+===================================================================
+--- linux-2.6.28.orig/arch/arm/mach-s3c2410/include/mach/vmalloc.h     2008-12-25 00:26:37.000000000 +0100
++++ /dev/null  1970-01-01 00:00:00.000000000 +0000
+@@ -1,20 +0,0 @@
+-/* arch/arm/mach-s3c2410/include/mach/vmalloc.h
+- *
+- * from arch/arm/mach-iop3xx/include/mach/vmalloc.h
+- *
+- * Copyright (c) 2003 Simtec Electronics <linux@simtec.co.uk>
+- *                  http://www.simtec.co.uk/products/SWLINUX/
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License version 2 as
+- * published by the Free Software Foundation.
+- *
+- * S3C2410 vmalloc definition
+-*/
+-
+-#ifndef __ASM_ARCH_VMALLOC_H
+-#define __ASM_ARCH_VMALLOC_H
+-
+-#define VMALLOC_END     (0xE0000000)
+-
+-#endif /* __ASM_ARCH_VMALLOC_H */
+Index: linux-2.6.28/arch/arm/mach-s3c2410/Kconfig
+===================================================================
+--- linux-2.6.28.orig/arch/arm/mach-s3c2410/Kconfig    2008-12-25 00:26:37.000000000 +0100
++++ linux-2.6.28/arch/arm/mach-s3c2410/Kconfig 2009-01-02 00:01:56.000000000 +0100
+@@ -9,6 +9,7 @@ config CPU_S3C2410
+       depends on ARCH_S3C2410
+       select S3C2410_CLOCK
+       select S3C2410_GPIO
++      select S3C2410_PWM
+       select CPU_LLSERIAL_S3C2410
+       select S3C2410_PM if PM
+       help
+@@ -32,11 +33,6 @@ config S3C2410_GPIO
+       help
+         GPIO code for S3C2410 and similar processors
+-config S3C2410_CLOCK
+-      bool
+-      help
+-        Clock code for the S3C2410, and similar processors
+-
+ config SIMTEC_NOR
+       bool
+       help
+@@ -49,6 +45,12 @@ config MACH_BAST_IDE
+         Internal node for machines with an BAST style IDE
+         interface
++config S3C2410_PWM
++      bool
++      help
++        PWM timer code for the S3C2410, and similar processors
++
++
+ menu "S3C2410 Machines"
+ config ARCH_SMDK2410
+@@ -84,6 +86,7 @@ config ARCH_BAST
+       select PM_SIMTEC if PM
+       select SIMTEC_NOR
+       select MACH_BAST_IDE
++      select S3C24XX_DCLK
+       select ISA
+       help
+         Say Y here if you are using the Simtec Electronics EB2410ITX
+@@ -121,6 +124,7 @@ config MACH_TCT_HAMMER
+ config MACH_VR1000
+       bool "Thorcom VR1000"
+       select PM_SIMTEC if PM
++      select S3C24XX_DCLK
+       select SIMTEC_NOR
+       select MACH_BAST_IDE
+       select CPU_S3C2410
+@@ -130,7 +134,16 @@ config MACH_VR1000
+ config MACH_QT2410
+       bool "QT2410"
+       select CPU_S3C2410
++      select DISPLAY_JBT6K74
+       help
+          Say Y here if you are using the Armzone QT2410
++config MACH_NEO1973_GTA01
++      bool "FIC Neo1973 GSM Phone (GTA01 Hardware)"
++      select CPU_S3C2410
++      select MACH_NEO1973
++      select SENSORS_PCF50606
++      help
++         Say Y here if you are using the FIC Neo1973 GSM Phone
++
+ endmenu
+Index: linux-2.6.28/arch/arm/mach-s3c2410/mach-amlm5900.c
+===================================================================
+--- linux-2.6.28.orig/arch/arm/mach-s3c2410/mach-amlm5900.c    2008-12-25 00:26:37.000000000 +0100
++++ linux-2.6.28/arch/arm/mach-s3c2410/mach-amlm5900.c 2009-01-02 00:01:56.000000000 +0100
+@@ -52,6 +52,7 @@
+ #include <mach/regs-lcd.h>
+ #include <mach/regs-gpio.h>
++#include <plat/iic.h>
+ #include <plat/devs.h>
+ #include <plat/cpu.h>
+@@ -150,7 +151,7 @@ static struct platform_device *amlm5900_
+ #endif
+       &s3c_device_adc,
+       &s3c_device_wdt,
+-      &s3c_device_i2c,
++      &s3c_device_i2c0,
+       &s3c_device_usb,
+       &s3c_device_rtc,
+       &s3c_device_usbgadget,
+@@ -233,6 +234,7 @@ static void __init amlm5900_init(void)
+ #ifdef CONFIG_FB_S3C2410
+       s3c24xx_fb_set_platdata(&amlm5900_fb_info);
+ #endif
++      s3c_i2c0_set_platdata(NULL);
+       platform_add_devices(amlm5900_devices, ARRAY_SIZE(amlm5900_devices));
+ }
+Index: linux-2.6.28/arch/arm/mach-s3c2410/mach-bast.c
+===================================================================
+--- linux-2.6.28.orig/arch/arm/mach-s3c2410/mach-bast.c        2008-12-25 00:26:37.000000000 +0100
++++ linux-2.6.28/arch/arm/mach-s3c2410/mach-bast.c     2009-01-02 00:01:56.000000000 +0100
+@@ -44,8 +44,8 @@
+ #include <mach/regs-mem.h>
+ #include <mach/regs-lcd.h>
+-#include <asm/plat-s3c/nand.h>
+-#include <asm/plat-s3c/iic.h>
++#include <plat/nand.h>
++#include <plat/iic.h>
+ #include <mach/fb.h>
+ #include <linux/mtd/mtd.h>
+@@ -406,7 +406,7 @@ static struct platform_device bast_sio =
+  * standard 100KHz i2c bus frequency
+ */
+-static struct s3c2410_platform_i2c bast_i2c_info = {
++static struct s3c2410_platform_i2c __initdata bast_i2c_info = {
+       .flags          = 0,
+       .slave_addr     = 0x10,
+       .bus_freq       = 100*1000,
+@@ -553,7 +553,7 @@ static struct platform_device *bast_devi
+       &s3c_device_usb,
+       &s3c_device_lcd,
+       &s3c_device_wdt,
+-      &s3c_device_i2c,
++      &s3c_device_i2c0,
+       &s3c_device_rtc,
+       &s3c_device_nand,
+       &bast_device_dm9k,
+@@ -588,7 +588,8 @@ static void __init bast_map_io(void)
+       s3c24xx_register_clocks(bast_clocks, ARRAY_SIZE(bast_clocks));
+       s3c_device_nand.dev.platform_data = &bast_nand_info;
+-      s3c_device_i2c.dev.platform_data = &bast_i2c_info;
++
++      s3c_i2c0_set_platdata(&bast_i2c_info);
+       s3c24xx_init_io(bast_iodesc, ARRAY_SIZE(bast_iodesc));
+       s3c24xx_init_clocks(0);
+Index: linux-2.6.28/arch/arm/mach-s3c2410/mach-gta01.c
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.28/arch/arm/mach-s3c2410/mach-gta01.c    2009-01-02 00:01:56.000000000 +0100
+@@ -0,0 +1,786 @@
++/*
++ * linux/arch/arm/mach-s3c2410/mach-gta01.c
++ *
++ * S3C2410 Machine Support for the FIC Neo1973 GTA01
++ *
++ * Copyright (C) 2006-2007 by Openmoko, Inc.
++ * Author: Harald Welte <laforge@openmoko.org>
++ * All rights reserved.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation; either version 2 of
++ * the License, or (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
++ * MA 02111-1307 USA
++ *
++ */
++
++#include <linux/kernel.h>
++#include <linux/types.h>
++#include <linux/interrupt.h>
++#include <linux/list.h>
++#include <linux/timer.h>
++#include <linux/init.h>
++#include <linux/workqueue.h>
++#include <linux/platform_device.h>
++#include <linux/i2c.h>
++#include <linux/serial_core.h>
++#include <mach/ts.h>
++#include <linux/spi/spi.h>
++#include <linux/spi/spi_bitbang.h>
++#include <linux/mmc/mmc.h>
++#include <linux/mmc/host.h>
++
++#include <linux/mtd/mtd.h>
++#include <linux/mtd/nand.h>
++#include <linux/mtd/nand_ecc.h>
++#include <linux/mtd/partitions.h>
++
++#include <linux/mmc/host.h>
++
++#include <linux/pcf50606.h>
++
++#include <asm/mach/arch.h>
++#include <asm/mach/map.h>
++#include <asm/mach/irq.h>
++
++#include <mach/hardware.h>
++#include <mach/io.h>
++#include <asm/irq.h>
++#include <asm/mach-types.h>
++
++#include <mach/regs-gpio.h>
++#include <mach/fb.h>
++#include <mach/mci.h>
++#include <mach/spi.h>
++#include <mach/spi-gpio.h>
++#include <mach/usb-control.h>
++
++#include <mach/gta01.h>
++
++#include <plat/regs-serial.h>
++#include <plat/nand.h>
++#include <plat/devs.h>
++#include <plat/cpu.h>
++#include <plat/pm.h>
++#include <plat/udc.h>
++#include <plat/iic.h>
++#include <asm/plat-s3c24xx/neo1973.h>
++#include <mach/neo1973-pm-gsm.h>
++
++#include <linux/jbt6k74.h>
++
++#include <linux/ts_filter_mean.h>
++#include <linux/ts_filter_median.h>
++
++
++static struct map_desc gta01_iodesc[] __initdata = {
++      {
++              .virtual        = 0xe0000000,
++              .pfn            = __phys_to_pfn(S3C2410_CS3+0x01000000),
++              .length         = SZ_1M,
++              .type           = MT_DEVICE
++      },
++};
++
++#define UCON S3C2410_UCON_DEFAULT
++#define ULCON S3C2410_LCON_CS8 | S3C2410_LCON_PNONE | S3C2410_LCON_STOPB
++#define UFCON S3C2410_UFCON_RXTRIG8 | S3C2410_UFCON_FIFOMODE
++/* UFCON for the gta01 sets the FIFO trigger level at 4, not 8 */
++#define UFCON_GTA01_PORT0 S3C2410_UFCON_FIFOMODE
++
++static struct s3c2410_uartcfg gta01_uartcfgs[] = {
++      [0] = {
++              .hwport      = 0,
++              .flags       = 0,
++              .ucon        = UCON,
++              .ulcon       = ULCON,
++              .ufcon       = UFCON_GTA01_PORT0,
++      },
++      [1] = {
++              .hwport      = 1,
++              .flags       = 0,
++              .ucon        = UCON,
++              .ulcon       = ULCON,
++              .ufcon       = UFCON,
++      },
++};
++
++/* PMU driver info */
++
++static int pmu_callback(struct device *dev, unsigned int feature,
++                      enum pmu_event event)
++{
++      switch (feature) {
++      case PCF50606_FEAT_ACD:
++              switch (event) {
++              case PMU_EVT_INSERT:
++                      pcf50606_charge_fast(pcf50606_global, 1);
++                      break;
++              case PMU_EVT_REMOVE:
++                      pcf50606_charge_fast(pcf50606_global, 0);
++                      break;
++              default:
++                      break;
++              }
++              break;
++      default:
++              break;
++      }
++
++      return 0;
++}
++
++static struct pcf50606_platform_data gta01_pcf_pdata = {
++      .used_features  = PCF50606_FEAT_EXTON |
++                        PCF50606_FEAT_MBC |
++                        PCF50606_FEAT_BBC |
++                        PCF50606_FEAT_RTC |
++                        PCF50606_FEAT_WDT |
++                        PCF50606_FEAT_CHGCUR |
++                        PCF50606_FEAT_BATVOLT |
++                        PCF50606_FEAT_BATTEMP,
++      .onkey_seconds_required = 3,
++      .cb             = &pmu_callback,
++      .r_fix_batt     = 10000,
++      .r_fix_batt_par = 10000,
++      .r_sense_milli  = 220,
++      .rails  = {
++              [PCF50606_REGULATOR_D1REG] = {
++                      .name           = "bt_3v15",
++                      .voltage        = {
++                              .init   = 3150,
++                              .max    = 3150,
++                      },
++              },
++              [PCF50606_REGULATOR_D2REG] = {
++                      .name           = "gl_2v5",
++                      .voltage        = {
++                              .init   = 2500,
++                              .max    = 2500,
++                      },
++              },
++              [PCF50606_REGULATOR_D3REG] = {
++                      .name           = "stby_1v8",
++                      .flags          = PMU_VRAIL_F_SUSPEND_ON,
++                      .voltage        = {
++                              .init   = 1800,
++                              .max    = 2100,
++                      },
++              },
++              [PCF50606_REGULATOR_DCD] = {
++                      .name           = "gl_1v5",
++                      .voltage        = {
++                              .init   = 1500,
++                              .max    = 1500,
++                      },
++              },
++              [PCF50606_REGULATOR_DCDE] = {
++                      .name           = "io_3v3",
++                      .flags          = PMU_VRAIL_F_SUSPEND_ON,
++                      .voltage        = {
++                              .init   = 3300,
++                              .max    = 3330,
++                      },
++              },
++              [PCF50606_REGULATOR_DCUD] = {
++                      .name           = "core_1v8",
++                      .flags          = PMU_VRAIL_F_SUSPEND_ON,
++                      .voltage        = {
++                              .init   = 2100,
++                              .max    = 2100,
++                      },
++              },
++              [PCF50606_REGULATOR_IOREG] = {
++                      .name           = "codec_3v3",
++                      .voltage        = {
++                              .init   = 3300,
++                              .max    = 3300,
++                      },
++              },
++              [PCF50606_REGULATOR_LPREG] = {
++                      .name           = "lcm_3v3",
++                      .voltage        = {
++                              .init   = 3300,
++                              .max    = 3300,
++                      },
++              }
++      },
++};
++
++static void cfg_pmu_vrail(struct pmu_voltage_rail *vrail, char *name,
++                        unsigned int flags, unsigned int init,
++                        unsigned int max)
++{
++      vrail->name = name;
++      vrail->flags = flags;
++      vrail->voltage.init = init;
++      vrail->voltage.max = max;
++}
++
++static void mangle_pmu_pdata_by_system_rev(void)
++{
++      switch (system_rev) {
++      case GTA01Bv4_SYSTEM_REV:
++              gta01_pcf_pdata.used_features |= PCF50606_FEAT_ACD;
++              break;
++      case GTA01Bv3_SYSTEM_REV:
++      case GTA01Bv2_SYSTEM_REV:
++              gta01_pcf_pdata.rails[PCF50606_REGULATOR_D3REG]
++                                      .name = "user1";
++              gta01_pcf_pdata.rails[PCF50606_REGULATOR_D3REG]
++                                      .flags &= ~PMU_VRAIL_F_SUSPEND_ON;
++              gta01_pcf_pdata.rails[PCF50606_REGULATOR_D3REG]
++                                      .flags = PMU_VRAIL_F_UNUSED;
++              break;
++      case GTA01v4_SYSTEM_REV:
++              cfg_pmu_vrail(&gta01_pcf_pdata.rails[PCF50606_REGULATOR_DCUD],
++                            "core_1v8", PMU_VRAIL_F_SUSPEND_ON, 1800, 1800);
++              cfg_pmu_vrail(&gta01_pcf_pdata.rails[PCF50606_REGULATOR_D1REG],
++                            "vrf_3v", 0, 3000, 3000);
++              cfg_pmu_vrail(&gta01_pcf_pdata.rails[PCF50606_REGULATOR_D3REG],
++                            "vtcxo_2v8", 0, 2800, 2800);
++              cfg_pmu_vrail(&gta01_pcf_pdata.rails[PCF50606_REGULATOR_DCD],
++                            "gl_3v5", 0, 3500, 3500);
++              break;
++      case GTA01v3_SYSTEM_REV:
++              cfg_pmu_vrail(&gta01_pcf_pdata.rails[PCF50606_REGULATOR_D1REG],
++                            "vrf_3v", 0, 3000, 3000);
++              cfg_pmu_vrail(&gta01_pcf_pdata.rails[PCF50606_REGULATOR_D2REG],
++                            "sd_3v3", 0, 3300, 3300);
++              cfg_pmu_vrail(&gta01_pcf_pdata.rails[PCF50606_REGULATOR_D3REG],
++                            "codec_3v3", 0, 3300, 3300);
++              cfg_pmu_vrail(&gta01_pcf_pdata.rails[PCF50606_REGULATOR_DCD],
++                            "gpsio_3v3", 0, 3300, 3300);
++              cfg_pmu_vrail(&gta01_pcf_pdata.rails[PCF50606_REGULATOR_DCUD],
++                            "core_1v8", PMU_VRAIL_F_SUSPEND_ON, 1800, 1800);
++              cfg_pmu_vrail(&gta01_pcf_pdata.rails[PCF50606_REGULATOR_IOREG],
++                            "vtcxo_2v8", 0, 2800, 2800);
++              break;
++      }
++}
++
++static struct resource gta01_pmu_resources[] = {
++      [0] = {
++              .flags  = IORESOURCE_IRQ,
++              .start  = GTA01_IRQ_PCF50606,
++              .end    = GTA01_IRQ_PCF50606,
++      },
++};
++
++struct platform_device gta01_pmu_dev = {
++      .name           = "pcf50606",
++      .num_resources  = ARRAY_SIZE(gta01_pmu_resources),
++      .resource       = gta01_pmu_resources,
++      .dev            = {
++              .platform_data = &gta01_pcf_pdata,
++      },
++};
++
++/* LCD driver info */
++
++/* Configuration for 480x640 toppoly TD028TTEC1.
++ * Do not mark this as __initdata or it will break! */
++static struct s3c2410fb_display gta01_displays[] =  {
++      {
++              .type           = S3C2410_LCDCON1_TFT,
++              .width          = 43,
++              .height         = 58,
++              .xres           = 480,
++              .yres           = 640,
++              .bpp            = 16,
++
++              .pixclock       = 40000,        /* HCLK/4 */
++              .left_margin    = 104,
++              .right_margin   = 8,
++              .hsync_len      = 8,
++              .upper_margin   = 2,
++              .lower_margin   = 16,
++              .vsync_len      = 2,
++              .lcdcon5        = S3C2410_LCDCON5_FRM565 |
++                                S3C2410_LCDCON5_INVVCLK |
++                                S3C2410_LCDCON5_INVVLINE |
++                                S3C2410_LCDCON5_INVVFRAME |
++                                S3C2410_LCDCON5_PWREN |
++                                S3C2410_LCDCON5_HWSWP,
++      },
++      {
++              .type           = S3C2410_LCDCON1_TFT,
++              .width          = 43,
++              .height         = 58,
++              .xres           = 480,
++              .yres           = 640,
++              .bpp            = 32,
++
++              .pixclock       = 40000,        /* HCLK/4 */
++              .left_margin    = 104,
++              .right_margin   = 8,
++              .hsync_len      = 8,
++              .upper_margin   = 2,
++              .lower_margin   = 16,
++              .vsync_len      = 2,
++              .lcdcon5        = S3C2410_LCDCON5_FRM565 |
++                                S3C2410_LCDCON5_INVVCLK |
++                                S3C2410_LCDCON5_INVVLINE |
++                                S3C2410_LCDCON5_INVVFRAME |
++                                S3C2410_LCDCON5_PWREN |
++                                S3C2410_LCDCON5_HWSWP,
++      },
++      {
++              .type           = S3C2410_LCDCON1_TFT,
++              .width          = 43,
++              .height         = 58,
++              .xres           = 240,
++              .yres           = 320,
++              .bpp            = 16,
++
++              .pixclock       = 40000,        /* HCLK/4 */
++              .left_margin    = 104,
++              .right_margin   = 8,
++              .hsync_len      = 8,
++              .upper_margin   = 2,
++              .lower_margin   = 16,
++              .vsync_len      = 2,
++              .lcdcon5        = S3C2410_LCDCON5_FRM565 |
++                                S3C2410_LCDCON5_INVVCLK |
++                                S3C2410_LCDCON5_INVVLINE |
++                                S3C2410_LCDCON5_INVVFRAME |
++                                S3C2410_LCDCON5_PWREN |
++                                S3C2410_LCDCON5_HWSWP,
++      },
++};
++
++static struct s3c2410fb_mach_info gta01_lcd_cfg __initdata = {
++      .displays       = gta01_displays,
++      .num_displays   = ARRAY_SIZE(gta01_displays),
++      .default_display = 0,
++
++      .lpcsel         = ((0xCE6) & ~7) | 1<<4,
++};
++
++static struct platform_device *gta01_devices[] __initdata = {
++      &s3c_device_usb,
++      &s3c_device_lcd,
++      &s3c_device_wdt,
++      &s3c_device_i2c0,
++      &s3c_device_iis,
++      &s3c_device_sdi,
++      &s3c_device_usbgadget,
++      &s3c_device_nand,
++      &s3c_device_ts,
++};
++
++static struct s3c2410_nand_set gta01_nand_sets[] = {
++      [0] = {
++              .name           = "neo1973-nand",
++              .nr_chips       = 1,
++              .flags          = S3C2410_NAND_BBT,
++      },
++};
++
++static struct s3c2410_platform_nand gta01_nand_info = {
++      .tacls          = 20,
++      .twrph0         = 60,
++      .twrph1         = 20,
++      .nr_sets        = ARRAY_SIZE(gta01_nand_sets),
++      .sets           = gta01_nand_sets,
++};
++
++static void gta01_mmc_set_power(unsigned char power_mode, unsigned short vdd)
++{
++      int bit;
++      int mv = 1700; /* 1.7V for MMC_VDD_165_195 */
++
++      printk(KERN_DEBUG "mmc_set_power(power_mode=%u, vdd=%u)\n",
++             power_mode, vdd);
++
++      switch (system_rev) {
++      case GTA01v3_SYSTEM_REV:
++              switch (power_mode) {
++              case MMC_POWER_OFF:
++                      pcf50606_onoff_set(pcf50606_global,
++                                         PCF50606_REGULATOR_D2REG, 0);
++                      break;
++              case MMC_POWER_ON:
++                      /* translate MMC_VDD_* VDD bit to mv */
++                      for (bit = 8; bit != 24; bit++)
++                              if (vdd == (1 << bit))
++                                      mv += 100 * (bit - 4);
++                      pcf50606_voltage_set(pcf50606_global,
++                                           PCF50606_REGULATOR_D2REG, mv);
++                      pcf50606_onoff_set(pcf50606_global,
++                                         PCF50606_REGULATOR_D2REG, 1);
++                      break;
++              }
++              break;
++      case GTA01v4_SYSTEM_REV:
++      case GTA01Bv2_SYSTEM_REV:
++      case GTA01Bv3_SYSTEM_REV:
++      case GTA01Bv4_SYSTEM_REV:
++              switch (power_mode) {
++              case MMC_POWER_OFF:
++                      neo1973_gpb_setpin(GTA01_GPIO_SDMMC_ON, 1);
++                      break;
++              case MMC_POWER_ON:
++                      neo1973_gpb_setpin(GTA01_GPIO_SDMMC_ON, 0);
++                      break;
++              }
++              break;
++      }
++}
++
++static struct s3c24xx_mci_pdata gta01_mmc_cfg = {
++      .gpio_detect    = GTA01_GPIO_nSD_DETECT,
++      .set_power      = &gta01_mmc_set_power,
++      .ocr_avail      = MMC_VDD_165_195|MMC_VDD_20_21|
++                        MMC_VDD_21_22|MMC_VDD_22_23|MMC_VDD_23_24|
++                        MMC_VDD_24_25|MMC_VDD_25_26|MMC_VDD_26_27|
++                        MMC_VDD_27_28|MMC_VDD_28_29|MMC_VDD_29_30|
++                        MMC_VDD_30_31|MMC_VDD_31_32|MMC_VDD_32_33,
++};
++
++static void gta01_udc_command(enum s3c2410_udc_cmd_e cmd)
++{
++      printk(KERN_DEBUG "%s(%d)\n", __func__, cmd);
++
++      switch (cmd) {
++      case S3C2410_UDC_P_ENABLE:
++              neo1973_gpb_setpin(GTA01_GPIO_USB_PULLUP, 1);
++              break;
++      case S3C2410_UDC_P_DISABLE:
++              neo1973_gpb_setpin(GTA01_GPIO_USB_PULLUP, 0);
++              break;
++      default:
++              break;
++      }
++}
++
++/* use a work queue, since I2C API inherently schedules
++ * and we get called in hardirq context from UDC driver */
++
++struct vbus_draw {
++      struct work_struct work;
++      int ma;
++};
++static struct vbus_draw gta01_udc_vbus_drawer;
++
++static void __gta01_udc_vbus_draw(struct work_struct *work)
++{
++      /* this is a fix to work around boot-time ordering problems if the
++       * s3c2410_udc is initialized before the pcf50606 driver has defined
++       * pcf50606_global */
++      if (!pcf50606_global)
++              return;
++
++      if (gta01_udc_vbus_drawer.ma >= 500) {
++              /* enable fast charge */
++              printk(KERN_DEBUG "udc: enabling fast charge\n");
++              pcf50606_charge_fast(pcf50606_global, 1);
++      } else {
++              /* disable fast charge */
++              printk(KERN_DEBUG "udc: disabling fast charge\n");
++              pcf50606_charge_fast(pcf50606_global, 0);
++      }
++}
++
++static void gta01_udc_vbus_draw(unsigned int ma)
++{
++      gta01_udc_vbus_drawer.ma = ma;
++      schedule_work(&gta01_udc_vbus_drawer.work);
++}
++
++static struct s3c2410_udc_mach_info gta01_udc_cfg = {
++      .vbus_draw      = gta01_udc_vbus_draw,
++};
++
++
++/* touchscreen configuration */
++
++static struct ts_filter_median_configuration gta01_ts_median_config = {
++      .extent = 31,
++      .decimation_below = 24,
++      .decimation_threshold = 8 * 3,
++      .decimation_above = 12,
++};
++
++static struct ts_filter_mean_configuration gta01_ts_mean_config = {
++      .bits_filter_length = 5,
++      .averaging_threshold = 12
++};
++
++static struct s3c2410_ts_mach_info gta01_ts_cfg = {
++      .delay = 10000,
++      .presc = 0xff, /* slow as we can go */
++      .filter_sequence = {
++              [0] = &ts_filter_median_api,
++              [1] = &ts_filter_mean_api,
++      },
++      .filter_config = {
++              [0] = &gta01_ts_median_config,
++              [1] = &gta01_ts_mean_config,
++      },
++};
++
++
++/* SPI */
++
++static void gta01_jbt6k74_reset(int devidx, int level)
++{
++      /* empty place holder; gta01 does not yet use this */
++      printk(KERN_DEBUG "gta01_jbt6k74_reset\n");
++}
++
++static void gta01_jbt6k74_resuming(int devidx)
++{
++      gta01bl_deferred_resume();
++}
++
++const struct jbt6k74_platform_data gta01_jbt6k74_pdata = {
++      .reset          = gta01_jbt6k74_reset,
++      .resuming       = gta01_jbt6k74_resuming,
++};
++
++static struct spi_board_info gta01_spi_board_info[] = {
++      {
++              .modalias       = "jbt6k74",
++              .platform_data  = &gta01_jbt6k74_pdata,
++              /* controller_data */
++              /* irq */
++              .max_speed_hz   = 10 * 1000 * 1000,
++              .bus_num        = 1,
++              /* chip_select */
++      },
++};
++
++static void spi_gpio_cs(struct s3c2410_spigpio_info *spi, int csidx, int cs)
++{
++      switch (cs) {
++      case BITBANG_CS_ACTIVE:
++              s3c2410_gpio_setpin(S3C2410_GPG3, 0);
++              break;
++      case BITBANG_CS_INACTIVE:
++              s3c2410_gpio_setpin(S3C2410_GPG3, 1);
++              break;
++      }
++}
++
++static struct s3c2410_spigpio_info spi_gpio_cfg = {
++      .pin_clk        = S3C2410_GPG7,
++      .pin_mosi       = S3C2410_GPG6,
++      .pin_miso       = S3C2410_GPG5,
++      .board_size     = ARRAY_SIZE(gta01_spi_board_info),
++      .board_info     = gta01_spi_board_info,
++      .chip_select    = &spi_gpio_cs,
++      .num_chipselect = 2,   /*** Should be 1 or 2 for gta01? ***/
++};
++
++static struct resource s3c_spi_lcm_resource[] = {
++      [0] = {
++              .start = S3C2410_GPG3,
++              .end   = S3C2410_GPG3,
++      },
++      [1] = {
++              .start = S3C2410_GPG5,
++              .end   = S3C2410_GPG5,
++      },
++      [2] = {
++              .start = S3C2410_GPG6,
++              .end   = S3C2410_GPG6,
++      },
++      [3] = {
++              .start = S3C2410_GPG7,
++              .end   = S3C2410_GPG7,
++      },
++};
++
++struct platform_device s3c_device_spi_lcm = {
++      .name             = "spi_s3c24xx_gpio",
++      .id               = 1,
++      .num_resources    = ARRAY_SIZE(s3c_spi_lcm_resource),
++      .resource         = s3c_spi_lcm_resource,
++      .dev = {
++              .platform_data = &spi_gpio_cfg,
++      },
++};
++
++static struct gta01bl_machinfo backlight_machinfo = {
++      .default_intensity      = 1,
++      .max_intensity          = 1,
++      .limit_mask             = 1,
++      .defer_resume_backlight = 1,
++};
++
++static struct resource gta01_bl_resources[] = {
++      [0] = {
++              .start  = GTA01_GPIO_BACKLIGHT,
++              .end    = GTA01_GPIO_BACKLIGHT,
++      },
++};
++
++struct platform_device gta01_bl_dev = {
++      .name           = "gta01-bl",
++      .num_resources  = ARRAY_SIZE(gta01_bl_resources),
++      .resource       = gta01_bl_resources,
++      .dev            = {
++              .platform_data = &backlight_machinfo,
++      },
++};
++
++static struct resource gta01_led_resources[] = {
++      [0] = {
++              .start  = GTA01_GPIO_VIBRATOR_ON,
++              .end    = GTA01_GPIO_VIBRATOR_ON,
++      },
++};
++
++struct platform_device gta01_led_dev = {
++      .name           = "neo1973-vibrator",
++      .num_resources  = ARRAY_SIZE(gta01_led_resources),
++      .resource       = gta01_led_resources,
++};
++
++static struct resource gta01_button_resources[] = {
++      [0] = {
++              .start = GTA01_GPIO_AUX_KEY,
++              .end   = GTA01_GPIO_AUX_KEY,
++      },
++      [1] = {
++              .start = GTA01_GPIO_HOLD_KEY,
++              .end   = GTA01_GPIO_HOLD_KEY,
++      },
++      [2] = {
++              .start = GTA01_GPIO_JACK_INSERT,
++              .end   = GTA01_GPIO_JACK_INSERT,
++      },
++      [3] = {
++              .start = 0,
++              .end   = 0,
++      },
++      [4] = {
++              .start = 0,
++              .end   = 0,
++      },
++};
++
++struct platform_device gta01_button_dev = {
++      .name           = "neo1973-button",
++      .num_resources  = ARRAY_SIZE(gta01_button_resources),
++      .resource       = gta01_button_resources,
++};
++
++static struct platform_device gta01_pm_gsm_dev = {
++      .name           = "neo1973-pm-gsm",
++};
++
++/* USB */
++static struct s3c2410_hcd_info gta01_usb_info = {
++      .port[0]        = {
++              .flags  = S3C_HCDFLG_USED,
++      },
++      .port[1]        = {
++              .flags  = 0,
++      },
++};
++
++static void __init gta01_map_io(void)
++{
++      s3c24xx_init_io(gta01_iodesc, ARRAY_SIZE(gta01_iodesc));
++      s3c24xx_init_clocks(12*1000*1000);
++      s3c24xx_init_uarts(gta01_uartcfgs, ARRAY_SIZE(gta01_uartcfgs));
++}
++
++static irqreturn_t gta01_modem_irq(int irq, void *param)
++{
++      printk(KERN_DEBUG "GSM wakeup interrupt (IRQ %d)\n", irq);
++      gta_gsm_interrupts++;
++      return IRQ_HANDLED;
++}
++
++static void __init gta01_machine_init(void)
++{
++      int rc;
++
++      if (system_rev == GTA01v4_SYSTEM_REV ||
++          system_rev == GTA01Bv2_SYSTEM_REV ||
++          system_rev == GTA01Bv3_SYSTEM_REV ||
++          system_rev == GTA01Bv4_SYSTEM_REV) {
++              gta01_udc_cfg.udc_command = gta01_udc_command;
++              gta01_mmc_cfg.ocr_avail = MMC_VDD_32_33;
++      }
++
++      s3c_device_usb.dev.platform_data = &gta01_usb_info;
++      s3c_device_nand.dev.platform_data = &gta01_nand_info;
++      s3c_device_sdi.dev.platform_data = &gta01_mmc_cfg;
++
++      s3c24xx_fb_set_platdata(&gta01_lcd_cfg);
++
++      INIT_WORK(&gta01_udc_vbus_drawer.work, __gta01_udc_vbus_draw);
++      s3c24xx_udc_set_platdata(&gta01_udc_cfg);
++      s3c_i2c0_set_platdata(NULL);
++      set_s3c2410ts_info(&gta01_ts_cfg);
++
++      /* Set LCD_RESET / XRES to high */
++      s3c2410_gpio_cfgpin(S3C2410_GPC6, S3C2410_GPIO_OUTPUT);
++      s3c2410_gpio_setpin(S3C2410_GPC6, 1);
++
++      /* SPI chip select is gpio output */
++      s3c2410_gpio_cfgpin(S3C2410_GPG3, S3C2410_GPIO_OUTPUT);
++      s3c2410_gpio_setpin(S3C2410_GPG3, 1);
++      platform_device_register(&s3c_device_spi_lcm);
++
++      platform_device_register(&gta01_bl_dev);
++      platform_device_register(&gta01_button_dev);
++      platform_device_register(&gta01_pm_gsm_dev);
++
++      switch (system_rev) {
++      case GTA01v3_SYSTEM_REV:
++      case GTA01v4_SYSTEM_REV:
++              /* just use the default (GTA01_IRQ_PCF50606) */
++              break;
++      case GTA01Bv2_SYSTEM_REV:
++      case GTA01Bv3_SYSTEM_REV:
++              /* just use the default (GTA01_IRQ_PCF50606) */
++              gta01_led_resources[0].start =
++                      gta01_led_resources[0].end = GTA01Bv2_GPIO_VIBRATOR_ON;
++              break;
++      case GTA01Bv4_SYSTEM_REV:
++              gta01_pmu_resources[0].start =
++                      gta01_pmu_resources[0].end = GTA01Bv4_IRQ_PCF50606;
++              gta01_led_resources[0].start =
++                      gta01_led_resources[0].end = GTA01Bv4_GPIO_VIBRATOR_ON;
++              break;
++      }
++      mangle_pmu_pdata_by_system_rev();
++      platform_device_register(&gta01_pmu_dev);
++      platform_device_register(&gta01_led_dev);
++
++      platform_add_devices(gta01_devices, ARRAY_SIZE(gta01_devices));
++
++      s3c2410_pm_init();
++
++      set_irq_type(GTA01_IRQ_MODEM, IRQ_TYPE_EDGE_RISING);
++      rc = request_irq(GTA01_IRQ_MODEM, gta01_modem_irq, IRQF_DISABLED,
++                       "modem", NULL);
++      enable_irq_wake(GTA01_IRQ_MODEM);
++      printk(KERN_DEBUG  "Enabled GSM wakeup IRQ %d (rc=%d)\n",
++             GTA01_IRQ_MODEM, rc);
++}
++
++MACHINE_START(NEO1973_GTA01, "GTA01")
++      .phys_io        = S3C2410_PA_UART,
++      .io_pg_offst    = (((u32)S3C24XX_VA_UART) >> 18) & 0xfffc,
++      .boot_params    = S3C2410_SDRAM_PA + 0x100,
++      .map_io         = gta01_map_io,
++      .init_irq       = s3c24xx_init_irq,
++      .init_machine   = gta01_machine_init,
++      .timer          = &s3c24xx_timer,
++MACHINE_END
+Index: linux-2.6.28/arch/arm/mach-s3c2410/mach-h1940.c
+===================================================================
+--- linux-2.6.28.orig/arch/arm/mach-s3c2410/mach-h1940.c       2008-12-25 00:26:37.000000000 +0100
++++ linux-2.6.28/arch/arm/mach-s3c2410/mach-h1940.c    2009-01-02 00:01:56.000000000 +0100
+@@ -38,11 +38,13 @@
+ #include <mach/h1940.h>
+ #include <mach/h1940-latch.h>
+ #include <mach/fb.h>
+-#include <asm/plat-s3c24xx/udc.h>
++#include <plat/udc.h>
++#include <plat/iic.h>
+ #include <plat/clock.h>
+ #include <plat/devs.h>
+ #include <plat/cpu.h>
++#include <plat/pll.h>
+ #include <plat/pm.h>
+ static struct map_desc h1940_iodesc[] __initdata = {
+@@ -129,6 +131,11 @@ static struct s3c2410_udc_mach_info h194
+       .vbus_pin_inverted      = 1,
+ };
++static struct s3c2410_ts_mach_info h1940_ts_cfg __initdata = {
++              .delay = 10000,
++              .presc = 49,
++              .oversampling_shift = 2,
++};
+ /**
+  * Set lcd on or off
+@@ -183,9 +190,10 @@ static struct platform_device *h1940_dev
+       &s3c_device_usb,
+       &s3c_device_lcd,
+       &s3c_device_wdt,
+-      &s3c_device_i2c,
++      &s3c_device_i2c0,
+       &s3c_device_iis,
+       &s3c_device_usbgadget,
++      &s3c_device_ts,
+       &s3c_device_leds,
+       &s3c_device_bluetooth,
+ };
+@@ -201,7 +209,7 @@ static void __init h1940_map_io(void)
+ #ifdef CONFIG_PM_H1940
+       memcpy(phys_to_virt(H1940_SUSPEND_RESUMEAT), h1940_pm_return, 1024);
+ #endif
+-      s3c2410_pm_init();
++      s3c_pm_init();
+ }
+ static void __init h1940_init_irq(void)
+@@ -214,7 +222,9 @@ static void __init h1940_init(void)
+       u32 tmp;
+       s3c24xx_fb_set_platdata(&h1940_fb_info);
++      set_s3c2410ts_info(&h1940_ts_cfg);
+       s3c24xx_udc_set_platdata(&h1940_udc_cfg);
++      s3c_i2c0_set_platdata(NULL);
+       /* Turn off suspend on both USB ports, and switch the
+        * selectable USB port to USB device mode. */
+@@ -223,10 +233,9 @@ static void __init h1940_init(void)
+                             S3C2410_MISCCR_USBSUSPND0 |
+                             S3C2410_MISCCR_USBSUSPND1, 0x0);
+-      tmp = (
+-               0x78 << S3C2410_PLLCON_MDIVSHIFT)
+-            | (0x02 << S3C2410_PLLCON_PDIVSHIFT)
+-            | (0x03 << S3C2410_PLLCON_SDIVSHIFT);
++      tmp =   (0x78 << S3C24XX_PLLCON_MDIVSHIFT)
++            | (0x02 << S3C24XX_PLLCON_PDIVSHIFT)
++            | (0x03 << S3C24XX_PLLCON_SDIVSHIFT);
+       writel(tmp, S3C2410_UPLLCON);
+       platform_add_devices(h1940_devices, ARRAY_SIZE(h1940_devices));
+Index: linux-2.6.28/arch/arm/mach-s3c2410/mach-n30.c
+===================================================================
+--- linux-2.6.28.orig/arch/arm/mach-s3c2410/mach-n30.c 2008-12-25 00:26:37.000000000 +0100
++++ linux-2.6.28/arch/arm/mach-s3c2410/mach-n30.c      2009-01-02 00:01:56.000000000 +0100
+@@ -40,14 +40,14 @@
+ #include <asm/mach/irq.h>
+ #include <asm/mach/map.h>
+-#include <asm/plat-s3c/iic.h>
++#include <plat/iic.h>
+ #include <plat/regs-serial.h>
+ #include <plat/clock.h>
+ #include <plat/cpu.h>
+ #include <plat/devs.h>
+ #include <plat/s3c2410.h>
+-#include <asm/plat-s3c24xx/udc.h>
++#include <plat/udc.h>
+ static struct map_desc n30_iodesc[] __initdata = {
+       /* nothing here yet */
+@@ -320,7 +320,7 @@ static struct s3c2410fb_mach_info n30_fb
+ static struct platform_device *n30_devices[] __initdata = {
+       &s3c_device_lcd,
+       &s3c_device_wdt,
+-      &s3c_device_i2c,
++      &s3c_device_i2c0,
+       &s3c_device_iis,
+       &s3c_device_usb,
+       &s3c_device_usbgadget,
+@@ -332,7 +332,7 @@ static struct platform_device *n30_devic
+ static struct platform_device *n35_devices[] __initdata = {
+       &s3c_device_lcd,
+       &s3c_device_wdt,
+-      &s3c_device_i2c,
++      &s3c_device_i2c0,
+       &s3c_device_iis,
+       &s3c_device_usbgadget,
+       &n35_button_device,
+@@ -501,7 +501,7 @@ static void __init n30_init_irq(void)
+ static void __init n30_init(void)
+ {
+       s3c24xx_fb_set_platdata(&n30_fb_info);
+-      s3c_device_i2c.dev.platform_data = &n30_i2ccfg;
++      s3c_device_i2c0.dev.platform_data = &n30_i2ccfg;
+       s3c24xx_udc_set_platdata(&n30_udc_cfg);
+       /* Turn off suspend on both USB ports, and switch the
+Index: linux-2.6.28/arch/arm/mach-s3c2410/mach-otom.c
+===================================================================
+--- linux-2.6.28.orig/arch/arm/mach-s3c2410/mach-otom.c        2008-12-25 00:26:37.000000000 +0100
++++ linux-2.6.28/arch/arm/mach-s3c2410/mach-otom.c     2009-01-02 00:01:56.000000000 +0100
+@@ -35,6 +35,7 @@
+ #include <plat/s3c2410.h>
+ #include <plat/clock.h>
+ #include <plat/devs.h>
++#include <plat/iic.h>
+ #include <plat/cpu.h>
+ static struct map_desc otom11_iodesc[] __initdata = {
+@@ -94,7 +95,7 @@ static struct platform_device *otom11_de
+       &s3c_device_usb,
+       &s3c_device_lcd,
+       &s3c_device_wdt,
+-      &s3c_device_i2c,
++      &s3c_device_i2c0,
+       &s3c_device_iis,
+       &s3c_device_rtc,
+       &otom_device_nor,
+@@ -109,6 +110,7 @@ static void __init otom11_map_io(void)
+ static void __init otom11_init(void)
+ {
++      s3c_i2c0_set_platdata(NULL);
+       platform_add_devices(otom11_devices, ARRAY_SIZE(otom11_devices));
+ }
+Index: linux-2.6.28/arch/arm/mach-s3c2410/mach-qt2410.c
+===================================================================
+--- linux-2.6.28.orig/arch/arm/mach-s3c2410/mach-qt2410.c      2008-12-25 00:26:37.000000000 +0100
++++ linux-2.6.28/arch/arm/mach-s3c2410/mach-qt2410.c   2009-01-02 00:01:56.000000000 +0100
+@@ -1,6 +1,6 @@
+ /* linux/arch/arm/mach-s3c2410/mach-qt2410.c
+  *
+- * Copyright (C) 2006 by OpenMoko, Inc.
++ * Copyright (C) 2006 by Openmoko, Inc.
+  * Author: Harald Welte <laforge@openmoko.org>
+  * All rights reserved.
+  *
+@@ -50,10 +50,11 @@
+ #include <mach/leds-gpio.h>
+ #include <plat/regs-serial.h>
+ #include <mach/fb.h>
+-#include <asm/plat-s3c/nand.h>
+-#include <asm/plat-s3c24xx/udc.h>
++#include <plat/nand.h>
++#include <plat/udc.h>
+ #include <mach/spi.h>
+ #include <mach/spi-gpio.h>
++#include <plat/iic.h>
+ #include <plat/common-smdk.h>
+ #include <plat/devs.h>
+@@ -213,7 +214,7 @@ static struct platform_device qt2410_led
+ /* SPI */
+-static void spi_gpio_cs(struct s3c2410_spigpio_info *spi, int cs)
++static void spi_gpio_cs(struct s3c2410_spigpio_info *spi, int csidx, int cs)
+ {
+       switch (cs) {
+       case BITBANG_CS_ACTIVE:
+@@ -247,7 +248,7 @@ static struct platform_device *qt2410_de
+       &s3c_device_usb,
+       &s3c_device_lcd,
+       &s3c_device_wdt,
+-      &s3c_device_i2c,
++      &s3c_device_i2c0,
+       &s3c_device_iis,
+       &s3c_device_sdi,
+       &s3c_device_usbgadget,
+@@ -320,6 +321,24 @@ static int __init qt2410_tft_setup(char 
+ __setup("tft=", qt2410_tft_setup);
++static struct resource qt2410_button_resources[] = {
++      [0] = {
++              .start = S3C2410_GPF0,
++              .end   = S3C2410_GPF0,
++      },
++      [1] = {
++              .start = S3C2410_GPF2,
++              .end   = S3C2410_GPF2,
++      },
++};
++
++struct platform_device qt2410_button_dev = {
++      .name           ="qt2410-button",
++      .num_resources  = ARRAY_SIZE(qt2410_button_resources),
++      .resource       = qt2410_button_resources,
++};
++
++
+ static void __init qt2410_map_io(void)
+ {
+       s3c24xx_init_io(qt2410_iodesc, ARRAY_SIZE(qt2410_iodesc));
+@@ -349,11 +368,12 @@ static void __init qt2410_machine_init(v
+       s3c2410_gpio_setpin(S3C2410_GPB0, 1);
+       s3c24xx_udc_set_platdata(&qt2410_udc_cfg);
++      s3c_i2c0_set_platdata(NULL);
+       s3c2410_gpio_cfgpin(S3C2410_GPB5, S3C2410_GPIO_OUTPUT);
+       platform_add_devices(qt2410_devices, ARRAY_SIZE(qt2410_devices));
+-      s3c2410_pm_init();
++      s3c_pm_init();
+ }
+ MACHINE_START(QT2410, "QT2410")
+Index: linux-2.6.28/arch/arm/mach-s3c2410/mach-smdk2410.c
+===================================================================
+--- linux-2.6.28.orig/arch/arm/mach-s3c2410/mach-smdk2410.c    2008-12-25 00:26:37.000000000 +0100
++++ linux-2.6.28/arch/arm/mach-s3c2410/mach-smdk2410.c 2009-01-02 00:01:56.000000000 +0100
+@@ -47,6 +47,7 @@
+ #include <asm/mach-types.h>
+ #include <plat/regs-serial.h>
++#include <plat/iic.h>
+ #include <plat/devs.h>
+ #include <plat/cpu.h>
+@@ -89,7 +90,7 @@ static struct platform_device *smdk2410_
+       &s3c_device_usb,
+       &s3c_device_lcd,
+       &s3c_device_wdt,
+-      &s3c_device_i2c,
++      &s3c_device_i2c0,
+       &s3c_device_iis,
+ };
+@@ -102,6 +103,7 @@ static void __init smdk2410_map_io(void)
+ static void __init smdk2410_init(void)
+ {
++      s3c_i2c0_set_platdata(NULL);
+       platform_add_devices(smdk2410_devices, ARRAY_SIZE(smdk2410_devices));
+       smdk_machine_init();
+ }
+Index: linux-2.6.28/arch/arm/mach-s3c2410/mach-tct_hammer.c
+===================================================================
+--- linux-2.6.28.orig/arch/arm/mach-s3c2410/mach-tct_hammer.c  2008-12-25 00:26:37.000000000 +0100
++++ linux-2.6.28/arch/arm/mach-s3c2410/mach-tct_hammer.c       2009-01-02 00:01:56.000000000 +0100
+@@ -45,6 +45,7 @@
+ #include <asm/mach-types.h>
+ #include <plat/regs-serial.h>
++#include <plat/iic.h>
+ #include <plat/devs.h>
+ #include <plat/cpu.h>
+@@ -127,7 +128,7 @@ static struct s3c2410_uartcfg tct_hammer
+ static struct platform_device *tct_hammer_devices[] __initdata = {
+       &s3c_device_adc,
+       &s3c_device_wdt,
+-      &s3c_device_i2c,
++      &s3c_device_i2c0,
+       &s3c_device_usb,
+       &s3c_device_rtc,
+       &s3c_device_usbgadget,
+@@ -146,6 +147,7 @@ static void __init tct_hammer_map_io(voi
+ static void __init tct_hammer_init(void)
+ {
++      s3c_i2c0_set_platdata(NULL);
+       platform_add_devices(tct_hammer_devices, ARRAY_SIZE(tct_hammer_devices));
+ }
+Index: linux-2.6.28/arch/arm/mach-s3c2410/mach-vr1000.c
+===================================================================
+--- linux-2.6.28.orig/arch/arm/mach-s3c2410/mach-vr1000.c      2008-12-25 00:26:37.000000000 +0100
++++ linux-2.6.28/arch/arm/mach-s3c2410/mach-vr1000.c   2009-01-02 00:01:56.000000000 +0100
+@@ -47,6 +47,7 @@
+ #include <plat/clock.h>
+ #include <plat/devs.h>
+ #include <plat/cpu.h>
++#include <plat/iic.h>
+ #include "usb-simtec.h"
+ #include "nor-simtec.h"
+@@ -334,7 +335,7 @@ static struct platform_device *vr1000_de
+       &s3c_device_usb,
+       &s3c_device_lcd,
+       &s3c_device_wdt,
+-      &s3c_device_i2c,
++      &s3c_device_i2c0,
+       &s3c_device_adc,
+       &serial_device,
+       &vr1000_dm9k0,
+@@ -384,6 +385,7 @@ static void __init vr1000_map_io(void)
+ static void __init vr1000_init(void)
+ {
++      s3c_i2c0_set_platdata(NULL);
+       platform_add_devices(vr1000_devices, ARRAY_SIZE(vr1000_devices));
+       i2c_register_board_info(0, vr1000_i2c_devs,
+Index: linux-2.6.28/arch/arm/mach-s3c2410/Makefile
+===================================================================
+--- linux-2.6.28.orig/arch/arm/mach-s3c2410/Makefile   2008-12-25 00:26:37.000000000 +0100
++++ linux-2.6.28/arch/arm/mach-s3c2410/Makefile        2009-01-02 00:01:56.000000000 +0100
+@@ -15,7 +15,8 @@ obj-$(CONFIG_CPU_S3C2410_DMA)        += dma.o
+ obj-$(CONFIG_CPU_S3C2410_DMA) += dma.o
+ obj-$(CONFIG_S3C2410_PM)      += pm.o sleep.o
+ obj-$(CONFIG_S3C2410_GPIO)    += gpio.o
+-obj-$(CONFIG_S3C2410_CLOCK)   += clock.o
++#obj-$(CONFIG_S3C2410_CLOCK)  += clock.o
++obj-$(CONFIG_S3C2410_PWM)     += pwm.o
+ # Machine support
+@@ -38,3 +39,5 @@ obj-$(CONFIG_SIMTEC_NOR)     += nor-simtec.o
+ # machine additions
+ obj-$(CONFIG_MACH_BAST_IDE)   += bast-ide.o
++obj-$(CONFIG_MACH_NEO1973_GTA01)+= mach-gta01.o
++
+Index: linux-2.6.28/arch/arm/mach-s3c2410/pm.c
+===================================================================
+--- linux-2.6.28.orig/arch/arm/mach-s3c2410/pm.c       2008-12-25 00:26:37.000000000 +0100
++++ linux-2.6.28/arch/arm/mach-s3c2410/pm.c    2009-01-02 00:01:56.000000000 +0100
+@@ -37,21 +37,14 @@
+ #include <plat/cpu.h>
+ #include <plat/pm.h>
+-#ifdef CONFIG_S3C2410_PM_DEBUG
+-extern void pm_dbg(const char *fmt, ...);
+-#define DBG(fmt...) pm_dbg(fmt)
+-#else
+-#define DBG(fmt...) printk(KERN_DEBUG fmt)
+-#endif
+-
+ static void s3c2410_pm_prepare(void)
+ {
+       /* ensure at least GSTATUS3 has the resume address */
+-      __raw_writel(virt_to_phys(s3c2410_cpu_resume), S3C2410_GSTATUS3);
++      __raw_writel(virt_to_phys(s3c_cpu_resume), S3C2410_GSTATUS3);
+-      DBG("GSTATUS3 0x%08x\n", __raw_readl(S3C2410_GSTATUS3));
+-      DBG("GSTATUS4 0x%08x\n", __raw_readl(S3C2410_GSTATUS4));
++      S3C_PMDBG("GSTATUS3 0x%08x\n", __raw_readl(S3C2410_GSTATUS3));
++      S3C_PMDBG("GSTATUS4 0x%08x\n", __raw_readl(S3C2410_GSTATUS4));
+       if (machine_is_h1940()) {
+               void *base = phys_to_virt(H1940_SUSPEND_CHECK);
+Index: linux-2.6.28/arch/arm/mach-s3c2410/pwm.c
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.28/arch/arm/mach-s3c2410/pwm.c   2009-01-02 00:01:56.000000000 +0100
+@@ -0,0 +1,288 @@
++/*
++ * arch/arm/mach-s3c2410/3c2410-pwm.c
++ *
++ * Copyright (c) by Javi Roman <javiroman@kernel-labs.org>
++ *             for the Openmoko Project.
++ *
++ *     S3C2410A SoC PWM support
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
++ *
++ */
++
++#include <linux/kernel.h>
++#include <linux/init.h>
++#include <linux/clk.h>
++#include <linux/device.h>
++#include <mach/hardware.h>
++#include <plat/regs-timer.h>
++#include <mach/pwm.h>
++#include <asm/io.h>
++
++#ifdef CONFIG_PM
++      static unsigned long standby_reg_tcon;
++      static unsigned long standby_reg_tcfg0;
++      static unsigned long standby_reg_tcfg1;
++#endif
++
++int s3c2410_pwm_disable(struct s3c2410_pwm *pwm)
++{
++      unsigned long tcon;
++
++      /* stop timer */
++      tcon = __raw_readl(S3C2410_TCON);
++      tcon &= 0xffffff00;
++      __raw_writel(tcon, S3C2410_TCON);
++
++      clk_disable(pwm->pclk);
++      clk_put(pwm->pclk);
++
++      return 0;
++}
++EXPORT_SYMBOL_GPL(s3c2410_pwm_disable);
++
++int s3c2410_pwm_init(struct s3c2410_pwm *pwm)
++{
++      pwm->pclk = clk_get(NULL, "timers");
++      if (IS_ERR(pwm->pclk))
++              return PTR_ERR(pwm->pclk);
++
++      clk_enable(pwm->pclk);
++      pwm->pclk_rate = clk_get_rate(pwm->pclk);
++      return 0;
++}
++EXPORT_SYMBOL_GPL(s3c2410_pwm_init);
++
++int s3c2410_pwm_enable(struct s3c2410_pwm *pwm)
++{
++      unsigned long tcfg0, tcfg1, tcnt, tcmp;
++
++      /* control registers bits */
++      tcfg1 = __raw_readl(S3C2410_TCFG1);
++      tcfg0 = __raw_readl(S3C2410_TCFG0);
++
++      /* divider & scaler slection */
++      switch (pwm->timerid) {
++      case PWM0:
++              tcfg1 &= ~S3C2410_TCFG1_MUX0_MASK;
++              tcfg0 &= ~S3C2410_TCFG_PRESCALER0_MASK;
++              break;
++      case PWM1:
++              tcfg1 &= ~S3C2410_TCFG1_MUX1_MASK;
++              tcfg0 &= ~S3C2410_TCFG_PRESCALER0_MASK;
++              break;
++      case PWM2:
++              tcfg1 &= ~S3C2410_TCFG1_MUX2_MASK;
++              tcfg0 &= ~S3C2410_TCFG_PRESCALER1_MASK;
++              break;
++      case PWM3:
++              tcfg1 &= ~S3C2410_TCFG1_MUX3_MASK;
++              tcfg0 &= ~S3C2410_TCFG_PRESCALER1_MASK;
++              break;
++      case PWM4:
++              /* timer four is not capable of doing PWM */
++              break;
++      default:
++              clk_disable(pwm->pclk);
++              clk_put(pwm->pclk);
++              return -1;
++      }
++
++      /* divider & scaler values */
++      tcfg1 |= pwm->divider;
++      __raw_writel(tcfg1, S3C2410_TCFG1);
++
++      switch (pwm->timerid) {
++      case PWM0:
++      case PWM1:
++              tcfg0 |= pwm->prescaler;
++              __raw_writel(tcfg0, S3C2410_TCFG0);
++              break;
++      default:
++              if ((tcfg0 | pwm->prescaler) != tcfg0) {
++                      printk(KERN_WARNING "not changing prescaler of PWM %u,"
++                             " since it's shared with timer4 (clock tick)\n",
++                             pwm->timerid);
++              }
++              break;
++      }
++
++      /* timer count and compare buffer initial values */
++      tcnt = pwm->counter;
++      tcmp = pwm->comparer;
++
++      __raw_writel(tcnt, S3C2410_TCNTB(pwm->timerid));
++      __raw_writel(tcmp, S3C2410_TCMPB(pwm->timerid));
++
++      /* ensure timer is stopped */
++      s3c2410_pwm_stop(pwm);
++
++      return 0;
++}
++EXPORT_SYMBOL_GPL(s3c2410_pwm_enable);
++
++int s3c2410_pwm_start(struct s3c2410_pwm *pwm)
++{
++      unsigned long tcon;
++
++      tcon = __raw_readl(S3C2410_TCON);
++
++      switch (pwm->timerid) {
++      case PWM0:
++              tcon |= S3C2410_TCON_T0START;
++              tcon &= ~S3C2410_TCON_T0MANUALUPD;
++              break;
++      case PWM1:
++              tcon |= S3C2410_TCON_T1START;
++              tcon &= ~S3C2410_TCON_T1MANUALUPD;
++              break;
++      case PWM2:
++              tcon |= S3C2410_TCON_T2START;
++              tcon &= ~S3C2410_TCON_T2MANUALUPD;
++              break;
++      case PWM3:
++              tcon |= S3C2410_TCON_T3START;
++              tcon &= ~S3C2410_TCON_T3MANUALUPD;
++              break;
++      case PWM4:
++              /* timer four is not capable of doing PWM */
++      default:
++              return -ENODEV;
++      }
++
++      __raw_writel(tcon, S3C2410_TCON);
++
++      return 0;
++}
++EXPORT_SYMBOL_GPL(s3c2410_pwm_start);
++
++int s3c2410_pwm_stop(struct s3c2410_pwm *pwm)
++{
++      unsigned long tcon;
++
++      tcon = __raw_readl(S3C2410_TCON);
++
++      switch (pwm->timerid) {
++      case PWM0:
++              tcon &= ~0x00000000;
++              tcon |= S3C2410_TCON_T0RELOAD;
++              tcon |= S3C2410_TCON_T0MANUALUPD;
++              break;
++      case PWM1:
++              tcon &= ~0x00000080;
++              tcon |= S3C2410_TCON_T1RELOAD;
++              tcon |= S3C2410_TCON_T1MANUALUPD;
++              break;
++      case PWM2:
++              tcon &= ~0x00000800;
++              tcon |= S3C2410_TCON_T2RELOAD;
++              tcon |= S3C2410_TCON_T2MANUALUPD;
++              break;
++      case PWM3:
++              tcon &= ~0x00008000;
++              tcon |= S3C2410_TCON_T3RELOAD;
++              tcon |= S3C2410_TCON_T3MANUALUPD;
++              break;
++      case PWM4:
++              /* timer four is not capable of doing PWM */
++      default:
++              return -ENODEV;
++      }
++
++      __raw_writel(tcon, S3C2410_TCON);
++
++      return 0;
++}
++EXPORT_SYMBOL_GPL(s3c2410_pwm_stop);
++
++int s3c2410_pwm_duty_cycle(int reg_value, struct s3c2410_pwm *pwm)
++{
++      __raw_writel(reg_value, S3C2410_TCMPB(pwm->timerid));
++
++      return 0;
++}
++EXPORT_SYMBOL_GPL(s3c2410_pwm_duty_cycle);
++
++int s3c2410_pwm_dumpregs(void)
++{
++      printk(KERN_INFO "TCON: %08lx, TCFG0: %08lx, TCFG1: %08lx\n",
++                      (unsigned long) __raw_readl(S3C2410_TCON),
++                      (unsigned long) __raw_readl(S3C2410_TCFG0),
++                      (unsigned long) __raw_readl(S3C2410_TCFG1));
++
++      return 0;
++}
++EXPORT_SYMBOL_GPL(s3c2410_pwm_dumpregs);
++
++static int __init s3c24xx_pwm_probe(struct platform_device *pdev)
++{
++      struct s3c24xx_pwm_platform_data *pdata = pdev->dev.platform_data;
++
++      dev_info(&pdev->dev, "s3c24xx_pwm is registered \n");
++
++      /* if platform was interested, give him a chance to register
++       * platform devices that switch power with us as the parent
++       * at registration time -- ensures suspend / resume ordering
++       */
++      if (pdata)
++              if (pdata->attach_child_devices)
++                      (pdata->attach_child_devices)(&pdev->dev);
++
++      return 0;
++}
++
++#ifdef CONFIG_PM
++static int s3c24xx_pwm_suspend(struct platform_device *pdev, pm_message_t state)
++{
++      /* PWM config should be kept in suspending */
++      standby_reg_tcon = __raw_readl(S3C2410_TCON);
++      standby_reg_tcfg0 = __raw_readl(S3C2410_TCFG0);
++      standby_reg_tcfg1 = __raw_readl(S3C2410_TCFG1);
++
++      return 0;
++}
++
++static int s3c24xx_pwm_resume(struct platform_device *pdev)
++{
++      __raw_writel(standby_reg_tcon, S3C2410_TCON);
++      __raw_writel(standby_reg_tcfg0, S3C2410_TCFG0);
++      __raw_writel(standby_reg_tcfg1, S3C2410_TCFG1);
++
++      return 0;
++}
++#else
++#define sc32440_pwm_suspend   NULL
++#define sc32440_pwm_resume    NULL
++#endif
++
++static struct platform_driver s3c24xx_pwm_driver = {
++      .driver = {
++              .name   = "s3c24xx_pwm",
++              .owner  = THIS_MODULE,
++      },
++      .probe   = s3c24xx_pwm_probe,
++      .suspend = s3c24xx_pwm_suspend,
++      .resume  = s3c24xx_pwm_resume,
++};
++
++static int __init s3c24xx_pwm_init(void)
++{
++      return platform_driver_register(&s3c24xx_pwm_driver);
++}
++
++static void __exit s3c24xx_pwm_exit(void)
++{
++}
++
++MODULE_AUTHOR("Javi Roman <javiroman@kernel-labs.org>");
++MODULE_LICENSE("GPL");
++
++module_init(s3c24xx_pwm_init);
++module_exit(s3c24xx_pwm_exit);
+Index: linux-2.6.28/arch/arm/mach-s3c2410/s3c2410.c
+===================================================================
+--- linux-2.6.28.orig/arch/arm/mach-s3c2410/s3c2410.c  2008-12-25 00:26:37.000000000 +0100
++++ linux-2.6.28/arch/arm/mach-s3c2410/s3c2410.c       2009-01-02 00:01:56.000000000 +0100
+@@ -16,6 +16,7 @@
+ #include <linux/list.h>
+ #include <linux/timer.h>
+ #include <linux/init.h>
++#include <linux/clk.h>
+ #include <linux/sysdev.h>
+ #include <linux/serial_core.h>
+ #include <linux/platform_device.h>
+@@ -28,6 +29,8 @@
+ #include <mach/hardware.h>
+ #include <asm/irq.h>
++#include <plat/cpu-freq.h>
++
+ #include <mach/regs-clock.h>
+ #include <plat/regs-serial.h>
+@@ -35,6 +38,7 @@
+ #include <plat/cpu.h>
+ #include <plat/devs.h>
+ #include <plat/clock.h>
++#include <plat/pll.h>
+ /* Initial IO mappings */
+@@ -59,25 +63,28 @@ void __init s3c2410_init_uarts(struct s3
+  * machine specific initialisation.
+ */
+-void __init s3c2410_map_io(struct map_desc *mach_desc, int mach_size)
++void __init s3c2410_map_io(void)
+ {
+-      /* register our io-tables */
+-
+       iotable_init(s3c2410_iodesc, ARRAY_SIZE(s3c2410_iodesc));
+-      iotable_init(mach_desc, mach_size);
+ }
+-void __init s3c2410_init_clocks(int xtal)
++void __init_or_cpufreq s3c2410_setup_clocks(void)
+ {
++      struct clk *xtal_clk;
+       unsigned long tmp;
++      unsigned long xtal;
+       unsigned long fclk;
+       unsigned long hclk;
+       unsigned long pclk;
++      xtal_clk = clk_get(NULL, "xtal");
++      xtal = clk_get_rate(xtal_clk);
++      clk_put(xtal_clk);
++
+       /* now we've got our machine bits initialised, work out what
+        * clocks we've got */
+-      fclk = s3c2410_get_pll(__raw_readl(S3C2410_MPLLCON), xtal);
++      fclk = s3c24xx_get_pll(__raw_readl(S3C2410_MPLLCON), xtal);
+       tmp = __raw_readl(S3C2410_CLKDIVN);
+@@ -95,7 +102,13 @@ void __init s3c2410_init_clocks(int xtal
+        * console to use them
+        */
+-      s3c24xx_setup_clocks(xtal, fclk, hclk, pclk);
++      s3c24xx_setup_clocks(fclk, hclk, pclk);
++}
++
++void __init s3c2410_init_clocks(int xtal)
++{
++      s3c24xx_register_baseclocks(xtal);
++      s3c2410_setup_clocks();
+       s3c2410_baseclk_add();
+ }
+Index: linux-2.6.28/arch/arm/mach-s3c2412/clock.c
+===================================================================
+--- linux-2.6.28.orig/arch/arm/mach-s3c2412/clock.c    2008-12-25 00:26:37.000000000 +0100
++++ linux-2.6.28/arch/arm/mach-s3c2412/clock.c 2009-01-02 00:01:56.000000000 +0100
+@@ -93,12 +93,6 @@ static int s3c2412_upll_enable(struct cl
+ /* clock selections */
+-/* CPU EXTCLK input */
+-static struct clk clk_ext = {
+-      .name           = "extclk",
+-      .id             = -1,
+-};
+-
+ static struct clk clk_erefclk = {
+       .name           = "erefclk",
+       .id             = -1,
+@@ -773,5 +767,6 @@ int __init s3c2412_baseclk_add(void)
+               s3c2412_clkcon_enable(clkp, 0);
+       }
++      s3c_pwmclk_init();
+       return 0;
+ }
+Index: linux-2.6.28/arch/arm/mach-s3c2412/dma.c
+===================================================================
+--- linux-2.6.28.orig/arch/arm/mach-s3c2412/dma.c      2008-12-25 00:26:37.000000000 +0100
++++ linux-2.6.28/arch/arm/mach-s3c2412/dma.c   2009-01-02 00:01:56.000000000 +0100
+@@ -26,13 +26,13 @@
+ #include <plat/regs-serial.h>
+ #include <mach/regs-gpio.h>
+-#include <asm/plat-s3c/regs-ac97.h>
++#include <plat/regs-ac97.h>
+ #include <mach/regs-mem.h>
+ #include <mach/regs-lcd.h>
+ #include <mach/regs-sdi.h>
+ #include <asm/plat-s3c24xx/regs-s3c2412-iis.h>
+ #include <asm/plat-s3c24xx/regs-iis.h>
+-#include <asm/plat-s3c24xx/regs-spi.h>
++#include <plat/regs-spi.h>
+ #define MAP(x) { (x)| DMA_CH_VALID, (x)| DMA_CH_VALID, (x)| DMA_CH_VALID, (x)| DMA_CH_VALID }
+Index: linux-2.6.28/arch/arm/mach-s3c2412/mach-jive.c
+===================================================================
+--- linux-2.6.28.orig/arch/arm/mach-s3c2412/mach-jive.c        2008-12-25 00:26:37.000000000 +0100
++++ linux-2.6.28/arch/arm/mach-s3c2412/mach-jive.c     2009-01-02 00:01:56.000000000 +0100
+@@ -31,8 +31,8 @@
+ #include <asm/mach/irq.h>
+ #include <plat/regs-serial.h>
+-#include <asm/plat-s3c/nand.h>
+-#include <asm/plat-s3c/iic.h>
++#include <plat/nand.h>
++#include <plat/iic.h>
+ #include <mach/regs-power.h>
+ #include <mach/regs-gpio.h>
+@@ -52,7 +52,8 @@
+ #include <plat/devs.h>
+ #include <plat/cpu.h>
+ #include <plat/pm.h>
+-#include <asm/plat-s3c24xx/udc.h>
++#include <plat/udc.h>
++#include <plat/iic.h>
+ static struct map_desc jive_iodesc[] __initdata = {
+ };
+@@ -450,14 +451,14 @@ static struct spi_board_info __initdata 
+ /* I2C bus and device configuration. */
+-static struct s3c2410_platform_i2c jive_i2c_cfg = {
++static struct s3c2410_platform_i2c jive_i2c_cfg __initdata = {
+       .max_freq       = 80 * 1000,
+       .bus_freq       = 50 * 1000,
+       .flags          = S3C_IICFLG_FILTER,
+       .sda_delay      = 2,
+ };
+-static struct i2c_board_info jive_i2c_devs[] = {
++static struct i2c_board_info jive_i2c_devs[] __initdata = {
+       [0] = {
+               I2C_BOARD_INFO("lis302dl", 0x1c),
+               .irq    = IRQ_EINT14,
+@@ -470,7 +471,7 @@ static struct platform_device *jive_devi
+       &s3c_device_usb,
+       &s3c_device_rtc,
+       &s3c_device_wdt,
+-      &s3c_device_i2c,
++      &s3c_device_i2c0,
+       &s3c_device_lcd,
+       &jive_device_lcdspi,
+       &jive_device_wm8750,
+@@ -492,7 +493,7 @@ static int jive_pm_suspend(struct sys_de
+        * correct address to resume from. */
+       __raw_writel(0x2BED, S3C2412_INFORM0);
+-      __raw_writel(virt_to_phys(s3c2410_cpu_resume), S3C2412_INFORM1);
++      __raw_writel(virt_to_phys(s3c_cpu_resume), S3C2412_INFORM1);
+       return 0;
+ }
+@@ -628,7 +629,7 @@ static void __init jive_machine_init(voi
+       /* initialise the power management now we've setup everything. */
+-      s3c2410_pm_init();
++      s3c_pm_init();
+       s3c_device_nand.dev.platform_data = &jive_nand_info;
+@@ -663,7 +664,7 @@ static void __init jive_machine_init(voi
+       spi_register_board_info(jive_spi_devs, ARRAY_SIZE(jive_spi_devs));
+-      s3c_device_i2c.dev.platform_data = &jive_i2c_cfg;
++      s3c_i2c0_set_platdata(&jive_i2c_cfg);
+       i2c_register_board_info(0, jive_i2c_devs, ARRAY_SIZE(jive_i2c_devs));
+       pm_power_off = jive_power_off;
+Index: linux-2.6.28/arch/arm/mach-s3c2412/mach-smdk2413.c
+===================================================================
+--- linux-2.6.28.orig/arch/arm/mach-s3c2412/mach-smdk2413.c    2008-12-25 00:26:37.000000000 +0100
++++ linux-2.6.28/arch/arm/mach-s3c2412/mach-smdk2413.c 2009-01-02 00:01:56.000000000 +0100
+@@ -37,7 +37,8 @@
+ #include <mach/regs-lcd.h>
+ #include <mach/idle.h>
+-#include <asm/plat-s3c24xx/udc.h>
++#include <plat/udc.h>
++#include <plat/iic.h>
+ #include <mach/fb.h>
+ #include <plat/s3c2410.h>
+@@ -105,7 +106,7 @@ static struct platform_device *smdk2413_
+       &s3c_device_usb,
+       //&s3c_device_lcd,
+       &s3c_device_wdt,
+-      &s3c_device_i2c,
++      &s3c_device_i2c0,
+       &s3c_device_iis,
+       &s3c_device_usbgadget,
+ };
+@@ -142,6 +143,7 @@ static void __init smdk2413_machine_init
+       s3c24xx_udc_set_platdata(&smdk2413_udc_cfg);
++      s3c_i2c0_set_platdata(NULL);
+       platform_add_devices(smdk2413_devices, ARRAY_SIZE(smdk2413_devices));
+       smdk_machine_init();
+Index: linux-2.6.28/arch/arm/mach-s3c2412/mach-vstms.c
+===================================================================
+--- linux-2.6.28.orig/arch/arm/mach-s3c2412/mach-vstms.c       2008-12-25 00:26:37.000000000 +0100
++++ linux-2.6.28/arch/arm/mach-s3c2412/mach-vstms.c    2009-01-02 00:01:56.000000000 +0100
+@@ -39,7 +39,8 @@
+ #include <mach/idle.h>
+ #include <mach/fb.h>
+-#include <asm/plat-s3c/nand.h>
++#include <plat/iic.h>
++#include <plat/nand.h>
+ #include <plat/s3c2410.h>
+ #include <plat/s3c2412.h>
+@@ -122,7 +123,7 @@ static struct s3c2410_platform_nand vstm
+ static struct platform_device *vstms_devices[] __initdata = {
+       &s3c_device_usb,
+       &s3c_device_wdt,
+-      &s3c_device_i2c,
++      &s3c_device_i2c0,
+       &s3c_device_iis,
+       &s3c_device_rtc,
+       &s3c_device_nand,
+@@ -151,6 +152,7 @@ static void __init vstms_map_io(void)
+ static void __init vstms_init(void)
+ {
++      s3c_i2c0_set_platdata(NULL);
+       platform_add_devices(vstms_devices, ARRAY_SIZE(vstms_devices));
+ }
+Index: linux-2.6.28/arch/arm/mach-s3c2412/pm.c
+===================================================================
+--- linux-2.6.28.orig/arch/arm/mach-s3c2412/pm.c       2008-12-25 00:26:37.000000000 +0100
++++ linux-2.6.28/arch/arm/mach-s3c2412/pm.c    2009-01-02 00:01:56.000000000 +0100
+@@ -85,7 +85,7 @@ static struct sleep_save s3c2412_sleep[]
+ static int s3c2412_pm_suspend(struct sys_device *dev, pm_message_t state)
+ {
+-      s3c2410_pm_do_save(s3c2412_sleep, ARRAY_SIZE(s3c2412_sleep));
++      s3c_pm_do_save(s3c2412_sleep, ARRAY_SIZE(s3c2412_sleep));
+       return 0;
+ }
+@@ -98,7 +98,7 @@ static int s3c2412_pm_resume(struct sys_
+       tmp |=  S3C2412_PWRCFG_STANDBYWFI_IDLE;
+       __raw_writel(tmp, S3C2412_PWRCFG);
+-      s3c2410_pm_do_restore(s3c2412_sleep, ARRAY_SIZE(s3c2412_sleep));
++      s3c_pm_do_restore(s3c2412_sleep, ARRAY_SIZE(s3c2412_sleep));
+       return 0;
+ }
+Index: linux-2.6.28/arch/arm/mach-s3c2412/s3c2412.c
+===================================================================
+--- linux-2.6.28.orig/arch/arm/mach-s3c2412/s3c2412.c  2008-12-25 00:26:37.000000000 +0100
++++ linux-2.6.28/arch/arm/mach-s3c2412/s3c2412.c       2009-01-02 00:01:56.000000000 +0100
+@@ -16,6 +16,7 @@
+ #include <linux/list.h>
+ #include <linux/timer.h>
+ #include <linux/init.h>
++#include <linux/clk.h>
+ #include <linux/delay.h>
+ #include <linux/sysdev.h>
+ #include <linux/serial_core.h>
+@@ -33,13 +34,15 @@
+ #include <mach/reset.h>
+ #include <mach/idle.h>
++#include <plat/cpu-freq.h>
++
+ #include <mach/regs-clock.h>
+ #include <plat/regs-serial.h>
+ #include <mach/regs-power.h>
+ #include <mach/regs-gpio.h>
+ #include <mach/regs-gpioj.h>
+ #include <mach/regs-dsc.h>
+-#include <asm/plat-s3c24xx/regs-spi.h>
++#include <plat/regs-spi.h>
+ #include <mach/regs-s3c2412.h>
+ #include <plat/s3c2412.h>
+@@ -47,6 +50,7 @@
+ #include <plat/devs.h>
+ #include <plat/clock.h>
+ #include <plat/pm.h>
++#include <plat/pll.h>
+ #ifndef CONFIG_CPU_S3C2412_ONLY
+ void __iomem *s3c24xx_va_gpio2 = S3C24XX_VA_GPIO;
+@@ -136,7 +140,7 @@ static void s3c2412_hard_reset(void)
+  * machine specific initialisation.
+ */
+-void __init s3c2412_map_io(struct map_desc *mach_desc, int mach_size)
++void __init s3c2412_map_io(void)
+ {
+       /* move base of IO */
+@@ -153,20 +157,25 @@ void __init s3c2412_map_io(struct map_de
+       /* register our io-tables */
+       iotable_init(s3c2412_iodesc, ARRAY_SIZE(s3c2412_iodesc));
+-      iotable_init(mach_desc, mach_size);
+ }
+-void __init s3c2412_init_clocks(int xtal)
++void __init_or_cpufreq s3c2412_setup_clocks(void)
+ {
++      struct clk *xtal_clk;
+       unsigned long tmp;
++      unsigned long xtal;
+       unsigned long fclk;
+       unsigned long hclk;
+       unsigned long pclk;
++      xtal_clk = clk_get(NULL, "xtal");
++      xtal = clk_get_rate(xtal_clk);
++      clk_put(xtal_clk);
++
+       /* now we've got our machine bits initialised, work out what
+        * clocks we've got */
+-      fclk = s3c2410_get_pll(__raw_readl(S3C2410_MPLLCON), xtal*2);
++      fclk = s3c24xx_get_pll(__raw_readl(S3C2410_MPLLCON), xtal * 2);
+       clk_mpll.rate = fclk;
+@@ -183,11 +192,17 @@ void __init s3c2412_init_clocks(int xtal
+       printk("S3C2412: core %ld.%03ld MHz, memory %ld.%03ld MHz, peripheral %ld.%03ld MHz\n",
+              print_mhz(fclk), print_mhz(hclk), print_mhz(pclk));
++      s3c24xx_setup_clocks(fclk, hclk, pclk);
++}
++
++void __init s3c2412_init_clocks(int xtal)
++{
+       /* initialise the clocks here, to allow other things like the
+        * console to use them
+        */
+-      s3c24xx_setup_clocks(xtal, fclk, hclk, pclk);
++      s3c24xx_register_baseclocks(xtal);
++      s3c2412_setup_clocks();
+       s3c2412_baseclk_add();
+ }
+@@ -216,5 +231,8 @@ int __init s3c2412_init(void)
+ {
+       printk("S3C2412: Initialising architecture\n");
++      /* make sure SD/MMC driver can distinguish 2412 from 2410 */
++      s3c_device_sdi.name = "s3c2412-sdi";
++
+       return sysdev_register(&s3c2412_sysdev);
+ }
+Index: linux-2.6.28/arch/arm/mach-s3c2440/camera/bits.h
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.28/arch/arm/mach-s3c2440/camera/bits.h   2009-01-02 00:01:56.000000000 +0100
+@@ -0,0 +1,48 @@
++/*
++ *  Copyright (C) Samsung Electroincs  2003
++ *  Author: SW.LEE <hitchcar@samsung.com>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ */
++
++#ifndef __SW_BITS_H
++#define __SW_BITS_H
++
++#define BIT0                            0x00000001
++#define BIT1                            0x00000002
++#define BIT2                            0x00000004
++#define BIT3                            0x00000008
++#define BIT4                            0x00000010
++#define BIT5                            0x00000020
++#define BIT6                            0x00000040
++#define BIT7                            0x00000080
++#define BIT8                            0x00000100
++#define BIT9                            0x00000200
++#define BIT10                           0x00000400
++#define BIT11                           0x00000800
++#define BIT12                           0x00001000
++#define BIT13                           0x00002000
++#define BIT14                           0x00004000
++#define BIT15                           0x00008000
++#define BIT16                           0x00010000
++#define BIT17                           0x00020000
++#define BIT18                           0x00040000
++#define BIT19                           0x00080000
++#define BIT20                           0x00100000
++#define BIT21                           0x00200000
++#define BIT22                           0x00400000
++#define BIT23                           0x00800000
++#define BIT24                           0x01000000
++#define BIT25                           0x02000000
++#define BIT26                           0x04000000
++#define BIT27                           0x08000000
++#define BIT28                           0x10000000
++#define BIT29                           0x20000000
++#define BIT30                           0x40000000
++#define BIT31                           0x80000000
++
++#endif
+Index: linux-2.6.28/arch/arm/mach-s3c2440/camera/camif.c
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.28/arch/arm/mach-s3c2440/camera/camif.c  2009-01-02 00:01:56.000000000 +0100
+@@ -0,0 +1,1047 @@
++/*
++ *   Copyright (C) 2004 Samsung Electronics 
++ *       SW.LEE <hitchcar@samsung.com>
++ *   
++ * This file is subject to the terms and conditions of the GNU General Public
++ * License 2. See the file COPYING in the main directory of this archive
++ * for more details.
++ */
++
++#include <linux/module.h>
++#include <linux/kernel.h>
++#include <linux/init.h>
++#include <linux/sched.h>
++#include <linux/irq.h>
++#include <linux/completion.h>
++#include <linux/delay.h>
++#include <linux/slab.h>
++#include <linux/vmalloc.h>
++#include <linux/miscdevice.h>
++#include <linux/wait.h>
++#include <linux/miscdevice.h>
++#include <asm/io.h>
++#include <asm/semaphore.h>
++#include <asm/hardware.h>
++#include <asm/uaccess.h>
++#include <linux/device.h>
++#include <linux/dma-mapping.h>
++#include <linux/clk.h>
++
++#ifdef CONFIG_ARCH_S3C24A0A
++#include <asm/arch/S3C24A0.h>
++#include <asm/arch/clocks.h>
++#else
++#include <asm/arch/regs-gpio.h>
++#include <asm/arch/regs-gpioj.h>
++#include <asm/arch/regs-irq.h>
++#endif
++
++#include "cam_reg.h"
++//#define SW_DEBUG
++#define CONFIG_VIDEO_V4L1_COMPAT
++#include <linux/videodev.h>
++#include "camif.h"
++#include "miscdevice.h"
++
++static int camif_dma_burst(camif_cfg_t *);
++static int camif_scaler(camif_cfg_t *);
++
++/* For SXGA Image */
++#define RESERVE_MEM  15*1024*1024
++#define YUV_MEM      10*1024*1024
++#define RGB_MEM      (RESERVE_MEM - YUV_MEM)
++
++static int camif_malloc(camif_cfg_t *cfg)
++{
++      unsigned int t_size;
++      unsigned int daon = cfg->target_x *cfg->target_y;
++
++      if(cfg->dma_type & CAMIF_CODEC) {
++              if (cfg->fmt & CAMIF_OUT_YCBCR420) {
++                      t_size = daon * 3 / 2 ;
++              }
++              else  { t_size = daon * 2; /* CAMIF_OUT_YCBCR422 */ }
++              t_size = t_size *cfg->pp_num;
++
++#ifndef SAMSUNG_SXGA_CAM
++              cfg->pp_virt_buf = dma_alloc_coherent(cfg->v->dev,
++                                                    t_size, &cfg->pp_phys_buf,
++                                                    GFP_KERNEL);
++#else
++              printk(KERN_INFO "Reserving High RAM Addresses \n");
++              cfg->pp_phys_buf = PHYS_OFFSET + (MEM_SIZE - RESERVE_MEM);
++              cfg->pp_virt_buf = ioremap_nocache(cfg->pp_phys_buf, YUV_MEM);
++#endif
++
++              if ( !cfg->pp_virt_buf ) {
++                      printk(KERN_ERR"CAMERA:Failed to request YCBCR MEM\n");
++                      return -ENOMEM;
++              }
++              memset(cfg->pp_virt_buf, 0, t_size);
++              cfg->pp_totalsize = t_size;
++              return 0;
++      }
++      if ( cfg->dma_type & CAMIF_PREVIEW ) {
++              if (cfg->fmt & CAMIF_RGB16) 
++                      t_size = daon * 2; /*  4byte per two pixel*/
++              else {
++                      assert(cfg->fmt & CAMIF_RGB24);
++                      t_size = daon * 4; /* 4byte per one pixel */
++              }
++              t_size = t_size * cfg->pp_num;
++#ifndef SAMSUNG_SXGA_CAM
++              cfg->pp_virt_buf = dma_alloc_coherent(cfg->v->dev,
++                                                    t_size, &cfg->pp_phys_buf,
++                                                    GFP_KERNEL);
++#else
++              printk(KERN_INFO "Reserving High RAM Addresses \n");
++              cfg->pp_phys_buf = PHYS_OFFSET + (MEM_SIZE - RESERVE_MEM ) + YUV_MEM;
++              cfg->pp_virt_buf = ioremap_nocache(cfg->pp_phys_buf,RGB_MEM);
++#endif
++              if ( !cfg->pp_virt_buf ) { 
++                      printk(KERN_ERR"CAMERA:Failed to request RGB MEM\n");
++                      return -ENOMEM;
++              }
++              memset(cfg->pp_virt_buf, 0, t_size);
++              cfg->pp_totalsize = t_size;
++              return 0;
++      }
++
++      return 0;               /* Never come. */
++}
++
++static int camif_demalloc(camif_cfg_t *cfg)
++{
++#ifndef SAMSUNG_SXGA_CAM
++      if ( cfg->pp_virt_buf ) {
++              dma_free_coherent(cfg->v->dev, cfg->pp_totalsize,
++                                cfg->pp_virt_buf, cfg->pp_phys_buf);
++              cfg->pp_virt_buf = 0;
++      }
++#else
++      iounmap(cfg->pp_virt_buf);
++      cfg->pp_virt_buf = 0;
++#endif
++      return 0;
++}
++
++/* 
++ * advise a person to use this func in ISR 
++ * index value indicates the next frame count to be used 
++ */
++int camif_g_frame_num(camif_cfg_t *cfg)
++{
++      int index = 0;
++
++      if (cfg->dma_type & CAMIF_CODEC ) {
++              index = FRAME_CNT(readl(camregs + S3C2440_CAM_REG_CICOSTATUS));
++              DPRINTK("CAMIF_CODEC frame %d \n", index);
++      }
++      else {
++              assert(cfg->dma_type & CAMIF_PREVIEW );
++              index = FRAME_CNT(readl(camregs + S3C2440_CAM_REG_CIPRSTATUS));
++              DPRINTK("CAMIF_PREVIEW frame %d  0x%08X \n", index,
++                      readl(camregs + S3C2440_CAM_REG_CIPRSTATUS));
++      }
++      cfg->now_frame_num = (index + 2) % 4; /* When 4 PingPong */
++      return index; /* meaningless */
++}
++
++static int camif_pp_codec(camif_cfg_t *cfg)
++{
++      u32 i, c_size; /* Cb,Cr size */
++      u32 one_p_size;
++      u32 daon = cfg->target_x * cfg->target_y;
++      if (cfg->fmt & CAMIF_OUT_YCBCR420)
++              c_size = daon / 4;
++      else {
++              assert(cfg->fmt & CAMIF_OUT_YCBCR422);
++              c_size = daon / 2;
++      }
++      switch ( cfg->pp_num ) {
++      case 1 :
++              for (i =0 ; i < 4; i++) {
++                      cfg->img_buf[i].virt_y = cfg->pp_virt_buf;
++                      cfg->img_buf[i].phys_y = cfg->pp_phys_buf;
++                      cfg->img_buf[i].virt_cb = cfg->pp_virt_buf + daon;
++                      cfg->img_buf[i].phys_cb = cfg->pp_phys_buf + daon;
++                      cfg->img_buf[i].virt_cr = cfg->pp_virt_buf + daon + c_size;
++                      cfg->img_buf[i].phys_cr = cfg->pp_phys_buf + daon + c_size;
++                      writel(cfg->img_buf[i].phys_y, camregs + S3C2440_CAM_REG_CICOYSA(i));
++                      writel(cfg->img_buf[i].phys_cb, camregs + S3C2440_CAM_REG_CICOCBSA(i));
++                      writel(cfg->img_buf[i].phys_cr, camregs + S3C2440_CAM_REG_CICOCRSA(i));
++              }
++              break;
++      case 2:
++#define  TRY   (( i%2 ) ? 1 :0)
++              one_p_size = daon + 2*c_size;
++              for (i = 0; i < 4  ; i++) {
++                      cfg->img_buf[i].virt_y = cfg->pp_virt_buf + TRY * one_p_size;
++                      cfg->img_buf[i].phys_y = cfg->pp_phys_buf + TRY * one_p_size;
++                      cfg->img_buf[i].virt_cb = cfg->pp_virt_buf + daon + TRY * one_p_size;
++                      cfg->img_buf[i].phys_cb = cfg->pp_phys_buf + daon + TRY * one_p_size;
++                      cfg->img_buf[i].virt_cr = cfg->pp_virt_buf + daon + c_size + TRY * one_p_size;
++                      cfg->img_buf[i].phys_cr = cfg->pp_phys_buf + daon + c_size + TRY * one_p_size;
++                      writel(cfg->img_buf[i].phys_y, camregs + S3C2440_CAM_REG_CICOYSA(i));
++                      writel(cfg->img_buf[i].phys_cb, camregs + S3C2440_CAM_REG_CICOCBSA(i));
++                      writel(cfg->img_buf[i].phys_cr, camregs + S3C2440_CAM_REG_CICOCRSA(i));
++              }
++              break;
++      case 4:
++              one_p_size = daon + 2*c_size;
++              for (i = 0; i < 4 ; i++) {
++                      cfg->img_buf[i].virt_y = cfg->pp_virt_buf + i * one_p_size;
++                      cfg->img_buf[i].phys_y = cfg->pp_phys_buf + i * one_p_size;
++                      cfg->img_buf[i].virt_cb = cfg->pp_virt_buf + daon + i * one_p_size;
++                      cfg->img_buf[i].phys_cb = cfg->pp_phys_buf + daon + i * one_p_size;
++                      cfg->img_buf[i].virt_cr = cfg->pp_virt_buf + daon + c_size + i * one_p_size;
++                      cfg->img_buf[i].phys_cr = cfg->pp_phys_buf + daon + c_size + i * one_p_size;
++                      writel(cfg->img_buf[i].phys_y, camregs + S3C2440_CAM_REG_CICOYSA(i));
++                      writel(cfg->img_buf[i].phys_cb, camregs + S3C2440_CAM_REG_CICOCBSA(i));
++                      writel(cfg->img_buf[i].phys_cr, camregs + S3C2440_CAM_REG_CICOCRSA(i));
++              }
++              break;
++      default:
++              printk("Invalid PingPong Number %d \n",cfg->pp_num);
++              panic("halt\n");
++}
++      return 0;
++}
++
++/* RGB Buffer Allocation */
++static int camif_pp_preview(camif_cfg_t *cfg)
++{
++      int i;
++      u32 daon = cfg->target_x * cfg->target_y;
++
++      if(cfg->fmt & CAMIF_RGB24)  
++              daon = daon * 4 ;
++      else {
++              assert (cfg->fmt & CAMIF_RGB16);
++              daon = daon *2;
++      }  
++      switch ( cfg->pp_num ) {
++              case 1:
++                      for ( i = 0; i < 4 ; i++ ) {
++                              cfg->img_buf[i].virt_rgb = cfg->pp_virt_buf ;
++                              cfg->img_buf[i].phys_rgb = cfg->pp_phys_buf ;
++                              writel(cfg->img_buf[i].phys_rgb, camregs + S3C2440_CAM_REG_CICOCRSA(i));
++                      }
++                      break;
++              case 2:
++                      for ( i = 0; i < 4 ; i++) {
++                              cfg->img_buf[i].virt_rgb = cfg->pp_virt_buf + TRY * daon;
++                              cfg->img_buf[i].phys_rgb = cfg->pp_phys_buf + TRY * daon;
++                              writel(cfg->img_buf[i].phys_rgb, camregs + S3C2440_CAM_REG_CICOCRSA(i));
++                      }
++                      break;
++              case 4:
++                      for ( i = 0; i < 4 ; i++) {
++                              cfg->img_buf[i].virt_rgb = cfg->pp_virt_buf + i * daon;
++                              cfg->img_buf[i].phys_rgb = cfg->pp_phys_buf + i * daon;
++                              writel(cfg->img_buf[i].phys_rgb, camregs + S3C2440_CAM_REG_CICOCRSA(i));
++                      }
++                      break;
++              default:
++                      printk("Invalid PingPong Number %d \n",cfg->pp_num);
++                      panic("halt\n");
++      }
++      return 0;
++}
++
++static int camif_pingpong(camif_cfg_t *cfg)
++{
++      if (cfg->dma_type & CAMIF_CODEC ) {
++              camif_pp_codec(cfg);
++      }
++
++      if ( cfg->dma_type & CAMIF_PREVIEW) {
++              camif_pp_preview(cfg);
++      }
++      return 0;
++}
++
++
++/***********       Image Convert *******************************/
++/*  Return Format 
++ *  Supported by Hardware
++ *  V4L2_PIX_FMT_YUV420,
++ *  V4L2_PIX_FMT_YUV422P,
++ *  V4L2_PIX_FMT_BGR32 (BGR4)
++ * -----------------------------------
++ *  V4L2_PIX_FMT_RGB565(X) 
++ *  Currenly 2byte --> BGR656 Format
++ *  S3C2440A,S3C24A0 supports vairants with reversed FMT_RGB565 
++    i.e  blue toward the least, red towards the most significant bit 
++    --  by SW.LEE
++ */
++
++
++/* 
++ * After calling camif_g_frame_num,
++ * this func must be called 
++ */
++u8 * camif_g_frame(camif_cfg_t *cfg)
++{
++      u8 * ret = NULL;
++      int cnt = cfg->now_frame_num;
++
++      if(cfg->dma_type & CAMIF_PREVIEW) {
++              ret = cfg->img_buf[cnt].virt_rgb;
++      }
++      if (cfg->dma_type & CAMIF_CODEC) {
++              ret = cfg->img_buf[cnt].virt_y;
++      }
++      return ret;
++}
++
++/* This function must be called in module initial time */
++static int camif_source_fmt(camif_gc_t *gc) 
++{
++      u32 cmd = 0;
++
++      /* Configure CISRCFMT --Source Format */
++      if (gc->itu_fmt & CAMIF_ITU601) {
++              cmd = CAMIF_ITU601;
++      }
++      else {
++              assert ( gc->itu_fmt & CAMIF_ITU656);
++              cmd = CAMIF_ITU656;
++      }
++      cmd  |= SOURCE_HSIZE(gc->source_x)| SOURCE_VSIZE(gc->source_y);
++      /* Order422 */
++      cmd |=  gc->order422;
++      writel(cmd, camregs + S3C2440_CAM_REG_CISRCFMT);
++
++      return 0 ;
++}
++
++
++/* 
++ * Codec Input YCBCR422 will be Fixed 
++ */
++static int camif_target_fmt(camif_cfg_t *cfg)
++{
++      u32 cmd = 0;
++
++      if (cfg->dma_type & CAMIF_CODEC) {
++              /* YCBCR setting */  
++              cmd = TARGET_HSIZE(cfg->target_x)| TARGET_VSIZE(cfg->target_y);
++              if ( cfg->fmt & CAMIF_OUT_YCBCR420 ) {
++                      cmd |= OUT_YCBCR420|IN_YCBCR422;
++              }
++              else { 
++                      assert(cfg->fmt & CAMIF_OUT_YCBCR422);
++                      cmd |= OUT_YCBCR422|IN_YCBCR422;
++              }
++              writel(cmd | cfg->flip, camregs + S3C2440_CAM_REG_CICOTRGFMT);
++
++      } else {
++              assert(cfg->dma_type & CAMIF_PREVIEW);
++              writel(TARGET_HSIZE(cfg->target_x)|TARGET_VSIZE(cfg->target_y)|cfg->flip,
++                      camregs + S3C2440_CAM_REG_CIPRTRGFMT); 
++      }
++      return 0;
++}
++
++void camif_change_flip(camif_cfg_t *cfg)
++{
++      u32 cmd = readl(camregs + S3C2440_CAM_REG_CICOTRGFMT);
++
++      cmd &= ~(BIT14|BIT15);
++      cmd |= cfg->flip;
++
++      writel(cmd, camregs + S3C2440_CAM_REG_CICOTRGFMT);
++}
++
++
++
++/* Must:
++ * Before calling this function,
++ * you must use "camif_dynamic_open"
++ * If you want to enable both CODEC and preview
++ *  you must do it at the same time.
++ */
++int camif_capture_start(camif_cfg_t *cfg)
++{
++      u32 n_cmd = 0;          /* Next Command */
++
++      switch(cfg->exec) {
++      case CAMIF_BOTH_DMA_ON:
++              camif_reset(CAMIF_RESET, 0); /* Flush Camera Core Buffer */
++              writel(readl(camregs + S3C2440_CAM_REG_CIPRSCCTRL) |
++                           SCALERSTART, camregs + S3C2440_CAM_REG_CIPRSCCTRL);
++              writel(readl(camregs + S3C2440_CAM_REG_CICOSCCTRL) |
++                           SCALERSTART, camregs + S3C2440_CAM_REG_CICOSCCTRL);
++              n_cmd = CAMIF_CAP_PREVIEW_ON | CAMIF_CAP_CODEC_ON;
++              break;
++      case CAMIF_DMA_ON:
++              camif_reset(CAMIF_RESET, 0); /* Flush Camera Core Buffer */
++              if (cfg->dma_type&CAMIF_CODEC) {
++                      writel(readl(camregs + S3C2440_CAM_REG_CICOSCCTRL) |
++                           SCALERSTART, camregs + S3C2440_CAM_REG_CICOSCCTRL);
++                      n_cmd = CAMIF_CAP_CODEC_ON;
++              } else {
++                      writel(readl(camregs + S3C2440_CAM_REG_CIPRSCCTRL) |
++                           SCALERSTART, camregs + S3C2440_CAM_REG_CIPRSCCTRL);
++                      n_cmd = CAMIF_CAP_PREVIEW_ON;
++              }
++
++              /* wait until Sync Time expires */
++              /* First settting, to wait VSYNC fall  */
++              /* By VESA spec,in 640x480 @60Hz
++                      MAX Delay Time is around 64us which "while" has.*/
++              while(VSYNC & readl(camregs + S3C2440_CAM_REG_CICOSTATUS));
++              break;
++      default:
++              break;
++}
++      writel(n_cmd | CAMIF_CAP_ON, camregs + S3C2440_CAM_REG_CIIMGCPT); 
++      return 0;
++}
++
++
++int camif_capture_stop(camif_cfg_t *cfg)
++{
++      u32 n_cmd = readl(camregs + S3C2440_CAM_REG_CIIMGCPT);  /* Next Command */
++
++      switch(cfg->exec) {
++      case CAMIF_BOTH_DMA_OFF:
++              writel(readl(camregs + S3C2440_CAM_REG_CIPRSCCTRL) &
++                      ~SCALERSTART, camregs + S3C2440_CAM_REG_CIPRSCCTRL);
++              writel(readl(camregs + S3C2440_CAM_REG_CICOSCCTRL) &
++                      ~SCALERSTART, camregs + S3C2440_CAM_REG_CICOSCCTRL);
++              n_cmd = 0;
++              break;
++      case CAMIF_DMA_OFF_L_IRQ: /* fall thru */
++      case CAMIF_DMA_OFF:
++              if (cfg->dma_type&CAMIF_CODEC) {
++                      writel(readl(camregs + S3C2440_CAM_REG_CICOSCCTRL) &
++                          ~SCALERSTART, camregs + S3C2440_CAM_REG_CICOSCCTRL);
++                      n_cmd &= ~CAMIF_CAP_CODEC_ON;
++                      if (!(n_cmd & CAMIF_CAP_PREVIEW_ON))
++                              n_cmd = 0;
++              } else {
++                      writel(readl(camregs + S3C2440_CAM_REG_CIPRSCCTRL) &
++                          ~SCALERSTART, camregs + S3C2440_CAM_REG_CIPRSCCTRL);
++                      n_cmd &= ~CAMIF_CAP_PREVIEW_ON;
++                      if (!(n_cmd & CAMIF_CAP_CODEC_ON))
++                              n_cmd = 0;
++              }
++              break;
++      default:
++              panic("Unexpected \n");
++      }
++      writel(n_cmd, camregs + S3C2440_CAM_REG_CIIMGCPT);
++
++      if (cfg->exec == CAMIF_DMA_OFF_L_IRQ) { /* Last IRQ  */
++              if (cfg->dma_type & CAMIF_CODEC)
++                      writel(readl(camregs + S3C2440_CAM_REG_CICOCTRL) |
++                           LAST_IRQ_EN, camregs + S3C2440_CAM_REG_CICOCTRL);
++              else
++                      writel(readl(camregs + S3C2440_CAM_REG_CIPRCTRL) |
++                           LAST_IRQ_EN, camregs + S3C2440_CAM_REG_CIPRCTRL);
++      }
++#if 0
++      else {                          /* to make internal state machine of CAMERA stop */
++              camif_reset(CAMIF_RESET, 0);
++      }
++#endif
++      return 0;
++}
++
++
++/* LastIRQEn is autoclear */
++void camif_last_irq_en(camif_cfg_t *cfg)
++{
++      if ((cfg->exec == CAMIF_BOTH_DMA_ON) || (cfg->dma_type & CAMIF_CODEC))
++              writel(readl(camregs + S3C2440_CAM_REG_CICOCTRL) |
++                      LAST_IRQ_EN, camregs + S3C2440_CAM_REG_CICOCTRL);
++
++      if ((cfg->exec == CAMIF_BOTH_DMA_ON) || !(cfg->dma_type & CAMIF_CODEC))
++              writel(readl(camregs + S3C2440_CAM_REG_CIPRCTRL) |
++                      LAST_IRQ_EN, camregs + S3C2440_CAM_REG_CIPRCTRL);
++}
++
++static int  
++camif_scaler_internal(u32 srcWidth, u32 dstWidth, u32 *ratio, u32 *shift)
++{
++      if(srcWidth>=64*dstWidth){
++              printk(KERN_ERR"CAMERA:out of prescaler range: srcWidth /dstWidth = %d(< 64)\n",
++                       srcWidth/dstWidth);
++              return 1;
++      }
++      else if(srcWidth>=32*dstWidth){
++              *ratio=32;
++              *shift=5;
++      }
++      else if(srcWidth>=16*dstWidth){
++              *ratio=16;
++              *shift=4;
++      }
++      else if(srcWidth>=8*dstWidth){
++              *ratio=8;
++              *shift=3;
++      }
++      else if(srcWidth>=4*dstWidth){
++              *ratio=4;
++              *shift=2;
++      }
++      else if(srcWidth>=2*dstWidth){
++              *ratio=2;
++              *shift=1;
++      }
++      else {
++              *ratio=1;
++              *shift=0;
++      }  
++      return 0;
++}
++
++
++int camif_g_fifo_status(camif_cfg_t *cfg) 
++{
++      u32 reg;
++
++      if (cfg->dma_type & CAMIF_CODEC) {
++              u32 flag = CO_OVERFLOW_Y | CO_OVERFLOW_CB | CO_OVERFLOW_CR;
++              reg = readl(camregs + S3C2440_CAM_REG_CICOSTATUS);
++              if (reg & flag) {
++                      printk("CODEC: FIFO error(0x%08x) and corrected\n",reg);
++                      /* FIFO Error Count ++  */
++                      writel(readl(camregs + S3C2440_CAM_REG_CIWDOFST) |
++                              CO_FIFO_Y | CO_FIFO_CB | CO_FIFO_CR,
++                              camregs + S3C2440_CAM_REG_CIWDOFST);
++
++                      writel(readl(camregs + S3C2440_CAM_REG_CIWDOFST) &
++                              ~(CO_FIFO_Y | CO_FIFO_CB | CO_FIFO_CR),
++                              camregs + S3C2440_CAM_REG_CIWDOFST);
++                      return 1; /* Error */
++              }
++      }
++      if (cfg->dma_type & CAMIF_PREVIEW) {
++              u32 flag = PR_OVERFLOW_CB | PR_OVERFLOW_CR;
++              reg = readl(camregs + S3C2440_CAM_REG_CIPRSTATUS);
++              if (reg & flag) {
++                      printk("PREVIEW:FIFO error(0x%08x) and corrected\n",reg);
++                      writel(readl(camregs + S3C2440_CAM_REG_CIWDOFST) |
++                              CO_FIFO_CB | CO_FIFO_CR,
++                              camregs + S3C2440_CAM_REG_CIWDOFST);
++
++                      writel(readl(camregs + S3C2440_CAM_REG_CIWDOFST) &
++                              ~(CO_FIFO_Y | CO_FIFO_CB | CO_FIFO_CR),
++                              camregs + S3C2440_CAM_REG_CIWDOFST);
++                      /* FIFO Error Count ++  */
++                      return 1; /* Error */
++              }
++      }
++      return 0;               /* No Error */
++}
++
++
++/* Policy:
++ * if codec or preview define the win offset,
++ *    other must follow that value.
++ */
++int camif_win_offset(camif_gc_t *gc )
++{
++      u32 h = gc->win_hor_ofst;
++      u32 v = gc->win_ver_ofst;
++
++      /*Clear Overflow */
++      writel(CO_FIFO_Y | CO_FIFO_CB | CO_FIFO_CR | PR_FIFO_CB | PR_FIFO_CB,
++              camregs + S3C2440_CAM_REG_CIWDOFST);
++      writel(0, camregs + S3C2440_CAM_REG_CIWDOFST);
++
++      if (!h && !v)   {
++              writel(0, camregs + S3C2440_CAM_REG_CIWDOFST);
++              return 0;
++      }
++
++      writel(WINOFEN | WINHOROFST(h) | WINVEROFST(v), camregs + S3C2440_CAM_REG_CIWDOFST);
++      return 0;
++}
++
++/*  
++ * when you change the resolution in a specific camera,
++ * sometimes, it is necessary to change the polarity 
++ *                                       -- SW.LEE
++ */
++static void camif_polarity(camif_gc_t *gc)
++{
++      u32 cmd = readl(camregs + S3C2440_CAM_REG_CIGCTRL);;
++      
++      cmd = cmd & ~(BIT26|BIT25|BIT24); /* clear polarity */
++      if (gc->polarity_pclk)
++              cmd |= GC_INVPOLPCLK;
++      if (gc->polarity_vsync)
++              cmd |= GC_INVPOLVSYNC;
++      if (gc->polarity_href)
++              cmd |= GC_INVPOLHREF;
++      writel(readl(camregs + S3C2440_CAM_REG_CIGCTRL) |
++             cmd, camregs + S3C2440_CAM_REG_CIGCTRL);
++}
++
++
++int camif_dynamic_open(camif_cfg_t *cfg)
++{
++      camif_win_offset(cfg->gc);
++      camif_polarity(cfg->gc);
++      
++      if(camif_scaler(cfg)) {
++              printk(KERN_ERR "CAMERA:Preview Scaler, Change WinHorOfset or Target Size\n");
++              return 1;
++      }
++      camif_target_fmt(cfg);
++      if (camif_dma_burst(cfg)) {
++              printk(KERN_ERR "CAMERA:DMA Busrt Length Error \n");
++              return 1;
++      }
++      if(camif_malloc(cfg) ) {
++              printk(KERN_ERR "    Instead of using consistent_alloc()\n"
++                              "    lease use dedicated memory allocation for DMA memory\n");
++              return -1;
++      }
++      camif_pingpong(cfg);
++      return 0;
++}
++
++int camif_dynamic_close(camif_cfg_t *cfg)
++{
++      camif_demalloc(cfg);
++      return 0;
++}
++
++static int camif_target_area(camif_cfg_t *cfg) 
++{
++      u32 rect = cfg->target_x * cfg->target_y;
++
++      if (cfg->dma_type & CAMIF_CODEC)
++              writel(rect, camregs + S3C2440_CAM_REG_CICOTAREA);
++
++      if (cfg->dma_type & CAMIF_PREVIEW)
++              writel(rect, camregs + S3C2440_CAM_REG_CIPRTAREA);
++
++      return 0;
++}
++
++static int inline camif_hw_reg(camif_cfg_t *cfg)
++{
++      u32 cmd = 0;
++
++      if (cfg->dma_type & CAMIF_CODEC) {
++              writel(PRE_SHIFT(cfg->sc.shfactor) |
++                     PRE_HRATIO(cfg->sc.prehratio) |
++                     PRE_VRATIO(cfg->sc.prevratio),
++                     camregs + S3C2440_CAM_REG_CICOSCPRERATIO);
++              writel(PRE_DST_WIDTH(cfg->sc.predst_x) |
++                     PRE_DST_HEIGHT(cfg->sc.predst_y),
++                     camregs + S3C2440_CAM_REG_CICOSCPREDST);
++
++              /* Differ from Preview */
++              if (cfg->sc.scalerbypass)
++                      cmd |= SCALERBYPASS;
++              if (cfg->sc.scaleup_h & cfg->sc.scaleup_v)
++                      cmd |= BIT30|BIT29;
++              writel(cmd | MAIN_HRATIO(cfg->sc.mainhratio) |
++                     MAIN_VRATIO(cfg->sc.mainvratio),
++                     camregs + S3C2440_CAM_REG_CICOSCCTRL);
++              return 0;
++      }
++      if (cfg->dma_type & CAMIF_PREVIEW) {
++              writel(PRE_SHIFT(cfg->sc.shfactor) |
++                     PRE_HRATIO(cfg->sc.prehratio) |
++                     PRE_VRATIO(cfg->sc.prevratio),
++                     camregs + S3C2440_CAM_REG_CIPRSCPRERATIO);
++              writel(PRE_DST_WIDTH(cfg->sc.predst_x) |
++                     PRE_DST_HEIGHT(cfg->sc.predst_y),
++                     camregs + S3C2440_CAM_REG_CIPRSCPREDST);
++              /* Differ from Codec */
++              if (cfg->fmt & CAMIF_RGB24)
++                      cmd |= RGB_FMT24;  
++              if (cfg->sc.scaleup_h & cfg->sc.scaleup_v)
++                      cmd |= BIT29 | BIT28;
++              writel(cmd | MAIN_HRATIO(cfg->sc.mainhratio) | S_METHOD |
++                     MAIN_VRATIO(cfg->sc.mainvratio),
++                     camregs + S3C2440_CAM_REG_CIPRSCCTRL);
++              return 0;
++      }
++
++      panic("CAMERA:DMA_TYPE Wrong \n");
++      return 0;
++}
++
++
++/* Configure Pre-scaler control  & main scaler control register */
++static int camif_scaler(camif_cfg_t *cfg)
++{
++      int tx = cfg->target_x, ty = cfg->target_y;
++      int sx, sy;
++
++      if (tx <= 0 || ty <= 0)
++              panic("CAMERA: Invalid target size \n");
++
++      sx = cfg->gc->source_x - 2 * cfg->gc->win_hor_ofst;
++      sy = cfg->gc->source_y - 2 * cfg->gc->win_ver_ofst;     
++      if (sx <= 0 || sy <= 0)
++              panic("CAMERA: Invalid source size \n");
++
++      cfg->sc.modified_src_x = sx;
++      cfg->sc.modified_src_y = sy;
++
++      /* Pre-scaler control register 1 */
++      camif_scaler_internal(sx, tx, &cfg->sc.prehratio, &cfg->sc.hfactor);
++      camif_scaler_internal(sy, ty, &cfg->sc.prevratio, &cfg->sc.vfactor);
++
++      if (cfg->dma_type & CAMIF_PREVIEW)
++              if ((sx / cfg->sc.prehratio) > 640) {
++                      printk(KERN_INFO "CAMERA: Internal Preview line "
++                                       "buffer is 640 pixels\n");
++                      return 1; /* Error */
++              }
++
++      cfg->sc.shfactor = 10 - (cfg->sc.hfactor + cfg->sc.vfactor);
++      /* Pre-scaler control register 2 */
++      cfg->sc.predst_x = sx / cfg->sc.prehratio;
++      cfg->sc.predst_y = sy / cfg->sc.prevratio;
++
++      /* Main-scaler control register */
++      cfg->sc.mainhratio = (sx << 8) / (tx << cfg->sc.hfactor);
++      cfg->sc.mainvratio = (sy << 8) / (ty << cfg->sc.vfactor);
++      DPRINTK(" sx %d, sy %d tx %d ty %d  \n", sx, sy, tx, ty);
++      DPRINTK(" hfactor %d  vfactor %d \n",cfg->sc.hfactor, cfg->sc.vfactor);
++
++      cfg->sc.scaleup_h  = (sx <= tx) ? 1: 0;
++      cfg->sc.scaleup_v  = (sy <= ty) ? 1: 0;
++      if (cfg->sc.scaleup_h != cfg->sc.scaleup_v)
++              printk(KERN_ERR "scaleup_h must be same to scaleup_v \n");
++
++      camif_hw_reg(cfg);
++      camif_target_area(cfg);
++
++      return 0;
++}
++
++/******************************************************
++ CalculateBurstSize - Calculate the busrt lengths
++ Description:
++ - dstHSize: the number of the byte of H Size.
++********************************************************/
++static void camif_g_bsize(u32 hsize, u32 *mburst, u32 *rburst)
++{
++      u32 tmp;
++
++      tmp = (hsize / 4) % 16;
++      switch(tmp) {
++      case 0:
++              *mburst=16;
++              *rburst=16;
++              break;
++      case 4:
++              *mburst=16;
++              *rburst=4;
++              break;
++      case 8:
++              *mburst=16;
++              *rburst=8;
++              break;
++      default:
++              tmp=(hsize / 4) % 8;
++              switch(tmp) {
++              case 0:
++                      *mburst = 8;
++                      *rburst = 8;
++                      break;
++              case 4:
++                      *mburst = 8;
++                      *rburst = 4;
++              default:
++                      *mburst = 4;
++                      tmp = (hsize / 4) % 4;
++                      *rburst= (tmp) ? tmp: 4;
++                      break;
++      }
++              break;
++      }
++}
++
++/* SXGA 1028x1024*/
++/* XGA 1024x768 */
++/* SVGA 800x600 */
++/* VGA 640x480 */
++/* CIF 352x288 */
++/* QVGA 320x240 */
++/* QCIF 176x144 */
++/* ret val 
++        1 : DMA Size Error 
++*/
++#define BURST_ERR 1 
++static int camif_dma_burst(camif_cfg_t *cfg)
++{
++      int width = cfg->target_x;
++
++      if (cfg->dma_type & CAMIF_CODEC ) {
++              u32 yburst_m, yburst_r;
++              u32 cburst_m, cburst_r;
++              /* CODEC DMA WIDHT is multiple of 16 */
++              if (width % 16)
++                      return BURST_ERR;   /* DMA Burst Length Error */
++              camif_g_bsize(width, &yburst_m, &yburst_r);
++              camif_g_bsize(width / 2, &cburst_m, &cburst_r);
++
++              writel(YBURST_M(yburst_m) | CBURST_M(cburst_m) |
++                     YBURST_R(yburst_r) | CBURST_R(cburst_r),
++                     camregs + S3C2440_CAM_REG_CICOCTRL);
++      }
++
++      if (cfg->dma_type & CAMIF_PREVIEW) {
++              u32 rgburst_m, rgburst_r;
++              if(cfg->fmt == CAMIF_RGB24) {
++                      if (width % 2)
++                              return BURST_ERR;   /* DMA Burst Length Error */
++                      camif_g_bsize(width*4,&rgburst_m,&rgburst_r);
++              } else {                /* CAMIF_RGB16 */
++                      if ((width / 2) %2)
++                              return BURST_ERR; /* DMA Burst Length Error */
++                      camif_g_bsize(width*2,&rgburst_m,&rgburst_r);  
++              }
++
++              writel(RGBURST_M(rgburst_m) | RGBURST_R(rgburst_r),
++                     camregs + S3C2440_CAM_REG_CIPRCTRL);
++      }
++      return 0;
++}
++
++static int camif_gpio_init(void)
++{
++#ifdef CONFIG_ARCH_S3C24A0A
++      /* S3C24A0A has the dedicated signal pins for Camera */
++#else
++      s3c2410_gpio_cfgpin(S3C2440_GPJ0, S3C2440_GPJ0_CAMDATA0);
++      s3c2410_gpio_cfgpin(S3C2440_GPJ1, S3C2440_GPJ1_CAMDATA1);
++      s3c2410_gpio_cfgpin(S3C2440_GPJ2, S3C2440_GPJ2_CAMDATA2);
++      s3c2410_gpio_cfgpin(S3C2440_GPJ3, S3C2440_GPJ3_CAMDATA3);
++      s3c2410_gpio_cfgpin(S3C2440_GPJ4, S3C2440_GPJ4_CAMDATA4);
++      s3c2410_gpio_cfgpin(S3C2440_GPJ5, S3C2440_GPJ5_CAMDATA5);
++      s3c2410_gpio_cfgpin(S3C2440_GPJ6, S3C2440_GPJ6_CAMDATA6);
++      s3c2410_gpio_cfgpin(S3C2440_GPJ7, S3C2440_GPJ7_CAMDATA7);
++
++      s3c2410_gpio_cfgpin(S3C2440_GPJ8, S3C2440_GPJ8_CAMPCLK);
++      s3c2410_gpio_cfgpin(S3C2440_GPJ9, S3C2440_GPJ9_CAMVSYNC);
++      s3c2410_gpio_cfgpin(S3C2440_GPJ10, S3C2440_GPJ10_CAMHREF);
++      s3c2410_gpio_cfgpin(S3C2440_GPJ11, S3C2440_GPJ11_CAMCLKOUT);
++      s3c2410_gpio_cfgpin(S3C2440_GPJ12, S3C2440_GPJ12_CAMRESET);
++#endif
++        return 0;
++}
++
++
++#define ROUND_ADD 0x100000
++
++#ifdef CONFIG_ARCH_S3C24A0A
++int camif_clock_init(camif_gc_t *gc)
++{
++      unsigned int upll, camclk_div, camclk;
++
++      if (!gc) camclk = 24000000;
++      else  {
++              camclk = gc->camclk;
++              if (camclk > 48000000)
++                      printk(KERN_ERR "Wrong Camera Clock\n");
++      }
++
++      CLKCON |= CLKCON_CAM_UPLL | CLKCON_CAM_HCLK;
++      upll = get_bus_clk(GET_UPLL);
++      printk(KERN_INFO "CAMERA:Default UPLL %08d and Assing 96Mhz to UPLL\n",upll);   
++      UPLLCON = FInsrt(56, fPLL_MDIV) | FInsrt(2, fPLL_PDIV)| FInsrt(1, fPLL_SDIV);
++      upll = get_bus_clk(GET_UPLL);
++
++      camclk_div = (upll+ROUND_ADD) / camclk - 1;
++      CLKDIVN = (CLKDIVN & 0xFF) | CLKDIVN_CAM(camclk_div);
++      printk(KERN_INFO"CAMERA:upll %d MACRO 0x%08X CLKDIVN 0x%08X \n",
++                              upll, CLKDIVN_CAM(camclk_div), CLKDIVN);
++      writel(0, camregs + S3C2440_CAM_REG_CIIMGCPT);  /* Dummy ? */
++
++      return 0;
++}
++#else
++int camif_clock_init(camif_gc_t *gc)
++{
++      unsigned int camclk;
++      struct clk *clk_camif = clk_get(NULL, "camif");
++      struct clk *clk_camif_upll = clk_get(NULL, "camif-upll");
++
++      if (!gc)
++              camclk = 24000000;
++      else {
++              camclk = gc->camclk;
++              if (camclk > 48000000)
++                      printk(KERN_ERR "Wrong Camera Clock\n");
++      }
++
++      clk_set_rate(clk_camif, camclk);
++
++      clk_enable(clk_camif);
++      clk_enable(clk_camif_upll);
++      
++
++#if 0
++      CLKCON |= CLKCON_CAMIF;
++      upll = elfin_get_bus_clk(GET_UPLL);
++      printk(KERN_INFO "CAMERA:Default UPLL %08d and Assing 96Mhz to UPLL\n",upll);   
++      {
++              UPLLCON = FInsrt(60, fPLL_MDIV) | FInsrt(4, fPLL_PDIV)| FInsrt(1, fPLL_SDIV);
++              CLKDIVN |= DIVN_UPLL;   /* For USB */
++              upll = elfin_get_bus_clk(GET_UPLL);
++      }
++
++      camclk_div = (upll+ROUND_ADD) /(camclk * 2) -1;
++      CAMDIVN = CAMCLK_SET_DIV|(camclk_div&0xf);
++      printk(KERN_INFO "CAMERA:upll %08d  cam_clk %08d CAMDIVN 0x%08x \n",upll,camclk, CAMDIVN);
++#endif
++      writel(0, camregs + S3C2440_CAM_REG_CIIMGCPT);  /* Dummy ? */
++
++      return 0;
++}
++#endif
++
++/* 
++   Reset Camera IP in CPU
++   Reset External Sensor 
++ */
++void camif_reset(int is, int delay)
++{
++      switch (is) {
++              case CAMIF_RESET:
++                      writel(readl(camregs + S3C2440_CAM_REG_CIGCTRL) |
++                             GC_SWRST,
++                             camregs + S3C2440_CAM_REG_CIGCTRL);
++                      mdelay(1);
++                      writel(readl(camregs + S3C2440_CAM_REG_CIGCTRL) &
++                             ~GC_SWRST,
++                             camregs + S3C2440_CAM_REG_CIGCTRL);
++                      break;
++              case CAMIF_EX_RESET_AH: /*Active High */
++                      writel(readl(camregs + S3C2440_CAM_REG_CIGCTRL) &
++                             ~GC_CAMRST,
++                             camregs + S3C2440_CAM_REG_CIGCTRL);
++                      udelay(200);
++                      writel(readl(camregs + S3C2440_CAM_REG_CIGCTRL) |
++                             GC_CAMRST,
++                             camregs + S3C2440_CAM_REG_CIGCTRL);
++                      udelay(delay);
++                      writel(readl(camregs + S3C2440_CAM_REG_CIGCTRL) &
++                             ~GC_CAMRST,
++                             camregs + S3C2440_CAM_REG_CIGCTRL);
++                      break;
++              case CAMIF_EX_RESET_AL: /*Active Low */
++                      writel(readl(camregs + S3C2440_CAM_REG_CIGCTRL) |
++                             GC_CAMRST,
++                             camregs + S3C2440_CAM_REG_CIGCTRL);
++                      udelay(200);
++                      writel(readl(camregs + S3C2440_CAM_REG_CIGCTRL) &
++                             ~GC_CAMRST,
++                             camregs + S3C2440_CAM_REG_CIGCTRL);
++                      udelay(delay);
++                      writel(readl(camregs + S3C2440_CAM_REG_CIGCTRL) |
++                             GC_CAMRST,
++                             camregs + S3C2440_CAM_REG_CIGCTRL);
++                      break;
++              default:
++                      break;
++      }
++}
++              
++/* For Camera Operation,
++ * we can give the high priority to REQ2 of ARBITER1 
++ */
++
++/* Please move me into proper place 
++ *  camif_gc_t is not because "rmmod imgsenor" will delete the instance of camif_gc_t  
++ */
++static u32 old_priority; 
++
++static void camif_bus_priority(int flag)
++{
++      if (flag) {
++#ifdef CONFIG_ARCH_S3C24A0A
++              old_priority = PRIORITY0;
++              PRIORITY0 = PRIORITY_I_FIX;
++              PRIORITY1 = PRIORITY_I_FIX;
++
++#else
++              old_priority = readl(S3C2410_PRIORITY);
++              writel(readl(S3C2410_PRIORITY) & ~(3<<7), S3C2410_PRIORITY);
++              writel(readl(S3C2410_PRIORITY) |  (1<<7), S3C2410_PRIORITY); /* Arbiter 1, REQ2 first */
++              writel(readl(S3C2410_PRIORITY) & ~(1<<1), S3C2410_PRIORITY); /* Disable Priority Rotate */
++#endif
++      } 
++      else {
++#ifdef CONFIG_ARCH_S3C24A0A
++              PRIORITY0 = old_priority;
++              PRIORITY1 = old_priority;
++#else
++              writel(old_priority, S3C2410_PRIORITY);
++#endif
++      }
++}
++
++static void inline camif_clock_off(void)
++{
++#if defined (CONFIG_ARCH_S3C24A0A)
++      writel(0, camregs + S3C2440_CAM_REG_CIIMGCPT);
++
++      CLKCON &= ~CLKCON_CAM_UPLL;
++      CLKCON &= ~CLKCON_CAM_HCLK;
++#else
++      struct clk *clk_camif = clk_get(NULL, "camif");
++      struct clk *clk_camif_upll = clk_get(NULL, "camif-upll");
++
++      writel(0, camregs + S3C2440_CAM_REG_CIIMGCPT);
++
++      clk_disable(clk_camif);
++      clk_disable(clk_camif_upll);
++#endif
++}
++
++
++/* Init external image sensor 
++ *  Before make some value into image senor,
++ *  you must set up the pixel clock.
++ */
++void camif_setup_sensor(void)
++{
++      camif_reset(CAMIF_RESET, 0);
++      camif_gpio_init();
++      camif_clock_init(NULL);
++/* Sometimes ,Before loading I2C module, we need the reset signal */
++#ifdef CONFIG_ARCH_S3C24A0A
++      camif_reset(CAMIF_EX_RESET_AL,1000);
++#else
++      camif_reset(CAMIF_EX_RESET_AH,1000);
++#endif
++}
++
++void camif_hw_close(camif_cfg_t *cfg)
++{
++      camif_bus_priority(0);
++      camif_clock_off();
++}
++
++void camif_hw_open(camif_gc_t *gc)
++{
++      camif_source_fmt(gc);
++      camif_win_offset(gc);
++      camif_bus_priority(1);
++}
++
++
++
++/* 
++ * Local variables:
++ * tab-width: 8
++ *  c-indent-level: 8
++ *  c-basic-offset: 8
++ *  c-set-style: "K&R"
++ * End:
++ */
+Index: linux-2.6.28/arch/arm/mach-s3c2440/camera/camif_fsm.c
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.28/arch/arm/mach-s3c2440/camera/camif_fsm.c      2009-01-02 00:01:56.000000000 +0100
+@@ -0,0 +1,432 @@
++/*  
++    Copyright (C) 2004 Samsung Electronics 
++                     SW.LEE <hitchcar@sec.samsung.com>
++
++    This program is free software; you can redistribute it and/or modify
++    it under the terms of the GNU General Public License as published by
++    the Free Software Foundation; either version 2 of the License, or
++    (at your option) any later version.
++*/
++
++#include <linux/version.h>
++#include <linux/module.h>
++#include <linux/delay.h>
++#include <linux/errno.h>
++#include <linux/fs.h>
++#include <linux/kernel.h>
++#include <linux/major.h>
++#include <linux/slab.h>
++#include <linux/poll.h>
++#include <linux/signal.h>
++#include <linux/ioport.h>
++#include <linux/sched.h>
++#include <linux/types.h>
++#include <linux/interrupt.h>
++#include <linux/kmod.h>
++#include <linux/vmalloc.h>
++#include <linux/init.h>
++#include <linux/pagemap.h>
++#include <asm/io.h>
++#include <asm/irq.h>
++#include <asm/semaphore.h>
++#include <linux/miscdevice.h>
++
++#define CONFIG_VIDEO_V4L1_COMPAT
++#include <linux/videodev.h>
++#include "camif.h"
++
++//#define SW_DEBUG 
++static void camif_start_p_with_c(camif_cfg_t *cfg);
++
++#include "camif.h"
++const char *fsm_version =
++        "$Id: camif_fsm.c,v 1.3 2004/04/27 10:26:28 swlee Exp $";
++
++
++/* 
++ * FSM function is the place where Synchronization in not necessary
++ * because IRS calls this functions.
++ */
++
++ssize_t camif_p_1fsm_start(camif_cfg_t *cfg)
++{
++      //camif_reset(CAMIF_RESET,0);
++      cfg->exec = CAMIF_DMA_ON;
++      camif_capture_start(cfg);
++      camif_last_irq_en(cfg);
++      cfg->status = CAMIF_STARTED;
++      cfg->fsm = CAMIF_1nd_INT;
++      return 0;
++}
++
++
++ssize_t camif_p_2fsm_start(camif_cfg_t *cfg)
++{
++      camif_reset(CAMIF_RESET,0);/* FIFO Count goes to zero */
++      cfg->exec = CAMIF_DMA_ON;
++      camif_capture_start(cfg);
++      cfg->status = CAMIF_STARTED;
++      cfg->fsm = CAMIF_1nd_INT;
++      return 0;
++}
++
++
++ssize_t camif_4fsm_start(camif_cfg_t *cfg)
++{
++      camif_reset(CAMIF_RESET,0); /* FIFO Count goes to zero */
++      cfg->exec = CAMIF_DMA_ON;
++      camif_capture_start(cfg);
++      cfg->status = CAMIF_STARTED;
++      cfg->fsm = CAMIF_1nd_INT;
++      cfg->perf.frames = 0;
++      return 0;
++}
++
++
++/* Policy:  
++     cfg->perf.frames  set in camif_fsm.c
++     cfg->status set in video-driver.c
++ */
++
++/* 
++ * Don't insert camif_reset(CAM_RESET, 0 ) into this func 
++ */
++ssize_t camif_p_stop(camif_cfg_t *cfg)
++{
++      cfg->exec = CAMIF_DMA_OFF;
++//    cfg->status = CAMIF_STOPPED;
++      camif_capture_stop(cfg);
++      cfg->perf.frames = 0;   /* Dupplicated ? */
++      return 0;
++}
++
++/* When C working, P asks C to play togehter */
++/* Only P must call this function */
++void camif_start_c_with_p (camif_cfg_t *cfg, camif_cfg_t *other)
++{
++//    cfg->gc->other = get_camif(CODEC_MINOR);
++      cfg->gc->other = other;
++      camif_start_p_with_c(cfg);
++}
++
++static void camif_start_p_with_c(camif_cfg_t *cfg)
++{
++      camif_cfg_t *other = (camif_cfg_t *)cfg->gc->other;
++      /* Preview Stop */
++      cfg->exec = CAMIF_DMA_OFF;
++      camif_capture_stop(cfg);
++      /* Start P and C */
++      camif_reset(CAMIF_RESET, 0);
++      cfg->exec =CAMIF_BOTH_DMA_ON;
++      camif_capture_start(cfg);
++      cfg->fsm = CAMIF_1nd_INT; /* For Preview */
++      if(!other) panic("Unexpected Error \n");
++      other->fsm = CAMIF_1nd_INT; /* For Preview */
++}
++
++static void camif_auto_restart(camif_cfg_t *cfg)
++{     
++//    if (cfg->dma_type & CAMIF_CODEC) return;
++      if (cfg->auto_restart)
++              camif_start_p_with_c(cfg);
++}
++
++
++/* Supposed that PREVIEW already running 
++ * request PREVIEW to start with Codec 
++ */
++static int camif_check_global(camif_cfg_t *cfg)
++{
++      int ret = 0;
++       
++        if (down_interruptible(&cfg->gc->lock)) 
++                       return -ERESTARTSYS;
++        if ( cfg->gc->status & CWANT2START ) {
++              cfg->gc->status &= ~CWANT2START;
++              cfg->auto_restart = 1;
++              ret = 1;
++      }
++      else {
++              ret = 0; /* There is no codec */
++              cfg->auto_restart = 0; /* Duplicated ..Dummy */
++      }
++
++      up(&cfg->gc->lock);
++
++        return ret;
++}
++
++/*
++ *    1nd INT : Start Interrupt
++ *    Xnd INT : enable Last IRQ : pingpong get the valid data
++ *    Ynd INT : Stop Codec or Preview : pingpong get the valid data
++ *    Znd INT : Last IRQ : valid data 
++ */
++#define CHECK_FREQ 5
++int camif_enter_p_4fsm(camif_cfg_t *cfg)
++{
++      int ret = 0;
++
++      cfg->perf.frames++;
++      if (cfg->fsm == CAMIF_NORMAL_INT)
++      if (cfg->perf.frames % CHECK_FREQ == 0) 
++              ret = camif_check_global(cfg);
++      if (ret > 0) cfg->fsm = CAMIF_Xnd_INT; /* Codec wait for Preview */
++      
++      switch (cfg->fsm) {
++              case CAMIF_1nd_INT:           /* Start IRQ */
++                      cfg->fsm = CAMIF_NORMAL_INT;
++                      ret = INSTANT_SKIP;
++                      DPRINTK(KERN_INFO "1nd INT \n");        
++                      break;
++              case CAMIF_NORMAL_INT:          
++                      cfg->status = CAMIF_INT_HAPPEN;
++                      cfg->fsm = CAMIF_NORMAL_INT;
++                      ret = INSTANT_GO;
++                      DPRINTK(KERN_INFO "NORMAL INT \n");     
++                      break;
++              case CAMIF_Xnd_INT:             
++                      camif_last_irq_en(cfg);/* IRQ for Enabling LAST IRQ */
++                      cfg->status = CAMIF_INT_HAPPEN;
++                      cfg->fsm = CAMIF_Ynd_INT;
++                      ret = INSTANT_GO;
++                      DPRINTK(KERN_INFO "Xnd INT \n");        
++                      break;  
++              case CAMIF_Ynd_INT:        /* Capture Stop */
++                      cfg->exec = CAMIF_DMA_OFF;
++                      cfg->status = CAMIF_INT_HAPPEN;
++                      camif_capture_stop(cfg);
++                      cfg->fsm = CAMIF_Znd_INT;
++                      ret = INSTANT_GO;
++                      DPRINTK(KERN_INFO "Ynd INT \n");        
++                      break;
++              case CAMIF_Znd_INT:             /*  LAST IRQ (Dummy IRQ */
++                      cfg->fsm = CAMIF_DUMMY_INT;
++                      cfg->status = CAMIF_INT_HAPPEN;
++                      ret = INSTANT_GO;
++                      camif_auto_restart(cfg);  /* Automatically Restart Camera */
++                      DPRINTK(KERN_INFO "Znd INT \n");
++                      break;  
++              case CAMIF_DUMMY_INT:
++                      cfg->status = CAMIF_STOPPED; /* Dupplicate ? */
++                      ret = INSTANT_SKIP;
++//                    DPRINTK(KERN_INFO "Dummy INT \n"); 
++                      break;
++              default:
++                      printk(KERN_INFO "Unexpect INT %d \n",cfg->fsm); 
++                      ret = INSTANT_SKIP;
++                      break;
++      }
++      return ret;
++}
++
++
++/* 
++ * NO autorestart included in this function 
++ */
++int camif_enter_c_4fsm(camif_cfg_t *cfg)
++{
++      int ret;
++      
++      cfg->perf.frames++;
++#if 0
++      if (   (cfg->fsm==CAMIF_NORMAL_INT)
++          && (cfg->perf.frames>cfg->restart_limit-1)
++         ) 
++              cfg->fsm = CAMIF_Xnd_INT;
++#endif
++      switch (cfg->fsm) {
++              case CAMIF_1nd_INT:           /* Start IRQ */
++                      cfg->fsm = CAMIF_NORMAL_INT;
++//                    cfg->status = CAMIF_STARTED; /* need this to meet auto-restart */
++                      ret = INSTANT_SKIP;
++                      DPRINTK(KERN_INFO "1nd INT \n");
++                      break;
++              case CAMIF_NORMAL_INT:          
++                      cfg->status = CAMIF_INT_HAPPEN;
++                      cfg->fsm = CAMIF_NORMAL_INT;
++                      ret = INSTANT_GO;
++                      DPRINTK(KERN_INFO "NORMALd INT \n");
++                      break;
++              case CAMIF_Xnd_INT:             
++                      camif_last_irq_en(cfg);/* IRQ for Enabling LAST IRQ */
++                      cfg->status = CAMIF_INT_HAPPEN;
++                      cfg->fsm = CAMIF_Ynd_INT;
++                      ret = INSTANT_GO;
++                      DPRINTK(KERN_INFO "Xnd INT \n");
++                      break;  
++              case CAMIF_Ynd_INT:        /* Capture Stop */
++                      cfg->exec = CAMIF_DMA_OFF;
++                      cfg->status = CAMIF_INT_HAPPEN;
++                      camif_capture_stop(cfg);
++                      cfg->fsm = CAMIF_Znd_INT;
++                      ret = INSTANT_GO;
++                      DPRINTK(KERN_INFO "Ynd INT \n");
++                      break;
++              case CAMIF_Znd_INT:             /*  LAST IRQ (Dummy IRQ */
++                      cfg->fsm = CAMIF_DUMMY_INT;
++                      cfg->status = CAMIF_INT_HAPPEN;
++                      ret = INSTANT_GO;
++                      DPRINTK(KERN_INFO "Znd INT \n");
++                      break;  
++              case CAMIF_DUMMY_INT:
++                      cfg->status = CAMIF_STOPPED; /* Dupplicate ? */
++                      ret = INSTANT_SKIP;
++                      break;
++              default:
++                      printk(KERN_INFO "Unexpect INT %d \n",cfg->fsm); 
++                      ret = INSTANT_SKIP;
++                      break;
++      }
++      return ret;
++}
++
++/* 4 Interrups State Machine is for two pingpong  
++ *    1nd INT : Start Interrupt
++ *    Xnd INT : enable Last IRQ : pingpong get the valid data
++ *    Ynd INT : Stop Codec or Preview : pingpong get the valid data
++ *    Znd INT : Last IRQ : valid data 
++ *    
++ * Note:
++ *    Before calling this func, you must call camif_reset
++ */
++
++int camif_enter_2fsm(camif_cfg_t *cfg) /* Codec FSM */
++{
++      int ret;
++
++      cfg->perf.frames++;
++      switch (cfg->fsm) {
++              case CAMIF_1nd_INT:           /* Start IRQ */
++                      cfg->fsm = CAMIF_Xnd_INT;
++                      ret = INSTANT_SKIP;
++//                    printk(KERN_INFO "1nd INT \n"); 
++                      break;
++              case CAMIF_Xnd_INT:             
++                      camif_last_irq_en(cfg);/* IRQ for Enabling LAST IRQ */
++                      cfg->now_frame_num = 0;
++                      cfg->status = CAMIF_INT_HAPPEN;
++                      cfg->fsm = CAMIF_Ynd_INT;
++                      ret = INSTANT_GO;
++//                    printk(KERN_INFO "2nd INT \n"); 
++                      break;  
++              case CAMIF_Ynd_INT:        /* Capture Stop */
++                      cfg->exec = CAMIF_DMA_OFF;
++                      cfg->now_frame_num = 1;
++                      cfg->status = CAMIF_INT_HAPPEN;
++                      camif_capture_stop(cfg);
++                      cfg->fsm = CAMIF_Znd_INT;
++                      ret = INSTANT_GO;
++//                    printk(KERN_INFO "Ynd INT \n"); 
++                      break;
++              case CAMIF_Znd_INT:             /*  LAST IRQ (Dummy IRQ */
++                      cfg->now_frame_num = 0;
++//                    cfg->fsm = CAMIF_DUMMY_INT;
++                      cfg->status = CAMIF_INT_HAPPEN;
++                      ret = INSTANT_GO;
++//                    printk(KERN_INFO "Znd INT \n");
++                      break;  
++              case CAMIF_DUMMY_INT:
++                      cfg->status = CAMIF_STOPPED; /* Dupplicate ? */
++                      ret = INSTANT_SKIP;
++                      printk(KERN_INFO "Dummy INT \n"); 
++                      break;
++              default:  /* CAMIF_PENDING_INT */
++                      printk(KERN_INFO "Unexpect INT \n"); 
++                      ret = INSTANT_SKIP;
++                      break;
++      }
++      return ret;
++}
++
++
++/* 2 Interrups State Machine is for one pingpong  
++ *    1nd INT : Stop Codec or Preview : pingpong get the valid data
++ *    2nd INT : Last IRQ : dummy data 
++ */
++int camif_enter_1fsm(camif_cfg_t *cfg) /* Codec FSM */
++{
++      int ret;
++
++      cfg->perf.frames++;
++      switch (cfg->fsm) {
++              case CAMIF_Ynd_INT:             /* IRQ for Enabling LAST IRQ */
++                      cfg->exec = CAMIF_DMA_OFF;
++                      camif_capture_stop(cfg);
++                      cfg->fsm = CAMIF_Znd_INT;
++                      ret = INSTANT_SKIP;
++      //              printk(KERN_INFO "Ynd INT \n"); 
++                      break;  
++              case CAMIF_Znd_INT:             /*  LAST IRQ (Dummy IRQ */
++                      cfg->fsm = CAMIF_DUMMY_INT;
++                      cfg->status = CAMIF_INT_HAPPEN;
++                      ret = INSTANT_GO;
++      //              printk(KERN_INFO "Znd INT \n"); 
++                      break;
++              case CAMIF_DUMMY_INT:
++                      cfg->status = CAMIF_STOPPED; /* Dupplicate ? */
++                      ret = INSTANT_SKIP;
++                      printk(KERN_INFO "Dummy INT \n"); 
++                      break;
++              default:
++                      printk(KERN_INFO "Unexpect INT \n"); 
++                      ret = INSTANT_SKIP;
++                      break;
++      }
++      return ret;
++}
++
++
++/*
++ *  GLOBAL STATUS CONTROL FUNCTION
++ *
++ */
++
++
++/* Supposed that PREVIEW already running 
++ * request PREVIEW to start with Codec 
++ */
++int camif_callback_start(camif_cfg_t *cfg)
++{
++        int  doit = 1;
++        while (doit) {
++                if (down_interruptible(&cfg->gc->lock)) {
++                        return -ERESTARTSYS;
++                }
++                cfg->gc->status = CWANT2START;
++                cfg->gc->other = cfg;
++                up(&cfg->gc->lock);
++                doit = 0;
++        }
++        return 0;
++}
++
++/*
++ * Return status of Preview Machine
++  ret value :
++      0: Preview is not working
++      X: Codec must follow PREVIEW start
++*/
++int camif_check_preview(camif_cfg_t *cfg)
++{
++        int ret = 0;
++
++        if (down_interruptible(&cfg->gc->lock)) {
++                        ret = -ERESTARTSYS;
++                        return ret;
++        }
++        if (cfg->gc->user == 1) ret = 0;
++     //   else if (cfg->gc->status & PNOTWORKING) ret = 0;
++        else ret = 1;
++        up(&cfg->gc->lock);
++        return ret;
++}
++
++
++
++
++/*
++ * Local variables:
++ * c-basic-offset: 8
++ * End:
++ */
+Index: linux-2.6.28/arch/arm/mach-s3c2440/camera/camif.h
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.28/arch/arm/mach-s3c2440/camera/camif.h  2009-01-02 00:01:56.000000000 +0100
+@@ -0,0 +1,304 @@
++/*
++    FIMC2.0  Camera Header File
++
++    Copyright (C) 2003 Samsung Electronics (SW.LEE: hitchcar@samsung.com)
++
++      Author : SW.LEE <hitchcar@samsung.com>
++
++    This program is free software; you can redistribute it and/or modify
++    it under the terms of the GNU General Public License as published by
++    the Free Software Foundation; either version 2 of the License, or
++    (at your option) any later version.
++*
++*/
++
++
++#ifndef __FIMC20_CAMIF_H_
++#define __FIMC20_CAMIF_H_
++
++#ifdef __KERNEL__
++
++#include "bits.h"
++#include "videodev.h"
++#include <asm/types.h>
++#include <linux/i2c.h>
++
++#endif  /* __KERNEL__ */
++
++#ifndef O_NONCAP
++#define O_NONCAP O_TRUNC
++#endif
++
++/* Codec or Preview Status */
++#define CAMIF_STARTED         BIT1
++#define CAMIF_STOPPED         BIT2
++#define CAMIF_INT_HAPPEN      BIT3
++
++/* Codec or Preview  : Interrupt FSM */
++#define CAMIF_1nd_INT         BIT7
++#define CAMIF_Xnd_INT         BIT8
++#define CAMIF_Ynd_INT         BIT9 
++#define CAMIF_Znd_INT         BIT10
++#define CAMIF_NORMAL_INT      BIT11
++#define CAMIF_DUMMY_INT       BIT12
++#define CAMIF_PENDING_INT     0
++
++
++/* CAMIF RESET Definition */
++#define CAMIF_RESET           BIT0
++#define CAMIF_EX_RESET_AL     BIT1    /* Active Low */
++#define CAMIF_EX_RESET_AH     BIT2    /* Active High */
++
++
++enum camif_itu_fmt {
++      CAMIF_ITU601 = BIT31,
++      CAMIF_ITU656 = 0
++};
++
++/* It is possbie to use two device simultaneously */
++enum camif_dma_type {
++       CAMIF_PREVIEW = BIT0,
++       CAMIF_CODEC   = BIT1,
++};
++
++enum camif_order422 {
++       CAMIF_YCBYCR = 0,
++       CAMIF_YCRYCB = BIT14,
++       CAMIF_CBYCRY = BIT15,
++       CAMIF_CRYCBY = BIT14 | BIT15
++};
++
++enum flip_mode {
++        CAMIF_FLIP   = 0,
++        CAMIF_FLIP_X = BIT14,
++        CAMIF_FLIP_Y = BIT15,
++        CAMIF_FLIP_MIRROR = BIT14 |BIT15,
++};
++
++enum camif_codec_fmt {
++      /* Codec part */
++        CAMIF_IN_YCBCR420  = BIT0, /* Currently IN_YCBCR format fixed */
++        CAMIF_IN_YCBCR422  = BIT1,
++        CAMIF_OUT_YCBCR420 = BIT4,
++        CAMIF_OUT_YCBCR422 = BIT5,
++      /* Preview Part */
++      CAMIF_RGB16        = BIT2,
++      CAMIF_RGB24        = BIT3,
++};
++
++enum camif_capturing {
++        CAMIF_BOTH_DMA_ON  = BIT4,
++      CAMIF_DMA_ON       = BIT3,
++      CAMIF_BOTH_DMA_OFF = BIT1,
++      CAMIF_DMA_OFF      = BIT0,
++      /*------------------------*/
++      CAMIF_DMA_OFF_L_IRQ= BIT5,
++};
++
++typedef struct camif_performance
++{
++      int     frames;
++      int     framesdropped;
++      __u64   bytesin;
++      __u64   bytesout;
++      __u32   reserved[4];
++} camif_perf_t;
++
++
++typedef struct {
++        dma_addr_t  phys_y;
++        dma_addr_t  phys_cb;
++        dma_addr_t  phys_cr;
++        u8          *virt_y;  
++        u8          *virt_cb;
++        u8          *virt_cr;
++        dma_addr_t  phys_rgb;
++        u8          *virt_rgb;
++}img_buf_t;
++
++
++/* this structure convers the CIWDOFFST, prescaler, mainscaler */
++typedef struct {
++      u32 modified_src_x;     /* After windows applyed to source_x */
++      u32 modified_src_y;
++      u32 hfactor;
++      u32 vfactor;
++      u32 shfactor;           /* SHfactor = 10 - ( hfactor + vfactor ) */
++      u32 prehratio;
++      u32 prevratio;
++      u32 predst_x;
++      u32 predst_y;
++      u32 scaleup_h;          
++      u32 scaleup_v;
++      u32 mainhratio;
++      u32 mainvratio;
++      u32 scalerbypass;       /* only codec */
++} scaler_t;
++
++
++enum v4l2_status {
++        CAMIF_V4L2_INIT    = BIT0,
++        CAMIF_v4L2_DIRTY   = BIT1,
++};
++
++
++/* Global Status Definition */
++#define PWANT2START   BIT0
++#define CWANT2START   BIT1
++#define BOTH_STARTED  (PWANT2START|CWANT2START)
++#define PNOTWORKING   BIT4
++#define C_WORKING     BIT5
++
++typedef struct {
++      struct semaphore         lock;
++        enum camif_itu_fmt       itu_fmt;
++        enum camif_order422      order422;
++      u32                      win_hor_ofst;
++      u32                      win_ver_ofst;
++        u32                      camclk;  /* External Image Sensor Camera Clock */
++        u32                      source_x;
++        u32                      source_y;
++      u32                      polarity_pclk;
++      u32                      polarity_vsync;
++      u32                      polarity_href;
++      struct i2c_client        *sensor;
++      u32                      user; /* MAX 2 (codec, preview) */
++      u32                      old_priority; /* BUS PRIORITY register */
++      u32                      status;
++      u32                      init_sensor;/* initializing sensor */
++      void                     *other;    /* Codec camif_cfg_t */
++      u32                      reset_type;    /* External Sensor Reset  Type */
++      u32                      reset_udelay;  
++} camif_gc_t;                 /* gobal control register */
++
++
++/* when  App want to change v4l2 parameter,
++ * we instantly store it into v4l2_t v2 
++ * and then reflect it to hardware
++ */   
++typedef struct v4l2 {
++      struct v4l2_fmtdesc     *fmtdesc;
++      struct v4l2_pix_format   fmt; /* current pixel format */
++      struct v4l2_input        input;
++        struct video_picture     picture;
++      enum v4l2_status         status;
++      int     used_fmt ;      /* used format index  */
++} v4l2_t;
++
++
++typedef struct camif_c_t {
++        struct video_device      *v;
++      /* V4L2 param only for v4l2 driver */
++      v4l2_t                    v2;
++      camif_gc_t               *gc; /* Common between Codec and Preview */
++      /* logical parameter */
++      wait_queue_head_t        waitq;
++      u32                      status; /* Start/Stop */
++      u32                      fsm; /* Start/Stop */
++      u32                      open_count; /* duplicated */
++      int                      irq;
++      char                     shortname[16];
++        u32                      target_x;
++        u32                      target_y;
++      scaler_t                 sc;
++      enum flip_mode           flip;
++        enum camif_dma_type      dma_type;
++       /* 4 pingpong Frame memory */
++        u8                       *pp_virt_buf;
++        dma_addr_t               pp_phys_buf;
++        u32                      pp_totalsize;
++      u32                      pp_num; /* used pingpong memory number */
++        img_buf_t                img_buf[4];
++        enum camif_codec_fmt     fmt;
++        enum camif_capturing     exec;
++      camif_perf_t             perf;
++      u32                      now_frame_num;
++      u32                      auto_restart; /* Only For Preview */
++} camif_cfg_t;
++
++#ifdef SW_DEBUG
++#define DPRINTK(fmt, args...) printk(KERN_DEBUG "%s: " fmt, __FUNCTION__ , ## args)
++#else
++#define DPRINTK(fmt, args...)
++#endif
++
++
++#ifdef SW_DEBUG
++#define assert(expr) \
++        if(!(expr)) {                                   \
++        printk( "Assertion failed! %s,%s,%s,line=%d\n", \
++        #expr,__FILE__,__FUNCTION__,__LINE__);          \
++        }
++#else
++#define assert(expr)
++#endif
++
++
++
++extern int camif_capture_start(camif_cfg_t *);
++extern int camif_capture_stop(camif_cfg_t *);
++extern int camif_g_frame_num(camif_cfg_t *);
++extern u8 * camif_g_frame(camif_cfg_t *);
++extern int  camif_win_offset(camif_gc_t *);
++extern void camif_hw_open(camif_gc_t *);
++extern void camif_hw_close(camif_cfg_t *);
++extern int camif_dynamic_open(camif_cfg_t *);
++extern int camif_dynamic_close(camif_cfg_t *);
++extern void camif_reset(int,int);
++extern void camif_setup_sensor(void);
++extern int camif_g_fifo_status(camif_cfg_t *);
++extern void camif_last_irq_en(camif_cfg_t *);
++extern void camif_change_flip(camif_cfg_t *);
++
++
++/* Todo
++ *