#
# Automatically generated make config: don't edit
# libpayload version: 0.2.0
# Fri May  3 13:22:35 2013
#

#
# Generic Options
#
# CONFIG_LP_EXPERIMENTAL is not set
# CONFIG_LP_OBSOLETE is not set
# CONFIG_LP_DEVELOPER is not set
CONFIG_LP_CHROMEOS=y

#
# Architecture Options
#
CONFIG_LP_ARCH_ARM=y
# CONFIG_LP_ARCH_POWERPC is not set
# CONFIG_LP_ARCH_X86 is not set
# CONFIG_LP_MEMMAP_RAM_ONLY is not set
CONFIG_LP_COREBOOT_INFO_RANGE_BASE=0xffb00000
CONFIG_LP_COREBOOT_INFO_RANGE_SIZE=0x00100000

#
# Standard Libraries
#
CONFIG_LP_LIBC=y
# CONFIG_LP_CURSES is not set
CONFIG_LP_CBFS=y
CONFIG_LP_LZMA=y

#
# Console Options
#
CONFIG_LP_SKIP_CONSOLE_INIT=y
CONFIG_LP_CBMEM_CONSOLE=y
# CONFIG_LP_SERIAL_CONSOLE is not set
CONFIG_LP_VIDEO_CONSOLE=y
CONFIG_LP_COREBOOT_VIDEO_CONSOLE=y
# CONFIG_LP_PC_KEYBOARD is not set

#
# Drivers
#
# CONFIG_LP_RTC_PORT_EXTENDED_VIA is not set
# CONFIG_LP_STORAGE is not set
CONFIG_LP_USB=y
# CONFIG_LP_USB_OHCI is not set
# CONFIG_LP_USB_EHCI is not set
CONFIG_LP_USB_XHCI=y
CONFIG_LP_USB_HID=y
CONFIG_LP_USB_HUB=y
CONFIG_LP_USB_MSC=y
# CONFIG_LP_USB_PCI is not set
CONFIG_LP_USB_GEN_HUB=y
# CONFIG_LP_BIG_ENDIAN is not set
CONFIG_LP_LITTLE_ENDIAN=y
# CONFIG_LP_IO_ADDRESS_SPACE is not set
CONFIG_LP_ARCH_SPECIFIC_OPTIONS=y
