/* Board Audio initialization */ void Board_Audio_Init(LPC_I2S_T *pI2S, int micIn) { I2S_AUDIO_FORMAT_T I2S_Config; I2S_Config.SampleRate = 48000; I2S_Config.ChannelNumber = 2; /* 1 is mono, 2 is stereo */ I2S_Config.WordWidth = 16; /* 8, 16 or 32 bits */ Chip_I2S_Init(pI2S); Chip_I2S_TxConfig(pI2S, &I2S_Config); /* Init UDA1380 CODEC */ while (Board_Audio_CodecInit(micIn) != SUCCESS) {} }
/* Board Audio initialization */ void Board_Audio_Init(LPC_I2S_T *pI2S, int micIn) { if (pI2S == LPC_I2S0) { /* TODO :Add pin mux for I2S0 later */ } else if (pI2S == LPC_I2S1) { Chip_SCU_PinMuxSet (0x1, 19, (SCU_PINIO_FAST | SCU_MODE_FUNC7)); /* I2S1_TX_SCK */ Chip_SCU_PinMuxSet (0x0, 1, (SCU_PINIO_FAST | SCU_MODE_FUNC7)); /* I2S1_TX_SDA */ Chip_SCU_PinMuxSet (0x3, 4, (SCU_PINIO_FAST | SCU_MODE_FUNC6)); /* I2S1_RX_SDA */ Chip_SCU_PinMuxSet (0x0, 0, (SCU_PINIO_FAST | SCU_MODE_FUNC7)); /* I2S1_TX_WS */ Chip_SCU_ClockPinMuxSet(0,(SCU_MODE_FUNC1|SCU_MODE_INACT)); /* Setup base clock for CLKOUT */ Chip_Clock_SetBaseClock(CLK_BASE_OUT, CLKIN_CRYSTAL, false, false); } else { /* It is a BUG catch it */ while(1); } /* Init WM8904 CODEC */ while (Board_Audio_CodecInit(micIn) != SUCCESS) {} }