config IPMI_KCS
	bool
	default n

config IPMI_KCS_REGISTER_SPACING
	int
	default 1
	depends on IPMI_KCS
	help
	  KCS status and command register IO port address spacing

config IPMI_FRU_SINGLE_RW_SZ
	int
	default 16
	depends on IPMI_KCS
	help
	  The data size in a single IPMI FRU read/write command.
	  IPMB messages are limited to 32-bytes total. When the
	  data size is larger than this value, IPMI can complete
	  reading/writing the data over multiple commands.

config IPMI_KCS_ROMSTAGE
	bool
	default n
	depends on IPMI_KCS
	help
	  IPMI KCS support in romstage.

config BMC_KCS_BASE
	hex
	default 0xca2
	depends on IPMI_KCS
	help
	  The PNP base address of BMC KCS. It must be equal to the
	  pnp port value defined in devicetree for chip drivers/ipmi.

config IPMI_KCS_TIMEOUT_MS
	int
	default 5000
	depends on IPMI_KCS
	help
	  The time unit is millisecond for each IPMI KCS transfer.
	  IPMI spec v2.0 rev 1.1 Sec. 9.15, a five-second timeout or
	  greater is recommended.

config DRIVERS_IPMI_SUPERMICRO_OEM
	bool "Supermicro IPMI OEM BMC support"
	depends on IPMI_KCS
	default n
	help
	  Tested on X11SSH only. Different BMCs might not support these OEM
	  commands.
	  The following features are implemented:
	  * Communicates the BIOS version to the BMC
	  * Communicates the BIOS date to the BMC
