#
# Automatically generated make config: don't edit
# Linux/arm 2011.06.0 Barebox Configuration
# Fri Mar 23 11:46:18 2012
#
# CONFIG_BOARD_LINKER_SCRIPT is not set
CONFIG_GENERIC_LINKER_SCRIPT=y
CONFIG_ARM=y
CONFIG_ARM_LINUX=y

#
# System Type
#
CONFIG_ARCH_COMCERTO=y
# CONFIG_ARCH_AT91 is not set
# CONFIG_ARCH_EP93XX is not set
# CONFIG_ARCH_IMX is not set
# CONFIG_ARCH_MXS is not set
# CONFIG_ARCH_NETX is not set
# CONFIG_ARCH_NOMADIK is not set
# CONFIG_ARCH_OMAP is not set
# CONFIG_ARCH_S3C24xx is not set
# CONFIG_ARCH_VERSATILE is not set

#
# Comcerto Configuration
#
CONFIG_ARCH_HAS_LOWLEVEL_INIT=y
CONFIG_BOARDINFO="Mindspeed C2000"

#
# SoC Selection
#
CONFIG_COMCERTO_C2000=y

#
# Board Selection
#
# CONFIG_MACH_COMCERTO_C2K_EVM is not set
CONFIG_MACH_COMCERTO_C2K_MFCNEVM=y
# CONFIG_MACH_COMCERTO_C2K_ASIC is not set
# CONFIG_MACH_COMCERTO_C2K_RTSM is not set

#
# Build Selection
#
# CONFIG_COMCERTO_VERIFICATION is not set
# CONFIG_COMCERTO_DIAG is not set
CONFIG_COMCERTO_BOOTLOADER=y
# CONFIG_COMCERTO_ULOADER is not set
# CONFIG_COMCERTO_NAND_ULOADER is not set
CONFIG_COMCERTO_NAND=y
# CONFIG_M86201 is not set
# CONFIG_M86202 is not set
# CONFIG_M86203 is not set
# CONFIG_M86204 is not set
# CONFIG_M86206 is not set
# CONFIG_M86207 is not set
# CONFIG_M86208 is not set
# CONFIG_M8620X is not set
# CONFIG_M86260 is not set
# CONFIG_M86261 is not set
# CONFIG_M86261_NAS is not set
# CONFIG_M86262 is not set
# CONFIG_M8626X is not set
# CONFIG_M86291 is not set
# CONFIG_M86292 is not set
# CONFIG_M86293 is not set
# CONFIG_M86294 is not set
# CONFIG_M86295 is not set
# CONFIG_M86296 is not set
# CONFIG_M86297 is not set
# CONFIG_M86298 is not set
# CONFIG_M8629X is not set

CONFIG_COMCERTO_SERDES=y
CONFIG_COMCERTO_I2C=y

#
# Processor Type
#
CONFIG_CPU_32=y
CONFIG_CPU_32v7=y

#
# processor features
#
# CONFIG_BOOT_ENDIANNESS_SWITCH is not set
# CONFIG_AEABI is not set

#
# Arm specific settings
#
CONFIG_CMD_ARM_CPUINFO=y
# CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS is not set
CONFIG_ARM_EXCEPTIONS=y
CONFIG_DEFCONFIG_LIST="$ARCH_DEFCONFIG"
CONFIG_GREGORIAN_CALENDER=y
CONFIG_HAS_KALLSYMS=y
CONFIG_HAS_MODULES=y
CONFIG_CMD_MEMORY=y
CONFIG_ENV_HANDLING=y

#
# General Settings
#
CONFIG_LOCALVERSION_AUTO=y
CONFIG_ENVIRONMENT_VARIABLES=y

#
# memory layout
#
CONFIG_HAVE_CONFIGURABLE_TEXT_BASE=y
CONFIG_TEXT_BASE=0x1000000
CONFIG_HAVE_CONFIGURABLE_MEMORY_LAYOUT=y
CONFIG_MEMORY_LAYOUT_DEFAULT=y
# CONFIG_MEMORY_LAYOUT_FIXED is not set
CONFIG_STACK_SIZE=0x8000
CONFIG_MALLOC_SIZE=0x500000
# CONFIG_BROKEN is not set
# CONFIG_EXPERIMENTAL is not set
CONFIG_MALLOC_DLMALLOC=y
# CONFIG_KALLSYMS is not set
CONFIG_PROMPT="Barebox-C2K >"
CONFIG_BAUDRATE=115200
CONFIG_LONGHELP=y
CONFIG_CBSIZE=1024
CONFIG_MAXARGS=16
CONFIG_SHELL_HUSH=y
# CONFIG_SHELL_SIMPLE is not set
CONFIG_GLOB=y
CONFIG_PROMPT_HUSH_PS2="> "
# CONFIG_HUSH_FANCY_PROMPT is not set
CONFIG_HUSH_GETOPT=y
CONFIG_CMDLINE_EDITING=y
CONFIG_AUTO_COMPLETE=y
CONFIG_MEM_SIZE=y
# CONFIG_MENU is not set
# CONFIG_PASSWORD is not set
CONFIG_DYNAMIC_CRC_TABLE=y
CONFIG_ERRNO_MESSAGES=y
CONFIG_TIMESTAMP=y
CONFIG_CONSOLE_FULL=y
CONFIG_CONSOLE_ACTIVATE_FIRST=y
# CONFIG_OF_FLAT_TREE is not set
CONFIG_PARTITION=y
CONFIG_DEFAULT_ENVIRONMENT=y
CONFIG_DEFAULT_ENVIRONMENT_GENERIC=y
CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/arm/boards/comcerto-mfcnevm/env"
# CONFIG_POLLER is not set

#
# Debugging
#
# CONFIG_DEBUG_INFO is not set
# CONFIG_ENABLE_FLASH_NOISE is not set
# CONFIG_ENABLE_PARTITION_NOISE is not set
# CONFIG_ENABLE_DEVICE_NOISE is not set
CONFIG_COMMAND_SUPPORT=y

#
# commands
#

#
# scripting
#
CONFIG_CMD_EDIT=y
# CONFIG_CMD_SLEEP is not set
CONFIG_CMD_SAVEENV=y
CONFIG_CMD_LOADENV=y
# CONFIG_CMD_EXPORT is not set
CONFIG_CMD_PRINTENV=y
CONFIG_CMD_READLINE=y
CONFIG_CMD_TRUE=y
CONFIG_CMD_FALSE=y
# CONFIG_CMD_LOGIN is not set
# CONFIG_CMD_PASSWD is not set

#
# file commands
#
CONFIG_CMD_LS=y
CONFIG_CMD_RM=y
CONFIG_CMD_CAT=y
CONFIG_CMD_MKDIR=y
CONFIG_CMD_RMDIR=y
CONFIG_CMD_CP=y
CONFIG_CMD_PWD=y
CONFIG_CMD_CD=y
CONFIG_CMD_MOUNT=y
CONFIG_CMD_UMOUNT=y
CONFIG_CMD_NAND=y
CONFIG_CMD_NOR=y
CONFIG_CMD_UPDATE_SPI=y
# CONFIG_CMD_UPDATE_FAST_SPI is not set
CONFIG_CMD_UPDATE_I2C=y
CONFIG_CMD_COPY=y

#
# console
#
CONFIG_CMD_CLEAR=y
CONFIG_CMD_ECHO=y
# CONFIG_CMD_ECHO_E is not set

#
# memory
#
# CONFIG_CMD_LOADB is not set
# CONFIG_CMD_MEMINFO is not set
# CONFIG_CMD_CRC is not set
# CONFIG_CMD_MTEST is not set

#
# flash
#
CONFIG_CMD_FLASH=y
# CONFIG_CMD_UBI is not set

#
# booting
#
CONFIG_CMD_BOOTM=y
# CONFIG_CMD_BOOTM_ZLIB is not set
# CONFIG_CMD_BOOTM_BZLIB is not set
# CONFIG_CMD_BOOTM_SHOW_TYPE is not set
CONFIG_CMD_BOOTZ=y
CONFIG_CMD_BOOTU=y
CONFIG_CMD_RESET=y
# CONFIG_CMD_GO is not set
CONFIG_CMD_TIMEOUT=y
CONFIG_CMD_PARTITION=y
CONFIG_CMD_TEST=y
CONFIG_CMD_VERSION=y
CONFIG_CMD_HELP=y
CONFIG_CMD_DEVINFO=y
# CONFIG_CMD_UNLZO is not set
CONFIG_CMD_I2C=y
CONFIG_CMD_SATA=y
#
# c2000
#
CONFIG_CMD_SOCINFO=y
CONFIG_CMD_GEMAC_STATS=y
CONFIG_CMD_PFE_STATS=y
CONFIG_CMD_PFE_DIAGS=y
CONFIG_CMD_AR8328=y
CONFIG_CMD_PFE_COMMANDS=y
CONFIG_NET=y
# CONFIG_NET_DHCP is not set
# CONFIG_NET_NFS is not set
CONFIG_NET_PING=y
CONFIG_NET_TFTP=y
# CONFIG_NET_TFTP_PUSH is not set
# CONFIG_NET_NETCONSOLE is not set
# CONFIG_NET_RESOLV is not set

#
# Drivers
#

#
# serial drivers
#
# CONFIG_DRIVER_SERIAL_ARM_DCC is not set
CONFIG_DRIVER_FAST_UART=y
# CONFIG_DRIVER_SERIAL_NS16550 is not set
CONFIG_MIIDEV=y

#
# Network drivers
#
# CONFIG_DRIVER_NET_SMC911X is not set
# CONFIG_DRIVER_NET_SMC91111 is not set
CONFIG_NET_COMCERTO=y
CONFIG_NET_COMCERTO_2000=y
CONFIG_AR8328_SWITCH=y

#
# SPI drivers
#
CONFIG_SPI=y
CONFIG_DRIVER_SPI_C2K=y
CONFIG_DRIVER_FAST_SPI_C2K=y
CONFIG_C2K_SPI_API=y
CONFIG_C2K_SPI_COMMON=y
CONFIG_SPI_FLASH=y
# CONFIG_FAST_SPI_FLASH is not set
CONFIG_CSI_FLASH=y
CONFIG_I2C=y

#
# I2C Hardware Bus support
#
CONFIG_I2C_C2K=y

#
# flash drivers
#
CONFIG_DRIVER_CFI=y
CONFIG_DRIVER_CFI_INTEL=y
CONFIG_DRIVER_CFI_AMD=y
CONFIG_DRIVER_CFI_BANK_WIDTH_1=y
CONFIG_DRIVER_CFI_BANK_WIDTH_2=y
CONFIG_DRIVER_CFI_BANK_WIDTH_4=y
# CONFIG_DRIVER_CFI_BANK_WIDTH_8 is not set
CONFIG_CFI_BUFFER_WRITE=y
CONFIG_MTD=y
CONFIG_NAND=y
CONFIG_MTD_NAND_ECC_BCH=y
# CONFIG_MTD_NAND_BCH is not set
CONFIG_NAND_WRITE=y
CONFIG_NAND_ECC_SOFT=y
# CONFIG_NAND_ECC_HW is not set
CONFIG_NAND_ECC_HW_SYNDROME=y
# CONFIG_NAND_ECC_HW_NONE is not set
# CONFIG_NAND_COMCERTO_ECC_8_HW_BCH is not set
CONFIG_NAND_COMCERTO_ECC_24_HW_BCH=y
CONFIG_COMCERTO_NAND_ERASE_FBB=y
CONFIG_NAND_INFO=y
CONFIG_NAND_BBT=y
CONFIG_NAND_READ_OOB=y
CONFIG_NAND_COMCERTO=y
# CONFIG_MTD_NAND_VERIFY_WRITE is not set
# CONFIG_MTD_NAND_ECC_SMC is not set
CONFIG_MTD_NAND_IDS=y
CONFIG_UBI=y
# CONFIG_ATA is not set
# CONFIG_USB is not set
# CONFIG_USB_GADGET is not set
# CONFIG_VIDEO is not set
# CONFIG_MCI is not set

#
# MFD
#
# CONFIG_I2C_MC13892 is not set
# CONFIG_I2C_MC34704 is not set
# CONFIG_I2C_MC9SDZ60 is not set
# CONFIG_I2C_LP3972 is not set
# CONFIG_I2C_TWL4030 is not set
# CONFIG_DRIVER_SPI_MC13783 is not set
# CONFIG_LED is not set

#
# OTP
#
CONFIG_OTP=y
CONFIG_DRIVER_OTP=y

#
# Filesystem support
#
CONFIG_FS_CRAMFS=y
CONFIG_FS_RAMFS=y
CONFIG_FS_DEVFS=y
# CONFIG_FS_FAT is not set
CONFIG_PARTITION_NEED_MTD=y
CONFIG_ZLIB=y
CONFIG_CRC32=y
# CONFIG_DIGEST is not set
# CONFIG_GENERIC_FIND_NEXT_BIT is not set
# CONFIG_PROCESS_ESCAPE_SEQUENCE is not set

#
# SATA support
#
CONFIG_COMCERTO_SATA=y
