From 1bc6bf115226baef94122955167902e4e1251a92 Mon Sep 17 00:00:00 2001 From: Johnny Lin Date: Sat, 10 Aug 2019 20:16:17 +0800 Subject: [PATCH] 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 Reviewed-on: https://review.coreboot.org/c/coreboot/+/34835 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Rudolph --- src/drivers/ipmi/Kconfig | 7 +++++++ src/drivers/ipmi/ipmi_kcs.c | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/drivers/ipmi/Kconfig b/src/drivers/ipmi/Kconfig index 5851438714..0f7152d558 100644 --- a/src/drivers/ipmi/Kconfig +++ b/src/drivers/ipmi/Kconfig @@ -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 diff --git a/src/drivers/ipmi/ipmi_kcs.c b/src/drivers/ipmi/ipmi_kcs.c index 397a800df3..4d1e3e105b 100644 --- a/src/drivers/ipmi/ipmi_kcs.c +++ b/src/drivers/ipmi/ipmi_kcs.c @@ -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) {