Title: [8258] trunk/sound/soc/blackfin: task[#5856]add AD74111 support,merge the code to ad73311
- Revision
- 8258
- Author
- cliff
- Date
- 2010-01-28 21:54:42 -0500 (Thu, 28 Jan 2010)
Log Message
task[#5856]add AD74111 support,merge the code to ad73311
Modified Paths
Diff
Modified: trunk/sound/soc/blackfin/Kconfig (8257 => 8258)
--- trunk/sound/soc/blackfin/Kconfig 2010-01-29 02:46:43 UTC (rev 8257)
+++ trunk/sound/soc/blackfin/Kconfig 2010-01-29 02:54:42 UTC (rev 8258)
@@ -18,7 +18,7 @@
Say Y if you want to add support for SoC audio on BF527-EZKIT.
config SND_BF5XX_SOC_AD73311
- tristate "SoC AD73311 Audio support for Blackfin"
+ tristate "SoC AD73311\AD74111 Audio support for Blackfin"
depends on SND_BF5XX_I2S
select SND_BF5XX_SOC_I2S
select SND_SOC_AD73311
Modified: trunk/sound/soc/blackfin/bf5xx-ad73311.c (8257 => 8258)
--- trunk/sound/soc/blackfin/bf5xx-ad73311.c 2010-01-29 02:46:43 UTC (rev 8257)
+++ trunk/sound/soc/blackfin/bf5xx-ad73311.c 2010-01-29 02:54:42 UTC (rev 8258)
@@ -78,10 +78,10 @@
static int snd_ad73311_configure(void)
{
- unsigned short ctrl_regs[6];
+ unsigned short ctrl_regs[7];
unsigned short status = 0;
int count = 0;
-
+#if defined(CONFIG_SND_SOC_AD73311)
/* DMCLK = MCLK = 16.384 MHz
* SCLK = DMCLK/8 = 2.048 MHz
* Sample Rate = DMCLK/2048 = 8 KHz
@@ -95,7 +95,23 @@
ctrl_regs[3] = AD_CONTROL | AD_WRITE | CTRL_REG_E | REGE_DA(0x1f);
ctrl_regs[4] = AD_CONTROL | AD_WRITE | CTRL_REG_F | REGF_SEEN ;
ctrl_regs[5] = AD_CONTROL | AD_WRITE | CTRL_REG_A | REGA_MODE_DATA;
-
+#elif defined(CONFIG_SND_SOC_AD74111)
+ /* MCLK = MCLK = 12.288 MHz
+ * Sample Rate = 8 KHz
+ * IMCLK = MCLK/6 = 2.048 MHz = 8kHz * 256
+ */
+ ctrl_regs[0] = AD_WRITE | CTRL_REG_A | REGA_REFAMP | REGA_REF |\
+ REGA_DAC | REGA_ADC_INPAMP;
+ ctrl_regs[1] = AD_WRITE | CTRL_REG_B | REGB_FCLKDIV(2) | \
+ REGB_SCLKDIV(1) | REGB_TCLKDIV(0);
+ ctrl_regs[2] = AD_WRITE | CTRL_REG_C | REGC_ADC_HP | \
+ REGC_WORD_WIDTH(0);
+ ctrl_regs[3] = AD_WRITE | CTRL_REG_D | REGD_MASTER | \
+ REGD_FDCLK | REGD_DSP_MODE;
+ ctrl_regs[4] = AD_WRITE | CTRL_REG_E;
+ ctrl_regs[5] = AD_WRITE | CTRL_REG_F;
+ ctrl_regs[6] = AD_WRITE | CTRL_REG_G;
+#endif
local_irq_disable();
snd_ad73311_startup();
udelay(1);
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits