mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
TwlSDK 3893対応
バッテリ残量チェックの追加 git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@531 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
parent
869eb95aeb
commit
2ade9e70f0
@ -62,7 +62,8 @@ static char* debugPtr = (char*)PRINT_MEMORY_ADDR;
|
||||
#endif
|
||||
|
||||
#define THREAD_PRIO_FATFS 8
|
||||
#define DMA_NO_FATFS 3
|
||||
#define DMA_FATFS_1 3
|
||||
#define DMA_FATFS_2 2
|
||||
|
||||
extern void* SDNandContext; /* NAND初期化パラメータ */
|
||||
|
||||
@ -93,6 +94,14 @@ static void CreateIdleThread(void)
|
||||
***************************************************************/
|
||||
static void PreInit(void)
|
||||
{
|
||||
/*
|
||||
バッテリー残量チェック
|
||||
*/
|
||||
if ( (MCUi_ReadRegister( MCU_REG_POWER_INFO_ADDR ) & MCU_REG_POWER_INFO_LEVEL_MASK) == 0 )
|
||||
{
|
||||
OS_TPrintf("Battery is empty.\n");
|
||||
OS_Terminate();
|
||||
}
|
||||
/*
|
||||
FromBrom関連
|
||||
*/
|
||||
@ -105,18 +114,6 @@ static void PreInit(void)
|
||||
*/
|
||||
#define FIRM_AVAILABLE_BIT 0x80000000UL
|
||||
*(u32*)HW_RESET_PARAMETER_BUF = (u32)MCUi_ReadRegister( MCU_REG_TEMP_ADDR ) | FIRM_AVAILABLE_BIT;
|
||||
/*
|
||||
バッテリー残量チェック
|
||||
*/
|
||||
//if ( MCUi_ReadRegister( MCU_REG_BATTELY ) < 0x02 )
|
||||
//if ( MCUi_ReadRegister( MCU_REG_IRQ ) & MCU_IRQ_NO_BATTELY )
|
||||
/*
|
||||
ちゃんとTWLと識別できているかチェック
|
||||
#ifdef USE_DEBUG_LED
|
||||
SetDebugLED(OS_IsRunOnTwl() ? 0xC3 : 0xff);
|
||||
OS_SpinWaitCpuCycles(0x1000000);
|
||||
#endif
|
||||
*/
|
||||
}
|
||||
|
||||
/***************************************************************
|
||||
@ -132,6 +129,14 @@ static void PostInit(void)
|
||||
AES_Init(); // for encrypted NAND
|
||||
// アイドルスレッドの作成
|
||||
CreateIdleThread();
|
||||
/*
|
||||
バッテリー残量チェック
|
||||
*/
|
||||
if ( (MCUi_ReadRegister( MCU_REG_POWER_INFO_ADDR ) & MCU_REG_POWER_INFO_LEVEL_MASK) == 0 )
|
||||
{
|
||||
OS_TPrintf("Battery is empty.\n");
|
||||
OS_Terminate();
|
||||
}
|
||||
}
|
||||
|
||||
/***************************************************************
|
||||
@ -158,13 +163,14 @@ void TwlSpMain( void )
|
||||
// 0: bootrom
|
||||
profile[pf_cnt++] = OS_TicksToMicroSecondsBROM32(OS_GetTick());
|
||||
#endif
|
||||
|
||||
InitDebugLED();
|
||||
SetDebugLED(++step); // 0x81
|
||||
|
||||
PreInit();
|
||||
#ifdef PROFILE_ENABLE
|
||||
// 1: after PreInit
|
||||
PUSH_PROFILE();
|
||||
profile[pf_cnt++] = OS_TicksToMicroSecondsBROM32(OS_GetTick());
|
||||
#endif
|
||||
SetDebugLED(++step); // 0x82
|
||||
|
||||
OS_InitFIRM();
|
||||
@ -182,7 +188,7 @@ void TwlSpMain( void )
|
||||
PM_BackLightOn( FALSE );
|
||||
|
||||
SDNandContext = &OSi_GetFromFirmAddr()->SDNandContext;
|
||||
if ( !FATFS_Init( DMA_NO_FATFS, THREAD_PRIO_FATFS ) )
|
||||
if ( !FATFS_Init( DMA_FATFS_1, DMA_FATFS_2, THREAD_PRIO_FATFS ) )
|
||||
{
|
||||
OS_TPrintf("Failed to call FATFS_Init().\n");
|
||||
goto end;
|
||||
|
||||
@ -62,7 +62,8 @@ static char* debugPtr = (char*)PRINT_MEMORY_ADDR;
|
||||
#endif
|
||||
|
||||
#define THREAD_PRIO_FATFS 8
|
||||
#define DMA_NO_FATFS 3
|
||||
#define DMA_FATFS_1 3
|
||||
#define DMA_FATFS_2 2
|
||||
|
||||
extern void* SDNandContext; /* NAND初期化パラメータ */
|
||||
|
||||
@ -93,6 +94,14 @@ static void CreateIdleThread(void)
|
||||
***************************************************************/
|
||||
static void PreInit(void)
|
||||
{
|
||||
/*
|
||||
バッテリー残量チェック
|
||||
*/
|
||||
if ( (MCUi_ReadRegister( MCU_REG_POWER_INFO_ADDR ) & MCU_REG_POWER_INFO_LEVEL_MASK) == 0 )
|
||||
{
|
||||
OS_TPrintf("Battery is empty.\n");
|
||||
OS_Terminate();
|
||||
}
|
||||
/*
|
||||
FromBrom関連
|
||||
*/
|
||||
@ -107,15 +116,11 @@ static void PreInit(void)
|
||||
/*
|
||||
バッテリー残量チェック
|
||||
*/
|
||||
//if ( MCUi_ReadRegister( MCU_REG_BATTELY ) < 0x02 )
|
||||
//if ( MCUi_ReadRegister( MCU_REG_IRQ ) & MCU_IRQ_NO_BATTELY )
|
||||
/*
|
||||
ちゃんとTWLと識別できているかチェック
|
||||
#ifdef USE_DEBUG_LED
|
||||
SetDebugLED(OS_IsRunOnTwl() ? 0xC3 : 0xff);
|
||||
OS_SpinWaitCpuCycles(0x1000000);
|
||||
#endif
|
||||
*/
|
||||
if ( (MCUi_ReadRegister( MCU_REG_POWER_INFO_ADDR ) & MCU_REG_POWER_INFO_LEVEL_MASK) == 0 )
|
||||
{
|
||||
OS_TPrintf("Battery is empty.\n");
|
||||
OS_Terminate();
|
||||
}
|
||||
}
|
||||
|
||||
/***************************************************************
|
||||
@ -131,6 +136,14 @@ static void PostInit(void)
|
||||
AES_Init(); // for encrypted NAND
|
||||
// アイドルスレッドの作成
|
||||
CreateIdleThread();
|
||||
/*
|
||||
バッテリー残量チェック
|
||||
*/
|
||||
if ( (MCUi_ReadRegister( MCU_REG_POWER_INFO_ADDR ) & MCU_REG_POWER_INFO_LEVEL_MASK) == 0 )
|
||||
{
|
||||
OS_TPrintf("Battery is empty.\n");
|
||||
OS_Terminate();
|
||||
}
|
||||
}
|
||||
|
||||
/***************************************************************
|
||||
@ -157,13 +170,14 @@ void TwlSpMain( void )
|
||||
// 0: bootrom
|
||||
profile[pf_cnt++] = OS_TicksToMicroSecondsBROM32(OS_GetTick());
|
||||
#endif
|
||||
|
||||
InitDebugLED();
|
||||
SetDebugLED(++step); // 0x81
|
||||
|
||||
PreInit();
|
||||
#ifdef PROFILE_ENABLE
|
||||
// 1: after PreInit
|
||||
PUSH_PROFILE();
|
||||
profile[pf_cnt++] = OS_TicksToMicroSecondsBROM32(OS_GetTick());
|
||||
#endif
|
||||
SetDebugLED(++step); // 0x82
|
||||
|
||||
OS_InitFIRM();
|
||||
@ -181,7 +195,7 @@ void TwlSpMain( void )
|
||||
PM_BackLightOn( FALSE );
|
||||
|
||||
SDNandContext = &OSi_GetFromFirmAddr()->SDNandContext;
|
||||
if ( !FATFS_Init( DMA_NO_FATFS, THREAD_PRIO_FATFS ) )
|
||||
if ( !FATFS_Init( DMA_FATFS_1, DMA_FATFS_2, THREAD_PRIO_FATFS ) )
|
||||
{
|
||||
OS_TPrintf("Failed to call FATFS_Init().\n");
|
||||
goto end;
|
||||
|
||||
@ -62,7 +62,8 @@ static char* debugPtr = (char*)PRINT_MEMORY_ADDR;
|
||||
#endif
|
||||
|
||||
#define THREAD_PRIO_FATFS 8
|
||||
#define DMA_NO_FATFS 3
|
||||
#define DMA_FATFS_1 3
|
||||
#define DMA_FATFS_2 2
|
||||
|
||||
extern void* SDNandContext; /* NAND初期化パラメータ */
|
||||
|
||||
@ -93,6 +94,14 @@ static void CreateIdleThread(void)
|
||||
***************************************************************/
|
||||
static void PreInit(void)
|
||||
{
|
||||
/*
|
||||
バッテリー残量チェック
|
||||
*/
|
||||
if ( (MCUi_ReadRegister( MCU_REG_POWER_INFO_ADDR ) & MCU_REG_POWER_INFO_LEVEL_MASK) == 0 )
|
||||
{
|
||||
OS_TPrintf("Battery is empty.\n");
|
||||
OS_Terminate();
|
||||
}
|
||||
/*
|
||||
FromBrom関連
|
||||
*/
|
||||
@ -104,18 +113,6 @@ static void PreInit(void)
|
||||
リセットパラメータ(1バイト)を共有領域(4バイト)にコピー
|
||||
*/
|
||||
*(u32*)HW_RESET_PARAMETER_BUF = (u32)(MCU_GetFreeRegister( OS_MCU_RESET_VALUE_OFS ) | OS_MCU_RESET_VALUE_BUF_ENABLE_MASK);
|
||||
/*
|
||||
バッテリー残量チェック
|
||||
*/
|
||||
//if ( MCUi_ReadRegister( MCU_REG_BATTELY ) < 0x02 )
|
||||
//if ( MCUi_ReadRegister( MCU_REG_IRQ ) & MCU_IRQ_NO_BATTELY )
|
||||
/*
|
||||
ちゃんとTWLと識別できているかチェック
|
||||
#ifdef USE_DEBUG_LED
|
||||
SetDebugLED(OS_IsRunOnTwl() ? 0xC3 : 0xff);
|
||||
OS_SpinWaitCpuCycles(0x1000000);
|
||||
#endif
|
||||
*/
|
||||
}
|
||||
|
||||
/***************************************************************
|
||||
@ -131,6 +128,14 @@ static void PostInit(void)
|
||||
AES_Init(); // for encrypted NAND
|
||||
// アイドルスレッドの作成
|
||||
CreateIdleThread();
|
||||
/*
|
||||
バッテリー残量チェック
|
||||
*/
|
||||
if ( (MCUi_ReadRegister( MCU_REG_POWER_INFO_ADDR ) & MCU_REG_POWER_INFO_LEVEL_MASK) == 0 )
|
||||
{
|
||||
OS_TPrintf("Battery is empty.\n");
|
||||
OS_Terminate();
|
||||
}
|
||||
}
|
||||
|
||||
/***************************************************************
|
||||
@ -155,13 +160,14 @@ void TwlSpMain( void )
|
||||
// 0: bootrom
|
||||
profile[pf_cnt++] = OS_TicksToMicroSecondsBROM32(OS_GetTick());
|
||||
#endif
|
||||
|
||||
InitDebugLED();
|
||||
SetDebugLED(++step); // 0x81
|
||||
|
||||
PreInit();
|
||||
#ifdef PROFILE_ENABLE
|
||||
// 1: after PreInit
|
||||
PUSH_PROFILE();
|
||||
profile[pf_cnt++] = OS_TicksToMicroSecondsBROM32(OS_GetTick());
|
||||
#endif
|
||||
SetDebugLED(++step); // 0x82
|
||||
|
||||
OS_InitFIRM();
|
||||
@ -179,7 +185,7 @@ void TwlSpMain( void )
|
||||
PM_BackLightOn( FALSE );
|
||||
|
||||
SDNandContext = &OSi_GetFromFirmAddr()->SDNandContext;
|
||||
if ( !FATFS_Init( DMA_NO_FATFS, THREAD_PRIO_FATFS ) )
|
||||
if ( !FATFS_Init( DMA_FATFS_1, DMA_FATFS_2, THREAD_PRIO_FATFS ) )
|
||||
{
|
||||
OS_TPrintf("Failed to call FATFS_Init().\n");
|
||||
goto end;
|
||||
|
||||
@ -62,7 +62,8 @@ static char* debugPtr = (char*)PRINT_MEMORY_ADDR;
|
||||
#endif
|
||||
|
||||
#define THREAD_PRIO_FATFS 8
|
||||
#define DMA_NO_FATFS 3
|
||||
#define DMA_FATFS_1 3
|
||||
#define DMA_FATFS_2 2
|
||||
|
||||
extern void* SDNandContext; /* NAND初期化パラメータ */
|
||||
|
||||
@ -93,6 +94,14 @@ static void CreateIdleThread(void)
|
||||
***************************************************************/
|
||||
static void PreInit(void)
|
||||
{
|
||||
/*
|
||||
バッテリー残量チェック
|
||||
*/
|
||||
if ( (MCUi_ReadRegister( MCU_REG_POWER_INFO_ADDR ) & MCU_REG_POWER_INFO_LEVEL_MASK) == 0 )
|
||||
{
|
||||
OS_TPrintf("Battery is empty.\n");
|
||||
OS_Terminate();
|
||||
}
|
||||
/*
|
||||
FromBrom関連
|
||||
*/
|
||||
@ -107,15 +116,11 @@ static void PreInit(void)
|
||||
/*
|
||||
バッテリー残量チェック
|
||||
*/
|
||||
//if ( MCUi_ReadRegister( MCU_REG_BATTELY ) < 0x02 )
|
||||
//if ( MCUi_ReadRegister( MCU_REG_IRQ ) & MCU_IRQ_NO_BATTELY )
|
||||
/*
|
||||
ちゃんとTWLと識別できているかチェック
|
||||
#ifdef USE_DEBUG_LED
|
||||
SetDebugLED(OS_IsRunOnTwl() ? 0xC3 : 0xff);
|
||||
OS_SpinWaitCpuCycles(0x1000000);
|
||||
#endif
|
||||
*/
|
||||
if ( (MCUi_ReadRegister( MCU_REG_POWER_INFO_ADDR ) & MCU_REG_POWER_INFO_LEVEL_MASK) == 0 )
|
||||
{
|
||||
OS_TPrintf("Battery is empty.\n");
|
||||
OS_Terminate();
|
||||
}
|
||||
}
|
||||
|
||||
/***************************************************************
|
||||
@ -131,6 +136,14 @@ static void PostInit(void)
|
||||
AES_Init(); // for encrypted NAND
|
||||
// アイドルスレッドの作成
|
||||
CreateIdleThread();
|
||||
/*
|
||||
バッテリー残量チェック
|
||||
*/
|
||||
if ( (MCUi_ReadRegister( MCU_REG_POWER_INFO_ADDR ) & MCU_REG_POWER_INFO_LEVEL_MASK) == 0 )
|
||||
{
|
||||
OS_TPrintf("Battery is empty.\n");
|
||||
OS_Terminate();
|
||||
}
|
||||
}
|
||||
|
||||
/***************************************************************
|
||||
@ -157,13 +170,14 @@ void TwlSpMain( void )
|
||||
// 0: bootrom
|
||||
profile[pf_cnt++] = OS_TicksToMicroSecondsBROM32(OS_GetTick());
|
||||
#endif
|
||||
|
||||
InitDebugLED();
|
||||
SetDebugLED(++step); // 0x81
|
||||
|
||||
PreInit();
|
||||
#ifdef PROFILE_ENABLE
|
||||
// 1: after PreInit
|
||||
PUSH_PROFILE();
|
||||
profile[pf_cnt++] = OS_TicksToMicroSecondsBROM32(OS_GetTick());
|
||||
#endif
|
||||
SetDebugLED(++step); // 0x82
|
||||
|
||||
OS_InitFIRM();
|
||||
@ -181,7 +195,7 @@ void TwlSpMain( void )
|
||||
PM_BackLightOn( FALSE );
|
||||
|
||||
SDNandContext = &OSi_GetFromFirmAddr()->SDNandContext;
|
||||
if ( !FATFS_Init( DMA_NO_FATFS, THREAD_PRIO_FATFS ) )
|
||||
if ( !FATFS_Init( DMA_FATFS_1, DMA_FATFS_2, THREAD_PRIO_FATFS ) )
|
||||
{
|
||||
OS_TPrintf("Failed to call FATFS_Init().\n");
|
||||
goto end;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user