ASoc: ABE VxREC: Create VxREC CPU DAI

VxREC DAI represents the Vx_REC input of the ROUTE_UL.
Vx_REC can be mono or stereo input even it mixes
different inputs such as Vx_UL, Vx_DL, TONES_DL and MM_DL

Change-Id: I7b67d7472bf500f89865953054f740844c1166a5
Signed-off-by: Francois Mazard <f-mazard@ti.com>
Signed-off-by: Pierre Moos <p-moos@ti.com>

Conflicts:
	sound/soc/omap/Kconfig

Conflicts:
	sound/soc/omap/Makefile
ASoc: ABE VxREC: fix voice UL/DL gains swapping

Change-Id: I301f41bff006b59985b2bcc2ada96082a4724d55
Signed-off-by: Francois Mazard <f-mazard@ti.com>
Signed-off-by: Pierre Moos <p-moos@ti.com>
Fix sound for tuna
ASoC: DSP: Fix BE link state and hw_params in debugfs

BE state and hw_params were incorrectly shown in DSP state debugfs,
it was showing FE's values instead.

Change-Id: Ib5afb1537824634208741b0b635a31152c5aaddd
Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
ASoC: OMAP ABE: Update to release 09.56

Update ABE firmware to 09.56. This firmware has the
next update:
- Add MONO 16 bits support
- Update SRC 48->96 kHz.
- Enable 4/16/48 kHz on Voice port and BT.
- Enable DL1 path to Handsfree path
- Add new filter functions for DMIC

Change-Id: Idbc527887b8cbd97ea1882562763950c6144add2
Signed-off-by: Sebastien Guiriec <s-guiriec@ti.com>
ALSA: pcm: export 'snd_interval_step' symbol

Export 'snd_interval_step' symbol so that ALSA drivers can use it
to add hw rules.

Change-Id: Ic7d38683a46d281db9b1a36a5d5eabdb92876153
Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
ASoC: dapm: Use card's power_mutex during codec shutdown

Codec shutdown performs a DAPM power sequence that might cause conflicts
and/or race conditions if another stream power event is running simultaneously.
Use card's power_mutex to protect any potential race condition between them.

Change-Id: Idd3be5967df9a454da8aaefb28ddbe497b651f8f
Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
ASoC: ABE: Increase volume ramps for DMic's

Most digital microphones need about 10 ms to settle after setting bias
and clocks.  The OMAP DMic module is not able to set the clocks before
beginning the transfer, creating a full-scale pop at the beginning of
the transfer.

This patch works around this behavior by increasing the volume ramp
from 2ms to 50ms for DMic's.

Change-Id: I55fe727fb624965ad22c0f9087c8b426b18080ef
Signed-off-by: Gabriel M. Beddingfield <gabrbedd@ti.com>
ASoC: OMAP ABE: Fix TONES_DL 44.1kHz task settings

Back port of change-id: I0361bc6a1ae2bbc4fa0155e92c9d9c21cff7dfea

C_ABE_FW_TASK_IO_TONES_DL task wasn't scheduled for TONES_DL port at
44.1kHz which introduced noise.

Signed-off-by: Jyri Sarha <jsarha@ti.com>
Change-Id: I8972f1dd4524fe04a522fff4d5928886a8f94ad3
ASoC: OMAP ABE: Add 48kHz support for VX_UL and VX_DL FEs

Add 48kHz sample rate for Voice playback and capture FE ports
which is now supported natively in ABE.

Change-Id: Ia8ee1dba4e50c322a3f7201864cb36ef799993d7
Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
Revert "ASoC: ABE: Use DMA at 16-bits specifically for 16-bits mono"

This reverts commit b9115fb1007f7a6c925d23330c561b3526711401.
ASoC: OMAP ABE: Use MONO_16_16 for 16-bits mono

Use MONO_16_16 format for 16-bits mono stream, which consists of two
16-bits frames in a 32-bit container. All the data formats supported
by ABE are now configured using DMA data type of 32-bits, hence DMA
parameters reset section is removed.

Change-Id: I04c8a8ac787bf04e462735e2bb68ed1a1a77c54b
Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
Signed-off-by: Igor Nedashkivskyi <x0153369@ti.com>
ASoc: ABE VxREC: use VxREC audio back-end

VxREC is the back-end of MM_UL and MM_UL2.
VxREC back-end represents the Vx_REC input of the ROUTE_UL.
Vx_REC can be mono or stereo input even it mixes
different inputs such as Vx_UL, Vx_DL, TONES_DL and MM_DL.
This audio BE needs to start even none of its inputs
are enable. This is to avoid any cross-dependencies between
VxREC and Vx_UL, Vx_DL, TONES_DL and MM_DL that could make
userspace code much more complex.

Change-Id: Iebe8189951b9b77944f7ff8f180c7d977ecbef00
Signed-off-by: Francois Mazard <f-mazard@ti.com>
Signed-off-by: Pierre Moos <p-moos@ti.com>

Conflicts:
	sound/soc/omap/sdp4430.c
ASoC: OMAP ABE: Add support for single downlink path

ABE 09.56 allows connecting PDM_DL2 from DL1 path, which gives
the advantage of running hands-free path on lower OPP. DL2 path
can be enabled or disabled via config option: SND_OMAP_SOC_ABE_DL2.

Change-Id: I0c82d0507249630ff36627cfdb6523655da72734
Signed-off-by: Sebastien Guiriec <s-guiriec@ti.com>
Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>

Conflicts:
	sound/soc/omap/Kconfig
ASoC: OMAP ABE: Remove extra OPP100 transition

There is no need of doing a OPP100 transition when AESS stream
is open, required OPP is calculated based on the active audio
routes.

Change-Id: I178058827c448aa6d300724a2baeb5f44ac9a690
Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
ASoC: OMAP ABE: Fix MM_UL format capability

MM_UL port supports up to 6 channels, 32-bits per sample, 16-bits
per sample is no longer supported hence removed from DAI capabilities.

Change-Id: I1c9940609e5f087f5df83b9a8c6261d2306512dd
Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
ASoC: ABE: Add hw_rule for 250us period constraint

Audio Backend requires period time in steps of 250us.

Change-Id: I9df1893ec557d883d435d77d24e019a054272c11
Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
ASoC: ABE: Hide DL2 equalizers if DL2 is not configured

Change-Id: I5935a7d338c10c1b739cbd531d2340a21264689c
Signed-off-by: Jyri Sarha <jsarha@ti.com>
ASoC: OMAP ABE: Add "450Hz High-pass" to DL1 Equalizer

For the ABE configured in DL1-only, the DL1 Equalizer can be used
when audio is routed to speaker, so an appropriate profile for that
output must be added. The "450Hz High-pass" has been chosen, its
coefficients were taken from the corresponding profile for DL2
Equalizer.

Change-Id: I6a58a20499d29f06418b82ba1d499a57f945c962
Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
Remove some non-tuna boards

Conflicts:
	arch/arm/configs/android_4430_defconfig