diff options
author | Aaron Durbin <adurbin@chromium.org> | 2012-12-12 12:40:33 -0600 |
---|---|---|
committer | Stefan Reinauer <stefan.reinauer@coreboot.org> | 2013-03-14 18:23:51 +0100 |
commit | be98524ab208be4764c7d79bdcc7c35162210af1 (patch) | |
tree | a4d94498c641eea593e589b41036782897663330 /src/southbridge/intel/lynxpoint/me.h | |
parent | 569c653a72cce2a29688f86849d48a5f0f935cf1 (diff) |
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.h | 35 |
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)); |