summaryrefslogtreecommitdiff
path: root/src/drivers/intel/fsp/fsp_util.h
diff options
context:
space:
mode:
authorMartin Roth <martin.roth@se-eng.com>2014-11-16 17:32:56 -0700
committerMartin Roth <gaumless@gmail.com>2014-12-05 16:19:45 +0100
commit09dd70ebb8f31b36d536f05af289e8edc069c893 (patch)
tree647abf9a48259029b3e718487299e7e2c171d8e8 /src/drivers/intel/fsp/fsp_util.h
parent3cf6aea871e4b5929959124356a7775ff21d65ac (diff)
downloadcoreboot-09dd70ebb8f31b36d536f05af289e8edc069c893.tar.xz
drivers/intel/fsp: add upd macros and #defines
Add macros and #defines for working with the UPD data. This makes the code look much cleaner. Remove the UPD_ENABLE / UPD_DISABLE from fsp_rangeley/chip.h and include the fsp_values header instead. This fixes a conflict. Change-Id: I72c9556065e5c7461432a4593b75da2c8a220a12 Signed-off-by: Martin Roth <martin.roth@se-eng.com> Reviewed-on: http://review.coreboot.org/7487 Tested-by: build bot (Jenkins) Reviewed-by: Marc Jones <marc.jones@se-eng.com>
Diffstat (limited to 'src/drivers/intel/fsp/fsp_util.h')
-rw-r--r--src/drivers/intel/fsp/fsp_util.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/drivers/intel/fsp/fsp_util.h b/src/drivers/intel/fsp/fsp_util.h
index db8b6dec1d..64a5e7f333 100644
--- a/src/drivers/intel/fsp/fsp_util.h
+++ b/src/drivers/intel/fsp/fsp_util.h
@@ -21,6 +21,7 @@
#define FSP_UTIL_H
#include <chipset_fsp_util.h>
+#include "fsp_values.h"
#if IS_ENABLED(CONFIG_ENABLE_MRC_CACHE)
int save_mrc_data(void *hob_start);
@@ -92,4 +93,27 @@ void update_mrc_cache(void *unused);
extern void *FspHobListPtr;
#endif
+#define UPD_DEFAULT_CHECK(member) \
+ if (config->member != UPD_DEFAULT) { \
+ UpdData->member = config->member - 1; \
+ } \
+ printk(FSP_INFO_LEVEL, #member ":\t\t0x%02x %s\n", UpdData->member, \
+ config->member ? "(set)" : "(default)");
+
+#define UPD_SPD_CHECK(member) \
+ if (config->member == UPD_SPD_ADDR_DISABLED) { \
+ UpdData->member = 0x00; \
+ } else if (config->member != UPD_SPD_ADDR_DEFAULT) { \
+ UpdData->member = config->member; \
+ } \
+ printk(FSP_INFO_LEVEL, #member ":\t\t0x%02x %s\n", UpdData->member, \
+ config->member ? "(set)" : "(default)");
+
+#define UPD_DEVICE_CHECK(devicename, member, statement) \
+ case devicename: \
+ UpdData->member = dev->enabled; \
+ printk(FSP_INFO_LEVEL, statement "%s\n", \
+ UpdData->member?"Enabled":"Disabled"); \
+ break;
+
#endif /* FSP_UTIL_H */