Age | Commit message (Collapse) | Author |
|
Conflicts:
arch/arm/mach-mx6/devices-imx6q.h
drivers/power/sabresd_battery.c
|
|
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>
|
|
|
|
set default volume for playback and record
Signed-off-by: Gary Zhang <b13634@freescale.com>
|
|
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
|
|
To remove mono playback support for ESAI.
Signed-off-by: Lionel Xu <Lionel.Xu@freescale.com>
|
|
Fix HDMI build warining
Signed-off-by: Sandor Yu <R01008@freescale.com>
|
|
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>
|
|
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>
|
|
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>
|
|
imx-pcm.h should not include imx-ssi.h, or else DRV_NAME is
redefined
Signed-off-by: Gary Zhang <b13634@freescale.com>
|
|
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
|
|
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>
|
|
move hp/mic detect pin handler from imx_wm8962_probe()
to imx_wm8962_init().
Signed-off-by: Gary Zhang <b13634@freescale.com>
|
|
1. add support for mx6 sl
2. operate clock by callback
Signed-off-by: Gary Zhang <b13634@freescale.com>
|
|
* 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>
|
|
move hp/mic detect pin handler from imx_wm8962_probe()
to imx_wm8962_init().
Signed-off-by: Gary Zhang <b13634@freescale.com>
|
|
* Add capture/playback stop function
Stops capture/playback process
Signed-off-by: Adrian Alonso <aalonso@freescale.com>
|
|
* 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>
|
|
* Add trigger function in order to handle user
space events start/stop/pause playback/capture
Signed-off-by: Adrian Alonso <aalonso@freescale.com>
|
|
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>
|
|
* 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>
|
|
* 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>
|
|
set default volume for headphone and speaker
Signed-off-by: Gary Zhang <b13634@freescale.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
mx6x HDMI audio add IEC head optimization with C code
Signed-off-by: Sandor Yu <R01008@freescale.com>
|
|
Added miss file hdmi_cpm.S for patch ENGR00181130
Signed-off-by: Sandor Yu <R01008@freescale.com>
|
|
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>
|
|
Conflicts:
sound/soc/imx/Makefile
|
|
mx6x HDMI audio add IEC head optimization with C code
Signed-off-by: Sandor Yu <R01008@freescale.com>
|
|
Added miss file hdmi_cpm.S for patch ENGR00181130
Signed-off-by: Sandor Yu <R01008@freescale.com>
|
|
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>
|
|
* 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>
|
|
* Add get_clk clock error check
abort driver probe if wrong clock.
Signed-off-by: Adrian Alonso <aalonso@freescale.com>
|
|
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>
|
|
* 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>
|
|
* Add get_clk clock error check
abort driver probe if wrong clock.
Signed-off-by: Adrian Alonso <aalonso@freescale.com>
|
|
Implement stereo recording feature on analog mic
Signed-off-by: Gary Zhang <b13634@freescale.com>
|
|
Implement stereo recording feature on analog mic
Signed-off-by: Gary Zhang <b13634@freescale.com>
|
|
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>
|
|
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
|
|
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>
|
|
because wm8962 codec does not support 64KHz sample
rate, no longer declare to support 64KHz:
Signed-off-by: Gary Zhang <b13634@freescale.com>
|
|
because wm8962 codec does not support 64KHz sample
rate, no longer declare to support 64KHz:
Signed-off-by: Gary Zhang <b13634@freescale.com>
|
|
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>
|
|
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>
|
|
enable SSI dual-fifo feature as default setting
Signed-off-by: Gary Zhang <b13634@freescale.com>
|