summaryrefslogtreecommitdiff
path: root/sound
AgeCommit message (Collapse)Author
2009-10-13ENGR00114971 MX233 ALSA: Change dac playback volume level from 255 to 16Lionel Xu
Compress original dac playback volume to 16 levels according to a table, for example, 0x37 maps to 0 and 0xfe to 15, which makes it more comfortable for volume adjustment. Signed-off-by: Lionel Xu <r63889@freescale.com>
2009-10-13ENGR00115754 sgtl5000: power mic bias earlierAlan Tull
Turn on mic bias earlier to make sure mic bias has time to ramp up before record starts. Avoid audio artifacts. Signed-off-by: Alan Tull <r80115@freescale.com>
2009-10-13ENGR00115113 SGTL5000: Jack Function/Speaker FunctionLionel.Xu
With the pop fix and power savings patches, it is possible to bring back the Jack Function/Speaker Function. Enable alsa amixer controls Jack Function and Speaker Function. By setting or unsetting these controls it is now able to turn on or off headphone and speaker output. Signed-off-by: Lionel Xu <r63889@freescale.com>
2009-10-13ENGR00115618-2 sgtl5000: power savingsAlan Tull
- Turn off DAC and ADC in ANA_POWER reg during idle. - Turn on zcd and leave it on. Turning if off dynamically doesn't save power and can cause a small noise artifact. - Only need to delay 400mSec if state of VAG bit changes. - Before record, SOC calls digital_mute to unmute, but does not call digital_mute to mute again after record. - After record, SOC skips doing the PREPARE state when powering down. So make sure VAG and mic bias gets turned off in the STANDBY state if it hasn't already. Signed-off-by: Alan Tull <r80115@freescale.com>
2009-10-13ENGR00115618-1 sgtl5000: power reduction pop fixAlan Tull
Reduce power in idle while still eliminating pops. Signed-off-by: Alan Tull <r80115@freescale.com>
2009-10-13ENGR00115163 MX233 ALSA: Resolve arecord problemLionel Xu
Supply a bias voltage to external microphone to make it work, since there is no vddio_p supplied to microphone on evk board. Signed-off-by: Lionel Xu <r63889@freescale.com>
2009-10-13ENGR00115083 MX233 ALSA: Remove the headphone noise when system stands byLionel Xu
Remove the headphone noise when there is no wav playing. Signed-off-by: Lionel Xu <r63889@freescale.com>
2009-10-13ENGR00113667 MX233 ALSA: Add reg_cache to keep amixer settingsLionel Xu
Add reg_cache to keep the reg values of audio module in cache, by this it is able to save all amixer settings, like volume, switch configure, etc, when system suspend, and restore all of them when system resume. Signed-off-by: Lionel Xu <r63889@freescale.com>
2009-10-13ENGR00114989 MX35 SPDIF driver failed to play 48KHz audioXinyu Chen
Due to the clock source changes, the osc audio clock is disabled by default. This cause SPDIF failed to play 48KHz/32KHz audio. Add osc audio clock node in the spdif platform data structure. And enable it when spdif probe. Signed-off-by: Xinyu Chen <xinyu.chen@freescale.com>
2009-10-13ENGR00114820-2 sgtl5000: pop fixesAlan Tull
- This fixes pops that happened after audio playback. These pops were caused by zcd and DAC being turned off. - Enable zcd and leave it enabled. - Turn on DAC early, leave it on. - We were turning on analog sections during first playback, now turn them on during initialization instead to avoid delay. Signed-off-by: Alan Tull <r80115@freescale.com>
2009-10-13ENGR00114820-1 Revert SGTL5000: Enable amixer controls Jack/Speaker FunctionAlan Tull
This reverts commit c93dade67610c073b19b8d36080fb386475767f3 (ENGR00111918). That commit brought back the pops that were fixed by ENGR00110076. Signed-off-by: Alan Tull <r80115@freescale.com>
2009-10-13ENGR00114681 pcm: set minimum period to 2kAlan Tull
The app that plays the Ubuntu desktop login sound sets the period to whatever minimum is allowed by the driver. This change sets period size high enough value that we will never have ssi underruns then. Signed-off-by: Alan Tull <r80115@freescale.com>
2009-10-13ENGR00113470 MX37 ALSA ADC: Resolve the issue that arecord can't workLionel.Xu
Arecord can't work on mx37 28kernel, due to an improper widget setting of audio patch. Configure this widget properly can resolve this issue. Signed-off-by: Lionel Xu <r63889@freescale.com>
2009-10-13ENGR00113618 Audio: Workaround for sgtl5000 codec suspend failure issue on MX25Guoqing Jiang
I2C is error when clearing REFTOP_POWERUP bit in ANA_POWER register when set bias to SND_SOC_BIAS_OFF on MX25 with sgtl5000 rev 0x11 chip. Workaround to not clear this bit. Signed-off-by: Guoqing Jiang <b22156@freescale.com>
2009-10-13ENGR00114140 SSI: TX fail if RX is enabled before TXWallace Wang
Software workaround for ENGcm06222 If RX and TX are working at same time, and RX is enabled before TX, tx can't run normally and there will be SSI TX underrun. The SW workaround is to clear SYN, RE, SSIEN and then re-enable SYN, RE, TE, SSIEN at the same time. Signed-off-by: Wallace Wang <r59996@freescale.com>
2009-10-13ENGR00113364-1 ASOC:Add AK5702 support for ESAI recordWang Huan
Add AK5702 support for ESAI record under kernel 2.6.28. 1. Add ASOC codec driver for AK5702. 2. Add ASOC machine driver for AK5702 and ESAI. 3. Add ESAI record support. Signed-off-by: Wang Huan <b18965@freescale.com>
2009-10-13ENGR00113676 ESAI: Cann't support playing Mono fileWilliam Lai
1. The original ESAI driver treats the mono data as stereo, and it seems playing fater than normal speed, and the sound is not correct either. 2. Correctly set the Slot Mask Register to disable the undesired slot, and get the mono output. Signed-off-by: William Lai <b04597@freescale.com>
2009-10-13ENGR00107200 MX25: The SW workaround for left/right channel random swap issueLionel.Xu
Left/right channel swapped when playing a stereo wav on mx25 platform. This issue is supposed to be a IC bug when using 1.8v WEIM pad. The SW workaround to increase codec driver strength can fix it. Signed-off-by: Lionel Xu <r63889@freescale.com>
2009-10-13ENGR00096014-2 ASRC-SSI per_2_per transferWallace Wang
Add ASRC-SSI p2p transfer support Signed-off-by: Wallace Wang <r59996@freescale.com>
2009-10-13ENGR00096014-1 ASRC-ESAI per_2_per transferWallace Wang
Add ASRC-ESAI p2p transfer support Signed-off-by: Wallace Wang <r59996@freescale.com>
2009-10-13ALSA sample rate is off for 22050Hz and 32KHzVladislav Buzov
Added a constraint for ALSA library to create buffers multiple of period size.
2009-10-13ENGR00112462 sgtl5000: don't mute adc in digital muteAlan Tull
sgtl5000_digital_mute() was muting the adc. This would result in silence being recorded if record happened too soon after a playback. Signed-off-by: Alan Tull <r80115@freescale.com>
2009-10-13ENGR00112865 Fix kernel crash when imx_3stack_wm8350 probeKatherine Lu
Fix kernel crash when imx_3stack_wm8350 probe Signed-off-by: Katherine Lu <katherine.lu@freescale.com>
2009-10-13ENGR00112654 MX35: Port bluetooth pcm driver to 2.6.28 kernelKatherine Lu
1. port bluetooth pcm driver to 2.6.28 kernel 2. modify imx-ssi to support multi-ssi simultaneously Signed-off-by: Katherine Lu <katherine.lu@freescale.com>
2009-10-13ENGR00112199 Import EA 3780 release 4Rob Herring
This is from EA P4 release with the following changes: Ported to 2.6.28 UBI support is stock 2.6.28. USB is not integrated Regulator code is not yet ported. Removed 3700 specific files Fix copyrights Signed-off-by: Rob Herring <r.herring@freescale.com>
2009-10-13ENGR00111898-2 wm8350: soc audio supportAlan Tull
Porting wm8350 audio codec support from 2.6.29. Porting 3stack wm8350 audio support from 2.6.26. Add LineIn --> HP loopback Signed-off-by: Alan Tull <r80115@freescale.com>
2009-10-13ENGR00112020 sgtl5000: resume fixesAlan Tull
- Only turn off simple regulator for rev 0x11. - When suspending, save ANA_POWER register value with power bits enabled so resume will succeed. Signed-off-by: Alan Tull <r80115@freescale.com>
2009-10-13ENGR00111918 SGTL5000: Enable amixer controls Jack Function/Speaker FunctionLionel.Xu
Enable alsa amixer controls Jack Function and Speaker Function. By setting or unsetting these controls it is now able to turn on or off headphone and speaker output. Signed-off-by: Lionel Xu <r63889@freescale.com>
2009-10-13ALSA: ASoC - Add missing __devexit annotation to wm8350.cTakashi Iwai
Added the missing __devexit annotation to wm8350_codec_remove(): sound/soc/codecs/wm8350.c:1546: warning: 'wm8350_codec_remove' defined but not used Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-10-13ASoC: Add WM8350 AudioPlus codec driverMark Brown
The WM8350 is an integrated audio and power management subsystem which provides a single-chip solution for portable audio and multimedia systems. The integrated audio CODEC provides all the necessary functions for high-quality stereo recording and playback. Programmable on-chip amplifiers allow for the direct connection of headphones and microphones with a minimum of external components. A programmable low-noise bias voltage is available to feed one or more electret microphones. Additional audio features include programmable high-pass filter in the ADC input path. This driver was originally written by Liam Girdwood with further updates from me. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-10-13ENGR00111670-3 sgtl5000: Use internal vddd reg for sgtl5000 rev 0x11Alan Tull
For rev 0x11 of SGTL5000, the VDDD pin is being driven by the "simple digital supply regulator". Disabling the regulator brings VDDD down to 0v. So leave the regulator on and don't connect anything to the VDDD pin. Signed-off-by: Alan Tull <r80115@freescale.com>
2009-10-13ENGR00111751 Fix bug in the I2S Master modeWallace Wang
When I2S controller is configured as I2S master sync mode, RFDIR and RXDIR bit in SRCR should be cleared. Signed-off-by: Wallace Wang <r59996@freescale.com>
2009-10-13ENGR00111526 MX35: WM8580 driver porting to 2.6.28Wallace Wang
1. Add SPI interface, machine layer set spi or i2c_address in socdev->codec_data 2. Fix bug: Change freqmode offset from 4 to 3. 3. Fix Bug: SOC_WM8580_OUT_DOUBLE_R_TLV private_value should be pointer to structure soc_mixer_control 4. Add wm8580_set_paif_dai_sysclk 5. Add ESAI driver in 2.6.28 6. Add ALSA ASoC machine driver for WM8580 Signed-off-by: Wallace Wang <r59996@freescale.com>
2009-10-13ENGR00111524 AK4647 driver porting to 2.6.28Wallace Wang
Add ak4647 driver into 2.6.28 kernel Signed-off-by: Wallace Wang <r59996@freescale.com>
2009-10-13ENGR00111746 Sgtl5000: Bug fixWallace Wang
1. Remove i2c_unregister_device in sgtl5000 2. sgtl5000_set_bias_level in sgtl5000_remove failed to operate as imx_3stack_sgtl5000_remove is called before sgtl5000_remove. Add imx_3stack_machine_remove, move power disable from imx_3stack_sgtl5000_remove to this function. 3. name in imx_ssi_dai is a pointer to a constant string, can't use strcpy, or else the string will be overwritten and memory will be corrupted when the copied string length extend the original string length. 4. Add imx_ssi_remove to free irq Signed-off-by: Wallace Wang <r59996@freescale.com
2009-10-13ENGR00110748 SGTL5000: Shut down i2s sclk/lrclk after audio playback stopsLionel.Xu
Sgtl5000 sclk/lrclk should only be turned on when audio playback is running in i2s master mode. These clocks should be turned off after playback to save the power. Signed-off-by: Lionel Xu <r63889@freescale.com>
2009-10-13ENGR00111296: sgtl5000: fix Playback Volume min not 0Richard Zhao
correct the offset of volume value and reg value. Signed-off-by: Richard Zhao <b20223@freescale.com>
2009-10-13ENGR00110076 sgtl5000: fix audio popsAlan Tull
From the SGTL5000 spec, in the CHIP_ANA_POWER reg, the headphone and line out should be powered up before powering up the vag. To power down, power down the vag first, then delay, then power down headphone and line out. Signed-off-by: Alan Tull <r80115@freescale.com>
2009-10-13ENGR00109155 sgtl5000: add reg_cacheAlan Tull
Add reg_cache which is a standard feature of soc codecs. Signed-off-by: Alan Tull <r80115@freescale.com>
2009-10-13ENGR00107688 ASOC: Resolve 24/32-bit mono wav playing problem on sgtl5000Lily Zhang
Wav sound plays twice faster than normal when it's format is 24 or 32 bit mono. In ssi normal operating mode, DC=0 provides continuous periodic data word transfer and a bit-length frame sync must be used in this case. Sgtl5000 codec master provides word length frame sync, so DC should be set as frame/WL-1. Signed-off-by: Lionel Xu <r63889@freescale.com>
2009-10-13ENGR00108905 sgtl5000: remove unneeded check of spk_amp_eventRichard Zhao
Remove unneeded check to make it more portable. Signed-off-by: Richard Zhao <b20223@freescale.com>
2009-10-13ENGR00108162-2 sgtl5000: add audio for imx 3stackAlan Tull
Add sgtl5000 soc audio to imx-3stack for 2.6.28 kernel. Signed-off-by: Alan Tull <r80115@freescale.com>
2009-10-13ENGR00107392 Move asm/arch headers to linux inc dirRob Herring
Architecture specific headers moved and are not accessible to userspace in 2.6.28. So they are moved to linux include directory. Signed-off-by: Rob Herring <r.herring@freescale.com>
2009-10-13ENGR00107731-2: Port imx 3.3.0 release to 2.6.28Rob Herring
Port rel_imx_2.6.26_3.3.0 to 2.6.28. PMIC Regulator and ASoC drivers are removed and not yet ported. Updated asm/arch headers for move to plat-mxc/include/mach device_create parameters changed. sysdev attribute functions changed. Adopt mainline MX3 timer code and update clock init flow. Signed-off-by: Rob Herring <r.herring@freescale.com>
2008-12-24ALSA: hda - Add missing terminators in patch_sigmatel.cHerton Ronaldo Krzesinski
Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br> Cc: stable@kernel.org Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-19Merge branch 'fix/asoc' into for-linusTakashi Iwai
2008-12-19ALSA: Fix a Oops bug in omap soc driver.Stanley Miao
There will be a Oops or frequent underrun messages when playing music with omap soc driver, this is because a data region is incorretly sized, other data region will be overwriten when writing to this data region. Signed-off-by: Stanley Miao <stanley.miao@windriver.com> Acked-by: Jarkko Nikula <jarkko.nikula@nokia.com> Cc: stable@kernel.org Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-19ALSA: hda - Remove non-working headphone control for Dell laptopsTakashi Iwai
The previous commit re-enabled hp_nid setup for IDT92HD73*, but it's unneeded indeed for Dell laptops that have multiple headphones. Setting the extra hp_nid results in a non-working "Headpohne" mixer control. Thus hp_nid should be 0 for these dell models. Also, the automatic addition of hp_nid should check whether it's a dual-HP model or not. For dual-HPs, the pins are already checked by the early workaround. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-19ALSA: hda - Add no-jd model for IDT 92HD73xxTakashi Iwai
Added the model without the jack-detection for some desktops that have really no jack-detection. The recent driver caused regressions regarding the sound output on such machines. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-19ALSA: Revert "ALSA: hda: removed unneeded hp_nid references"Takashi Iwai
This reverts commit 07f455f779acfb3eba4921fd1399761559b10fa9. ALSA: hda: removed unneeded hp_nid references Removed unneeded hp_nid references for 92hd73xx codec family. This caused the silent output on some Intel desktops due to missing routing of widget 0x0a and 0x0d. Signed-off-by: Takashi Iwai <tiwai@suse.de>