Change i2s max rate supported for tavil to 384000Hz.
Cleanup usage of intf_type to optimize differentiation
between slim and i2s.
Change-Id: If6451dae7c61e8f61be3d5a13549f98b382e5054
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
Add support for tavil i2c access. Add audio
routings dapm widgets for data and control.
Change-Id: I96ebf7a5700b10f294f4fadfeeb21dab490a9313
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
Add support for quinary mi2s/auxpcm/tdm for msmnile target.
Change-Id: I0cbfa98129e6181662f7555735173eded12a0bf7
Signed-off-by: Meng Wang <mwang@codeaurora.org>
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
Fix return value in aqt_codec_info_create_codec_entry function
to return proper value and add target config to include files
Change-Id: I063e199b1bf0e672b5afc20ed7de8447eed35dd4
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
Add ALSA dailinks for supporting various audio/voice
use cases for msmnile target.
Change-Id: If300b2c94e72414a657f30691cdfcb0d0a3b9a13
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
Add stub function for msm pinctrl get function
when msm pinctrl configuration is not defined.
Change-Id: I5229dd804025e328471f0fd35cff33a69d47b2dd
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
WCD9360 codec acts as an interface between AQT codec and
msmnile CPU DAI. Add AQT based playback and capture dais in
WCD9360 codec driver.
Change-Id: Ic780dd336a775dbb48a1d3ada90029763ac7a657
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
AQT1000 supports different headset detect pull up current source
values in MBHC. Add a callback function to handle new current
source values in MBHC driver.
Change-Id: I060af1aff3fe7c4dfd4aa4c480542efa54c2777c
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
AQT1000 codec supports multiple micbias voltage settings. Add an
API to client modules to adjust the micbias voltage based on their
desire voltage requirements.
Change-Id: If89b836ab60b66e9ec1000fe6d07f4b1a8484b01
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
Disable source tracking get functionality for sdm855 till
feature is completely enabled
Change-Id: Id644fa46d95bd1091502b1c5ae4cce3bb64d633e
Signed-off-by: Meng Wang <mwang@codeaurora.org>
Add codec entry for AQT1000 codec to support ADIE calibration.
Add new hwdep node AQT1000_CODEC_HWDEP_NODE to store ANC/MBHC
calibration data.
Change-Id: I8b5ff9a2cfe2a0a8ac593b63b20b28697dc975bf
Signed-off-by: Meng Wang <mwang@codeaurora.org>
AQT1000 codec is a hifi headset that supports audio
playback and recording on headset. It also supports
playback of fractional sampling rates. Audio playback
and recording is transferred through I2S interface.
Add driver for AQT1000 codec
Change-Id: Iba163e9203d67216cdbf87727b06801356a001e3
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
Between Linux-4.9 and Linux-4.14, upstream has updated the
ION APIs significantly to make ION ready to bring out of
staging folder. This has changed the way ION and dma_buf
APIs used to work together for allocating, mapping and
deallocating ION buffers.
Update MSM Audio ION wrapper functions used by audio drivers
to reflect these ION API changes as per upstream ION.
Change-Id: I63097e147a397aa3a538f69ac88b6fb10871c3dc
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
Add changes to support wcd9360 audio codec driver in
wcd9xxx common files.
Change-Id: I5b9f9d592b6843d7887eb3954d079776ddf15764
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
snd_pcm_ops copy interface used by msm platform drivers is replaced
with copy_user in msm-4.14. Unit of two input variables is changed
from frame count to byte.
Update all the related msm platform drivers to adapt to this change.
Change-Id: Icecd0454c7a80e5ee90407c64aaf1ca76d2d9815
Signed-off-by: Meng Wang <mwang@codeaurora.org>
Re-factor audio clock driver to register one clock at a time
and remove duplicate lpass clocks.
Change-Id: I63ddf4b65ec7e9cda0dcad4e0167cd8636e89e1a
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
ADM calibration is not sent in audio recording
use case which leads to low volume issue.
Since the LSM port ID is same as audio recording
port ID in case of internal codec, driver tries to
send LSM calibration for non LSM use case in which case
no calibration will be sent.
Instead of using port ID, use the pass_thr mode to
differentiate between LSM and non LSM use cases.
CRs-Fixed: 2167317
Change-Id: I1b6ea51d83330f6439791cf1bb6170306f6895b0
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
For MI2S shutdown, if clock disable is failed,
do not bother to re-increment clock reference. Otherwise,
next time when startup is called, clock enable will not
be called again, so use case will not work.
CRs-Fixed: 2166356
Change-Id: Ic7a93a5f20eaabed93d0cd94d76d09f0f1c869fd
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
- During PCM close, the AIF power down will be delayed if
ignore_pmdown_time flag is not set. Set this flag for ultrasound RX DAI
to avoid delay in PCM close which causes slimbus overflow.
- Flag ignore_pmdown_time is only required to be set for RX DAIs.
Add this flag for RX DAIs that don't have it and remove this
flag for TX DAIs that have it in sdm670 machine driver.
CRs-Fixed: 2166356
Change-Id: I794ee96fb96fe04091ce73f0b48f84ebf119256c
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
WCD codec must be enumerated before AFE configuration for
some of the features can be sent to DSP. This is because
as part of setting up this configuration, DSP tries to
access some codec register. These register accesses will
fail if codec is not enumerated already.
Add a check for sound card online state to confirm that WCD
codec has already enumerated before sending AFE configs.
CRs-Fixed: 2166356
Change-Id: Ie5883f3543872d7a049a00a4c70445232360f2f9
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>