summaryrefslogtreecommitdiff
path: root/src/southbridge/intel/lynxpoint/me.h
diff options
context:
space:
mode:
authorAaron Durbin <adurbin@chromium.org>2012-12-12 12:40:33 -0600
committerStefan Reinauer <stefan.reinauer@coreboot.org>2013-03-14 18:23:51 +0100
commitbe98524ab208be4764c7d79bdcc7c35162210af1 (patch)
treea4d94498c641eea593e589b41036782897663330 /src/southbridge/intel/lynxpoint/me.h
parent569c653a72cce2a29688f86849d48a5f0f935cf1 (diff)
downloadcoreboot-be98524ab208be4764c7d79bdcc7c35162210af1.tar.xz
lynxpoint: ME to BIOS Payload Updates
This commit contains a bevy of updates: - PCI device id is updated to match Lynx Point EDS in the ME driver. - Allocate the memory to store the consumption of the MBP. - me_bios_payload structure is now a structure of pointers that point into the allocated memory. - The ICC profile structure was updated to correctly reflect the documentation. Verfied that output of MBP reading can handle unknown items. Change-Id: I43cc45e6b797444c105e7c842eb5684e9c104687 Signed-off-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: http://review.coreboot.org/2641 Tested-by: build bot (Jenkins) Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
Diffstat (limited to 'src/southbridge/intel/lynxpoint/me.h')
-rw-r--r--src/southbridge/intel/lynxpoint/me.h35
1 files changed, 18 insertions, 17 deletions
diff --git a/src/southbridge/intel/lynxpoint/me.h b/src/southbridge/intel/lynxpoint/me.h
index a57f779ea5..ecd12e4ebf 100644
--- a/src/southbridge/intel/lynxpoint/me.h
+++ b/src/southbridge/intel/lynxpoint/me.h
@@ -394,12 +394,7 @@ typedef struct {
u32 reserved_4 : 1;
u32 wlan : 1;
u32 reserved_5 : 8;
-} __attribute__ ((packed)) mefwcaps_sku;
-
-typedef struct {
- mefwcaps_sku fw_capabilities;
- u8 available;
-} mbp_fw_caps;
+} __attribute__ ((packed)) mbp_mefwcaps;
typedef struct {
u16 device_id;
@@ -431,11 +426,17 @@ typedef struct {
} mbp_plat_type;
typedef struct {
+ u16 icc_start_address;
+ u16 mask;
+} __attribute__ ((packed)) icc_address_mask;
+
+typedef struct {
u8 num_icc_profiles;
u8 icc_profile_soft_strap;
u8 icc_profile_index;
u8 reserved;
- u32 register_lock_mask[3];
+ u32 icc_reg_bundles;
+ icc_address_mask icc_address_mask[0];
} __attribute__ ((packed)) mbp_icc_profile;
typedef struct {
@@ -451,23 +452,23 @@ typedef struct {
u8 state;
u8 last_theft_trigger;
tdt_state_flag flags;
-} __attribute__ ((packed)) tdt_state_info;
+} __attribute__ ((packed)) mbp_at_state;
typedef struct {
- mbp_fw_version_name fw_version_name;
- mbp_fw_caps fw_caps_sku;
- mbp_rom_bist_data rom_bist_data;
- mbp_platform_key platform_key;
- mbp_plat_type fw_plat_type;
- mbp_icc_profile icc_profile;
- tdt_state_info at_state;
- u32 mfsintegrity;
+ mbp_fw_version_name *fw_version_name;
+ mbp_mefwcaps *fw_capabilities;
+ mbp_rom_bist_data *rom_bist_data;
+ mbp_platform_key *platform_key;
+ mbp_plat_type *fw_plat_type;
+ mbp_icc_profile *icc_profile;
+ mbp_at_state *at_state;
+ u32 *mfsintegrity;
} me_bios_payload;
struct me_fwcaps {
u32 id;
u8 length;
- mefwcaps_sku caps_sku;
+ mbp_mefwcaps caps_sku;
u8 reserved[3];
} __attribute__ ((packed));