drivers/ipmi: make IPMI KCS status and command register spacing configurable

The default is 1 (byte) spacing.

Tested on Mono Lake with 4 (32-bit) spacing

Change-Id: I47412c32e6db8f58b4fde8150adcbce349ca18a7
Signed-off-by: Johnny Lin <johnny_lin@wiwynn.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/34835
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Patrick Rudolph <siro@das-labor.org>
This commit is contained in:
Johnny Lin 2019-08-10 20:16:17 +08:00 committed by Patrick Rudolph
parent 621142aa60
commit 1bc6bf1152
2 changed files with 9 additions and 2 deletions

View File

@ -1,3 +1,10 @@
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

View File

@ -36,9 +36,9 @@
#define IPMI_KCS_STATE_WRITE 0x02
#define IPMI_KCS_STATE_ERROR 0x03
#define IPMI_CMD(_x) ((_x) + 1)
#define IPMI_CMD(_x) ((_x) + CONFIG_IPMI_KCS_REGISTER_SPACING)
#define IPMI_DATA(_x) ((_x))
#define IPMI_STAT(_x) ((_x) + 1)
#define IPMI_STAT(_x) ((_x) + CONFIG_IPMI_KCS_REGISTER_SPACING)
static unsigned char ipmi_kcs_status(int port)
{