#
# Automatically generated make config: don't edit
# Linux/arm 2011.06.0 Barebox Configuration
# Mon Jan 16 20:46:33 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=y
# CONFIG_COMCERTO_BOOTLOADER is not set
# CONFIG_COMCERTO_ULOADER is not set
# CONFIG_COMCERTO_NAND_ULOADER is not set
# CONFIG_COMCERTO_PLL is not set
# CONFIG_COMCERTO_DDR is not set
CONFIG_COMCERTO_NAND=y
CONFIG_COMCERTO_SERDES=y
CONFIG_COMCERTO_I2C=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
# CONFIG_COMCERTO_DDR_TRAINING is not set
CONFIG_ARCH_TEXT_BASE=0x00000000
CONFIG_COMCERTO_TEST=y

#
# Comcerto Diagnostic Configuration
#
CONFIG_COMCERTO_DIAG_DDR=y
# CONFIG_COMCERTO_DIAG_PFE is not set
# CONFIG_COMCERTO_DIAG_TZ is not set
# CONFIG_COMCERTO_DIAG_L2CC is not set
# CONFIG_COMCERTO_DIAG_DECT is not set
# CONFIG_COMCERTO_DIAG_PCIE is not set
# CONFIG_COMCERTO_DIAG_FUART is not set
# CONFIG_COMCERTO_DIAG_NOR is not set
# CONFIG_COMCERTO_DIAG_UTILPE_IPSEC is not set
# CONFIG_COMCERTO_DIAG_ZDSTDM is not set
# CONFIG_COMCERTO_DIAG_ZDS_SLIC is not set
CONFIG_COMCERTO_DIAG_SPI=y
# CONFIG_COMCERTO_DIAG_MSIF_TDM is not set
# CONFIG_COMCERTO_DIAG_MSIF_SLIC is not set
CONFIG_COMCERTO_DIAG_I2C=y
CONFIG_COMCERTO_DIAG_OTP=y
CONFIG_COMCERTO_DIAG_USB3=y
CONFIG_COMCERTO_DIAG_NAND_ECC=y
# CONFIG_COMCERTO_DIAG_SATA is not set
CONFIG_COMCERTO_TEST_DDR=y
# CONFIG_COMCERTO_TEST_PCIE is not set
CONFIG_COMCERTO_TEST_SPI=y
CONFIG_COMCERTO_TEST_I2C=y
CONFIG_COMCERTO_TEST_OTP=y
CONFIG_COMCERTO_TEST_NAND_ECC=y
# CONFIG_COMCERTO_TEST_ZDS_SLIC is not set
CONFIG_COMCERTO_TEST_USB3=y
# CONFIG_COMCERTO_TEST_SATA is not set

#
# 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=0x01000000
CONFIG_HAVE_CONFIGURABLE_MEMORY_LAYOUT=y
CONFIG_MEMORY_LAYOUT_DEFAULT=y
# CONFIG_MEMORY_LAYOUT_FIXED is not set
CONFIG_STACK_BASE=0x10000000
CONFIG_STACK_SIZE=0x8000
CONFIG_MALLOC_BASE=0x10080000
CONFIG_MALLOC_SIZE=0x400000
# 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_SIMPLE_READLINE=y
# CONFIG_LONGHELP is not set
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_CMDLINE_EDITING is not set
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=""
# 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 is not set
# CONFIG_CMD_EXEC is not set
# 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=y
CONFIG_CMD_CRC_CMP=y
# 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
#
# 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_DIAGS=y
CONFIG_CMD_PFE_COMMANDS=y
CONFIG_CMD_AR8328=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 is not set
CONFIG_NAND_WRITE=y
# CONFIG_NAND_ECC_SOFT is not set
# 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
