From 4427f9a116ad9a8baf312ebdc89113192adb7e1e Mon Sep 17 00:00:00 2001 From: "(no author)" <(no author)@b08762b0-b915-fc4b-9d8c-17b2551a87ff> Date: Sat, 23 Feb 2008 04:23:03 +0000 Subject: [PATCH] =?UTF-8?q?(=E6=9B=B4=E6=96=B0:Akabane=20Jumpei)=20?= =?UTF-8?q?=E3=83=BB=E3=82=B9=E3=83=AD=E3=83=83=E3=83=88=E9=9B=BB=E6=BA=90?= =?UTF-8?q?Off,On=E9=96=A2=E6=95=B0=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@725 b08762b0-b915-fc4b-9d8c-17b2551a87ff --- .../libraries_sysmenu/hotsw/ARM7/src/hotsw.c | 26 ++++++++++++++----- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c b/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c index 713a6785..581c6a63 100644 --- a/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c +++ b/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c @@ -969,11 +969,19 @@ static BOOL CmpMcSlotMode(u32 mode) /*---------------------------------------------------------------------------* Name: McPowerOn - Description: スロットB 電源ON関数 + Description: スロット電源ON関数 *---------------------------------------------------------------------------*/ static void McPowerOn(void) { + // Counter-Aカウンタ設定値到達まで待つ + while(CmpMcSlotMode(SLOT_STATUS_MODE_11) == TRUE){ + OS_Sleep(1); + } + if(CmpMcSlotMode(SLOT_STATUS_MODE_00) == TRUE){ + // 100ms待ち [TODO:]待ち時間は暫定値。金子さんに数値を測定してもらう。 + OS_Sleep(100); + // SCFG_MC1 の Slot Status の M1,M0 を 01 にする SetMcSlotMode(SLOT_STATUS_MODE_01); // 1ms待ち @@ -987,7 +995,7 @@ static void McPowerOn(void) // リセットをhighに (RESB = 1にする) reg_HOTSW_MCCNT1 = RESB_MASK; - // 100ms待ち + // [TODO:]待ち時間は暫定値。金子さんに数値を測定してもらう。 OS_Sleep(100); } } @@ -995,19 +1003,23 @@ static void McPowerOn(void) /*---------------------------------------------------------------------------* Name: McPowerOff - Description: スロットB 電源OFF関数 + Description: スロット電源OFF関数 *---------------------------------------------------------------------------*/ static void McPowerOff(void) { + // Counter-Aカウンタ設定値到達まで待つ + while(CmpMcSlotMode(SLOT_STATUS_MODE_11) == TRUE){ + OS_Sleep(1); + } + if(CmpMcSlotMode(SLOT_STATUS_MODE_10) == TRUE){ // SCFG_MC1 の Slot Status の M1,M0 を 11 にする SetMcSlotMode(SLOT_STATUS_MODE_11); // SCFG_MC1 の Slot Status の M1,M0 が 00 になるまでポーリング - while(CmpMcSlotMode(SLOT_STATUS_MODE_00) == FALSE){} - - // 100ms待ち [TODO:]待ち時間は暫定値。金子さんに数値を測定してもらう。 - OS_Sleep(100); + while(CmpMcSlotMode(SLOT_STATUS_MODE_00) == FALSE){ + OS_Sleep(1); + } } }