feat(intel): add SMC for enquiring firmware version

This command allows non-secure world software to enquire the
version of currently running Secure Device Manager (SDM) firmware.

This will be useful in maintaining backward-compatibility as well
as ensuring software cross-compabitility.

Signed-off-by: Abdul Halim, Muhammad Hadi Asyrafi <muhammad.hadi.asyrafi.abdul.halim@intel.com>
Signed-off-by: Jit Loon Lim <jit.loon.lim@intel.com>
Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
Change-Id: Ibc23734d1135db74423da5e29655f9d32472a3b0
This commit is contained in:
Abdul Halim, Muhammad Hadi Asyrafi 2021-02-05 11:50:58 +08:00 committed by Sieu Mun Tang
parent e40910e2dc
commit c34b2a7a1a
2 changed files with 12 additions and 0 deletions

View File

@ -59,6 +59,7 @@
/* Send Mailbox Command */
#define INTEL_SIP_SMC_MBOX_SEND_CMD 0xC200001E
#define INTEL_SIP_SMC_FIRMWARE_VERSION 0xC200001F
#define INTEL_SIP_SMC_HPS_SET_BRIDGES 0xC2000032

View File

@ -435,6 +435,13 @@ static uint32_t intel_rsu_copy_dcmf_status(uint64_t dcmf_stat)
}
/* Mailbox services */
static uint32_t intel_smc_fw_version(uint32_t *fw_version)
{
*fw_version = 0U;
return INTEL_SIP_SMC_STATUS_OK;
}
static uint32_t intel_mbox_send_cmd(uint32_t cmd, uint32_t *args,
unsigned int len,
uint32_t urgent, uint32_t *response,
@ -615,6 +622,10 @@ uintptr_t sip_smc_handler(uint32_t smc_fid,
status = intel_ecc_dbe_notification(x1);
SMC_RET1(handle, status);
case INTEL_SIP_SMC_FIRMWARE_VERSION:
status = intel_smc_fw_version(&retval);
SMC_RET1(handle, status);
case INTEL_SIP_SMC_MBOX_SEND_CMD:
x5 = SMC_GET_GP(handle, CTX_GPREG_X5);
x6 = SMC_GET_GP(handle, CTX_GPREG_X6);