| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
| |
It's the 8th enum of a zero indexed array. This is why I don't let
new drivers use these arrays of enums...
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org
|
|
|
|
|
|
|
| |
Avoids potential issues if we read back unexpected values during
a read/modify/write cycle.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|
|
|
|
|
|
|
|
|
| |
Bug was caught while trying to use WM8580 as I2S master on SMDK.
Symptoms were lesser LRCLK read by CRO(41.02 instead of 44.1 KHz) Solved
by referring to WM8580A manual and setting mask value correctly and
making the code to not touch 'reserved' bits of PLL4 register.
Signed-off-by: Jassi <jassi.brar@samsung.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|
|
|
|
|
|
| |
If the requested FLL configuration is the one we're currently running
in it's at best pointless to reconfigure the FLL.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|
|
|
|
|
|
|
| |
Now that we don't need the I2C address for the device the platform data
is redundant so allow it to be omitted.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Tested-by: Chaithrika U S <chaithrika@ti.com>
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
The WM8993 provides digital sidetone paths and also allows each
channel on the audio interface to be routed separtately to the
DACs and ADCs.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
| |
| |
| |
| | |
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
| |
| |
| |
| |
| |
| |
| | |
Free socdev if snd_soc_init_card() fails.
Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is very simple driver for ALSA
It supprt headphone output and stereo input only
This patch is tested by ms7724se
Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The tlv320aic3x driver managed its own i2c device, instead of an extant
one created by the board support code. Change the code to make it so that
the driver binds to an extant (in this case i2c) device.
Add explict tlv320aic33 as well as tlv320aic3x to the supported device
table and remove the old driver bindings from the users of this code.
Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
| |
| |
| |
| |
| |
| |
| | |
These need to be in the CODEC since the DAIs supported by the CODECs
aren't static.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
| |
| |
| |
| |
| |
| |
| | |
Note that the number of slots used internally is specified in terms
of stereo slots while the external API works with mono slots.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|/
|
|
|
|
|
|
| |
When used without the PLL we were accidentally clearing the MCLK/2
divider, resulting in a double rate SYSCLK when the divider should
have been used.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|
|
|
|
|
|
|
|
|
| |
There is a mistake in current uda134x_mute function: mute_reg has been
changed in line 162 or line 164, so uda134x_write should write
"mute_reg" but not "mute_reg & ~(1<<2)" to
UDA134X_DATA010.
Signed-off-by: Shine Liu <shinel@foxmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|
|
|
| |
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
This corrects a bug with ADC Inversion Switch in wm8974 codec.
Signed-off-by: Javier Martin <javier.martin@vista-silicon.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
| |
| |
| |
| |
| |
| | |
Also implement AUX mode control.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
| |
| |
| |
| | |
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
| |
| |
| |
| |
| |
| | |
The chip has a single LRCLK.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
| |
| |
| |
| | |
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
| |
| |
| |
| |
| |
| | |
Move away from a fixed table to runtime calculation.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
| |
| |
| |
| |
| |
| |
| | |
The device is a mono device but it can read two channel data and
many I2S controllers only understand 2 channels.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
| |
| |
| |
| | |
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
| |
| |
| |
| | |
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
| |
| |
| |
| | |
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
| |
| |
| |
| | |
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The WM8974 is a low power, high quality mono CODEC designed for portable
applications such as digital still cameras or digital voice recorders.
This driver was originally written by Graeme Gregory and Liam Girdwood
and has since been maintained by myself with some updates contributed by
Brett Saunders and Javier Martin.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
| |
| |
| |
| |
| | |
Signed-off-by: Barry Song <21cnbao@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Change the strings related to capture in order to be
interpreted correctly by alsamixer and possible other
UI based mixer applications.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The WM8993 analogue control is shared with other devices in the same
product line. Since this is a very substantial proportion of the
driver move the definitions of these controls into a new wm_hubs module
which allows them to be shared between the two.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
| |
| |
| |
| |
| |
| |
| | |
- Build in SND_SOC_ALL_CODECS.
- Remove null suspend/resume stuff.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There has been an ad1836 driver in sound/blackfin based on traditional alsa.
The new driver is based on asoc. The architecture of ad1836 codec driver is
very much like ad1938.
Signed-off-by: Barry Song <21cnbao@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Dynamically control and control only the needed output amplifier
muting/un-muting.
The original code was muting and un-muting the following output
amplifiers: Earpiece PreDrivL/R, CarkitL/R at the same time
regardless which pin is actually in use at the given moment.
Move these as separate PGA so only the needed amplifier will be touched.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
According to the function dapm_dac_check_power() in
sound/soc/soc-dapm.c, dac power can't be on/off stand-alone without any
output widget as sink. And according to dapm_adc_check_power(), adc
power can't be on/off stand-alone without any input widget as source. So
we can't only define some stand-alone SND_SOC_DAPM_DAC/SND_SOC_DAPM_ADC
to hope their power can be managed dynamically.
Signed-off-by: Barry Song <21cnbao@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
| |
| |
| |
| |
| |
| | |
It's only actually paying attention to the slot count anyway.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Store the TDM slot width then if it's set use that rather than the
sample size to calculate BCLK. Leave imposing constraints to the
core (which should do this but doesn't yet) or machine driver.
Also allow 0 TDM slots to be configure (for use when disabling TDM).
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Extend set_tdm_slot to allow the user to arbitrarily set the frame width
and active TX/RX slots.
Updates magician.c and wm9081.c for the new set_tdm_slot(). wm9081.c
still doesn't handle the slot_width override.
While being there, correct an incorrect use of SlotsPerFrm(7) use in
bitmask on pxa-ssp.c (SSCR0_SlotsPerFrm(x) is (((x) - 1) << 24)) ).
(this series is meant for Mark's for-2.6.32 branch)
Signed-off-by: Daniel Ribeiro <drwyrm@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|\ \ \
| |/ /
|/| | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This converts all the Wolfson drivers using this format (the only devices
that do) except WM8753 to use it.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
While writes tend to be able to use a fairly bus independant format to
do the writes reads are all bus specific. To allow us to factor out
this code include the bus type as a parameter when setting up the
cache.
Initially just use this to factor out hw_write_t for I2C.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
| |\ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The TLV320AIC3x driver is currently the only user of the CODEC hw_read
operation and is jumping through some hoops in order to do so. In order
to support future refactoring to make the hw_read operation more usable
unwrap the usage in this driver to avoid its use.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Note the slightly tricky cache usage in the volume update function due
to the requirement for a separate write for the VU bit.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
A lot of CODECs share the same register data formats and therefore
replicate the code to manage access to and caching of the register
map. In order to reduce code duplication centralised versions of
this code will be introduced with drivers able to configure the use
of the common code by calling the new snd_soc_codec_set_cache_io()
API call during startup.
As an initial user the 7 bit address/9 bit data format used by many
Wolfson devices is supported for write only CODECs and the drivers
with straightforward register cache implementations are converted to
use it.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|