Commit d5315a23 authored by Mark Brown's avatar Mark Brown

ASoC: wm2200: Add WM2200 CODEC driver

The WM2200 is a low power mobile CODEC with enhanced Wolfson myZone
Ambient Noise Cancellation (ANC) intended for mobile telephony
applications.
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent 1cf73356
/*
* linux/sound/wm2200.h -- Platform data for WM2200
*
* Copyright 2012 Wolfson Microelectronics. PLC.
*
* 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 __LINUX_SND_WM2200_H
#define __LINUX_SND_WM2200_H
#define WM2200_GPIO_SET 0x10000
enum wm2200_in_mode {
WM2200_IN_SE = 0,
WM2200_IN_DIFF = 1,
WM2200_IN_DMIC = 2,
};
enum wm2200_dmic_sup {
WM2200_DMIC_SUP_MICVDD = 0,
WM2200_DMIC_SUP_MICBIAS1 = 1,
WM2200_DMIC_SUP_MICBIAS2 = 2,
};
struct wm2200_pdata {
int reset; /** GPIO controlling /RESET, if any */
int ldo_ena; /** GPIO controlling LODENA, if any */
int irq_flags;
int gpio_defaults[4];
enum wm2200_in_mode in_mode[3];
enum wm2200_dmic_sup dmic_sup[3];
int micbias_cfg[2]; /** Register value to configure MICBIAS */
};
#endif
......@@ -62,6 +62,7 @@ config SND_SOC_ALL_CODECS
select SND_SOC_WL1273 if MFD_WL1273_CORE
select SND_SOC_WM1250_EV1 if I2C
select SND_SOC_WM2000 if I2C
select SND_SOC_WM2200 if I2C
select SND_SOC_WM5100 if I2C
select SND_SOC_WM8350 if MFD_WM8350
select SND_SOC_WM8400 if MFD_WM8400
......@@ -292,6 +293,9 @@ config SND_SOC_WM1250_EV1
config SND_SOC_WM2000
tristate
config SND_SOC_WM2200
tristate
config SND_SOC_WM5100
tristate
......
......@@ -51,6 +51,7 @@ snd-soc-uda1380-objs := uda1380.o
snd-soc-wl1273-objs := wl1273.o
snd-soc-wm1250-ev1-objs := wm1250-ev1.o
snd-soc-wm2000-objs := wm2000.o
snd-soc-wm2200-objs := wm2200.o
snd-soc-wm5100-objs := wm5100.o wm5100-tables.o
snd-soc-wm8350-objs := wm8350.o
snd-soc-wm8400-objs := wm8400.o
......@@ -153,6 +154,7 @@ obj-$(CONFIG_SND_SOC_UDA1380) += snd-soc-uda1380.o
obj-$(CONFIG_SND_SOC_WL1273) += snd-soc-wl1273.o
obj-$(CONFIG_SND_SOC_WM1250_EV1) += snd-soc-wm1250-ev1.o
obj-$(CONFIG_SND_SOC_WM2000) += snd-soc-wm2000.o
obj-$(CONFIG_SND_SOC_WM2200) += snd-soc-wm2200.o
obj-$(CONFIG_SND_SOC_WM5100) += snd-soc-wm5100.o
obj-$(CONFIG_SND_SOC_WM8350) += snd-soc-wm8350.o
obj-$(CONFIG_SND_SOC_WM8400) += snd-soc-wm8400.o
......
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment