From bec2b6eff9c70473c84928020a3c7466574accc6 Mon Sep 17 00:00:00 2001 From: kamikawa Date: Tue, 26 Aug 2008 06:46:44 +0000 Subject: [PATCH] =?UTF-8?q?SPI=E3=82=B9=E3=83=AC=E3=83=83=E3=83=89?= =?UTF-8?q?=E3=81=A8=E3=81=AESPI=E7=AB=B6=E5=90=88=E3=82=92=E6=B8=9B?= =?UTF-8?q?=E3=82=89=E3=81=99=E3=81=9F=E3=82=81=E3=83=87=E3=83=9D=E3=83=83?= =?UTF-8?q?=E3=83=97=E7=84=A1=E5=8A=B9=E5=8C=96=E5=87=A6=E7=90=86=E3=82=92?= =?UTF-8?q?SPI=5FInit=E3=81=AE=E5=89=8D=E3=81=AB=E7=A7=BB=E5=8B=95?= =?UTF-8?q?=E3=80=82=E3=83=87=E3=83=9D=E3=83=83=E3=83=97=E6=99=82=E9=96=93?= =?UTF-8?q?=E3=82=92=E5=9B=BA=E5=AE=9A=E5=8C=96=E3=80=82?= 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@2272 b08762b0-b915-fc4b-9d8c-17b2551a87ff --- build/components/hyena.TWL/src/main.c | 40 ++++++++++++++------------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/build/components/hyena.TWL/src/main.c b/build/components/hyena.TWL/src/main.c index cc416f3c..e72132c7 100644 --- a/build/components/hyena.TWL/src/main.c +++ b/build/components/hyena.TWL/src/main.c @@ -99,7 +99,7 @@ static void VBlankIntr(void); static void InitializeFatfs(void); static void InitializeNwm(OSArenaId drvArenaId, OSHeapHandle drvHeapHandle, OSArenaId wpaArenaId, OSHeapHandle wpaHeapHandle); -static void InitializeCdc(u32 lockId); +static void InitializeCdc(); static void AdjustVolume(void); /*---------------------------------------------------------------------------* 外部シンボル参照 @@ -123,7 +123,6 @@ void TwlSpMain(void) { OSHeapHandle wramHeapHandle, mainHeapHandle; - u32 spiLockId; // SYSMワークのクリア // MI_CpuClear32( SYSMi_GetWork(), sizeof(SYSM_work) ); // NANDファームでクリアしているので、いらない。 @@ -221,20 +220,13 @@ TwlSpMain(void) AdjustVolume(); } - // CODECアクセス用のSPIロックIDを取得する(ランチャーのみ 2008/07/31) - spiLockId = (u32)OS_GetLockID(); - if (spiLockId == OS_LOCK_ID_ERROR) - { - OS_Warning("OS_GetLockID failed.\n"); - } - if (OSi_IsCodecTwlMode() == TRUE) { // CODEC 初期化 // ランチャーのみCDC_InitForFirstBootで実際にCODECの初期化を行う。 // アプリ起動時にはCODECは既に初期化されているためmongooseなどでは // 簡易的な初期化CDC_InitLibで良い。 2008/07/14 - InitializeCdc(spiLockId); + InitializeCdc(); // カメラ初期化 CAMERA_Init(); @@ -287,11 +279,6 @@ TwlSpMain(void) HOTSW_Init(THREAD_PRIO_HOTSW); - // 外部デポップ回路を無効にします。(ランチャーのみ 2008/07/14) - SPI_Lock(spiLockId); - CDC_DisableExternalDepop(); - SPI_Unlock(spiLockId); - while (TRUE) { OS_Halt(); @@ -473,11 +460,26 @@ InitializeNwm(OSArenaId drvArenaId, OSHeapHandle drvHeapHandle, Returns: None. *---------------------------------------------------------------------------*/ static void -InitializeCdc(u32 lockId) +InitializeCdc(void) { - SPI_Lock(lockId); // CODEC用SPI排他ロック - CDC_InitForFirstBoot(); // ※ランチャー特殊処理。 - SPI_Unlock(lockId); // CODEC用SPI排他ロック + u32 spiLockId; + + // CODECアクセス用のSPIロックIDを取得する + spiLockId = (u32)OS_GetLockID(); + if (spiLockId == OS_LOCK_ID_ERROR) + { + OS_Warning("OS_GetLockID failed.\n"); + } + + SPI_Lock(spiLockId); // CODEC用SPI排他ロック + CDC_InitForFirstBoot(); // ※ランチャー特殊処理。 + SPI_Unlock(spiLockId); // CODEC用SPI排他ロック + + OS_Sleep(30); // CDC_InitForFirstBootでのPowerOnTime+デポップ期間 + + SPI_Lock(spiLockId); // CODEC用SPI排他ロック + CDC_DisableExternalDepop(); // 外部デポップ回路を無効にします + SPI_Unlock(spiLockId); // CODEC用SPI排他ロック } #include