#
# 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=y
# CONFIG_MACH_COMCERTO_C2K_MFCNEVM is not set
# 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-evm/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
