src/intel: Define HFSTS3 register

Changes:
1. Define HFSTS3 register across SoCs(apl/cnl/icl/tgl).
2. Define cse_is_hfs3_fw_sku_custom() which checks ME's Firmware SKU
   is Custom or not.

TEST=Verified on hatch, soraka, bobba and iclrvp.

Change-Id: I4188e58a4a08d87be2d84674e00ed1407fb8bf82
Signed-off-by: Sridhar Siricilla <sridhar.siricilla@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/38798
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Rizwan Qureshi <rizwan.qureshi@intel.com>
This commit is contained in:
Sridhar Siricilla
2020-02-06 15:31:04 +05:30
committed by Patrick Georgi
parent 3e89b65c2c
commit 3465d2730b
6 changed files with 68 additions and 0 deletions

View File

@@ -40,4 +40,18 @@ union me_hfsts1 {
} __packed fields;
};
/* ME Host Firmware Status Register 3 */
union me_hfsts3 {
u32 data;
struct {
u32 reserved_0: 4;
u32 fw_sku: 3;
u32 reserved_7: 2;
u32 reserved_9: 2;
u32 resered_11: 3;
u32 resered_14: 16;
u32 reserved_30: 2;
} __packed fields;
};
#endif /* _APOLLOLAKE_ME_H_ */

View File

@@ -44,6 +44,20 @@ union me_hfsts1 {
} __packed fields;
};
/* ME Host Firmware Status Register 3 */
union me_hfsts3 {
u32 data;
struct {
u32 reserved_0: 4;
u32 fw_sku: 3;
u32 reserved_7: 2;
u32 reserved_9: 2;
u32 resered_11: 3;
u32 resered_14: 16;
u32 reserved_30: 2;
} __packed fields;
};
void dump_me_status(void *unused);
#endif /* _CANNONLAKE_ME_H_ */

View File

@@ -270,6 +270,13 @@ bool cse_is_hfs1_com_soft_temp_disable(void)
return cse_check_hfs1_com(ME_HFS1_COM_SOFT_TEMP_DISABLE);
}
bool cse_is_hfs3_fw_sku_custom(void)
{
union me_hfsts3 hfs3;
hfs3.data = me_read_config32(PCI_ME_HFSTS3);
return hfs3.fields.fw_sku == ME_HFS3_FW_SKU_CUSTOM;
}
/* Makes the host ready to communicate with CSE */
void cse_set_host_ready(void)
{

View File

@@ -186,4 +186,10 @@ bool cse_is_hfs1_com_secover_mei_msg(void);
*/
bool cse_is_hfs1_com_soft_temp_disable(void);
/*
* Checks CSE's Firmware SKU is Custom or not.
* Returns true if CSE's Firmware SKU is Custom, otherwise false
*/
bool cse_is_hfs3_fw_sku_custom(void);
#endif // SOC_INTEL_COMMON_CSE_H

View File

@@ -40,4 +40,18 @@ union me_hfsts1 {
} __packed fields;
};
/* ME Host Firmware Status Register 3 */
union me_hfsts3 {
u32 data;
struct {
u32 reserved_0: 4;
u32 fw_sku: 3;
u32 reserved_7: 2;
u32 reserved_9: 2;
u32 resered_11: 3;
u32 resered_14: 16;
u32 reserved_30: 2;
} __packed fields;
};
#endif /* _ICELAKE_ME_H_ */

View File

@@ -40,4 +40,17 @@ union me_hfsts1 {
} __packed fields;
};
/* ME Host Firmware Status Register 3 */
union me_hfsts3 {
u32 data;
struct {
u32 reserved_0: 4;
u32 fw_sku: 3;
u32 reserved_7: 2;
u32 reserved_9: 2;
u32 resered_11: 3;
u32 resered_14: 16;
u32 reserved_30: 2;
} __packed fields;
};
#endif /* _TIGERLAKE_ME_H_ */