2 * \file codec_subsystem.c
3 * \brief TLV320AIC23B操作関数
8 #include "codec_subsystem.h"
9 #include "i2c_subsystem.h"
16 * \brief コーデック初期化データ列の長さ
18 * TLV320AIC23に与える初期化データの長さである。長さはレジスタアドレスとデータの組が
21 #define CODECINITDATALEN 10 /* TLV320AIC23B初期化データ長 */
27 * TLV320AIC23Bを初期化するためのデータ列である。
29 static unsigned char tlv320aic23init[CODECINITDATALEN][2] = {
30 {0 | 0x01, 0x17}, /* L_in vol : LR simul-update, unmute, 0dB */
31 {2 | 0x01, 0x17}, /* R_in vol : LR simul-update, unmute, 0dB */
32 {4 | 0x01, 0xF9}, /* L_HP vol : LR simul-update, zero-cross, 0dB */
33 {6 | 0x01, 0xF9}, /* R_HP vol : LR simul-update, zero-cross, 0dB */
34 {8 | 0x00, 0x12}, /* Analog Audio Path : No Sidetone, No bypass, DAC for Out, Line out for ADC, Mic Mute */
35 {10 | 0x00, 0x06}, /* Digital Paht: DAC unmute, De-emphasis 48k, ADC LPF enable */
36 {12 | 0x00, 0x02}, /* Power Down : Only Mic is down */
37 {14 | 0x00, 0x4E}, /* Digital Audio Format : Master, 24bit, I2S */
38 // { 16 | 0x00, 0x01 }, /* Sanmpling Rate, 48kHz, USB mode*/
39 {16 | 0x00, 0x00}, /* Sanmpling Rate, 48kHz, NORMAL mode */
40 {18 | 0x00, 0x01} /* Activateion : Active. */
48 /* TLV320AIC23Bに初期化データを送信する */
49 for (i = 0; i < CODECINITDATALEN; i++) {
50 i2c_send_2bytes(0x1A, tlv320aic23init[i][0], tlv320aic23init[i][1]); /* Activate all functionality of TLV320AIC23B */