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

Commit 9e6e96a1 authored by Mark Brown's avatar Mark Brown
Browse files

ASoC: Add WM8994 CODEC driver



The WM8994 is a highly integrated ultra-low power hi-fi audio subsystem
designed for smartphones and other portable devices rich in multimedia
features.  It provides advanced digital mixing facilities enabling low
power high quality interconnection of CPU, baseband and other audio
sources through flexible digital and analogue routing, and integrates
a class W headphone driver and stereo class D speaker drivers.

Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent be587ef4
Loading
Loading
Loading
Loading
+4 −0
Original line number Original line Diff line number Diff line
@@ -61,6 +61,7 @@ config SND_SOC_ALL_CODECS
	select SND_SOC_WM8988 if SND_SOC_I2C_AND_SPI
	select SND_SOC_WM8988 if SND_SOC_I2C_AND_SPI
	select SND_SOC_WM8990 if I2C
	select SND_SOC_WM8990 if I2C
	select SND_SOC_WM8993 if I2C
	select SND_SOC_WM8993 if I2C
	select SND_SOC_WM8994 if I2C
	select SND_SOC_WM9081 if I2C
	select SND_SOC_WM9081 if I2C
	select SND_SOC_WM9705 if SND_SOC_AC97_BUS
	select SND_SOC_WM9705 if SND_SOC_AC97_BUS
	select SND_SOC_WM9712 if SND_SOC_AC97_BUS
	select SND_SOC_WM9712 if SND_SOC_AC97_BUS
@@ -243,6 +244,9 @@ config SND_SOC_WM8990
config SND_SOC_WM8993
config SND_SOC_WM8993
	tristate
	tristate


config SND_SOC_WM8994
	tristate

config SND_SOC_WM9081
config SND_SOC_WM9081
	tristate
	tristate


+2 −0
Original line number Original line Diff line number Diff line
@@ -48,6 +48,7 @@ snd-soc-wm8978-objs := wm8978.o
snd-soc-wm8988-objs := wm8988.o
snd-soc-wm8988-objs := wm8988.o
snd-soc-wm8990-objs := wm8990.o
snd-soc-wm8990-objs := wm8990.o
snd-soc-wm8993-objs := wm8993.o
snd-soc-wm8993-objs := wm8993.o
snd-soc-wm8994-objs := wm8994.o
snd-soc-wm9081-objs := wm9081.o
snd-soc-wm9081-objs := wm9081.o
snd-soc-wm9705-objs := wm9705.o
snd-soc-wm9705-objs := wm9705.o
snd-soc-wm9712-objs := wm9712.o
snd-soc-wm9712-objs := wm9712.o
@@ -108,6 +109,7 @@ obj-$(CONFIG_SND_SOC_WM8978) += snd-soc-wm8978.o
obj-$(CONFIG_SND_SOC_WM8988)	+= snd-soc-wm8988.o
obj-$(CONFIG_SND_SOC_WM8988)	+= snd-soc-wm8988.o
obj-$(CONFIG_SND_SOC_WM8990)	+= snd-soc-wm8990.o
obj-$(CONFIG_SND_SOC_WM8990)	+= snd-soc-wm8990.o
obj-$(CONFIG_SND_SOC_WM8993)	+= snd-soc-wm8993.o
obj-$(CONFIG_SND_SOC_WM8993)	+= snd-soc-wm8993.o
obj-$(CONFIG_SND_SOC_WM8994)	+= snd-soc-wm8994.o
obj-$(CONFIG_SND_SOC_WM9081)	+= snd-soc-wm9081.o
obj-$(CONFIG_SND_SOC_WM9081)	+= snd-soc-wm9081.o
obj-$(CONFIG_SND_SOC_WM9705)	+= snd-soc-wm9705.o
obj-$(CONFIG_SND_SOC_WM9705)	+= snd-soc-wm9705.o
obj-$(CONFIG_SND_SOC_WM9712)	+= snd-soc-wm9712.o
obj-$(CONFIG_SND_SOC_WM9712)	+= snd-soc-wm9712.o
+3870 −0

File added.

Preview size limit exceeded, changes collapsed.

+26 −0
Original line number Original line Diff line number Diff line
/*
 * wm8994.h  --  WM8994 Soc Audio driver
 *
 * 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 _WM8994_H
#define _WM8994_H

#include <sound/soc.h>

extern struct snd_soc_codec_device soc_codec_dev_wm8994;
extern struct snd_soc_dai wm8994_dai[];

/* Sources for AIF1/2 SYSCLK - use with set_dai_sysclk() */
#define WM8994_SYSCLK_MCLK1 1
#define WM8994_SYSCLK_MCLK2 2
#define WM8994_SYSCLK_FLL1  3
#define WM8994_SYSCLK_FLL2  4

#define WM8994_FLL1 1
#define WM8994_FLL2 2

#endif