diff --git a/build/libraries/snd/ARM7/snd_i2s.c b/build/libraries/snd/ARM7/snd_i2s.c index 73857fa..30e1a37 100644 --- a/build/libraries/snd/ARM7/snd_i2s.c +++ b/build/libraries/snd/ARM7/snd_i2s.c @@ -46,8 +46,12 @@ static void SNDi_I2SInit(void) if (reg_CFG_TWL_EX & REG_CFG_TWL_EX_I2S_MASK) { isTwl = TRUE; - reg_SND_I2SCNT |= REG_SND_I2SCNT_MIX_RATIO_MASK; - reg_SND_I2SCNT &= ~(REG_SND_I2SCNT_MUTE_MASK | REG_SND_I2SCNT_CODEC_SMP_MASK); // 32KHz + // 32KHz +// reg_SND_I2SCNT |= REG_SND_I2SCNT_MIX_RATIO_MASK; +// reg_SND_I2SCNT &= ~(REG_SND_I2SCNT_MUTE_MASK | REG_SND_I2SCNT_CODEC_SMP_MASK); + // 48KHz + reg_SND_I2SCNT |= REG_SND_I2SCNT_MIX_RATIO_MASK | REG_SND_I2SCNT_CODEC_SMP_MASK; + reg_SND_I2SCNT &= ~(REG_SND_I2SCNT_MUTE_MASK); } if ((reg_CFG_CLK & REG_CFG_CLK_SND_MASK) == 0) { diff --git a/build/tests/snd/channel/ARM7/src/main.c b/build/tests/snd/channel/ARM7/src/main.c index f8cd4a9..b158d16 100644 --- a/build/tests/snd/channel/ARM7/src/main.c +++ b/build/tests/snd/channel/ARM7/src/main.c @@ -29,7 +29,7 @@ *---------------------------------------------------------------------------*/ static OSHeapHandle InitializeAllocateSystem(void); static void VBlankIntr(void); - +#include // for DS-mode /*---------------------------------------------------------------------------* Name: TwlSpMain @@ -56,6 +56,14 @@ void TwlSpMain(void) // サウンド初期化 SND_Init(THREAD_PRIO_SND); +#if 0 + // DS mode + SND_Disable(); + reg_SND_I2SCNT &= ~REG_SND_I2SCNT_CODEC_SMP_MASK; // 32kHz + SND_Enable(); + CDC_GoDsMode(); +#endif + // reg_CFG_DS_MDFY |= REG_CFG_DS_MDFY_SND_MASK; // SOUND回路バグ修正 (default: off) // reg_CFG_DS_MDFY |= REG_CFG_DS_MDFY_SDMA_MASK; // SOUND-DMAバグ修正 (default: off) // reg_CFG_DS_EX &= ~REG_CFG_DS_EX_SDMA2_MASK; // SOUND-DMA新回路 (default: on) diff --git a/include/twl/cdc/ARM7/cdc_dsmode_access.h b/include/twl/cdc/ARM7/cdc_dsmode_access.h index 4c510b3..333049b 100644 --- a/include/twl/cdc/ARM7/cdc_dsmode_access.h +++ b/include/twl/cdc/ARM7/cdc_dsmode_access.h @@ -82,7 +82,8 @@ static inline void CDCi_DsmodeChangeSpiMode( SPITransMode continuous ) { reg_SPI_SPICNT = (u16)((1 << REG_SPI_SPICNT_E_SHIFT) | (0 << REG_SPI_SPICNT_I_SHIFT) | - (SPI_COMMPARTNER_TP << REG_SPI_SPICNT_SEL_SHIFT) | +// (SPI_COMMPARTNER_TP << REG_SPI_SPICNT_SEL_SHIFT) | + (SPI_COMMPARTNER_PMIC << REG_SPI_SPICNT_SEL_SHIFT) | (continuous << REG_SPI_SPICNT_MODE_SHIFT) | (CDCi_DsmodeGetSPIBaudRate() << REG_SPI_SPICNT_BAUDRATE_SHIFT)); }