config SOC_AMD_COMMON_BLOCK_LPC
	bool
	help
	  Select this option to use the traditional LPC-ISA bridge at D14F3.

config PROVIDES_ROM_SHARING
	bool
	help
	  Select this option if the LPC bridge supports ROM sharing.

config SOC_AMD_COMMON_BLOCK_LPC_SPI_DMA
	bool
	select X86_CUSTOM_BOOTMEDIA
	select SOC_AMD_COMMON_BLOCK_SPI_4DW_BURST
	depends on !SOC_AMD_PICASSO && !SOC_AMD_STONEYRIDGE
	help
	  Select this option to enable SPI DMA support.

# The LPC SPI DMA controller requires the destination buffers to be 64 byte
# aligned.
config CBFS_CACHE_ALIGN
	int
	default 64 if SOC_AMD_COMMON_BLOCK_LPC_SPI_DMA

config SOC_AMD_COMMON_BLOCK_HAS_ESPI
	bool
	help
	  Select this option if platform supports eSPI using D14F3 configuration
	  registers.

config SOC_AMD_COMMON_BLOCK_USE_ESPI
	bool
	depends on SOC_AMD_COMMON_BLOCK_HAS_ESPI
	help
	  Select this option if mainboard uses eSPI instead of LPC (if supported
	  by platform).
