Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 942c435b authored by Mark Brown's avatar Mark Brown
Browse files

ASoC: Add WM8993 CODEC driver



The WM8993 is a highly integrated ultra-low power hi-fi CODEC designed
for portable devices such as multimedia phones.

Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent ff7d04b1
Loading
Loading
Loading
Loading

include/sound/wm8993.h

0 → 100644
+44 −0
Original line number Diff line number Diff line
/*
 * linux/sound/wm8993.h -- Platform data for WM8993
 *
 * Copyright 2009 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_WM8993_H
#define __LINUX_SND_WM8993_H

/* Note that EQ1 only contains the enable/disable bit so will be
   ignored but is included for simplicity.
 */
struct wm8993_retune_mobile_setting {
	const char *name;
	unsigned int rate;
	u16 config[24];
};

struct wm8993_platform_data {
	struct wm8993_retune_mobile_setting *retune_configs;
	int num_retune_configs;

	/* LINEOUT can be differential or single ended */
	unsigned int lineout1_diff:1;
	unsigned int lineout2_diff:1;

	/* Common mode feedback */
	unsigned int lineout1fb:1;
	unsigned int lineout2fb:1;

	/* Microphone biases: 0=0.9*AVDD1 1=0.65*AVVD1 */
	unsigned int micbias1_lvl:1;
	unsigned int micbias2_lvl:1;

	/* Jack detect threashold levels, see datasheet for values */
	unsigned int jd_scthr:2;
	unsigned int jd_thr:2;
};

#endif
+4 −0
Original line number Diff line number Diff line
@@ -44,6 +44,7 @@ config SND_SOC_ALL_CODECS
	select SND_SOC_WM8971 if I2C
	select SND_SOC_WM8988 if SND_SOC_I2C_AND_SPI
	select SND_SOC_WM8990 if I2C
	select SND_SOC_WM8993 if I2C
	select SND_SOC_WM9081 if I2C
	select SND_SOC_WM9705 if SND_SOC_AC97_BUS
	select SND_SOC_WM9712 if SND_SOC_AC97_BUS
@@ -173,6 +174,9 @@ config SND_SOC_WM8988
config SND_SOC_WM8990
	tristate

config SND_SOC_WM8993
	tristate

config SND_SOC_WM9081
	tristate

+2 −0
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@ snd-soc-wm8961-objs := wm8961.o
snd-soc-wm8971-objs := wm8971.o
snd-soc-wm8988-objs := wm8988.o
snd-soc-wm8990-objs := wm8990.o
snd-soc-wm8993-objs := wm8993.o
snd-soc-wm9081-objs := wm9081.o
snd-soc-wm9705-objs := wm9705.o
snd-soc-wm9712-objs := wm9712.o
@@ -71,6 +72,7 @@ obj-$(CONFIG_SND_SOC_WM8960) += snd-soc-wm8960.o
obj-$(CONFIG_SND_SOC_WM8961)	+= snd-soc-wm8961.o
obj-$(CONFIG_SND_SOC_WM8988)	+= snd-soc-wm8988.o
obj-$(CONFIG_SND_SOC_WM8990)	+= snd-soc-wm8990.o
obj-$(CONFIG_SND_SOC_WM8993)	+= snd-soc-wm8993.o
obj-$(CONFIG_SND_SOC_WM9081)	+= snd-soc-wm9081.o
obj-$(CONFIG_SND_SOC_WM9705)	+= snd-soc-wm9705.o
obj-$(CONFIG_SND_SOC_WM9712)	+= snd-soc-wm9712.o