summaryrefslogtreecommitdiff
path: root/src/soc/intel
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/intel')
-rw-r--r--src/soc/intel/skylake/include/soc/pcr.h5
-rw-r--r--src/soc/intel/skylake/pcr.c5
2 files changed, 10 insertions, 0 deletions
diff --git a/src/soc/intel/skylake/include/soc/pcr.h b/src/soc/intel/skylake/include/soc/pcr.h
index 3f8ee2f281..c8a4425fcc 100644
--- a/src/soc/intel/skylake/include/soc/pcr.h
+++ b/src/soc/intel/skylake/include/soc/pcr.h
@@ -85,6 +85,8 @@
#define PID_DMI 0xEF
#if !defined(__ASSEMBLER__) && !defined(__ACPI__)
+#include <stdint.h>
+
/* All these return 0 on success and < 0 on errror. */
int pcr_read32(u8 pid, u16 offset, u32 *outdata);
int pcr_read16(u8 pid, u16 offset, u16 *outdata);
@@ -95,6 +97,9 @@ int pcr_write8(u8 pid, u16 offset, u8 indata);
int pcr_andthenor32(u8 pid, u16 offset, u32 anddata, u32 ordata);
int pcr_andthenor16(u8 pid, u16 offset, u16 anddata, u16 ordata);
int pcr_andthenor8(u8 pid, u16 offset, u8 anddata, u8 ordata);
+
+/* Get the starting address of the port's registers. */
+uint8_t *pcr_port_regs(u8 pid);
#endif /* if !defined(__ASSEMBLER__) && !defined(__ACPI__) */
#endif /* _SOC_PCR_H_ */
diff --git a/src/soc/intel/skylake/pcr.c b/src/soc/intel/skylake/pcr.c
index 0e97265497..7efbb2547a 100644
--- a/src/soc/intel/skylake/pcr.c
+++ b/src/soc/intel/skylake/pcr.c
@@ -34,6 +34,11 @@ static inline void *pcr_reg_address(u8 pid, u16 offset)
return (void *)reg_addr;
}
+uint8_t *pcr_port_regs(u8 pid)
+{
+ return pcr_reg_address(pid, 0);
+}
+
/*
* Read PCR register. (This is internal function)
* It returns PCR register and size in 1/2/4 bytes.