ALSA: ASoC: Add WM8580 CODEC driver

The WM8580 is an audio CODEC designed for DVD and surround sound
applications, offering three stereo DACs and a stereo ADC.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
This commit is contained in:
Mark Brown 2008-08-06 13:18:26 +01:00 committed by Jaroslav Kysela
parent c9a7dc2c52
commit e88ba01544
4 changed files with 1103 additions and 0 deletions

View File

@ -5,6 +5,7 @@ config SND_SOC_ALL_CODECS
select SND_SOC_AK4535
select SND_SOC_UDA1380
select SND_SOC_WM8510
select SND_SOC_WM8580
select SND_SOC_WM8731
select SND_SOC_WM8750
select SND_SOC_WM8753
@ -38,6 +39,9 @@ config SND_SOC_UDA1380
config SND_SOC_WM8510
tristate
config SND_SOC_WM8580
tristate
config SND_SOC_WM8731
tristate

View File

@ -3,6 +3,7 @@ snd-soc-ad1980-objs := ad1980.o
snd-soc-ak4535-objs := ak4535.o
snd-soc-uda1380-objs := uda1380.o
snd-soc-wm8510-objs := wm8510.o
snd-soc-wm8580-objs := wm8580.o
snd-soc-wm8731-objs := wm8731.o
snd-soc-wm8750-objs := wm8750.o
snd-soc-wm8753-objs := wm8753.o
@ -19,6 +20,7 @@ obj-$(CONFIG_SND_SOC_AD1980) += snd-soc-ad1980.o
obj-$(CONFIG_SND_SOC_AK4535) += snd-soc-ak4535.o
obj-$(CONFIG_SND_SOC_UDA1380) += snd-soc-uda1380.o
obj-$(CONFIG_SND_SOC_WM8510) += snd-soc-wm8510.o
obj-$(CONFIG_SND_SOC_WM8580) += snd-soc-wm8580.o
obj-$(CONFIG_SND_SOC_WM8731) += snd-soc-wm8731.o
obj-$(CONFIG_SND_SOC_WM8750) += snd-soc-wm8750.o
obj-$(CONFIG_SND_SOC_WM8753) += snd-soc-wm8753.o

1055
sound/soc/codecs/wm8580.c Normal file

File diff suppressed because it is too large Load Diff

42
sound/soc/codecs/wm8580.h Normal file
View File

@ -0,0 +1,42 @@
/*
* wm8580.h -- audio driver for WM8580
*
* Copyright 2008 Samsung Electronics.
* Author: Ryu Euiyoul
* ryu.real@gmail.com
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation; either version 2 of the License, or (at your
* option) any later version.
*
*/
#ifndef _WM8580_H
#define _WM8580_H
#define WM8580_PLLA 1
#define WM8580_PLLB 2
#define WM8580_MCLK 1
#define WM8580_DAC_CLKSEL 2
#define WM8580_CLKOUTSRC 3
#define WM8580_CLKSRC_MCLK 1
#define WM8580_CLKSRC_PLLA 2
#define WM8580_CLKSRC_PLLB 3
#define WM8580_CLKSRC_OSC 4
#define WM8580_CLKSRC_NONE 5
struct wm8580_setup_data {
unsigned short i2c_address;
};
#define WM8580_DAI_PAIFRX 0
#define WM8580_DAI_PAIFTX 1
extern struct snd_soc_dai wm8580_dai[];
extern struct snd_soc_codec_device soc_codec_dev_wm8580;
#endif