summaryrefslogtreecommitdiff
path: root/sound
AgeCommit message (Collapse)Author
2012-09-12ENGR00212251-2: sai: add SAI driver support for FaradayAlison Wang
Add SAI driver support for Faraday. Signed-off-by: Alison Wang <b18965@freescale.com> Signed-off-by: Xiaochun Li <b41219@freescale.com>
2012-03-06ENGR00170526-4 ESAI: To resolve the playback no sound issue occasionally happenLionel Xu
There is no sound output any longer sometimes after several times of playback, this platch is trying to resolve this issue by: 1)move the global power control bit setting from function hw_params/shutdown to DAPM, thererfor the PWN bit will not be set/unset each time playback; 2) Signed-off-by: Lionel Xu <Lionel.Xu@freescale.com>
2012-03-06ENGR00170526-3 ESAI: Remove the workaround to reset codec before playbackingLionel Xu
Previously in order to avoid audio playback no sound issue, a hardware reset was made to the codec chip each time when doing playback. now remove this workaround. Signed-off-by: Lionel Xu <Lionel.Xu@freescale.com>
2012-03-02ENGR00175219-8 wm8958: add clock managementGary Zhang
1. add clko_clk clock management 2. use 'Headphone Jack' name Signed-off-by: Gary Zhang <b13634@freescale.com>
2012-02-28ENGR00175219-4 wm8958: add audio codec supportGary Zhang
add two channels record support. Signed-off-by: Gary Zhang <b13634@freescale.com>
2012-02-28ENGR00175219-3 wm8958: add audio codec supportGary Zhang
add wm8958 audio codec support Signed-off-by: Gary Zhang <b13634@freescale.com>
2012-02-21ENGR00171079-6 imx-cs42888 sabreauto esai configAdrian Alonso
* imx-cs42888 config esai for sabreauto support * Select lrclk_ratio according to mclk_freq * Set clkdiv relations * Add safer codec reset, request and free gpio Signed-off-by: Adrian Alonso <aalonso@freescale.com>
2012-02-21ENGR00171079-4 cs42888 imx6q-sabreauto supportted ratesAdrian Alonso
* Get audio codec platform data and overwrite supportted sample rates if defined in machine board file. * Remove machine soc specific sample rate settings. Signed-off-by: Adrian Alonso <aalonso@freescale.com>
2012-02-21ENGR00174925 HDMI Kernel panic whatever plug in or plug outAlan Tull
Panic is due to runtime being a NULL pointer. Signed-off-by: Alan Tull <r80115@freescale.com>
2012-02-17ENGR00174809 hdmi audio oops in hdmi_dma_mmap_copyAlan Tull
Runtime dma_area may be invalid after trigger stop command. This will cause an oops in hdmi_dma_mmap_copy. To fix this, disable mmap copying with trigger stop command and also check the runtime->dma_area before doing hdmi_dma_mmap_copy. Signed-off-by: Alan Tull <r80115@freescale.com>
2012-02-17ENGR00173964 make hdmi audio init dependent on hdmi video initAlan Tull
Don't show hdmi as an audio playback device if hdmi isn't configured on the command line. Signed-off-by: Alan Tull <r80115@freescale.com>
2012-02-14ENGR00174437 ESAI: Add cs42888 build support in Makefile.Lionel Xu
Add cs42888 build support. Signed-off-by: Lionel Xu <Lionel.Xu@freescale.com>
2012-02-08ENGR00172342-2 EDID parse audio data blocksAlan Tull
Add functionality to parse Audio Data Blocks from EDID data to find out what modes of LPCM are suppored by the HDMI sink device. The parsed settings are saved in the hdmi mfd. The HDMI audio driver will check the settings when the audio stream is opened and will then apply appropriate constraints. If we are unable to read from the EDID, then we default to supporting Basic Audio as defined by the HDMI specification (stereo, 16 bit, 32KHz, 44.1KHz, 48KHz PCM). Signed-off-by: Alan Tull <r80115@freescale.com>
2012-02-07ENGR00173869-9: i.mx6dl: add the misc drivers supportJason Liu
This patch change is very trivial and simply just add cpu_is_mx6dl() or using cpu_is_mx6 to replace cpu_is_mx6q each driver owner will check it and adjust it accordingly later, such as sdhc etc. Signed-off-by: Jason Liu <r64343@freescale.com>
2012-02-03ENGR00173810 clean up rej fileAlan Tull
Makefile.rej got committed from doing cherry-pick for kernel upgrade from 2.6.38 to 3.0.15 Signed-off-by: Alan Tull <r80115@freescale.com>
2012-02-03ENGR00171536 HDMI handle mmapped audio buffersAlan Tull
The ALSA userspace requires mmapped buffer access to support sample rate conversion. Our hardware requires the driver to add frame information to the pcm data. For non-mmap access, the snd_pcm_ops' copy routine will do it. For mmap access, we have to do it in the isr. This is not ideal, but it will work. Signed-off-by: Alan Tull <r80115@freescale.com>
2012-02-01ENGR00172395-2 MX6Q_ARM2: add sgtl5000 audio driverGary Zhang
add sgtl5000 driver for MX6Q_ARM2 in config file Signed-off-by: Gary Zhang <b13634@freescale.com>
2012-01-19ENGR00172427 SPDIF: Add spdif build support.Alan Tull
Add spdif to Makefile. Signed-off-by: Alan Tull <r80115@freescale.com>
2012-01-19ENGR00172374-7 Sound: Asoc: fix the snd_soc_resume resume crashJason Liu
[ 330.922320] [<800417e0>] (__bug+0x1c/0x24) from [<8007b4dc>] (__queue_work+0x24c/0x3f0) [ 330.930333] [<8007b4dc>] (__queue_work+0x24c/0x3f0) from [<8007b6e0>] (queue_work_on+0x38/0x40) [ 330.939039] [<8007b6e0>] (queue_work_on+0x38/0x40) from [<8007d568>] (queue_work+0x2c/0x58) [ 330.947401] [<8007d568>] (queue_work+0x2c/0x58) from [<803b83a4>] (snd_soc_resume+0x98/0xb8) [ 330.955852] [<803b83a4>] (snd_soc_resume+0x98/0xb8) from [<80280aa4>] (platform_pm_resume+0x2c/0x4c) [ 330.964996] [<80280aa4>] (platform_pm_resume+0x2c/0x4c) from [<80284388>] (pm_op+0xe4/0x11c) [ 330.973441] [<80284388>] (pm_op+0xe4/0x11c) from [<80284780>] (device_resume+0x78/0x13c) [ 330.981537] [<80284780>] (device_resume+0x78/0x13c) from [<802849d0>] (dpm_resume+0x144/0x194) [ 330.990154] [<802849d0>] (dpm_resume+0x144/0x194) from [<80284a2c>] (dpm_resume_end+0xc/0x18) [ 330.998692] [<80284a2c>] (dpm_resume_end+0xc/0x18) from [<8009cf18>] (suspend_devices_and_enter+0x78/0xb8) [ 331.008355] [<8009cf18>] (suspend_devices_and_enter+0x78/0xb8) from [<8009d010>] (enter_state+0xb8/0xe4) [ 331.017842] [<8009d010>] (enter_state+0xb8/0xe4) from [<8009c5b4>] (state_store+0x8c/0xc0) [ 331.026116] [<8009c5b4>] (state_store+0x8c/0xc0) from [<80223b20>] (kobj_attr_store+0x18/0x1c) [ 331.034740] [<80223b20>] (kobj_attr_store+0x18/0x1c) from [<801352ec>] (sysfs_write_file+0x104/0x184) [ 331.043969] [<801352ec>] (sysfs_write_file+0x104/0x184) from [<800e4ce8>] (vfs_write+0xb4/0x148) [ 331.052762] [<800e4ce8>] (vfs_write+0xb4/0x148) from [<800e4e4c>] (sys_write+0x40/0x70) [ 331.060781] [<800e4e4c>] (sys_write+0x40/0x70) from [<8003e380>] (ret_fast_syscall+0x0/0x30) The commit:c4e133f ASoC: core: Don't schedule deferred_resume_work twice commit c4e133f4e253b57e5d4409964a3b51f2d887e94b Author: Stephen Warren <swarren@nvidia.com> Date: Wed May 25 14:06:41 2011 -0600 ASoC: core: Don't schedule deferred_resume_work twice commit 82e14e8bdd88b69018fe757192b01dd98582905e upstream. For cards that have two or more DAIs, snd_soc_resume's loop over all DAIs ends up calling schedule_work(deferred_resume_work) once per DAI. Since this is the same work item each time, the 2nd and subsequent calls return 0 (work item already queued), and trigger the dev_err message below stating that a work item may have been lost. Solve this by adjusting the loop to simply calculate whether to run the resume work immediately or defer it, and then call schedule work (or not) one time based on that. Note: This has not been tested in mainline, but only in chromeos-2.6.38; mainline doesn't support suspend/resume on Tegra, nor does the mainline Tegra ASoC driver contain multiple DAIs. It has been compile-checked in mainline. Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> changed the defaut behaviour for non-ac97 class which cause deferred_resume_work was scheduled not by desire when card->num_rdt is zero. Signed-off-by: Jason Liu <r64343@freescale.com>
2012-01-19ENGR00172008 HDMI audio continues playing after doing ctrl-zAlan Tull
The bug is that HDMI audio continues playing after doing ctrl-z, repeating playing a small part of the buffer. Mask HDMI audio irq when we receive SNDRV_PCM_TRIGGER_STOP command. Unmask when we receive SNDRV_PCM_TRIGGER_START. Signed-off-by: Alan Tull <r80115@freescale.com>
2012-01-19ENGR00170453-1 ssi: disable ssi2 clk after probeGary Zhang
disable ssi2 clk after init ssi. Signed-off-by: Gary Zhang <b13634@freescale.com>
2012-01-09ENGR00171026 SGTL5000: remove mono supportGary Zhang
there is a issue on 24bit mono transmit of sgtl5000, temporarily disable mono support Signed-off-by: Gary Zhang <b13634@freescale.com>
2012-01-09ENGR00170999 Fix the record end, playback muteb02247
SGTL5000_VAG_POWERUP used by record and playback. when playback and record are opened, close one of them will cause the other mute Signed-off-by: b02247 <b02247@freescale.com>
2012-01-09ENGR00170453 SSI: close ssi_clk when idleGary Zhang
close ssi_clk when ssi is idle. Signed-off-by: Gary Zhang <b13634@freescale.com>
2012-01-09ENGR00170627 imx-cs42888: overwrite codec_name if passed as platform dataAdrian Alonso
* Overwrite codec_name if passed as platform data * Add codec_name in mxc_audio_platform_data * Codec name follows the naming convention <codec>.<i2c-channel>-<codec i2c address> i.e. cs42888.0-0048 * For IMX6Q-ARD this name convention doesn't follow previous settings for imx6q platforms codec is on different i2c channel and can't be resolved by CONFIG macros on imx_3stack_dai data structure; So we overwrite in probe function by getting the correct value from plat_data->codec_name. Signed-off-by: Adrian Alonso <aalonso@freescale.com>
2012-01-09ENGR00170626 imx-cs42888: avoid codded gpio reset definitionAdrian Alonso
* Remove hard codded gpio reset definition * Add in mxc_audio_platform_data reset gpio reference to be able to pass gpio reset assignment in board definition file instead of a macro for each different board. * Add plat_data null check, return EINV if no set. Signed-off-by: Adrian Alonso <aalonso@freescale.com>
2012-01-09ENGR00162649 sgtl5000: reduce the DAC volumeGary Zhang
1. if the DAC volume is largest, output is harsh. so reduce the DAC volume. 2. increase ADC volume Signed-off-by: Gary Zhang <b13634@freescale.com>
2012-01-09fix the building warningsJason Liu
Signed-off-by: Jason Liu <r64343@freescale.com>
2012-01-09ENGR00162729 MX6 ESAI: To reset the codec before initing a stream playbackingLionel Xu
Sometimes there is no sound after starting a stream playbacking, this problem can be resolved by resetting external codec at the beginning of startup. Signed-off-by: Lionel Xu <R63889@freescale.com>
2012-01-09ENGR00162797 SSI: add I2S mode for stereo playbackGary Zhang
Former stereo playback uses network mode which does not suppot 24bit format well. Add I2S mode to do the same manner with codec. Signed-off-by: Gary Zhang <b13634@freescale.com>
2012-01-09ENGR00162709 Add Support for MX6Q Sabre AutoEric Sun
Code change in none-mach code for support MX6Q Sabre Auto. Signed-off-by: Eric Sun <jian.sun@freescale.com>
2012-01-09ENGR00162035 Fix usage of snd_soc_update_bits() func in SGTL5000 driverMahesh Mahadevan
Some calls to the snd_soc_update_bits() uses an incorrect value for the mask field Signed-off-by: Mahesh Mahadevan <r9aadq@freescale.com>
2012-01-09ENGR00161608 SSI: support 24bit samplerateGary Zhang
Add 24bit sample rate playback support for SSI and sgtl5000 codec driver. Signed-off-by: Gary Zhang <b13634@freescale.com>
2012-01-09ENGR00161757 imx: add i2c depends of some driversJason Chen
add i2c depends for mxc edid/dvi/hdmi driver. add i2c depends for codec soc sgtl5000 and cs42888. Signed-off-by: Jason Chen <b02280@freescale.com>
2012-01-09ENGR00161288 balance spdif clock enables and disablesAlan Tull
Add tx_active, rx_active flags to keep track of what channels have enabled clocks. In suspend/resume, only disable/re-enable the clocks that were enabled. Signed-off-by: Alan Tull <alan.tull@freescale.com>
2012-01-09ENGR00161014 ASoC: don't clobber platform DMA driver opsAlan Tull
Previously, only one static struct for ops existed for all platform DMA drivers to share. Half of the ops are shared functions which don't have stubs in the ALSA core. The other half are initialized to point directly to ops in the platform driver. This creates problems where each time soc_new_pcm is called, the new platform driver's ops would overwrite a subset of the ops. Signed-off-by: Alan Tull <alan.tull@freescale.com>
2012-01-09ENGR00156869 ESAI: Support 8-channel playbacking and 6-channel recordingLionel Xu
To make cpu_dai esai support 8/6 channel playback/recording. Signed-off-by: Lionel Xu <Lionel.Xu@freescale.com>
2012-01-09ENGR00160930-5 Add support for SSI audio on MX6 Sabre-liteMahesh Mahadevan
Add support for the SSI audio through the SGTL codec on MX6 Sabre-lite board Signed-off-by: Mahesh Mahadevan <r9aadq@freescale.com>
2012-01-09ENGR00161005-2 MX6Q Kernel Rename sabreauto to arm2 boardAnish Trivedi
Rename "sabreauto" config in sound driver to "arm2". Signed-off-by: Anish Trivedi <anish@freescale.com>
2012-01-09ENGR00160860-2 hdmi audio driverAlan Tull
Audio driver for i.Mx built-in HDMI Transmitter. * Uses HDMI Transmitter's built-in DMA. * Adds IEC958-style digital audio header info to the raw audio. * Gets pixel clock from the IPU driver and calculates clock regenerator values (cts and N). * Move ipu_id, and disp_id from the HDMI's platform data to the HDMI mfd's platform data. Saves them in the hdmi mfd. * Add mfd functionality to update the clock regenerator values when the hdmi changes the pixel clock rate or when requested from the audio driver with a new audio sample rate. Signed-off-by: Alan Tull <alan.tull@freescale.com>
2012-01-09ENGR00160862 unique id for each soc-audio deviceAlan Tull
On boards which have more than one soc-audio device, the initialization of the first device will create a sysfs directory named /sys/devices/platform/soc-audio and subsequent soc-audio devices will fail to init because they try to create another sysfs directory of the same name. The solution is to have a unique number for each device such that different boards having combinations will be OK. Signed-off-by: Alan Tull <alan.tull@freescale.com>
2012-01-09ENGR00139265-2 mxc alsa soc spdif driverAlan Tull
* Add spdif block clock divider settings and spdif_clk_set_rate function to mxc_spdif_platform_data. Signed-off-by: Alan Tull <alan.tull@freescale.com>
2012-01-09ENGR00139265-1 spdif capture gets clock from spdif streamAlan Tull
The S/PDIF block's DPLL recovers the clock from the input bitstream. So S/PDIF capture rate is not dependent on transmit clocks available. Signed-off-by: Alan Tull <alan.tull@freescale.com>
2012-01-09ENGR00160611 Update ALSA driver to initialize soonerMahesh Mahadevan
All ALSA sound-cards are not registered, hence change the init to regular module_init. Signed-off-by: Mahesh Mahadevan <r9aadq@freescale.com>
2012-01-09ENGR00160605 Update ALSA Headset detect codeMahesh Mahadevan
Update Headset detect code incase no dedicated pin and detect is always activated Signed-off-by: Mahesh Mahadevan <r9aadq@freescale.com>
2012-01-09ENGR00156745 MX6Q ESAI: Playback and record can't start up concurrentlyLionel Xu
Proper flag setting and placement should be used to avoid function hw_param called multiple times when playback and record startup concurrently. Signed-off-by: Lionel Xu <Lionel.Xu@freescale.com>
2012-01-09SAUCE: set correct rates before registering SPDIF codec DAIEric Miao
BugLink: http://bugs.launchpad.net/bugs/855281 Playback/capture rates should be configured before the SPDIF codec DAI is registered, according to the parameters that passed in by the platform data. And this caused pulseaudio not working with the SPDIF sound card. Signed-off-by: Eric Miao <eric.miao@linaro.org>
2012-01-09ENGR00158176 SGTL5000: I/O Error appeared when recording mono wav through HWLionel Xu
When recording mono wav, SSI's network mode should be closed, or it will influence the internal freq config, making recording fail. Signed-off-by: Lionel Xu <Lionel.Xu@freescale.com>
2012-01-09ENGR00156813 MX53 ALSA: Recording no soundLionel Xu
There is no sound in the recorded wav, to enable recording, the VAG should be powered up, and the mic bias resistor should be setup with proper value. Signed-off-by: Lionel Xu <Lionel.Xu@freescale.com>
2012-01-09ENGR00139255 MX6Q_BSP ESAI: Add esai recording supportLionel Xu
Add ESAI recording to mx6q platform. To differentiate mx6q and mx53 in codec machine layer code. Signed-off-by: Lionel Xu <R63889@freescale.com>