mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
旧バージョンMCUのリセットパラメータ対応
git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@728 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
parent
9be668cd6d
commit
2d7e8c6d6c
@ -116,7 +116,10 @@ static void PreInit(void)
|
|||||||
リセットパラメータ(1バイト)を共有領域(1バイト)にコピー
|
リセットパラメータ(1バイト)を共有領域(1バイト)にコピー
|
||||||
*/
|
*/
|
||||||
#define HOTSTART_FLAG_ENABLE 0x80
|
#define HOTSTART_FLAG_ENABLE 0x80
|
||||||
|
if ( MCUi_ReadRegister( MCU_REG_VER_INFO_ADDR ) >= 0x20 ) // MCU旧バージョン対策
|
||||||
*(u8 *)HW_NAND_FIRM_HOTSTART_FLAG = (u8)(MCUi_ReadRegister( (u16)(MCU_REG_TEMP_ADDR + OS_MCU_RESET_VALUE_OFS) ) | HOTSTART_FLAG_ENABLE);
|
*(u8 *)HW_NAND_FIRM_HOTSTART_FLAG = (u8)(MCUi_ReadRegister( (u16)(MCU_REG_TEMP_ADDR + OS_MCU_RESET_VALUE_OFS) ) | HOTSTART_FLAG_ENABLE);
|
||||||
|
else
|
||||||
|
*(u8 *)HW_NAND_FIRM_HOTSTART_FLAG = (u8)(MCUi_ReadRegister( (u16)(MCU_OLD_REG_TEMP_ADDR + OS_MCU_RESET_VALUE_OFS) ) | HOTSTART_FLAG_ENABLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
/***************************************************************
|
/***************************************************************
|
||||||
@ -154,6 +157,7 @@ static void PostInit(void)
|
|||||||
***************************************************************/
|
***************************************************************/
|
||||||
static void EraseAll(void)
|
static void EraseAll(void)
|
||||||
{
|
{
|
||||||
|
AESi_ResetAesKey();
|
||||||
MI_CpuClearFast( OSi_GetFromFirmAddr(), sizeof(OSFromFirmBuf) );
|
MI_CpuClearFast( OSi_GetFromFirmAddr(), sizeof(OSFromFirmBuf) );
|
||||||
#ifdef SDK_FINALROM
|
#ifdef SDK_FINALROM
|
||||||
MI_CpuClearFast( (void*)HW_TWL_ROM_HEADER_BUF, HW_TWL_ROM_HEADER_BUF_SIZE );
|
MI_CpuClearFast( (void*)HW_TWL_ROM_HEADER_BUF, HW_TWL_ROM_HEADER_BUF_SIZE );
|
||||||
@ -291,6 +295,8 @@ void TwlSpMain( void )
|
|||||||
#endif
|
#endif
|
||||||
PM_BackLightOn( TRUE );
|
PM_BackLightOn( TRUE );
|
||||||
|
|
||||||
|
AESi_ResetAesKey();
|
||||||
|
MI_CpuClearFast( OSi_GetFromFirmAddr(), sizeof(OSFromFirmBuf) );
|
||||||
OS_BootFromFIRM();
|
OS_BootFromFIRM();
|
||||||
|
|
||||||
end:
|
end:
|
||||||
|
|||||||
@ -117,7 +117,10 @@ static void PreInit(void)
|
|||||||
リセットパラメータ(1バイト)を共有領域(1バイト)にコピー
|
リセットパラメータ(1バイト)を共有領域(1バイト)にコピー
|
||||||
*/
|
*/
|
||||||
#define HOTSTART_FLAG_ENABLE 0x80
|
#define HOTSTART_FLAG_ENABLE 0x80
|
||||||
|
if ( MCUi_ReadRegister( MCU_REG_VER_INFO_ADDR ) >= 0x20 ) // MCU旧バージョン対策
|
||||||
*(u8 *)HW_NAND_FIRM_HOTSTART_FLAG = (u8)(MCUi_ReadRegister( (u16)(MCU_REG_TEMP_ADDR + OS_MCU_RESET_VALUE_OFS) ) | HOTSTART_FLAG_ENABLE);
|
*(u8 *)HW_NAND_FIRM_HOTSTART_FLAG = (u8)(MCUi_ReadRegister( (u16)(MCU_REG_TEMP_ADDR + OS_MCU_RESET_VALUE_OFS) ) | HOTSTART_FLAG_ENABLE);
|
||||||
|
else
|
||||||
|
*(u8 *)HW_NAND_FIRM_HOTSTART_FLAG = (u8)(MCUi_ReadRegister( (u16)(MCU_OLD_REG_TEMP_ADDR + OS_MCU_RESET_VALUE_OFS) ) | HOTSTART_FLAG_ENABLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
/***************************************************************
|
/***************************************************************
|
||||||
@ -156,6 +159,7 @@ static void PostInit(void)
|
|||||||
***************************************************************/
|
***************************************************************/
|
||||||
static void EraseAll(void)
|
static void EraseAll(void)
|
||||||
{
|
{
|
||||||
|
AESi_ResetAesKey();
|
||||||
MI_CpuClearFast( OSi_GetFromFirmAddr(), sizeof(OSFromFirmBuf) );
|
MI_CpuClearFast( OSi_GetFromFirmAddr(), sizeof(OSFromFirmBuf) );
|
||||||
#ifdef SDK_FINALROM
|
#ifdef SDK_FINALROM
|
||||||
MI_CpuClearFast( (void*)HW_TWL_ROM_HEADER_BUF, HW_TWL_ROM_HEADER_BUF_SIZE );
|
MI_CpuClearFast( (void*)HW_TWL_ROM_HEADER_BUF, HW_TWL_ROM_HEADER_BUF_SIZE );
|
||||||
|
|||||||
@ -118,7 +118,10 @@ static void PreInit(void)
|
|||||||
リセットパラメータ(1バイト)を共有領域(1バイト)にコピー
|
リセットパラメータ(1バイト)を共有領域(1バイト)にコピー
|
||||||
*/
|
*/
|
||||||
#define HOTSTART_FLAG_ENABLE 0x80
|
#define HOTSTART_FLAG_ENABLE 0x80
|
||||||
|
if ( MCUi_ReadRegister( MCU_REG_VER_INFO_ADDR ) >= 0x20 ) // MCU旧バージョン対策
|
||||||
*(u8 *)HW_NAND_FIRM_HOTSTART_FLAG = (u8)(MCUi_ReadRegister( (u16)(MCU_REG_TEMP_ADDR + OS_MCU_RESET_VALUE_OFS) ) | HOTSTART_FLAG_ENABLE);
|
*(u8 *)HW_NAND_FIRM_HOTSTART_FLAG = (u8)(MCUi_ReadRegister( (u16)(MCU_REG_TEMP_ADDR + OS_MCU_RESET_VALUE_OFS) ) | HOTSTART_FLAG_ENABLE);
|
||||||
|
else
|
||||||
|
*(u8 *)HW_NAND_FIRM_HOTSTART_FLAG = (u8)(MCUi_ReadRegister( (u16)(MCU_OLD_REG_TEMP_ADDR + OS_MCU_RESET_VALUE_OFS) ) | HOTSTART_FLAG_ENABLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
/***************************************************************
|
/***************************************************************
|
||||||
@ -157,6 +160,7 @@ static void PostInit(void)
|
|||||||
***************************************************************/
|
***************************************************************/
|
||||||
static void EraseAll(void)
|
static void EraseAll(void)
|
||||||
{
|
{
|
||||||
|
AESi_ResetAesKey();
|
||||||
MI_CpuClearFast( OSi_GetFromFirmAddr(), sizeof(OSFromFirmBuf) );
|
MI_CpuClearFast( OSi_GetFromFirmAddr(), sizeof(OSFromFirmBuf) );
|
||||||
#ifdef SDK_FINALROM
|
#ifdef SDK_FINALROM
|
||||||
MI_CpuClearFast( (void*)HW_TWL_ROM_HEADER_BUF, HW_TWL_ROM_HEADER_BUF_SIZE );
|
MI_CpuClearFast( (void*)HW_TWL_ROM_HEADER_BUF, HW_TWL_ROM_HEADER_BUF_SIZE );
|
||||||
|
|||||||
@ -116,7 +116,10 @@ static void PreInit(void)
|
|||||||
リセットパラメータ(1バイト)を共有領域(1バイト)にコピー
|
リセットパラメータ(1バイト)を共有領域(1バイト)にコピー
|
||||||
*/
|
*/
|
||||||
#define HOTSTART_FLAG_ENABLE 0x80
|
#define HOTSTART_FLAG_ENABLE 0x80
|
||||||
|
if ( MCUi_ReadRegister( MCU_REG_VER_INFO_ADDR ) >= 0x20 ) // MCU旧バージョン対策
|
||||||
*(u8 *)HW_NAND_FIRM_HOTSTART_FLAG = (u8)(MCUi_ReadRegister( (u16)(MCU_REG_TEMP_ADDR + OS_MCU_RESET_VALUE_OFS) ) | HOTSTART_FLAG_ENABLE);
|
*(u8 *)HW_NAND_FIRM_HOTSTART_FLAG = (u8)(MCUi_ReadRegister( (u16)(MCU_REG_TEMP_ADDR + OS_MCU_RESET_VALUE_OFS) ) | HOTSTART_FLAG_ENABLE);
|
||||||
|
else
|
||||||
|
*(u8 *)HW_NAND_FIRM_HOTSTART_FLAG = (u8)(MCUi_ReadRegister( (u16)(MCU_OLD_REG_TEMP_ADDR + OS_MCU_RESET_VALUE_OFS) ) | HOTSTART_FLAG_ENABLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
/***************************************************************
|
/***************************************************************
|
||||||
@ -154,6 +157,7 @@ static void PostInit(void)
|
|||||||
***************************************************************/
|
***************************************************************/
|
||||||
static void EraseAll(void)
|
static void EraseAll(void)
|
||||||
{
|
{
|
||||||
|
AESi_ResetAesKey();
|
||||||
MI_CpuClearFast( OSi_GetFromFirmAddr(), sizeof(OSFromFirmBuf) );
|
MI_CpuClearFast( OSi_GetFromFirmAddr(), sizeof(OSFromFirmBuf) );
|
||||||
#ifdef SDK_FINALROM
|
#ifdef SDK_FINALROM
|
||||||
MI_CpuClearFast( (void*)HW_TWL_ROM_HEADER_BUF, HW_TWL_ROM_HEADER_BUF_SIZE );
|
MI_CpuClearFast( (void*)HW_TWL_ROM_HEADER_BUF, HW_TWL_ROM_HEADER_BUF_SIZE );
|
||||||
@ -291,6 +295,8 @@ void TwlSpMain( void )
|
|||||||
#endif
|
#endif
|
||||||
PM_BackLightOn( TRUE );
|
PM_BackLightOn( TRUE );
|
||||||
|
|
||||||
|
AESi_ResetAesKey();
|
||||||
|
MI_CpuClearFast( OSi_GetFromFirmAddr(), sizeof(OSFromFirmBuf) );
|
||||||
OS_BootFromFIRM();
|
OS_BootFromFIRM();
|
||||||
|
|
||||||
end:
|
end:
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user