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

Reply via email to