#
# Automatically generated make config: don't edit
# libpayload version: 0.2.0
# Fri Mar 20 22:48:00 2015
#

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

#
# Architecture Options
#
# CONFIG_LP_ARCH_ARM is not set
# CONFIG_LP_ARCH_X86 is not set
CONFIG_LP_ARCH_ARM64=y
# CONFIG_LP_ARCH_MIPS is not set
# CONFIG_LP_MEMMAP_RAM_ONLY is not set

#
# 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=y
# CONFIG_LP_8250_SERIAL_CONSOLE is not set
# CONFIG_LP_S5P_SERIAL_CONSOLE is not set
CONFIG_LP_8250_MMIO32_SERIAL_CONSOLE=y
# CONFIG_LP_IPQ806X_SERIAL_CONSOLE is not set
# CONFIG_LP_BG4CD_SERIAL_CONSOLE is not set
# CONFIG_LP_CYGNUS_SERIAL_CONSOLE is not set
# CONFIG_LP_SERIAL_SET_SPEED is not set
# CONFIG_LP_SERIAL_ACS_FALLBACK 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_TIMER_NONE is not set
# CONFIG_LP_TIMER_MCT is not set
CONFIG_LP_TIMER_TEGRA_1US=y
# CONFIG_LP_TIMER_IPQ806X is not set
# CONFIG_LP_TIMER_RK is not set
# CONFIG_LP_TIMER_BG4CD is not set
# CONFIG_LP_TIMER_CYGNUS is not set
# CONFIG_LP_TIMER_IMG_PISTACHIO is not set
CONFIG_LP_TIMER_TEGRA_1US_ADDRESS=0x60005010
CONFIG_LP_USB=y
# CONFIG_LP_USB_OHCI is not set
CONFIG_LP_USB_EHCI=y
CONFIG_LP_USB_XHCI=y
CONFIG_LP_USB_HID=y
CONFIG_LP_USB_HUB=y
# CONFIG_LP_USB_EHCI_HOSTPC_ROOT_HUB_TT is not set
CONFIG_LP_USB_MSC=y
# CONFIG_LP_USB_PCI is not set
CONFIG_LP_USB_GEN_HUB=y
CONFIG_LP_UDC=y
CONFIG_LP_UDC_CI=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
CONFIG_LP_DMA_LIM_EXCL=0x1000
