summaryrefslogtreecommitdiff
path: root/sound
AgeCommit message (Collapse)Author
2012-06-21Merge remote branch 'fsl-linux-sdk/imx_3.0.15' into imx_3.0.15_androidXinyu Chen
Conflicts: arch/arm/mach-mx6/devices-imx6q.h drivers/power/sabresd_battery.c
2012-06-18ENGR00212318 ASRC:update to in/out width configChen Liangjun
The origin ASRC driver did not support input and output wordwidth config but an total wordwidth config instead. And the input wordwith and output wordwidth are all fixed to 24 bit. In this path, we do things below: 1 Update to use input wordwidth and output wordwidth config seperately instead of an total wordwidth config. 2 Set corresponding DMA(input/output) buswidth according ASRC's input and output wordwidth config. 3 Support 16/24 bit input wordwidth and 24 bit output wordwidth. Signed-off-by: Chen Liangjun <b36089@freescale.com>
2012-06-18Merge remote branch 'fsl-linux-sdk/imx_3.0.15' into imx_3.0.15_androidXinyu Chen
2012-06-15ENGR00213616 wm8962: set default volume for playback and recordGary Zhang
set default volume for playback and record Signed-off-by: Gary Zhang <b13634@freescale.com>
2012-06-14Merge remote branch 'fsl-linux-sdk/imx_3.0.15' into imx_3.0.15_androidXinyu Chen
Conflicts: arch/arm/mach-mx6/board-mx6q_arm2.c arch/arm/mach-mx6/board-mx6q_sabreauto.c arch/arm/mach-mx6/board-mx6q_sabrelite.c arch/arm/mach-mx6/board-mx6q_sabresd.c drivers/video/mxc/mxc_ipuv3_fb.c
2012-06-14ENGR00163374 ESAI: ESAI driver does not support mono playbackLionel Xu
To remove mono playback support for ESAI. Signed-off-by: Lionel Xu <Lionel.Xu@freescale.com>
2012-06-13ENGR00213179 Mx6x,Fix HDMI build wariningSandor Yu
Fix HDMI build warining Signed-off-by: Sandor Yu <R01008@freescale.com>
2012-06-07ENGR00180390 ESAI: add amixer ASRC p2p API(ALSALIB)Chen Liangjun
If we want to use ESAI call ASRC, we need to know the input sample rate as well as the output sample rate. however, cause of ALSA-LIB, the input sample rate pass down to ALSA-DRIVER is not accurate. For example, if the ALSA-DRIVER only support 48KHz playback and we want to play an 16KHz audio file, the sample rate params the ALSA DRIVER see is 48KHz but not 16KHz. So, the ALSA-DRIVER do not know the original sample rate, and thus unable to config ASRC properly. In this patch, we add an amixer control interface for alsa lib plugin to config the input sample rate before playback. If no plugin, user can call the amixer control interface to manually use ASRC for rate convert. For example, if we need to playback an 24bit_24K audio wav file without call the plug. The sound card is 0. 1 Get the ASRC capability: amixer sget "ASRC" 1 Set the input samplerate: amixer sset "ASRC" "24KHz" 2 Play; aplay -Dhw:0 audio_24k24S-S24_LE.wav Signed-off-by: Chen Liangjun <b36089@freescale.com>
2012-06-07ENGR00212542 SPDIF: move clock operationGary Zhang
Now clock operation occurs in mxc_spdif_trigger(), and because clock operation is forbidden to exist in interrupt context, move disabling clock operation to mxc_spdif_shutdown() Signed-off-by: Gary Zhang <b13634@freescale.com>
2012-05-30ENGR00178461-02 HDMI1080p: hotplug cause kernel panic. 10%Sandor Yu
It is a warning cause by HDMI driver irq enable count mismatch. The purpose of maintain HDMI irq count is to disable hdmi_iahb_clk when HDMI cable plugout. But hdmi_iahb_clk parent ahb clock is always enabled when system run, so hdmi_iabh_clk power consumption is very low. The function clk_get_usecount introduce by irq count maintain is not safety in SMP. Remove HDMI irq count in HDMI driver, keep hdmi_iahb_clk always run. and disable hdmi_iahb_clk and hdmi_isfr_clk when FB Blank. Signed-off-by: Sandor Yu <R01008@freescale.com>
2012-05-28ENGR00211132 ESAI: fix build warningGary Zhang
imx-pcm.h should not include imx-ssi.h, or else DRV_NAME is redefined Signed-off-by: Gary Zhang <b13634@freescale.com>
2012-05-25Merge remote branch 'fsl-linux-sdk/imx_3.0.15' into imx_3.0.15_androidXinyu Chen
Conflicts: arch/arm/configs/imx6_defconfig arch/arm/kernel/smp.c arch/arm/mach-mx6/board-mx6q_arm2.c arch/arm/mach-mx6/board-mx6q_sabreauto.c arch/arm/mach-mx6/board-mx6q_sabrelite.c arch/arm/mach-mx6/board-mx6q_sabresd.c arch/arm/mach-mx6/bus_freq.c arch/arm/mach-mx6/clock.c arch/arm/mach-mx6/cpu.c arch/arm/mach-mx6/devices-imx6q.h arch/arm/mach-mx6/mx6_ddr_freq.S arch/arm/mach-mx6/mx6_mmdc.c arch/arm/mach-mx6/mx6_suspend.S arch/arm/mach-mx6/mx6_wfi.S arch/arm/mach-mx6/plat_hotplug.c arch/arm/mach-mx6/pm.c arch/arm/mach-mx6/system.c arch/arm/plat-mxc/cpufreq.c arch/arm/plat-mxc/system.c drivers/media/video/mxc/capture/Kconfig drivers/media/video/mxc/capture/mxc_v4l2_capture.c drivers/media/video/mxc/capture/ov5640_mipi.c drivers/media/video/mxc/output/mxc_vout.c drivers/mmc/host/sdhci.c drivers/mtd/nand/gpmi-nand/gpmi-lib.c drivers/mxc/gpu-viv/arch/XAQ2/hal/kernel/gc_hal_kernel_hardware.c drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_mmu.c drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_enum.h drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_options.h drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_version.h drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_driver.c drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c drivers/mxc/ipu3/vdoa.c drivers/power/max8903_charger.c drivers/video/mxc/mxc_ipuv3_fb.c sound/soc/codecs/mxc_spdif.c sound/soc/imx/Makefile sound/soc/imx/imx-wm8962.c
2012-05-22ENGR00209739-5 WM8962: check DMIC statusGary Zhang
if there are no amic_detect pin, by checking DMIC pin status to get to know which mic is used Signed-off-by: Gary Zhang <b13634@freescale.com>
2012-05-22ENGR00209529 WM8962: registry detect pin handler more lateGary Zhang
move hp/mic detect pin handler from imx_wm8962_probe() to imx_wm8962_init(). Signed-off-by: Gary Zhang <b13634@freescale.com>
2012-05-21ENGR00209739-1 WM8962: add support for MX6 SLGary Zhang
1. add support for mx6 sl 2. operate clock by callback Signed-off-by: Gary Zhang <b13634@freescale.com>
2012-05-17ENGR00209384-4 mxc_spdif: disable sym_err isrAdrian Alonso
* Disable symbol error interrupt when rx dpll is unlocked This means that no spdif Rx data had been identified and driver will keep issuing sym_err interrupt request. * Add check to only execute capture_start/stop functions if rx_active is set. Signed-off-by: Adrian Alonso <aalonso@freescale.com>
2012-05-17ENGR00209529 WM8962: registry detect pin handler more lateGary Zhang
move hp/mic detect pin handler from imx_wm8962_probe() to imx_wm8962_init(). Signed-off-by: Gary Zhang <b13634@freescale.com>
2012-05-16ENGR00209384-3 mxc_spdif: capture playback stop functionAdrian Alonso
* Add capture/playback stop function Stops capture/playback process Signed-off-by: Adrian Alonso <aalonso@freescale.com>
2012-05-16ENGR00209384-2 mxc_spdif: capture playback start functionAdrian Alonso
* Add start capture/playback function Start sequence for capturing/playing audio data. * Remove caprure/playback prepere function hwd initialization handled by trigger function when user/app starts capture/play process. Signed-off-by: Adrian Alonso <aalonso@freescale.com>
2012-05-16ENGR00209384-1 mxc_spdif: add trigger handler functionAdrian Alonso
* Add trigger function in order to handle user space events start/stop/pause playback/capture Signed-off-by: Adrian Alonso <aalonso@freescale.com>
2012-05-16SAUCE remove unnecessary suspend/resume functionsAdrian Alonso
BugLink: http://bugs.launchpad.net/bugs/882723 Disabling/re-enabling clocks is not necessary as it's done in *_startup() and *_shutdown() functions, and shall be performed during suspend/resume. This is causing warnings of un-matched clk_enable()/clk_disable() Rework patch for imx_3.0.15 code base Signed-off-by: Eric Miao <eric.miao@linaro.org> Signed-off-by: Adrian Alonso <aalonso@freescale.com>
2012-05-15ENGR00178459 mxc_spdif: fix read access for debug infoAdrian Alonso
* Fix read register access for debug info * Read from spdif registers with a disabled spdif core clock leads to kernel hang. * Avoid it by enabling/diabling core clk. Signed-off-by: Adrian Alonso <aalonso@freescale.com>
2012-05-15ENGR00178459 mxc_spdif: clk_enable return checksAdrian Alonso
* Add clk_enable return checks, if clocks aren't enabled writting/reading from spdif register will cause system to become unresponsive. * Remove spdif_audio_clk enable/disable calls this clock is not assigned and is reposible for making the system unresposive. Signed-off-by: Adrian Alonso <aalonso@freescale.com>
2012-05-09ENGR00182220 WM8962: set a default volumeGary Zhang
set default volume for headphone and speaker Signed-off-by: Gary Zhang <b13634@freescale.com>
2012-05-08ENGR00181697 HDMI: fix ahb bus error bugChen Liangjun
In ARIK, to prevent noise cause by false triggered burst, we reduce the incr type to 4. and the change may cause bus_error because a burst may unexpectly stop and thus an AHB bus error happens. Reset HDMI Audio FIFO state to prevent AHB bus error. Signed-off-by: Chen Liangjun <b36089@freescale.com>
2012-05-08ENGR00181693 HDMI:threshold and INCR type configChen Liangjun
Configure information for threshold and incr: CHIP + CHANNEL THRESHOLD INCRTYPE ARIK + 2 126 4 ARIK + 4,6,8 124 4 RIGEL + 2,4,6,8 128 8 Signed-off-by: Chen Liangjun <b36089@freescale.com>
2012-05-04ENGR00181697 HDMI: fix ahb bus error bugChen Liangjun
In ARIK, to prevent noise cause by false triggered burst, we reduce the incr type to 4. and the change may cause bus_error because a burst may unexpectly stop and thus an AHB bus error happens. Reset HDMI Audio FIFO state to prevent AHB bus error. Signed-off-by: Chen Liangjun <b36089@freescale.com>
2012-05-04ENGR00181693 HDMI:threshold and INCR type configChen Liangjun
Configure information for threshold and incr: CHIP + CHANNEL THRESHOLD INCRTYPE ARIK + 2 126 4 ARIK + 4,6,8 124 4 RIGEL + 2,4,6,8 128 8 Signed-off-by: Chen Liangjun <b36089@freescale.com>
2012-05-02ENGR00181201 mx6x HDMI audio add IEC head optimization with C codeSandor Yu
mx6x HDMI audio add IEC head optimization with C code Signed-off-by: Sandor Yu <R01008@freescale.com>
2012-05-02ENGR00181188 Added miss file hdmi_cpm.S for patch ENGR00181130Sandor Yu
Added miss file hdmi_cpm.S for patch ENGR00181130 Signed-off-by: Sandor Yu <R01008@freescale.com>
2012-05-02ENGR00181130 Optimizate HDMI audio mmap to fix HDMI audio alsa underrunSandor Yu
HDMI audio DMA FIFO size is setting to 126, and use INCR4 mode to fix FIFO overflow issue. Added Neon code for PCM data IEC head and data copy. Signed-off-by: Sandor Yu <R01008@freescale.com>
2012-05-02Merge remote branch 'fsl-linux-sdk/imx_3.0.15_12.04.01' into imx_3.0.15_androidXinyu Chen
Conflicts: sound/soc/imx/Makefile
2012-04-30ENGR00181201 mx6x HDMI audio add IEC head optimization with C coderel_imx_3.0.15_12.04.013.0-imx6-201204281855Sandor Yu
mx6x HDMI audio add IEC head optimization with C code Signed-off-by: Sandor Yu <R01008@freescale.com>
2012-04-28ENGR00181188 Added miss file hdmi_cpm.S for patch ENGR00181130Sandor Yu
Added miss file hdmi_cpm.S for patch ENGR00181130 Signed-off-by: Sandor Yu <R01008@freescale.com>
2012-04-28ENGR00181130 Optimizate HDMI audio mmap to fix HDMI audio alsa underrunSandor Yu
HDMI audio DMA FIFO size is setting to 126, and use INCR4 mode to fix FIFO overflow issue. Added Neon code for PCM data IEC head and data copy. Signed-off-by: Sandor Yu <R01008@freescale.com>
2012-04-27ENGR00180236-2: spdif clk usecount is 1 when not in useAdrian Alonso
* Move spdif_core_clk enable from spdif_probe to spdif_startup function in order to avoid initializing the core clock when module is not in use. * At spdif_shutdown disable spdif core_clk. Signed-off-by: Adrian Alonso <aalonso@freescale.com>
2012-04-27ENGR00180236: mxc_spdif add spdif_clk error checkAdrian Alonso
* Add get_clk clock error check abort driver probe if wrong clock. Signed-off-by: Adrian Alonso <aalonso@freescale.com>
2012-04-27ENGR00180350-2 HDMI set infoframe informationAlan Tull
Get speaker allocation data block information from the EDID. Translate the EDID speaker allocation to audio infoframe speaker allocation (different bit mapping) given the number of channels of audio being played. Set channel count information in HDMI_FC_AUDICONF0. Set speaker allocation information in HDMI_FC_AUDICONF2. From CEA-861-D spec: NOTE—HDMI requires the CT, SS and SF fields to be set to 0 (Refer to Stream Header) as these items are carried in the audio stream. Signed-off-by: Alan Tull <r80115@freescale.com>
2012-04-26ENGR00180236-2: spdif clk usecount is 1 when not in useAdrian Alonso
* Move spdif_core_clk enable from spdif_probe to spdif_startup function in order to avoid initializing the core clock when module is not in use. * At spdif_shutdown disable spdif core_clk. Signed-off-by: Adrian Alonso <aalonso@freescale.com>
2012-04-26ENGR00180236: mxc_spdif add spdif_clk error checkAdrian Alonso
* Add get_clk clock error check abort driver probe if wrong clock. Signed-off-by: Adrian Alonso <aalonso@freescale.com>
2012-04-24ENGR00180297 WM8962: stereo record on AMICGary Zhang
Implement stereo recording feature on analog mic Signed-off-by: Gary Zhang <b13634@freescale.com>
2012-04-23ENGR00180297 WM8962: stereo record on AMICGary Zhang
Implement stereo recording feature on analog mic Signed-off-by: Gary Zhang <b13634@freescale.com>
2012-04-20ENGR00171077 ESAI: Ends of record should not impact playbackLionel Xu
The mute process in shutdown function should only be limited to playback, or it will influence each other when they running together. Signed-off-by: Lionel Xu <Lionel.Xu@freescale.com>
2012-04-20Merge remote branch 'fsl-linux-sdk/imx_3.0.15_12.04.01' into imx_3.0.15_androidXinyu Chen
Conflicts: arch/arm/kernel/traps.c arch/arm/mach-mx6/board-mx6q_sabresd.c arch/arm/mach-mx6/cpu.c arch/arm/mach-mx6/system.c
2012-04-17ENGR00179127 Audio integration for AMFM module to ARD platformAlejandro Sierra
Audio integration of AMFM module to ARD platform IMX6Q and IMX6DL rev A and rev B boards. Supported on ALSA for kernel 3.0.15. Signed-off-by: Alejandro Sierra <b18039@freescale.com>
2012-04-17ENGR00179725 WM8962: remove 64KHz sample rate supportGary Zhang
because wm8962 codec does not support 64KHz sample rate, no longer declare to support 64KHz: Signed-off-by: Gary Zhang <b13634@freescale.com>
2012-04-17ENGR00179725 WM8962: remove 64KHz sample rate supportGary Zhang
because wm8962 codec does not support 64KHz sample rate, no longer declare to support 64KHz: Signed-off-by: Gary Zhang <b13634@freescale.com>
2012-04-13ENGR00179601 Synopsys approved hdmi fifo workaround - rev 3Alan Tull
This patch includes some of the clk enable/disable changes from rev2 Check the version of the HDMI IP to determine whether the fifo threshold needs to be high. The i.Mx6dl version of the HDMI doesn't need the workaround. All other parts of the workaround are used for both parts for code simplicity. ---------------------------------------------------------- For i.Mxq, set the Threshold of audio fifo as: FIFO depth - 2 (fixed and independent of the number of channels actually used). Use unspecified length ahb bursts (using fixed INCRx will make the audio dma fail). Additionally and in order to get it working on all conditions it will be necessary to run the following sw steps at startup of video and audio (or when video changes or audio changes): 1-Configure AUD_N1 and AUD_CTS1 registers with final value and let the AUD_N2, AUD_N3, AUD_CTS2 and AUD_CTS3 to 0s. 2-Configure start and end addresses of audio DMA registers. 3-Start DMA operation 4-Configure the AUD_CTS2 and AUD_CTS3 with the final value. 5-Configure the AUD_N2 and AUD_N3 with final value. Signed-off-by: Alan Tull <r80115@freescale.com>
2012-04-13ENGR00179601 Synopsys approved hdmi fifo workaround - rev 3Alan Tull
This patch includes some of the clk enable/disable changes from rev2 Check the version of the HDMI IP to determine whether the fifo threshold needs to be high. The i.Mx6dl version of the HDMI doesn't need the workaround. All other parts of the workaround are used for both parts for code simplicity. ---------------------------------------------------------- For i.Mxq, set the Threshold of audio fifo as: FIFO depth - 2 (fixed and independent of the number of channels actually used). Use unspecified length ahb bursts (using fixed INCRx will make the audio dma fail). Additionally and in order to get it working on all conditions it will be necessary to run the following sw steps at startup of video and audio (or when video changes or audio changes): 1-Configure AUD_N1 and AUD_CTS1 registers with final value and let the AUD_N2, AUD_N3, AUD_CTS2 and AUD_CTS3 to 0s. 2-Configure start and end addresses of audio DMA registers. 3-Start DMA operation 4-Configure the AUD_CTS2 and AUD_CTS3 with the final value. 5-Configure the AUD_N2 and AUD_N3 with final value. Signed-off-by: Alan Tull <r80115@freescale.com>
2012-04-13ENGR00179628-1 SSI: enable dual-fifo feature as defaultGary Zhang
enable SSI dual-fifo feature as default setting Signed-off-by: Gary Zhang <b13634@freescale.com>