diff options
author | Johnny Lin <johnny_lin@wiwynn.com> | 2019-08-10 20:16:17 +0800 |
---|---|---|
committer | Patrick Rudolph <siro@das-labor.org> | 2019-08-15 06:45:08 +0000 |
commit | 1bc6bf115226baef94122955167902e4e1251a92 (patch) | |
tree | 43b7eec471924184c4bc8fe5f55806c27bb6ca9c | |
parent | 621142aa60e6d436800621c563f37179b319508b (diff) |
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>
-rw-r--r-- | src/drivers/ipmi/Kconfig | 7 | ||||
-rw-r--r-- | 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) { |