Skip to content

Commit

Permalink
fix(PeriphDrivers): Update the info block unlock sequence for the MAX…
Browse files Browse the repository at this point in the history
…32657 (#1288)
  • Loading branch information
sihyung-maxim authored Dec 10, 2024
1 parent ae0b07b commit eeb59b5
Showing 1 changed file with 31 additions and 2 deletions.
33 changes: 31 additions & 2 deletions Libraries/PeriphDrivers/Source/FLC/flc_me30.c
Original file line number Diff line number Diff line change
Expand Up @@ -183,15 +183,44 @@ int MXC_FLC_MassErase(void)
}

//******************************************************************************
__weak int MXC_FLC_UnlockInfoBlock(uint32_t address)
int MXC_FLC_UnlockInfoBlock(uint32_t address)
{
/* Flash Controller only accessible in secure world. */
#if defined(CONFIG_TRUSTED_EXECUTION_SECURE) || (CONFIG_TRUSTED_EXECUTION_SECURE != 0)
if ((address < MXC_INFO_MEM_BASE) ||
(address >= (MXC_INFO_MEM_BASE + (MXC_INFO_MEM_SIZE * 2)))) {
return E_BAD_PARAM;
}
#else
return E_NOT_SUPPORTED;
#endif

/* Make sure the info block is locked */
MXC_FLC->actrl = 0x1234;

/* Write the unlock sequence */
MXC_FLC->actrl = 0x55bcbe69;
MXC_FLC->actrl = 0x7688c189;
MXC_FLC->actrl = 0x82306612;

return E_NO_ERROR;
}

//******************************************************************************
int MXC_FLC_LockInfoBlock(uint32_t address)
{
return MXC_FLC_RevA_LockInfoBlock((mxc_flc_reva_regs_t *)MXC_FLC, address);
/* Flash Controller only accessible in secure world. */
#if defined(CONFIG_TRUSTED_EXECUTION_SECURE) || (CONFIG_TRUSTED_EXECUTION_SECURE != 0)
if ((address < MXC_INFO_MEM_BASE) ||
(address >= (MXC_INFO_MEM_BASE + (MXC_INFO_MEM_SIZE * 2)))) {
return E_BAD_PARAM;
}
#else
return E_NOT_SUPPORTED;
#endif

MXC_FLC->actrl = 0xDEADBEEF;
return E_NO_ERROR;
}

//******************************************************************************
Expand Down

0 comments on commit eeb59b5

Please sign in to comment.