# yocto-bsp-filename {{=machine}}.cfg
#
# System Type
#
CONFIG_ARCH_OMAP=y

#
# TI OMAP Implementations
#
# CONFIG_ARCH_OMAP2 is not set
CONFIG_ARCH_OMAP3=y

#
# TI OMAP Common Features
#
CONFIG_ARCH_OMAP2PLUS=y

#
# OMAP Feature Selections
#
CONFIG_OMAP_32K_TIMER=y
CONFIG_OMAP_32K_TIMER_HZ=128
CONFIG_OMAP_DM_TIMER=y
CONFIG_OMAP_RESET_CLOCKS=y
CONFIG_OMAP_SMARTREFLEX=y
CONFIG_OMAP_SMARTREFLEX_CLASS3=y
CONFIG_OMAP_MBOX_FWK=m
CONFIG_OMAP_MBOX_KFIFO_SIZE=256

#
# OMAP Board Type
#
CONFIG_MACH_OMAP3_BEAGLE=y

#
# Processor Features
#
CONFIG_ARM_THUMBEE=y
CONFIG_ARM_ERRATA_430973=y

#
# Kernel Features
#
CONFIG_LEDS=y


#
# Serial drivers
#
CONFIG_SERIAL_OMAP=y
CONFIG_SERIAL_OMAP_CONSOLE=y

#
# At least one emulation must be selected
#
CONFIG_VFP=y
CONFIG_NEON=y

#
# Power management options
#
CONFIG_PM=y
CONFIG_PM_RUNTIME=y

#
# Generic Driver Options
#
CONFIG_MTD=y
CONFIG_MTD_CMDLINE_PARTS=y
#
# User Modules And Translation Layers
#
CONFIG_MTD_BLKDEVS=y
CONFIG_MTD_BLOCK=y

#
# RAM/ROM/Flash chip drivers
#
CONFIG_MTD_CFI=y
CONFIG_MTD_CFI_INTELEXT=y

#
# Disk-On-Chip Device Drivers
#
CONFIG_MTD_NAND=y

CONFIG_MTD_NAND_OMAP2=y

CONFIG_MTD_UBI=y

#
# SCSI device support
#
CONFIG_SCSI=y

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=y

#
# Ethernet (10 or 100Mbit)
#
CONFIG_SMSC911X=y
CONFIG_USB_NET_SMSC95XX=y

#
# Userland interfaces
#
CONFIG_INPUT_EVDEV=y

#
# Input Device Drivers
#
CONFIG_KEYBOARD_TWL4030=y
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_ADS7846=y

#
# Miscellaneous I2C Chip support
#
CONFIG_I2C=y
CONFIG_I2C_OMAP=y
CONFIG_SPI=y
CONFIG_SPI_MASTER=y
CONFIG_SPI_OMAP24XX=y

#
# I2C GPIO expanders:
#
CONFIG_GPIO_TWL4030=y

#
# SPI GPIO expanders:
#
CONFIG_OMAP_WATCHDOG=y
CONFIG_WATCHDOG_NOWAYOUT=y

#
# Multifunction device drivers
#
CONFIG_TWL4030_CORE=y
CONFIG_REGULATOR=y
CONFIG_REGULATOR_DUMMY=y
CONFIG_REGULATOR_TWL4030=y

#
# Graphics support
#
CONFIG_FB=y
CONFIG_DRM=m
# CONFIG_VGASTATE is not set
# CONFIG_VIDEO_OUTPUT_CONTROL is not set
# CONFIG_FIRMWARE_EDID is not set
# CONFIG_FB_DDC is not set
# CONFIG_FB_BOOT_VESA_SUPPORT is not set
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
# CONFIG_FB_SYS_FILLRECT is not set
# CONFIG_FB_SYS_COPYAREA is not set
# CONFIG_FB_SYS_IMAGEBLIT is not set
# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_SYS_FOPS is not set
# CONFIG_FB_SVGALIB is not set
# CONFIG_FB_MACMODES is not set
# CONFIG_FB_BACKLIGHT is not set
CONFIG_FB_MODE_HELPERS=y
# CONFIG_FB_TILEBLITTING is not set

#
# Frame buffer hardware drivers
#
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_TMIO is not set
# CONFIG_FB_VIRTUAL is not set
# CONFIG_FB_METRONOME is not set
# CONFIG_FB_MB862XX is not set
# CONFIG_FB_BROADSHEET is not set
# CONFIG_FB_OMAP_BOOTLOADER_INIT is not set
CONFIG_OMAP2_VRAM=y
CONFIG_OMAP2_VRFB=y
CONFIG_OMAP2_DSS=y
CONFIG_OMAP2_VRAM_SIZE=14
CONFIG_OMAP2_DSS_DEBUG_SUPPORT=y
# CONFIG_OMAP2_DSS_COLLECT_IRQ_STATS is not set
CONFIG_OMAP2_DSS_DPI=y
# CONFIG_OMAP2_DSS_RFBI is not set
CONFIG_OMAP2_DSS_VENC=y
# CONFIG_OMAP2_DSS_SDI is not set
CONFIG_OMAP2_DSS_DSI=y
# CONFIG_OMAP2_DSS_FAKE_VSYNC is not set
CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=0
CONFIG_FB_OMAP2=y
CONFIG_FB_OMAP2_DEBUG_SUPPORT=y
CONFIG_FB_OMAP2_NUM_FBS=2

#
# OMAP2/3 Display Device Drivers
#
CONFIG_PANEL_GENERIC_DPI=y
CONFIG_PANEL_DVI=y
CONFIG_PANEL_SHARP_LS037V7DW01=y
# CONFIG_PANEL_LGPHILIPS_LB035Q02 is not set
# CONFIG_PANEL_TAAL is not set
CONFIG_PANEL_TPO_TD043MTEA1=m
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
CONFIG_BACKLIGHT_CLASS_DEVICE=y

#
# Display device support
#
CONFIG_DISPLAY_SUPPORT=y
CONFIG_DUMMY_CONSOLE=y
# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
# CONFIG_FONTS is not set
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
# CONFIG_LOGO_LINUX_MONO is not set
# CONFIG_LOGO_LINUX_VGA16 is not set

#
# Console display driver support
#
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_LOGO=y
# CONFIG_VGA_CONSOLE is not set

# DMA Devices
CONFIG_DMADEVICES=y
CONFIG_DMA_OMAP=y
CONFIG_DMA_OF=y

CONFIG_SOUND=y
CONFIG_SND=y
CONFIG_SND_SOC=y
CONFIG_SND_OMAP_SOC=y
CONFIG_SND_OMAP_SOC_OMAP_TWL4030=y

#
# USB Input Devices
#
CONFIG_USB=y
CONFIG_USB_SUPPORT=y

#
# Miscellaneous USB options
#
CONFIG_USB_OTG=y
# CONFIG_USB_OTG_WHITELIST is not set

#
# USB Host Controller Drivers
#
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_TT_NEWSCHED=y
CONFIG_USB_EHCI_ROOT_HUB_TT=y
CONFIG_USB_MUSB_HDRC=y
CONFIG_USB_MUSB_OMAP2PLUS=y
CONFIG_USB_OMAP=y

#
# OMAP 343x high speed USB support
#
CONFIG_USB_MUSB_OTG=y
CONFIG_USB_GADGET_MUSB_HDRC=y
CONFIG_USB_MUSB_HDRC_HCD=y
CONFIG_USB_INVENTRA_DMA=y

#
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
#

#
# may also be needed; see USB_STORAGE Help for more information
#
CONFIG_USB_STORAGE=y

#
# USB Miscellaneous drivers
#
CONFIG_USB_GADGET=y
CONFIG_USB_GADGET_DUALSPEED=y
CONFIG_USB_OTG_UTILS=y
CONFIG_TWL4030_USB=y

# USB gadget modules
CONFIG_USB_G_NCM=y
CONFIG_USB_MASS_STORAGE=y

CONFIG_MMC=y

#
# MMC/SD Host Controller Drivers
#
CONFIG_MMC_OMAP_HS=y

#
# Real Time Clock
#
CONFIG_RTC_LIB=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_DRV_TWL4030=y

#
# DOS/FAT/NT Filesystems
#
CONFIG_VFAT_FS=y

#
# Multimedia core support
#

# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set

#
# Advanced Power Management Emulation support
#
CONFIG_APM_EMULATION=y
