3 #ifndef SOC_INTEL_COMMON_CSE_H
4 #define SOC_INTEL_COMMON_CSE_H
10 #define MKHI_GROUP_ID_CBM 0x0
11 #define MKHI_GROUP_ID_HMRFPO 0x5
12 #define MKHI_GROUP_ID_GEN 0xff
13 #define MKHI_GROUP_ID_BUP_COMMON 0xf0
14 #define MKHI_GROUP_ID_FWCAPS 0x3
17 #define MKHI_CBM_GLOBAL_RESET_REQ 0xb
20 #define MKHI_SET_ME_DISABLE 0x3
21 #define MKHI_SET_ME_ENABLE 0x3
24 #define GR_ORIGIN_BIOS_POST 0x2
27 #define MKHI_HMRFPO_ENABLE 0x1
28 #define MKHI_HMRFPO_GET_STATUS 0x3
31 #define MKHI_GEN_GET_FW_VERSION 0x2
34 #define MEI_BUS_DISABLE_COMMAND 0xc
37 #define MKHI_END_OF_POST 0xc
40 #define MKHI_BUP_COMMON_GET_BOOT_PARTITION_INFO 0x1c
41 #define MKHI_BUP_COMMON_SET_BOOT_PARTITION_INFO 0x1d
42 #define MKHI_BUP_COMMON_DATA_CLEAR 0x20
45 #define MKHI_BUP_COMMON_GET_BOOT_PERF_DATA 0x8
48 #define ME_HFS1_CWS_NORMAL 0x5
51 #define ME_HFS1_COM_NORMAL 0x0
52 #define ME_HFS1_COM_SOFT_TEMP_DISABLE 0x3
53 #define ME_HFS1_COM_SECOVER_MEI_MSG 0x5
56 #define ME_DISABLE_RULE_ID 6
57 #define ME_DISABLE_RULE_LENGTH 4
58 #define ME_DISABLE_COMMAND 0
59 #define ME_DISABLE_ATTEMPTS 3
62 #define ME_HFS3_FW_SKU_CONSUMER 0x2
63 #define ME_HFS3_FW_SKU_CORPORATE 0x3
64 #define ME_HFS3_FW_SKU_LITE 0x5
67 #define NUM_CSE_BOOT_PERF_DATA 64
339 size_t *rcv_sz,
uint8_t cse_addr);
411 #define BIOS_HOST_ADDR 0x00
414 #define HECI_MKHI_ADDR 0x07
417 #define HECI_MEI_ADDR 0x00
421 #define MKHI_HMRFPO_DISABLED 0
427 #define MKHI_HMRFPO_LOCKED 1
430 #define MKHI_HMRFPO_ENABLED 2
cb_err
coreboot error codes
void print_me_fw_version(void *unused)
void cse_set_to_d0i3(void)
bool cse_is_hfs1_com_soft_temp_disable(void)
bool cse_is_hfs1_cws_normal(void)
enum cb_err get_me_fw_version(struct me_fw_ver_resp *resp)
void cse_set_host_ready(void)
bool cse_is_hfs1_com_normal(void)
uint8_t cse_wait_sec_override_mode(void)
enum cse_tx_rx_status heci_send_receive(const void *snd_msg, size_t snd_sz, void *rcv_msg, size_t *rcv_sz, uint8_t cse_addr)
enum cse_device_state get_cse_device_state(unsigned int devfn)
bool is_cse_enabled(void)
void heci_set_to_d0i3(void)
@ CSE_COMMUNICATION_ERROR
@ CSE_LITE_SKU_SUB_PART_LAYOUT_MISMATCH_ERROR
@ CSE_LITE_SKU_SUB_PART_BLOB_ACCESS_ERR
@ CSE_LITE_SKU_RW_ACCESS_ERROR
@ CSE_LITE_SKU_LAYOUT_MISMATCH_ERROR
@ CSE_LITE_SKU_SUB_PART_UPDATE_NOT_REQ
@ CSE_LITE_SKU_FW_UPDATE_ERROR
@ CSE_LITE_SKU_SUB_PART_ACCESS_ERR
@ CSE_LITE_SKU_RW_SWITCH_ERROR
@ CSE_LITE_SKU_RW_JUMP_ERROR
@ CSE_LITE_SKU_RW_BLOB_SHA256_MISMATCH
@ CSE_LITE_SKU_PART_UPDATE_SUCCESS
@ CSE_LITE_SKU_RW_BLOB_NOT_FOUND
@ CSE_LITE_SKU_DATA_WIPE_ERROR
@ CSE_LITE_SKU_RW_METADATA_NOT_FOUND
@ CSE_LITE_SKU_SUB_PART_UPDATE_FAIL
@ CSE_TX_ERR_CSE_NOT_READY
@ CSE_RX_ERR_RESP_LEN_MISMATCH
@ CSE_RX_ERR_CSE_NOT_READY
uint32_t me_read_config32(int offset)
bool cse_disable_mei_devices(void)
bool cse_get_boot_performance_data(struct cse_boot_perf_rsp *boot_perf)
void heci_init(uintptr_t bar)
void cse_send_end_of_post(void)
bool skip_cse_sub_part_update(void)
int cse_hmrfpo_get_status(void)
int cse_request_global_reset(void)
bool cse_is_hfs1_spi_protected(void)
bool cse_is_hfs1_com_secover_mei_msg(void)
bool is_cse_devfn_visible(unsigned int devfn)
void soc_disable_heci1_using_pcr(void)
void cse_board_reset(void)
bool set_cse_device_state(unsigned int devfn, enum cse_device_state requested_state)
void cse_control_global_reset_lock(void)
uint8_t cse_wait_com_soft_temp_disable(void)
@ PERF_DATA_PMC_CPU_BOOT_CONFIG_START
@ PERF_DATA_CSME_POLL_FOR_PMC_PPS_START
@ PERF_DATA_CSME_RBE_BOOT_STALL_DONE_TO_PMC
@ PERF_DATA_CSME_PHY_LOADING_START
@ PERF_DATA_CSME_RBE_PMC_PATCH_LOADING_START
@ PERF_DATA_CSME_GET_PERF_RESPONSE
@ PERF_DATA_CSME_HOST_BOOT_PREP_DONE
@ PERF_DATA_PERF_DATA_CSME_LOAD_ISH_BRINGUP_START
@ PERF_DATA_CSME_END_OF_POST
@ PERF_DATA_PMC_PLTRST_DEASSERTED
@ PERF_DATA_CSME_ROM_COMPLETED
@ PERF_DATA_CSME_LOAD_ISH_MAIN_DONE
@ PERF_DATA_BIOS_DRAM_INIT_DONE
@ PERF_DATA_PMC_PWRGOOD_ASSERTED
@ PERF_DATA_CSME_ROM_START
@ PERF_DATA_BIOS_BIOS_CORE_DONE
@ PERF_DATA_PMC_TC0_S0_ASSERTED
@ PERF_DATA_CSME_LOAD_TCSS_COMPLETED
@ PERF_DATA_CSME_PHY_LOADING_COMPLETED
@ PERF_DATA_BIOS_END_OF_POST
@ PERF_DATA_PMC_SYS_PWROK_ASSERTED
@ PERF_DATA_PMC_SENT_CRDA
@ PERF_DATA_CSME_DRAM_INIT_DONE
@ PERF_DATA_CSME_GOT_ESE_INIT_DONE
@ PERF_DATA_CSME_LOAD_ISH_MAIN_START
@ PERF_DATA_CSME_LOAD_ISH_BRINGUP_DONE
@ PERF_DATA_CSME_GW_INIT_DONE
@ PERF_DATA_CSME_BUP_START
@ PERF_DATA_EC_BOOT_LOAD_DONE
@ PERF_DATA_CSME_RBE_PMC_PATCH_LOADING_COMPLETED
@ PERF_DATA_CSME_BIOS_CORE_DONE
@ PERF_DATA_CSME_CPU_BOOT_CONFIG_DONW
bool cse_is_hfs3_fw_sku_lite(void)
void cse_get_telemetry_data(void)
void cse_trigger_vboot_recovery(enum csme_failure_reason reason)
#define NUM_CSE_BOOT_PERF_DATA
int cse_hmrfpo_enable(void)
uint32_t num_valid_timestamps
uint32_t timestamp[NUM_CSE_BOOT_PERF_DATA]