mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-19 02:54:24 +00:00
bsec: move bsec_mode_is_closed_device() service to platform
This BSEC service is a platform specific service. Implementation moved to the platform part. Signed-off-by: Lionel Debieve <lionel.debieve@st.com> Change-Id: I1f70ed48a446860498ed111acce01187568538c9
This commit is contained in:
parent
b1e0b11cc9
commit
f700423c1f
4 changed files with 15 additions and 18 deletions
|
@ -840,22 +840,6 @@ static uint32_t bsec_power_safmem(bool power)
|
|||
return BSEC_OK;
|
||||
}
|
||||
|
||||
/*
|
||||
* bsec_mode_is_closed_device: read OTP secure sub-mode.
|
||||
* return: false if open_device and true of closed_device.
|
||||
*/
|
||||
bool bsec_mode_is_closed_device(void)
|
||||
{
|
||||
uint32_t value;
|
||||
|
||||
if ((bsec_shadow_register(DATA0_OTP) != BSEC_OK) ||
|
||||
(bsec_read_otp(&value, DATA0_OTP) != BSEC_OK)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return (value & DATA0_OTP_SECURED) == DATA0_OTP_SECURED;
|
||||
}
|
||||
|
||||
/*
|
||||
* bsec_shadow_read_otp: Load OTP from SAFMEM and provide its value
|
||||
* otp_value: read value.
|
||||
|
@ -894,7 +878,7 @@ uint32_t bsec_check_nsec_access_rights(uint32_t otp)
|
|||
|
||||
if (otp >= STM32MP1_UPPER_OTP_START) {
|
||||
/* Check if BSEC is in OTP-SECURED closed_device state. */
|
||||
if (bsec_mode_is_closed_device()) {
|
||||
if (stm32mp_is_closed_device()) {
|
||||
if (!non_secure_can_access(otp)) {
|
||||
return BSEC_ERROR;
|
||||
}
|
||||
|
|
|
@ -199,7 +199,6 @@ bool bsec_read_sp_lock(uint32_t otp);
|
|||
bool bsec_wr_lock(uint32_t otp);
|
||||
uint32_t bsec_otp_lock(uint32_t service, uint32_t value);
|
||||
|
||||
bool bsec_mode_is_closed_device(void);
|
||||
uint32_t bsec_shadow_read_otp(uint32_t *otp_value, uint32_t word);
|
||||
uint32_t bsec_check_nsec_access_rights(uint32_t otp);
|
||||
|
||||
|
|
|
@ -19,6 +19,7 @@ void stm32mp_save_boot_ctx_address(uintptr_t address);
|
|||
uintptr_t stm32mp_get_boot_ctx_address(void);
|
||||
|
||||
bool stm32mp_is_single_core(void);
|
||||
bool stm32mp_is_closed_device(void);
|
||||
|
||||
/* Return the base address of the DDR controller */
|
||||
uintptr_t stm32mp_ddrctrl_base(void);
|
||||
|
|
|
@ -278,6 +278,19 @@ bool stm32mp_is_single_core(void)
|
|||
return ret;
|
||||
}
|
||||
|
||||
/* Return true when device is in closed state */
|
||||
bool stm32mp_is_closed_device(void)
|
||||
{
|
||||
uint32_t value;
|
||||
|
||||
if ((bsec_shadow_register(DATA0_OTP) != BSEC_OK) ||
|
||||
(bsec_read_otp(&value, DATA0_OTP) != BSEC_OK)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return (value & DATA0_OTP_SECURED) == DATA0_OTP_SECURED;
|
||||
}
|
||||
|
||||
uint32_t stm32_iwdg_get_instance(uintptr_t base)
|
||||
{
|
||||
switch (base) {
|
||||
|
|
Loading…
Add table
Reference in a new issue