# SPDX-License-Identifier: GPL-2.0+
#
# Copyright (C) 2015 Google, Inc

config INTEL_BAYTRAIL
	bool
	select HAVE_FSP
	select ARCH_MISC_INIT
	select CPU_INTEL_TURBO_NOT_PACKAGE_SCOPED
	select DM_EVENT
	imply HAVE_INTEL_ME
	imply ENABLE_MRC_CACHE
	imply AHCI_PCI
	imply ICH_SPI
	imply INTEL_ICH6_GPIO
	imply PINCTRL_ICH6
	imply MMC
	imply MMC_PCI
	imply MMC_SDHCI
	imply MMC_SDHCI_SDMA
	imply SCSI
	imply SCSI_AHCI
	imply SPI_FLASH
	imply SYS_NS16550
	imply USB
	imply USB_EHCI_HCD
	imply USB_XHCI_HCD
	imply VIDEO_VESA

if INTEL_BAYTRAIL
config INTERNAL_UART
	bool "Enable the SoC integrated legacy UART"
	help
	  There is a legacy UART integrated into the Bay Trail SoC.
	  A maximum baud rate of 115200 bps is supported. For this
	  reason, it is recommended that the UART port be used for
	  debug purposes only, eg: U-Boot console.

config DEBUG_UART
	bool
	select DEBUG_UART_BOARD_INIT

endif
