The current AFE logging point is global, once enabled all active
AFE ports will log its data through DIAG to PC, However, diag
logging throughput is limited.
Need add kcontrol for enable/disable AFE logging by AFE port
per direction.
Change-Id: I05a12f2eb4bc5b5a3ad39b8bbf2f4148bec05002
Signed-off-by: Deru Wang <deruwang@codeaurora.org>
Add support to update clk src array from machine driver.
Update clk src for different be ids based on clock
frequency at playback.
Change-Id: Ifa09d556fd50f9e2ddef39b5e3ddd25f579f8f6e
Signed-off-by: Sanjana B <sanjb@codeaurora.org>
As per the current design in afe, if the
afe_get_cal_topology for AFE_TOPOLOGY_CAL
or send_afe_cal_type for AFE_COMMON_TX_CAL
fails, then the voice UI calblock is fetched/sent.
This is resulting in sending voice UI calblock
on a non voice UI port during concurrent usecase scenario.
Fix is to check if the calblock for get/set is for
a voice UI port or not. Added support to send this
port id info from routing driver to afe when usecase
is enabled via mixer_control.
Change-Id: I356aae61e1b9d11324e7b9f9a57953767a64b71e
Signed-off-by: Soumya Managoli <smanag@codeaurora.org>
* Add AFE playback backend with port 0x2002
* Add proxy capture frontend to read data from port 0x2002
* Modify AFE platform and DSP drivers to support dual proxy usecase
Change-Id: I35e33e5e922fb3092cffcc065fb514268c16cc17
Signed-off-by: Alexy Joseph <alexyj@codeaurora.org>
Set params for a module should be done after sending
the topology information in which the module resides in.
Send cps configuration after sending afe topology.
Send cps configuration only for speaker protected usecases.
Change-Id: I89c7df9f0d70862813aa7a2bd1ea1afc2ddcc882
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
Add mixer control and callback for selecting external mclk at start of
next playback for a particular BE.
Change-Id: Ifc25eda2f14da564c6b066eb8f76049697bbd44e
Signed-off-by: Nirav Khatri <khatri@codeaurora.org>
In case of two concurrent active rx proxy ports, add
separate callback data to handle proxy reading.
Change-Id: I4de631b9cfead777c970103a79578964e5950eb9
Signed-off-by: Zhou Song <zhous@codeaurora.org>
Add new APIs to set/reset power mode along with
island config before afe_port_start.
Change-Id: Ibd9487b04b691be5ab829cfa32c89953838f3192
Signed-off-by: Kunlei Zhang <kunleiz@codeaurora.org>
- Add support to adjust drift in audio interface
clock source PLL.
- ADSP adjusts the source clock based on clk id. Add support
in AFE driver to get clk id based on the AFE port.
Change-Id: I45ceb6579bb15e32541051e0ba936a2d903e4923
Signed-off-by: Surendar Karka <skarka@codeaurora.org>
Add a new fe dedicated for hearing aid and the support
of reading data from a new proxy port.
Change-Id: Id2e8ade6bfe5412ca6520d3cff70d6eebad7d7cc
Signed-off-by: Zhou Song <zhous@codeaurora.org>
Add change to support BE DAI link based on proxy
ports.
Change-Id: Id7ca274e330f025ac015567de86403fb14781cd0
Signed-off-by: Saurav Kumar <sauravk@codeaurora.org>
lpass client handle variable stores latest lpass hw vote.
During PDR, core hw vote release proceed to call unvote
for stale handle since above variable is set to non-zero
as part of audio hm vote. Maintain separate handles for
respective lpass hw votes inorder to fix this.
Change-Id: I432ce38b253ce6d18a25f9845fa694912718c74f
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
QCS405 can group data lines of several MI2S interfaces.
This feature is used with new META MI2S ports.
Change-Id: I0d8c2de742e04d7348e40e1026b1640c3f987479
Signed-off-by: Ralf Herz <rherz@codeaurora.org>
Add support to switch tws channel mode for aptx adaptive
encoder.
Change-Id: Ife4170be56b152d34758a1cfd20fa4ec203742db
Signed-off-by: Zhou Song <zhous@codeaurora.org>
Add support for LPASS Audio HW vote needed for low power AMIC
VA usecase.
Change-Id: If6642d418dbf2cc9773fbd0ec0fe35c30afac140
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
Add MI2S/TDM AFE senary port IDs for Kona target.
Change-Id: I8dafa4516c31040aad0bca30cfdc9acbdf460bf1
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
Updates to send VAD enable or disable to AFE port.
Send VAD and island configuration based on the ports
on which these features are supported in Vipertooth
machine.
Change-Id: Ib3e6d46fed3bf9e822f350c9ec0dc629cd82547e
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
Support group tdm multi lane configuration for TDM interface.
With valid lane mask tdm interface support delivery audio channels
through different data lines.
Change-Id: I63e8ba1106b89c6bcaca0a8359a1def696c334ad
Signed-off-by: Cong Tang <congt@codeaurora.org>
Trigger xt logging getparam at every playback close
and store data. When app queries sys/class node, return
stored values and reset to 0 for some params as per
app requirement.
Change-Id: Ice1a3e9a7e03062390f1c36184a971635e55d450
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
Implement get param for AFE_PARAM_ID_SP_RX_TMAX_XMAX_LOGGING
in order to get excursion params from DSP.
Change-Id: I5129938c51c6f6ede9d4703d13be60d04d26f5e3
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
When ADSP is in power collapse or island state, it would fail
to access LPASS codec register.Vote for LPASS core to avoid
LPASS power collapse with pmruntime approach while accessing
LPASS registers & TLMM.
Change-Id: I74d037e499fb6f1245b9a1bd1b0a77200608c27b
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
VA macro on Kona has three TX codec DMA interface. The
current AFE driver only supports two codec DMA interface.
Add support to enable the third one in AFE driver.
Change-Id: Ie0f6241ef37bc03ad9adb1c4fe82f82468caec25
Signed-off-by: Xiaoyu Ye <benyxy@codeaurora.org>
Add support to get DOA tracking monitor data.
This is required to support SVA LED display feature with
FFECNS/FFNS enabled.
Change-Id: I7e39c2f3998fcc3f9ed0767c0090f862e1ba7539
Signed-off-by: Chaithanya Krishna Bacharaju <chaithan@codeaurora.org>
Add dai driver and routing driver changes for
afe loopback BE. This BE is used to capture
EC reference data.
Change-Id: Ia57f335bde5f8a47de0030fbf1cdb784c8821e17
Signed-off-by: Surendar Karka <skarka@codeaurora.org>
Add support to enable mono mode when one TWS+ earbud is
connected. Change the encoder config when device switches from two
earbuds to single earbud.
CRs-Fixed: 2341876
Change-Id: I880aa6a2767d88e99be2d80afff0e5fbec94b8a4
Signed-off-by: Manisha Agarwal <maniagar@codeaurora.org>
Switch audio drivers to SPDX identifier on msm-4.19.
Change-Id: Ic3f0230a516db251b8d81e8a7e73dbc04d66fe1b
Signed-off-by: Meng Wang <mengw@codeaurora.org>
AFE supports now MI2S interfaces with up to 16 channels.
Add new APR API functions to support this.
Add support for senary PCM/MI2S ports.
Change-Id: I18d48eed4e9a0476363220e959a0f254aa292056
Signed-off-by: Dieter Luecking <dieterl@codeaurora.org>
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
Add support for soundwire wakeup irq registration and event
notification from afe.
Change-Id: I97abe0a8bb571b997a52f90e0a0f57a26c714251
Signed-off-by: Ramprasad Katkam <katkam@codeaurora.org>
New codec dma interfaces have been introduced to connect
LPASS and Codec macros. This change is to add Rx and Tx
codec dma interface related updates to Q6 AFE native driver.
CRs-Fixed: 2281591
Change-Id: I2edbe904cd4c13801f06cdd7bd226a82db5d6d51
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>