mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
(更新:Akabane Jumpei)
・スロット電源ON時のウェイト時間を修正。 ・関数名を修正 git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@1408 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
parent
ded442be9b
commit
0657f22398
@ -31,8 +31,8 @@
|
||||
//#define HOWSW_ENABLE_DEEP_SLEEP_WHILE_INSERT_CARD
|
||||
|
||||
// define -------------------------------------------------------------------
|
||||
#define CHATTERING_COUNTER 0x1988 // 100ms分 (0x1988 * 15.3us = 100000us)
|
||||
#define COUNTER_A 0x51C // 20ms分 ( 0x51C * 15.3us = 20012us)
|
||||
#define CHATTERING_COUNTER 0x264c // 150ms分 (0x264C * 15.3us = 150001us)
|
||||
#define COUNTER_A 0x1988 // 100ms分 (0x1988 * 15.3us = 100000us)
|
||||
|
||||
#define CARD_EXIST_CHECK_INTERVAL 100
|
||||
|
||||
@ -92,7 +92,7 @@ static void ClearCardFlgs(void);
|
||||
|
||||
static void FinalizeHotSw(HotSwApliType type);
|
||||
static BOOL ChangeGameMode(void);
|
||||
static void ClearUnnecessaryCardRegister(void);
|
||||
static void ClearCardIrq(void);
|
||||
static void ClearAllCardRegister(void);
|
||||
|
||||
static HotSwState LoadCardData(void);
|
||||
@ -1568,26 +1568,24 @@ static void McPowerOn(void)
|
||||
}
|
||||
|
||||
if(GetMcSlotMode() == SLOT_STATUS_MODE_00){
|
||||
// [TODO:]待ち時間は暫定値。金子さんに数値を測定してもらう。
|
||||
// VDDの安定期間待ち
|
||||
OS_Sleep(100);
|
||||
|
||||
// 3DMのリセット待ち
|
||||
OS_Sleep(1);
|
||||
|
||||
// SCFG_MC1 の Slot Status の M1,M0 を 01 にする
|
||||
SetMcSlotMode(SLOT_STATUS_MODE_01);
|
||||
// 10ms待ち
|
||||
|
||||
// VDDの安定期間待ち
|
||||
OS_Sleep(10);
|
||||
|
||||
// SCFG_MC1 の Slot Status の M1,M0 を 10 にする
|
||||
SetMcSlotMode(SLOT_STATUS_MODE_10);
|
||||
|
||||
// [TODO:]待ち時間は暫定値。金子さんに数値を測定してもらう。
|
||||
// RESBを上げるまでの待ち時間
|
||||
OS_Sleep(1);
|
||||
OS_Sleep(27);
|
||||
|
||||
// リセットをhighに (RESB = 1にする)
|
||||
reg_HOTSW_MCCNT1 = RESB_MASK;
|
||||
|
||||
// [TODO:]待ち時間は暫定値。金子さんに数値を測定してもらう。
|
||||
// カードへ最初のコマンドを送るまでの待ち時間
|
||||
OS_Sleep(120);
|
||||
}
|
||||
@ -1905,7 +1903,7 @@ static void FinalizeHotSw(HotSwApliType type)
|
||||
OS_KillThread( &HotSwThreadData.monitorThread, NULL );
|
||||
|
||||
if(type == HOTSW_APLITYPE_CARD){
|
||||
ClearUnnecessaryCardRegister();
|
||||
ClearCardIrq();
|
||||
goto final;
|
||||
}
|
||||
|
||||
@ -1964,8 +1962,7 @@ static void FinalizeHotSw(HotSwApliType type)
|
||||
break;
|
||||
}
|
||||
|
||||
// 必要なレジスタ以外クリア
|
||||
ClearUnnecessaryCardRegister();
|
||||
ClearCardIrq();
|
||||
|
||||
final:
|
||||
// 終了完了通知
|
||||
@ -2086,19 +2083,19 @@ static void SendPxiMessage(HotSwCallBackType type)
|
||||
|
||||
|
||||
/*---------------------------------------------------------------------------*
|
||||
Name: ClearUnnecessaryCardRegister
|
||||
Name: ClearCardIrq
|
||||
|
||||
Description: カード関連の不要なレジスタをクリアする
|
||||
Description: カード関連の割り込みをクリアする
|
||||
*---------------------------------------------------------------------------*/
|
||||
#define REGCLEAR_16 0x0000
|
||||
#define REGCLEAR_32 0x00000000UL
|
||||
|
||||
static void ClearUnnecessaryCardRegister(void)
|
||||
static void ClearCardIrq(void)
|
||||
{
|
||||
// HotSwで使っている割り込みを無効にする
|
||||
(void)OS_DisableIrq();
|
||||
(void)OS_SetIrqMask( OS_GetIrqMask() & ~(HOTSW_IF_CARD_DET | HOTSW_IF_CARD_IREQ) );
|
||||
(void)OS_ResetRequestIrqMask( HOTSW_IF_CARD_DET | HOTSW_IF_CARD_IREQ );
|
||||
(void)OS_SetIrqMask( OS_GetIrqMask() & ~HOTSW_IF_CARD_DET );
|
||||
(void)OS_ResetRequestIrqMask( HOTSW_IF_CARD_DET );
|
||||
(void)OS_EnableIrq();
|
||||
}
|
||||
|
||||
@ -2110,7 +2107,7 @@ static void ClearUnnecessaryCardRegister(void)
|
||||
*---------------------------------------------------------------------------*/
|
||||
static void ClearAllCardRegister(void)
|
||||
{
|
||||
ClearUnnecessaryCardRegister();
|
||||
ClearCardIrq();
|
||||
|
||||
// コマンド設定レジスタをクリア [各32bit]
|
||||
reg_HOTSW_MCCMD0 = REGCLEAR_32;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user