Age | Commit message (Collapse) | Author |
|
|
|
Signed-off-by: Alejandro Gonzalez <alex.gonzalez@digi.com>
|
|
Due to an apparent hw bug we have to shift data in the audio buffer by
one byte to play out S/PDIF. ENGR00122025 and ENGR00122231 are a
workaround for playback with non-mmapped buffers. This patch is
the workaround for mmapped buffers.
Signed-off-by: Alan Tull <r80115@freescale.com>
Signed-off-by: Alejandro Gonzalez <alex.gonzalez@digi.com>
|
|
Starting a mono record stream and doing stereo playback resulted in
wrong sample rate. Also starting stereo playback then doing mono
record.
Signed-off-by: Alan Tull <r80115@freescale.com>
Signed-off-by: Alejandro Gonzalez <alex.gonzalez@digi.com>
|
|
Support S/PDIF playback on the mx23evk.
Signed-off-by: Alan Tull <r80115@freescale.com>
Signed-off-by: Alejandro Gonzalez <alex.gonzalez@digi.com>
|
|
Record was broken by the patch that fixed 24 bit S/PDIF.
Signed-off-by: Alan Tull <r80115@freescale.com>
Signed-off-by: Alejandro Gonzalez <alex.gonzalez@digi.com>
|
|
To resolve the problem of playing back wavfile with sample rate over 48khz.
Signed-off-by: Lionel Xu <r63889@freescale.com>
(cherry picked from commit f1af83a27357d7da1a89d79f8ed2d74fbfb7dc34)
Signed-off-by: Alejandro Gonzalez <alex.gonzalez@digi.com>
|
|
The data in memory is 24 bit little endian in a 32 bit word.
We need to shift the data in memory out one byte to get the proper
alignment.
Signed-off-by: Alan Tull <r80115@freescale.com>
Signed-off-by: Alejandro Gonzalez <alex.gonzalez@digi.com>
|
|
Support audio record through saif, support playback/record simultaneously
Signed-off-by: Lionel Xu <r63889@freescale.com>
(cherry picked from commit 18627873f6332e03ebd03691f51937559bbdf03d)
Signed-off-by: Alejandro Gonzalez <alex.gonzalez@digi.com>
|
|
To fix 'pop' sound for playback and noise for mic record
Signed-off-by: Jeremy Yao <r65161@freescale.com>
Signed-off-by: Alejandro Gonzalez <alex.gonzalez@digi.com>
|
|
Add Support for ADC/DAC Audio
Signed-off-by: Jeremy Yao <r65161@freescale.com>
(cherry picked from commit 172fc1bb738b2c83979ced6e918635d055529b43)
Signed-off-by: Alejandro Gonzalez <alex.gonzalez@digi.com>
|
|
Support S/PDIF audio playback
Signed-off-by: Alan Tull <r80115@freescale.com>
Signed-off-by: Alejandro Gonzalez <alex.gonzalez@digi.com>
|
|
Porting from mxc sound asoc driver, to support audio playback on mx28 through
saif
Signed-off-by: Lionel Xu <r63889@freescale.com>
Signed-off-by: Alejandro Gonzalez <alex.gonzalez@digi.com>
|
|
correct the imx_ssi_irq handler's devid parameter
Signed-off-by: Alan Tull <r80115@freescale.com>
Signed-off-by: Alejandro Gonzalez <alex.gonzalez@digi.com>
|
|
Also, test that the built image boots.
Signed-off-by: Alejandro Gonzalez <alex.gonzalez@digi.com>
|
|
- put base address and irq in platform data.
- use clk usecounts instead of ssi_active struct
- allow up to MAX_SSI_CHANNELS in hardware
Signed-off-by: Alan Tull <r80115@freescale.com>
Signed-off-by: Alejandro Gonzalez <alex.gonzalez@digi.com>
|
|
The spba defaults to all masters enabled and this is fine as
all chips only have ARM and SDMA as masters.
Signed-off-by: Rob Herring <r.herring@freescale.com>
Signed-off-by: Alejandro Gonzalez <alex.gonzalez@digi.com>
|
|
Convert i.MX ASoC driver to use iram allocator functions.
Signed-off-by: Rob Herring <r.herring@freescale.com>
Signed-off-by: Alejandro Gonzalez <alex.gonzalez@digi.com>
|
|
Rename audio card to ccwmx51js to be coherent with other products.
Signed-off-by: Alejandro Gonzalez <alex.gonzalez@digi.com>
|
|
Adding audio support for the WM8753 chip.
Signed-off-by: Alejandro Gonzalez <alex.gonzalez@digi.com>
|
|
Resolve the line-in record problem.
Signed-off-by: Lionel Xu <r63889@freescale.com>
|
|
When bluetooth handsfree is enabled, sgtl5000 and bt
sound cards are both opened. BT sound card playback
can't use IRAM as sgtl5000 has used IRAM. The bt audio
platform data - ext_ram is not set when kernel porting
to 2.6.31.
Signed-off-by: Wallace Wang <r59996@freescale.com>
|
|
ASRC minmal output sample rate is 32000. When ASRC
is used as ASRC-ESAI per_2_per mode, the unsupported
sample rates should not be included in ASRC mixer.
Signed-off-by: Wallace Wang <r59996@freescale.com>
|
|
No all regiser use _SCT. stmp3xxx_setl may write to wrong address.
please use __raw_write (value, REG_XXX_SET) to write date to SCT
register. Only REG_XXX_SCT is defined when it exist at hardware.
Signed-off-by: Frank.Li <Frank.Li@freescale.com>
|
|
Add ac97 mode support for SSI module
Signed-off-by: Wallace Wang <r59996@freescale.com>
|
|
Fix shift direction.
Don't return left channel value for both channels.
Signed-off-by: Alan Tull <r80115@freescale.com>
|
|
To keep system runs well after plugin headphone, replace disable_irq with
disable_irq_nosync.
Signed-off-by: Guoqing Jiang <b22156@freescale.com>
|
|
Trying to free already-free IRQ 240 causes the warning dumped out
when boot up the kernel.
Return the error code in the probe function, which indicats the
failure of the platform driver probing. Then the platform driver remove
function will not be called, avoiding of freeing an already-free IRQ again.
Signed-off-by: William Lai <b04597@freescale.com>
|
|
The ak4647_codec is not initialized as there is no ak4647 codec existing
on MX35 board. In the 31 kernel, the card and codec drivers are
registered separately, and there is no check whether the codec is probed
successfully or not. On MX35 board, the card is sucessfully registered,
but there is no ak4647 codec. In this case, the system will crash if the
system try to invoke the codec's resume function.
To resolve the problem, add a check in registering the card. If the
codec does not exist, give up registering the card either.
Signed-off-by: William Lai <b04597@freescale.com>
|
|
wm8580 is using regulators that can't change state. The
regulator driver doesn't handle this case well so it crashes
during regulator_bulk_enable. Eventually this will be fixed in the
regulator driver. For now, remove regulators from list in
wm8580 driver.
Fix spi_rw err. hw_write needs to return transferred data length.
Signed-off-by: Alan Tull <r80115@freescale.com>
Signed-off-by: Wallace Wang <r59996@freescale.com>
|
|
In WM8350_FLL_CONTROL_1, keep FLL_RATE at default.
Don't mute outputs by default.
Signed-off-by: Alan Tull <r80115@freescale.com>
|
|
Move regulator control into codec drivers.
Move codec platform data to machine layer.
Remove unused fields from mxc_audio_platform_data.
soc multiple audio cards support:
dai_list is a list for all registered codec/cpu dais.
One codec/cpu dais can't be registered twice, so move the
cpu dai registering into imx-ssi.c/imx-esai.c
Fix ak4647_read_reg error.
Put ssi/esai mode in the cpu_dai private_data.
sgtl5000: Fix the power for MX35
1. MX35 vddio and vddd are directly connected to
external 3V3. It has no regulator control.
2. sgtl5000 needs some time to be ready after vdda
is switched on so msleep(1) is added before regiter
read/write.
3. On MX35 platform, vdda is from VCAM.
Signed-off-by: Alan Tull <r80115@freescale.com>
Signed-off-by: Wallace Wang <r59996@freescale.com>
|
|
Add basic support for integration with the regulator API to WM8580.
Since the core cannot yet disable biases when the CODEC is idle we
simply request and enable the regulators for the entire time the
driver is active.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|
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
|
|
For best performance the DAC sloping stopband filter should be enabled
below 24kHz and not enabled above that so remove the user visible
control for this and do it autonomously in the driver.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org
|
|
Fix the audio pop issue that is caused whenever the system enters and
exits LP-APM mode.
Added some more working points for DVFS-CORE.
Signed-off-by: Ranjani Vaidyanathan-RA5478 <Ranjani.Vaidyanathan@freescale.com>
|
|
This is i.MX BSP 5.0.0 release ported to 2.6.31
Signed-off-by: Rob Herring <r.herring@freescale.com>
Signed-off-by: Alan Tull <r80115@freescale.com>
Signed-off-by: Xinyu Chen <xinyu.chen@freescale.com>
|
|
Add spi interface support to wm8580 codec.
Signed-off-by: Wallace Wang <r59996@freescale.com>
|
|
* fix/asoc:
ASoC: Add missing DRV_NAME definitions for fsl/* drivers
|
|
Module builds are broken due to missing DRV_NAME for
efika-audio-fabric and pcm030-audio-fabric.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
* fix/asoc:
ASoC: tlv320aic3x: Enable PLL when not bypassed
|
|
PLL was not being enabled when it was not bypassed. This patch
enables the PLL when it is used. Additionally, it disables the PLL
when it is bypassed.
Without this patch, the audio on TI DM646x EVM and DM355 EVM
does not work properly. The bit clocks and the frame sync signals
from the codec are not correct and hence the playback/record are faster
than usual for most sample rates. The reason for this was that the PLL
was not enabled when it was not bypassed.
Tested on DM6467 EVM, playback tested on DM355 EVM.
Signed-off-by: Chaithrika U S <chaithrika@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|
This is the last in-kernel direct usage of driver_data, replace it with
the proper dev_get/set_drvdata() calls.
Cc: Takashi Iwai <tiwai@suse.de>
Cc: Jaroslav Kysela <perex@perex.cz>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
|
Register cache space was not being allocated for the final register,
causing bugs when it was used. Allocate space for it.
Also ensure that the final register is displayed in sysfs.
[Commit message rewritten to document actual issue. -- broonie]
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|
AC97 bus register read/write hooks need to provide locking, but the
mpc5200-psc-ac97 driver does not. This patch adds a mutex around
the register access routines.
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Acked-by: Jon Smirl <jonsmirl@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|
When doing register reads, it is possible for there to be a stale
data ready bit set which will cause subsequent reads to return
prematurely with incorrect data. This patch fixes the issues by
ensuring stale data is cleared before starting another transaction.
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Acked-by: Jon Smirl <jonsmirl@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|
The wrong register cache variable was being used to provide the size for
the memcpy(), resulting in a copy of only a void * of data.
Reported-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org
|
|
The clock API can't cope with unbalanced enables and disables and
we only enable in hw_params() but try to disable in shutdown.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|
This patch tries to work around the problem of broken OMAP1510 PCM playback
pointer calculation by replacing DMA function call that incorrectly tries to
read the value form DMA hardware with a value computed locally from an
already maintained variable omap_runtime_data.period_index.
Tested on OMAP5910 based Amstrad Delta (E3) using work in progress ASoC
driver.
Based on linux-2.6-asoc.git v2.6.31-rc1.
Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Acked-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|