519 lines
13 KiB
C
519 lines
13 KiB
C
/*
|
||
* Driver for CX2081X voice capture IC.
|
||
*
|
||
* Copyright: Conexant Systems.
|
||
*
|
||
*
|
||
* This program is free software; you can redistribute it and/or modify
|
||
* it under the terms of the GNU General Public License version 2 as
|
||
* published by the Free Software Foundation.
|
||
*
|
||
*/
|
||
|
||
#ifndef CX20810_CONFIG_H_
|
||
#define CX20810_CONFIG_H_
|
||
|
||
enum {
|
||
CX20810_NORMAL_MODE = 0,
|
||
CX20810_NORMAL_MODE2,
|
||
CX20810_NORMAL_MODE_SIMPLE,
|
||
CX20810_NIRMAL_MODE_CODEC3,
|
||
CX20810_NIRMAL_MODE_CODEC3_SIMPLE,
|
||
CX20810_96K_16BIT_MODE,
|
||
CX20810_48K_16BIT_MODE,
|
||
};
|
||
|
||
static char codec_config_param_normal_mode[] = {
|
||
/*
|
||
* I2S Master mode, LeftJustified 1bit delay
|
||
* 48k_24bit MSB first, Frame Length 64bit
|
||
* 12.288Mhz MClk, bclk,48K* 64 , 3.072Mhz
|
||
* set up PLL, 12.288 Mhz mclk feed to PLL
|
||
*/
|
||
#if 1
|
||
0x80, 0x03, /* MCLK is an input */
|
||
0x08, 0x20, /* MCLK !gated */
|
||
0x60, 0x04, /* Bypass PLL */
|
||
0x09, 0x03, /* Use MLCK directly */
|
||
/* end pll setting */
|
||
0x78, 0x2D, /* Enable VREF @ 2.8V (5V) or 2.6V (3.3V) */
|
||
0x78, 0x2D, /* Enable VREF @ 2.8V (5V) or 2.6V (3.3V) */
|
||
0x78, 0x2D, /* Enable VREF @ 2.8V (5V) or 2.6V (3.3V) */
|
||
0x78, 0x2D, /* Enable VREF @ 2.8V (5V) or 2.6V (3.3V) */
|
||
0x78, 0x2D, /* Enable VREF @ 2.8V (5V) or 2.6V (3.3V) */
|
||
0x78, 0x2D, /* Enable VREF @ 2.8V (5V) or 2.6V (3.3V) */
|
||
0x78, 0x6D, /* Enable Analog LDO */
|
||
0x78, 0x6D, /* Enable Analog LDO */
|
||
0x78, 0x6D, /* Enable Analog LDO */
|
||
0x78, 0x6D, /* Enable Analog LDO */
|
||
0x78, 0x6D, /* Enable Analog LDO */
|
||
0x78, 0x6D, /* Enable Analog LDO */
|
||
0x7A, 0x01, /* Enable VREFP */
|
||
|
||
/* Setup I2S */
|
||
0x16, 0x00, /* Use DC Filters for ADCs */
|
||
0x0c, 0x3B, /* Enable I2S-TX and set Master Mode, enable ADC3/4 FIFO */
|
||
0x83, 0x00, /* Configure LRCK and BCLK as outputs */
|
||
|
||
0x30, 0x14, /* 7 wire mode,24-bit sample size,// Normal mode */
|
||
0x31, 0x07, /* Set 64 cycle per frame TX */
|
||
0x33, 0x1F, /* TX WS ,32 cycle */
|
||
0x35, 0xA8, /* Lj 1bit delay, enable TX1,2 */
|
||
|
||
0x0A, 0x03, /* Set TX divisor is Source Clock / 4 (Bclk,3.072Mhz) */
|
||
0x0A, 0x83, /* Enable divisor */
|
||
|
||
/* Setup ADCs and clocks */
|
||
|
||
/*
|
||
* if using 20/16/12/8/4 dB gain, set register
|
||
* 0x28/0x20/0x18/0x10/0x08
|
||
*/
|
||
0xBC, 0x28, /* ADC1 8dB Gain */
|
||
0xBD, 0x28, /* ADC2 8dB Gain */
|
||
0xBE, 0x28, /* ADC3 8dB Gain */
|
||
0xBF, 0x28, /* ADC4 8dB Gain */
|
||
|
||
0x10, 0x00, /* Disable all ADC clocks */
|
||
0x11, 0x00, /* Disable all ADC clocks and Mixer */
|
||
0x10, 0x1F, /* Enable all ADC clocks and ADC digital */
|
||
0x11, 0x4F, /* Enable all ADCs and set 48kHz sample rate */
|
||
0x10, 0x5F, /* Enable all ADC clocks, ADC digital and ADC Mic Clock Gate */
|
||
|
||
/*
|
||
*0xA0 , 0x0F ,// ADC1, Mute PGA, enable AAF/ADC/PGA
|
||
*0xA7 , 0x0F ,// ADC2, Mute PGA, enable AAF/ADC/PGA
|
||
*0xAE , 0x0F ,// ADC3, Mute PGA, enable AAF/ADC/PGA
|
||
*0xB5 , 0x0F ,// ADC4, Mute PGA, enable AAF/ADC/PGA
|
||
*/
|
||
|
||
0xA0, 0x07, /* ADC1 !Mute */
|
||
0xA7, 0x07, /* ADC2 !Mute */
|
||
0xAE, 0x07, /* ADC3 !Mute */
|
||
0xB5, 0x07, /* ADC4 !Mute */
|
||
#else
|
||
/* I2S slave mode */
|
||
0x0F, 0x03, /* RST */
|
||
0x0F, 0x03, /* repeat write is let chip has more time to RST */
|
||
0x0F, 0x03,
|
||
0x0F, 0x03,
|
||
|
||
0x0F, 0x00, /* release reset */
|
||
|
||
0x78, 0x39, /* PLLEN = 1 ABIASEN IOBUFEN REFIMP = 11 3KR */
|
||
0x78, 0x39, /* PLLEN = 1 ABIASEN IOBUFEN REFIMP = 11 3KR */
|
||
0x78, 0x39, /* PLLEN = 1 ABIASEN IOBUFEN REFIMP = 11 3KR */
|
||
0x78, 0x39, /* PLLEN = 1 ABIASEN IOBUFEN REFIMP = 11 3KR */
|
||
0x78, 0x39, /* PLLEN = 1 ABIASEN IOBUFEN REFIMP = 11 3KR */
|
||
|
||
0x78, 0x79, /* PLLEN = 1 ABIASEN IOBUFEN REFIMP = 11 3KR */
|
||
0x78, 0x79, /* PLLEN = 1 ABIASEN IOBUFEN REFIMP = 11 3KR */
|
||
0x78, 0x79, /* PLLEN = 1 ABIASEN IOBUFEN REFIMP = 11 3KR */
|
||
0x78, 0x79, /* PLLEN = 1 ABIASEN IOBUFEN REFIMP = 11 3KR */
|
||
0x78, 0x79, /* PLLEN = 1 ABIASEN IOBUFEN REFIMP = 11 3KR */
|
||
|
||
0x7A, 0x01,
|
||
0x01, 0x01,
|
||
|
||
0xA0, 0x07, /* ADC bias EN */
|
||
0xA7, 0x07,
|
||
0xAE, 0x07,
|
||
0xB5, 0x07,
|
||
|
||
0xBC, 0x3C, /* 0x28 20dB 0x34 26dB */
|
||
0xBD, 0x3C,
|
||
0xBE, 0x3C,
|
||
0xBF, 0x3C,
|
||
|
||
0x30, 0x14, /* 14 24bit 0a 16bit */
|
||
0x31, 0x07, /* frame (n+1)*8 bit 32+32=64 */
|
||
0x32, 0x07, /* */
|
||
0x33, 0x1F, /* sys width 32 clk */
|
||
0x34, 0x1F,
|
||
0x35, 0xAC, /* TX right justified and revert i2s1+i2s2 */
|
||
0x36, 0x00, /* config for right justified ignored. */
|
||
0x37, 0x00, /* RX left justified. */
|
||
0x38, 0x00, /* config for right justified ignored. */
|
||
0x39, 0x08, /* ADC12 0n DATA1.ADC34 On DATA2 */
|
||
0x3A, 0x00, /* Slot1 */
|
||
0x3B, 0x00, /* slot2 */
|
||
0x3C, 0x00, /* slot3 */
|
||
0x3D, 0x00, /* slot4 */
|
||
0x3E, 0x1F, /* slot4 */
|
||
|
||
0x16, 0x00, /* Use DC Filter for ADCs */
|
||
|
||
0x80, 0x03, /* MCLK */
|
||
0x81, 0x01, /* LRCLK BCLK RX Pull down */
|
||
0x82, 0x3F, /* LRCLK BCLK RX */
|
||
0x83, 0x0F, /* LRCLK BCLK */
|
||
|
||
0x0F, 0x01, /* RST,clears DSP,audio data interface values */
|
||
0x0F, 0x01, /* repeat write is let chip has more time to RST */
|
||
0x0F, 0x01,
|
||
0x0F, 0x01,
|
||
|
||
0x08, 0x00, /* disable MCLK to chip */
|
||
0x0C, 0x0A, /* Clocks gated */
|
||
0x09, 0x02,
|
||
|
||
0x0F, 0x00, /* clear RST */
|
||
/* enable MCLK to chip */
|
||
/* 0x08, 0x30, */
|
||
/* 0x08, 0x38, */
|
||
0x08, 0x20,
|
||
0x09, 0x03,
|
||
|
||
0x10, 0x00, /* Disable all ADC clocks */
|
||
0x11, 0x10, /* Disable all ADC and Mixer */
|
||
0x10, 0x1F, /* Enable all ADC clocks and ADC digital */
|
||
0x11, 0x4F, /* Enable all ADC and set 48k sample rate */
|
||
0x10, 0x5F, /* Enable all ADC clocks,
|
||
ADC digital and ADC Mic Clock Gate */
|
||
#endif
|
||
};
|
||
|
||
static char codec_config_param_normal_mode2[] = {
|
||
0x0F, 0x03, /* RST */
|
||
0x0F, 0x03, /* repeat write is let chip has more time to RST */
|
||
0x0F, 0x03,
|
||
0x0F, 0x03,
|
||
|
||
0x0F, 0x00, /* release reset */
|
||
|
||
0x78, 0x39, /* PLLEN = 1 ABIASEN IOBUFEN REFIMP = 11 3KR */
|
||
0x78, 0x39, /* PLLEN = 1 ABIASEN IOBUFEN REFIMP = 11 3KR */
|
||
0x78, 0x39, /* PLLEN = 1 ABIASEN IOBUFEN REFIMP = 11 3KR */
|
||
0x78, 0x39, /* PLLEN = 1 ABIASEN IOBUFEN REFIMP = 11 3KR */
|
||
0x78, 0x39, /* PLLEN = 1 ABIASEN IOBUFEN REFIMP = 11 3KR */
|
||
|
||
0x78, 0x79, /* PLLEN = 1 ABIASEN IOBUFEN REFIMP = 11 3KR */
|
||
0x78, 0x79, /* PLLEN = 1 ABIASEN IOBUFEN REFIMP = 11 3KR */
|
||
0x78, 0x79, /* PLLEN = 1 ABIASEN IOBUFEN REFIMP = 11 3KR */
|
||
0x78, 0x79, /* PLLEN = 1 ABIASEN IOBUFEN REFIMP = 11 3KR */
|
||
0x78, 0x79, /* PLLEN = 1 ABIASEN IOBUFEN REFIMP = 11 3KR */
|
||
|
||
0x7A, 0x01,
|
||
0x01, 0x01,
|
||
|
||
0xA0, 0x07, /* ADC bias EN */
|
||
0xA7, 0x07,
|
||
0xAE, 0x07,
|
||
0xB5, 0x07,
|
||
|
||
0xBC, 0x24, /* 0x28 20dB 0x34 26dB */
|
||
0xBD, 0x24,
|
||
0xBE, 0x24,
|
||
0xBF, 0x24,
|
||
|
||
0x30, 0x14, /* 14 24bit 0a 16bit */
|
||
0x31, 0x07, /* frame (n+1)*8 bit 32+32=64 */
|
||
0x32, 0x07, /* */
|
||
0x33, 0x1F, /* sys width 32 clk */
|
||
0x34, 0x1F,
|
||
0x35, 0xAC, /* TX right justified and revert i2s1+i2s2 */
|
||
0x36, 0x00, /* config for right justified ignored. */
|
||
0x37, 0x00, /* RX left justified. */
|
||
0x38, 0x00, /* config for right justified ignored. */
|
||
0x39, 0x08, /* ADC12 0n DATA1.ADC34 On DATA2 */
|
||
0x3A, 0x00, /* Slot1 */
|
||
0x3B, 0x00, /* slot2 */
|
||
0x3C, 0x00, /* slot3 */
|
||
0x3D, 0x00, /* slot4 */
|
||
0x3E, 0x1F, /* slot4 */
|
||
|
||
0x16, 0x00, /* Use DC Filter for ADCs */
|
||
|
||
0x80, 0x03, /* MCLK */
|
||
0x81, 0x01, /* LRCLK BCLK RX Pull down */
|
||
0x82, 0x3F, /* LRCLK BCLK RX */
|
||
0x83, 0x0F, /* LRCLK BCLK */
|
||
|
||
#if 0
|
||
/* PLL config */
|
||
|
||
0x08, 0x00, /* disable MCLK */
|
||
|
||
0x09, 0x40, /* I2S TX Bit Clock */
|
||
|
||
0x60, 0xF8, /* reset and Disable PLL1 */
|
||
|
||
0x61, 0xDF, /* */
|
||
0x62, 0x01,
|
||
0x63, 0x01,
|
||
/* {0x64, 0x90}, */
|
||
/* {0x65, 0x24}, */
|
||
0x66, 0x80,
|
||
0x67, 0x02,
|
||
/* {0x68, 0x0}, */
|
||
/* {0x69, 0x0}, */
|
||
|
||
/* enable PLL1 */
|
||
0x60, 0xFB, /* delay for PLL locked */
|
||
0x60, 0xFB,
|
||
0x60, 0xFB,
|
||
0x60, 0xFB,
|
||
0x60, 0xFB,
|
||
0x60, 0xFB,
|
||
|
||
/* end PLL config */
|
||
#endif
|
||
|
||
0x0F, 0x01, /* RST,clears DSP,audio data interface values */
|
||
0x0F, 0x01, /* repeat write is let chip has more time to RST */
|
||
0x0F, 0x01,
|
||
0x0F, 0x01,
|
||
|
||
0x08, 0x00, /* disable MCLK to chip */
|
||
0x0C, 0x0A, /* Clocks gated */
|
||
0x09, 0x02,
|
||
|
||
0x0F, 0x00, /* clear RST */
|
||
/* 0x08, 0x30, */
|
||
/* enable MCLK to chip */
|
||
/* 0x08, 0x38, */
|
||
0x08, 0x20,
|
||
0x09, 0x03,
|
||
|
||
0x10, 0x00, /* Disable all ADC clocks */
|
||
0x11, 0x10, /* Disable all ADC and Mixer */
|
||
0x10, 0x1F, /* Enable all ADC clocks and ADC digital */
|
||
0x11, 0x4F, /* Enable all ADC and set 48k sample rate */
|
||
0x10, 0x5F, /* Enable all ADC clocks,
|
||
ADC digital and ADC Mic Clock Gate */
|
||
|
||
};
|
||
|
||
static char codec_config_param_normal_mode_simple[] = {
|
||
/* mic pga 增益 */
|
||
/* 4通道录音工具 */
|
||
0xBC, 0x28, /* 0x28 20dB 0x34 26dB */
|
||
0xBD, 0x28,
|
||
0xBE, 0x28,
|
||
0xBF, 0x28,
|
||
|
||
0x60, 0x04,
|
||
0x66, 0x00,
|
||
0x67, 0x02,
|
||
|
||
/* PAD配置 */
|
||
0x80, 0x03, /* MCLK 为输入 */
|
||
0x83, 0x0F, /* LRCLK BCLK 为输入脚,TX1 TX2为输出脚 */
|
||
|
||
/* MCLK 作为输入 */
|
||
/* 0x08, 0x30, */
|
||
/* MCLK divisor 生效 */
|
||
/* 0x08, 0x38, */
|
||
0x08, 0x20, /* MCLK 作为输入 12.288MHz */
|
||
0x09, 0x03, /* 选MCLK作为PLL输入源 */
|
||
0x0a, 0x0b,
|
||
0x0a, 0x8b,
|
||
0x0C, 0x0A, /* RT clock disable, TX clock enable,
|
||
enable clock to ADC3/4 */
|
||
|
||
/* I2S */
|
||
/* Tx sample size:16bit, Normal mode */
|
||
/* 0x30, 0x0A, */
|
||
0x30, 0x14, /* Tx sample size:24bit, Normal mode */
|
||
0x35, 0xA2, /* left justified, enable I2S-1 and I2S-2 */
|
||
|
||
0x10, 0x00,
|
||
0x11, 0x00,
|
||
0x10, 0x1F,
|
||
0x11, 0x1F, /* ADC 96k, enables all ADCs */
|
||
0x16, 0x00,
|
||
0x10, 0x5F,
|
||
|
||
};
|
||
|
||
static char codec3_config_param_normal_mode[] = {
|
||
/* POWER */
|
||
0x78, 0x39, /* PLLEN = 1 ABIASEN IOBUFEN REFIMP = 11 3KR */
|
||
0x78, 0x39, /* PLLEN = 1 ABIASEN IOBUFEN REFIMP = 11 3KR */
|
||
0x78, 0x39, /* PLLEN = 1 ABIASEN IOBUFEN REFIMP = 11 3KR */
|
||
0x78, 0x39, /* PLLEN = 1 ABIASEN IOBUFEN REFIMP = 11 3KR */
|
||
0x78, 0x39, /* PLLEN = 1 ABIASEN IOBUFEN REFIMP = 11 3KR */
|
||
|
||
0x78, 0x79, /* PLLEN = 1 ABIASEN IOBUFEN REFIMP = 11 3KR */
|
||
0x78, 0x79, /* PLLEN = 1 ABIASEN IOBUFEN REFIMP = 11 3KR */
|
||
0x78, 0x79, /* PLLEN = 1 ABIASEN IOBUFEN REFIMP = 11 3KR */
|
||
0x78, 0x79, /* PLLEN = 1 ABIASEN IOBUFEN REFIMP = 11 3KR */
|
||
0x78, 0x79, /* PLLEN = 1 ABIASEN IOBUFEN REFIMP = 11 3KR */
|
||
|
||
0x7A, 0x01,
|
||
0x01, 0x01,
|
||
|
||
/* Analog ADC Control */
|
||
/* MIcIn PGA A0,A7,AE,B5 [5:4] ctrl_rcm,
|
||
* [1] enable [3] mute [7] bypass */
|
||
/* 模拟部分电源 */
|
||
0xA0, 0x07, /* ADC bias EN */
|
||
0xA7, 0x07,
|
||
0xAE, 0x07,
|
||
0xB5, 0x07,
|
||
|
||
/* mic pga 增益 */
|
||
/* 4通道录音工具 */
|
||
0xBC, 0x06, /* 0x28 20dB 0x34 26dB */
|
||
0xBD, 0x06,
|
||
0xBE, 0x0C,
|
||
0xBF, 0x14,
|
||
|
||
0x60, 0x04,
|
||
0x66, 0x00,
|
||
0x67, 0x02,
|
||
|
||
/* PAD配置 */
|
||
0x80, 0x03, /* MCLK 为输入 */
|
||
0x83, 0x0F, /* LRCLK BCLK 为输入脚,TX1 TX2为输出脚 */
|
||
|
||
/* MCLK 作为输入 */
|
||
/* 0x08, 0x30, */
|
||
/* MCLK divisor 生效 */
|
||
/* 0x08, 0x38, */
|
||
0x08, 0x20, /* MCLK 作为输入 12.288MHz */
|
||
0x09, 0x03, /* 选MCLK作为PLL输入源 */
|
||
0x0a, 0x0b,
|
||
0x0a, 0x8b,
|
||
0x0C, 0x0A, /* RT clock disable, TX clock enable,
|
||
enable clock to ADC3/4 */
|
||
|
||
/* I2S */
|
||
/* Tx sample size:16bit, Normal mode */
|
||
/* 0x30, 0x0A, */
|
||
0x30, 0x14, /* Tx sample size:24bit, Normal mode */
|
||
0x35, 0xA2, /* left justified, enable I2S-1 and I2S-2 */
|
||
|
||
0x10, 0x00,
|
||
0x11, 0x00,
|
||
0x10, 0x1F,
|
||
0x11, 0x1F, /* ADC 96k, enables all ADCs */
|
||
0x16, 0x00,
|
||
0x10, 0x5F,
|
||
|
||
};
|
||
|
||
static char codec3_config_param_normal_mode_simple[] = {
|
||
/* mic pga 增益 */
|
||
/* 4通道录音工具 */
|
||
0xBC, 0x28,/* 0x28 20dB 0x34 26dB */
|
||
0xBD, 0x28,
|
||
0xBE, 0x28,
|
||
0xBF, 0x28,
|
||
|
||
0x60, 0x04,
|
||
0x66, 0x00,
|
||
0x67, 0x02,
|
||
|
||
/* PAD配置 */
|
||
0x80, 0x03,/* MCLK 为输入 */
|
||
0x83, 0x0F,/* LRCLK BCLK 为输入脚,TX1 TX2为输出脚 */
|
||
|
||
/* MCLK 作为输入 */
|
||
/* 0x08, 0x30, */
|
||
/* MCLK divisor 生效 */
|
||
/* 0x08, 0x38, */
|
||
0x08, 0x20,/* MCLK 作为输入 12.288MHz */
|
||
0x09, 0x03,/* 选MCLK作为PLL输入源 */
|
||
0x0a, 0x0b,
|
||
0x0a, 0x8b,
|
||
0x0C, 0x0A,/* RT clock disable, TX clock enable,
|
||
enable clock to ADC3/4 */
|
||
|
||
/* I2S */
|
||
/* Tx sample size:16bit, Normal mode */
|
||
/* 0x30, 0x0A, */
|
||
0x30, 0x14,/* Tx sample size:24bit, Normal mode */
|
||
0x35, 0xA2,/* left justified, enable I2S-1 and I2S-2 */
|
||
|
||
0x10, 0x00,
|
||
0x11, 0x00,
|
||
0x10, 0x1F,
|
||
0x11, 0x1F,/* ADC 96k, enables all ADCs */
|
||
0x16, 0x00,
|
||
0x10, 0x5F,
|
||
};
|
||
|
||
static char codec_config_param_48k_16bit_mode[] = {
|
||
/* mic pga 增益 */
|
||
/* 4通道录音工具 */
|
||
0xBC, 29 << 1,/* 0x28 20dB 0x34 26dB */
|
||
0xBD, 29 << 1,
|
||
0xBE, 29 << 1,
|
||
0xBF, 29 << 1,
|
||
|
||
0x60, 0x04,
|
||
0x66, 0x00,
|
||
0x67, 0x02,
|
||
|
||
/* PAD配置 */
|
||
0x80, 0x03,/* MCLK 为输入 */
|
||
0x83, 0x0F,/* LRCLK BCLK 为输入脚,TX1 TX2为输出脚 */
|
||
|
||
/* MCLK 作为输入 */
|
||
/* 0x08, 0x30, */
|
||
/* MCLK divisor 生效 */
|
||
/* 0x08, 0x38, */
|
||
0x08, 0x20,/* MCLK 作为输入 12.288MHz */
|
||
0x09, 0x03,/* 选MCLK作为PLL输入源 */
|
||
0x0a, 0x03,
|
||
0x0a, 0x83,
|
||
0x0C, 0x0A,/* RT clock disable, TX clock enable,
|
||
enable clock to ADC3/4 */
|
||
|
||
/* I2S */
|
||
0x30, 0x0A,/* Tx sample size:16bit, Normal mode */
|
||
/* Tx sample size:24bit, Normal mode */
|
||
/* 0x30, 0x14, */
|
||
0x35, 0xA2,/* left justified, enable I2S-1 and I2S-2 */
|
||
|
||
0x10, 0x00,
|
||
0x11, 0x00,
|
||
0x10, 0x1F,
|
||
0x11, 0x4F,/* ADC 96k, enables all ADCs */
|
||
0x16, 0x00,
|
||
0x10, 0x5F,
|
||
};
|
||
|
||
static char codec_config_param_96k_16bit_mode[] = {
|
||
/* mic pga 增益 */
|
||
/* 4通道录音工具 */
|
||
0xBC, 29 << 1,/* 0x28 20dB 0x34 26dB */
|
||
0xBD, 29 << 1,
|
||
0xBE, 29 << 1,
|
||
0xBF, 29 << 1,
|
||
|
||
0x60, 0x04,
|
||
0x66, 0x00,
|
||
0x67, 0x02,
|
||
|
||
/* PAD配置 */
|
||
0x80, 0x03,/* MCLK 为输入 */
|
||
0x83, 0x0F,/* LRCLK BCLK 为输入脚,TX1 TX2为输出脚 */
|
||
|
||
/* MCLK 作为输入 */
|
||
/* 0x08, 0x30, */
|
||
/* MCLK divisor 生效 */
|
||
/* 0x08, 0x38, */
|
||
0x08, 0x20,/* MCLK 作为输入 12.288MHz */
|
||
0x09, 0x03,/* 选MCLK作为PLL输入源 */
|
||
0x0a, 0x01,
|
||
0x0a, 0x81,
|
||
0x0C, 0x0A,/* RT clock disable, TX clock enable,
|
||
enable clock to ADC3/4 */
|
||
|
||
/* I2S */
|
||
0x30, 0x0A,/* Tx sample size:16bit, Normal mode */
|
||
/* Tx sample size:24bit, Normal mode */
|
||
/* 0x30, 0x14, */
|
||
0x35, 0xA2,/* left justified, enable I2S-1 and I2S-2 */
|
||
|
||
0x10, 0x00,
|
||
0x11, 0x00,
|
||
0x10, 0x1F,
|
||
0x11, 0x5F,/* ADC 96k, enables all ADCs */
|
||
0x16, 0x00,
|
||
0x10, 0x5F,
|
||
};
|
||
#endif /* CX20810_CONFIG_H_ */
|