From 99160420da7c07b38a681356cdc97956f915f804 Mon Sep 17 00:00:00 2001 From: kamikawa Date: Mon, 3 Sep 2007 02:19:14 +0000 Subject: [PATCH] =?UTF-8?q?I2Si=5FInit=E3=81=8B=E3=82=89CDC=5FInit?= =?UTF-8?q?=E3=82=92=E5=91=BC=E3=81=B0=E3=81=AA=E3=81=84=E3=82=88=E3=81=86?= =?UTF-8?q?=E3=81=AB=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/twl_wrapsdk/trunk@269 4ee2a332-4b2b-5046-8439-1ba90f034370 --- build/libraries/snd/ARM7/snd_i2s.c | 6 ++++-- build/libraries/snd/ARM7/snd_mic.c | 18 ++++++++++++++++-- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/build/libraries/snd/ARM7/snd_i2s.c b/build/libraries/snd/ARM7/snd_i2s.c index ae712a8..134fc76 100644 --- a/build/libraries/snd/ARM7/snd_i2s.c +++ b/build/libraries/snd/ARM7/snd_i2s.c @@ -44,18 +44,20 @@ static void I2Si_Init(void) reg_SND_POWCNT |= REG_SND_POWCNT_SPE_MASK; +/* CODEC独立運動 + if ((reg_CFG_CLK & REG_CFG_CLK_SND_MASK) == 0) { // initialize codec with enabling I2S CDC_Init(); } - +*/ reg_CFG_TWL_EX |= REG_CFG_TWL_EX_I2S_MASK; if (reg_CFG_TWL_EX & REG_CFG_TWL_EX_I2S_MASK) { isTwl = TRUE; // Set default values - I2S_SetSamplingRatio(TRUE); +// I2S_SetSamplingRatio(TRUE); 勝手に48kにされたら困る I2S_SetMixingRatio(8); I2S_Mute(FALSE); } diff --git a/build/libraries/snd/ARM7/snd_mic.c b/build/libraries/snd/ARM7/snd_mic.c index 7d5a40c..55b3511 100644 --- a/build/libraries/snd/ARM7/snd_mic.c +++ b/build/libraries/snd/ARM7/snd_mic.c @@ -76,9 +76,13 @@ void MICi_Start( MICSampleRate smp, u32 dmaNo, void *dest, s32 size ) MICi_ExDmaRecvAsync( dmaNo, dest, size ); OS_SetIrqFunction( OS_IE_DMA4 << ch, MICi_ExDmaInterruptHandler ); - reg_OS_IF = (OS_IE_DMA4 << ch); reg_OS_IE |= (OS_IE_DMA4 << ch); // enable mic dma interrupt +/* + OS_SetIrqFunction( OS_IE_MIC, MICi_FifoInterruptHandler ); + reg_OS_IF2 = (OS_IE_MIC >> 32); + reg_OS_IE2 |= (OS_IE_MIC >> 32); // disable mic fifo interrupt +*/ } } @@ -191,7 +195,17 @@ void MICi_ExDmaInterruptHandler( void ) *---------------------------------------------------------------------------*/ void MICi_FifoInterruptHandler( void ) { -// OS_TPrintf( "X" ); + +/* + // 本当はDMAを停止してからFIFOをクリアした方がいいらしい + + // マイクディゼーブル + reg_SND_MICCNT &= (u16)(~REG_SND_MICCNT_E_MASK); + // FIFO & エラーフラグクリア + reg_SND_MICCNT |= REG_SND_MICCNT_FIFO_CLR_MASK; + // マイクイネーブル + reg_SND_MICCNT |= (u16)(REG_SND_MICCNT_E_MASK); +*/ #if 0 MICWork *wp = &micWork;