mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
codecアクセス関数にSPIロック処理を追加。
FS_InitFatDriverの実行を追加(trancSDKでNandにアクセスするために必要) git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@2773 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
parent
353c7dd46e
commit
98942da9b9
@ -34,6 +34,8 @@
|
|||||||
extern BOOL FATFSi_nandRtfsIo( int driveno, dword block, void* buffer, word count, BOOLEAN reading);
|
extern BOOL FATFSi_nandRtfsIo( int driveno, dword block, void* buffer, word count, BOOLEAN reading);
|
||||||
extern BOOL sdmcFormatNandLog( BOOL verify_flag);
|
extern BOOL sdmcFormatNandLog( BOOL verify_flag);
|
||||||
extern void sdmcGetCID( SDMC_PORT_NO port, u32* dest);
|
extern void sdmcGetCID( SDMC_PORT_NO port, u32* dest);
|
||||||
|
extern void SPI_Lock(u32 id);
|
||||||
|
extern void SPI_Unlock(u32 id);
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
’è<EFBFBD>”’è‹`
|
’è<EFBFBD>”’è‹`
|
||||||
@ -76,6 +78,7 @@ KamiWork;
|
|||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
static BOOL kamiInitialized;
|
static BOOL kamiInitialized;
|
||||||
static KamiWork kamiWork;
|
static KamiWork kamiWork;
|
||||||
|
static u32 kamiSpiLockId;
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
“à•”ŠÖ<EFBFBD>”’è‹`
|
“à•”ŠÖ<EFBFBD>”’è‹`
|
||||||
@ -92,6 +95,11 @@ void KamiPxiInit(void)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
kamiInitialized = TRUE;
|
kamiInitialized = TRUE;
|
||||||
|
kamiSpiLockId = (u32)OS_GetLockID();
|
||||||
|
if (kamiSpiLockId == OS_LOCK_ID_ERROR)
|
||||||
|
{
|
||||||
|
OS_Panic("%s: OS_GetLockID failed.\n", __FUNCTION__);
|
||||||
|
}
|
||||||
|
|
||||||
PXI_Init();
|
PXI_Init();
|
||||||
PXI_SetFifoRecvCallback(PXI_FIFO_TAG_KAMITEST, KamiPxiCallback);
|
PXI_SetFifoRecvCallback(PXI_FIFO_TAG_KAMITEST, KamiPxiCallback);
|
||||||
@ -283,12 +291,16 @@ static void KamiThread(void *arg)
|
|||||||
|
|
||||||
if (is_read)
|
if (is_read)
|
||||||
{
|
{
|
||||||
|
SPI_Lock(kamiSpiLockId); // CODEC用SPI排他ロック
|
||||||
read = CDC_ReadSpiRegisterEx( page, reg_no );
|
read = CDC_ReadSpiRegisterEx( page, reg_no );
|
||||||
|
SPI_Unlock(kamiSpiLockId); // CODEC用SPI排他ロック
|
||||||
KamiReturnResultEx(kamiWork.command, KAMI_PXI_RESULT_SUCCESS, sizeof(u8), (u8*)&read );
|
KamiReturnResultEx(kamiWork.command, KAMI_PXI_RESULT_SUCCESS, sizeof(u8), (u8*)&read );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
SPI_Lock(kamiSpiLockId); // CODEC用SPI排他ロック
|
||||||
CDC_WriteSpiRegisterEx( page, reg_no, (u8)write );
|
CDC_WriteSpiRegisterEx( page, reg_no, (u8)write );
|
||||||
|
SPI_Unlock(kamiSpiLockId); // CODEC用SPI排他ロック
|
||||||
KamiReturnResult(kamiWork.command, KAMI_PXI_RESULT_SUCCESS);
|
KamiReturnResult(kamiWork.command, KAMI_PXI_RESULT_SUCCESS);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -101,6 +101,11 @@ TwlMain()
|
|||||||
// initialize file-system
|
// initialize file-system
|
||||||
FS_Init(FS_DMA_NOT_USE);
|
FS_Init(FS_DMA_NOT_USE);
|
||||||
|
|
||||||
|
// FATドライバを初期化します。
|
||||||
|
// NANDにアクセスするために必要です。
|
||||||
|
// この関数はTwlSDK_branchUIGには含まれていません。
|
||||||
|
FS_InitFatDriver();
|
||||||
|
|
||||||
// SDカードの挿抜イベント監視コールバック設定
|
// SDカードの挿抜イベント監視コールバック設定
|
||||||
// FS_RegisterEventHook("sdmc", &sSDHook, SDEvents, NULL);
|
// FS_RegisterEventHook("sdmc", &sSDHook, SDEvents, NULL);
|
||||||
|
|
||||||
@ -173,6 +178,7 @@ TwlMain()
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
{
|
{
|
||||||
u8 temp;
|
u8 temp;
|
||||||
kamiCodecRead( 1, 31, &temp);
|
kamiCodecRead( 1, 31, &temp);
|
||||||
@ -182,6 +188,8 @@ TwlMain()
|
|||||||
OS_Printf("temp = %x\n", temp);
|
OS_Printf("temp = %x\n", temp);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
kamiPadRead();
|
kamiPadRead();
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user