mirror of
https://github.com/suyu-emu/horinux.git
synced 2026-09-21 14:15:21 -07:00
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: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
/*
|
||||
* 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
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user