# SPDX-License-Identifier: GPL-2.0-only
menu "Aspeed SoC drivers"

config SOC_ASPEED
	def_bool y
	depends on ARCH_ASPEED || COMPILE_TEST

config ASPEED_LPC_CTRL
	depends on SOC_ASPEED && REGMAP && MFD_SYSCON
	tristate "Aspeed ast2400/2500 HOST LPC to BMC bridge control"
	---help---
	  Control Aspeed ast2400/2500 HOST LPC to BMC mappings through
	  ioctl()s, the driver also provides a read/write interface to a BMC ram
	  region where the host LPC read/write region can be buffered.

config ASPEED_LPC_SNOOP
	tristate "Aspeed ast2500 HOST LPC snoop support"
	depends on SOC_ASPEED && REGMAP && MFD_SYSCON
	help
	  Provides a driver to control the LPC snoop interface which
	  allows the BMC to listen on and save the data written by
	  the host to an arbitrary LPC I/O port.

config ASPEED_P2A_CTRL
	depends on SOC_ASPEED && REGMAP && MFD_SYSCON
	tristate "Aspeed ast2400/2500 HOST P2A VGA MMIO to BMC bridge control"
	help
	  Control Aspeed ast2400/2500 HOST P2A VGA MMIO to BMC mappings through
	  ioctl()s, the driver also provides an interface for userspace mappings to
	  a pre-defined region.

endmenu
