summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWim Vervoorn <wvervoorn@eltan.com>2020-02-03 14:57:40 +0100
committerPatrick Georgi <pgeorgi@google.com>2020-02-11 07:50:32 +0000
commite6db9105ec9b0e85df93d290deb233a43e53a569 (patch)
tree4105ea56e94ac849a5b06e4f20e830081a9fb124
parent12e9c5ee86f9aa87b1e84bfc59e6cdbab5a4b254 (diff)
soc/intel/common/block/lpc: Add lpc_get_fixed_io_decode
Add function to return the fixed io decode ranges contained in register 0x80 of the LPC interface. BUG=N/A TEST=build Change-Id: Ie46d7c9d7a399a8489c030d906f75ba61db19cc4 Signed-off-by: Wim Vervoorn <wvervoorn@eltan.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/38745 Reviewed-by: Frans Hendriks <fhendriks@eltan.com> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
-rw-r--r--src/soc/intel/common/block/include/intelblocks/lpc_lib.h2
-rw-r--r--src/soc/intel/common/block/lpc/lpc_lib.c5
2 files changed, 7 insertions, 0 deletions
diff --git a/src/soc/intel/common/block/include/intelblocks/lpc_lib.h b/src/soc/intel/common/block/include/intelblocks/lpc_lib.h
index f77b8d5d71..cf6d8e9bdc 100644
--- a/src/soc/intel/common/block/include/intelblocks/lpc_lib.h
+++ b/src/soc/intel/common/block/include/intelblocks/lpc_lib.h
@@ -70,6 +70,8 @@ struct lpc_mmio_range {
* Output:I/O Enable Bits
*/
uint16_t lpc_enable_fixed_io_ranges(uint16_t io_enables);
+/* Return the current decode settings */
+uint16_t lpc_get_fixed_io_decode(void);
/* Open a generic IO window to the LPC bus. Four windows are available. */
void lpc_open_pmio_window(uint16_t base, uint16_t size);
/* Close all generic IO windows to the LPC bus. */
diff --git a/src/soc/intel/common/block/lpc/lpc_lib.c b/src/soc/intel/common/block/lpc/lpc_lib.c
index bc89e4ccae..3ad2176c11 100644
--- a/src/soc/intel/common/block/lpc/lpc_lib.c
+++ b/src/soc/intel/common/block/lpc/lpc_lib.c
@@ -37,6 +37,11 @@ uint16_t lpc_enable_fixed_io_ranges(uint16_t io_enables)
return io_enables;
}
+uint16_t lpc_get_fixed_io_decode(void)
+{
+ return pci_read_config16(PCH_DEV_LPC, LPC_IO_DECODE);
+}
+
/*
* Find the first unused IO window.
* Returns -1 if not found, 0 for reg 0x84, 1 for reg 0x88 ...