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

Commit 39b8eab7 authored by Mark Brown's avatar Mark Brown
Browse files

ASoC: Add WM9090 amplifier driver



The WM9090 is a high performance low power audio subsystem, including
headphone and class D speaker drivers.

Note that this driver is a standalone CODEC driver and so is only
immediately suitable for use with the WM9090 as a standalone sound card
taking line inputs, or with a DAC with no software control.  The pending
ASoC multi-CODEC support will expand the range of systems that can use
the driver, or system-specific adaptations can be made.

Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: default avatarLiam Girdwood <lrg@slimlogic.co.uk>
parent dde3a7e9
Loading
Loading
Loading
Loading

include/sound/wm9090.h

0 → 100644
+28 −0
Original line number Diff line number Diff line
/*
 * linux/sound/wm9090.h -- Platform data for WM9090
 *
 * Copyright 2009, 2010 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_WM9090_H
#define __LINUX_SND_WM9090_H

struct wm9090_platform_data {
	/* Line inputs 1 & 2 can optionally be differential */
	unsigned int lin1_diff:1;
	unsigned int lin2_diff:1;

	/* AGC configuration.  This is intended to protect the speaker
	 * against overdriving and will therefore depend on the
	 * hardware setup with incorrect runtime configuration
	 * potentially causing hardware damage.
	 */
	unsigned int agc_ena:1;
	u16 agc[3];
};

#endif
+4 −0
Original line number Diff line number Diff line
@@ -66,6 +66,7 @@ config SND_SOC_ALL_CODECS
	select SND_SOC_WM8993 if I2C
	select SND_SOC_WM8994 if MFD_WM8994
	select SND_SOC_WM9081 if I2C
	select SND_SOC_WM9090 if I2C
	select SND_SOC_WM9705 if SND_SOC_AC97_BUS
	select SND_SOC_WM9712 if SND_SOC_AC97_BUS
	select SND_SOC_WM9713 if SND_SOC_AC97_BUS
@@ -277,3 +278,6 @@ config SND_SOC_TPA6130A2

config SND_SOC_WM2000
	tristate

config SND_SOC_WM9090
	tristate
+2 −0
Original line number Diff line number Diff line
@@ -61,6 +61,7 @@ snd-soc-wm-hubs-objs := wm_hubs.o
snd-soc-max9877-objs := max9877.o
snd-soc-tpa6130a2-objs := tpa6130a2.o
snd-soc-wm2000-objs := wm2000.o
snd-soc-wm9090-objs := wm9090.o

obj-$(CONFIG_SND_SOC_AC97_CODEC)	+= snd-soc-ac97.o
obj-$(CONFIG_SND_SOC_AD1836)	+= snd-soc-ad1836.o
@@ -125,3 +126,4 @@ obj-$(CONFIG_SND_SOC_WM_HUBS) += snd-soc-wm-hubs.o
obj-$(CONFIG_SND_SOC_MAX9877)	+= snd-soc-max9877.o
obj-$(CONFIG_SND_SOC_TPA6130A2)	+= snd-soc-tpa6130a2.o
obj-$(CONFIG_SND_SOC_WM2000)	+= snd-soc-wm2000.o
obj-$(CONFIG_SND_SOC_WM9090)	+= snd-soc-wm9090.o
+773 −0

File added.

Preview size limit exceeded, changes collapsed.

+715 −0

File added.

Preview size limit exceeded, changes collapsed.