PCM_DP_OUT/IN enable bit are used for any data_port which supports
word_length larger than 8. Disable these two bits only when all
the ports are disabled.
Change-Id: I2c65e7658bf90ae01203ebb1b15f14db581ffa55
Signed-off-by: Meng Wang <mengw@codeaurora.org>
On wcd939x contains only one variant. Sometimes reading
for codec variant which is giving incorrect/unsupported,
due to this incorrect mixer ctl are picked. So Wcd939x
is updated with supported variant WCD9395.
Change-Id: Ie556350b3630b6f1f76a4b2af1db795f908f13d4
Signed-off-by: Prasad Kumpatla <quic_pkumpatl@quicinc.com>
Use DECLARE_FLEX_ARRAY to modularize payload of gpr_pkt struct.
Change-Id: I45f173148c0f36896d52f88b77d3d815a4c321fb
Signed-off-by: Sam Rainey <quic_rainey@quicinc.com>
update register name in regmap and tables.
Change-Id: Ia1da74478b51dd094da2be74d621f91cf4e22ff9
Signed-off-by: Prasad Kumpatla <quic_pkumpatl@quicinc.com>
during SSR, swrm_disable_ports() is not called so the pcm_enable_count
never decreased. Reset the count to 0 when SSR
Change-Id: I937dd309ab9fb2c28c0962053cd1632c891fb598
Signed-off-by: Junkai Cai <junkai@quicinc.com>
add support to get swr device num for wsa883x and
wsa884x based on the variant used.
Change-Id: Ib0a25a0692d968a3ae9a45c2a4754de8eef325ce
signed-off-by: sarath varma ganapahiraju <quic_ganavarm@quicinc.com>
as part of swrm_runtime_suspend, multiple attempts are made
to write into swr regisers. Incase of SSR state, all those write
attempts are bound to fail.
Hence avoid swr read/write operations during SSR state.
Also move updating dev_up flag for SSR event to an early point in call flow.
Change-Id: I805d1ccf8bcdab5fdde7b74582a65463d5bcbd6e
Signed-off-by: Prasad Kumpatla <quic_pkumpatl@quicinc.com>
Extend bit-width support to 24 and 32 bit for TDM, MI2S and AUX PCM interface
Change-Id: I0c79df64881f2d96a16196e7fbef0cc177af1021
Signed-off-by: Anirudh Mahto <quic_amahto@quicinc.com>
Add register initialization for 2S battery configuration, including adding
relevant register shifts and masks.
Change-Id: Ie3bee4283aa57fb489153a3588db638a8a25719c
Signed-off-by: Sam Rainey <quic_rainey@quicinc.com>
ADC volume can support upto 27 different gain.
Current driver only supports 20. Make this change
to add more ADC volume support.
Change-Id: Ia315e15465affd5430d36637efb0cf3a12bb7b7e
Signed-off-by: Meng Wang <quic_mengw@quicinc.com>
Clear the wcd937x interrupt ack registers in post_irq_handler.
This is needed for wcd937x, as regmap_irq is not clearing
the ack registers after the ack bits are set.
Change-Id: I105a4b423a0d01ff1bd3239e0f2d42294557ff10
Signed-off-by: Vangala, Amarnath <quic_avangala@quicinc.com>
When switching from 16KHz to 48KHz recording, mute issue happens.
Addd TX datapath reset during path teardown to resolve this issue.
Change-Id: I7445b397c20ce4e4968fec2326267f63dcba5a8c
Signed-off-by: Meng Wang <quic_mengw@quicinc.com>
When two clients call prm_gpr_send_pkr concurrently, g_prm.status will be
set to 0 for both clients. When client_A returns some error, g_prm.status
will be some error value and not cleared for Client_B. When audio_prm_callback
returns correct value for Client_B, g_prm.status is some error value which causes
prm_gpr_send_pkt fails for Client_B by mistake.
Move g_prm.status and g_prm.state into mutex_lock to resolve this issue.
Change-Id: Ie028533e6590bfd59b2fa08a496bbffc8793e5f6
Signed-off-by: Meng Wang <quic_mengw@quicinc.com>
Update sample interval for class-H port to 64 so that the
class-H code is sent to WCD correctly over soundwire bus
Change-Id: Id05853a25e97d9a39452722c7959e08bc9651e0b
Signed-off-by: Ganapathiraju Sarath Varma <quic_ganavarm@quicinc.com>
Add a call to wcd_usbss_switch_update(USBSS_HSJ_CONNECT) in the pineapple
machine driver using a usbss-hsj boolean flag.
Change-Id: I47df8ecd1336b119ce17999e4b3c9f9b4592b0b5
enable impedance and calculations according to wcd939x.
Change-Id: Id0c2c7ebea6941dadbe501d388bdedc265e93db6
Signed-off-by: Prasad Kumpatla <quic_pkumpatl@quicinc.com>
Use BIAS_LEVEL_OFF trigger from ASoC to mark the wcd/wsa power
supplies to LPM (if supported).
Change-Id: I89f232f9338168b99ae03f84318c21734b592f82
Signed-off-by: Prasad Kumpatla <quic_pkumpatl@quicinc.com>
add mux in b/w IN1/2 and RX1/2 for configuring xtalk and
compander in hph pcm sequence.
Change-Id: I5ee97017585d03e0ef83841bbccef5982d79b9d9
Signed-off-by: Prasad Kumpatla <quic_pkumpatl@quicinc.com>
Update wcd939x api and marcro in pineapple driver
Update wcd939x macro in wcd939x driver.
Change-Id: Id87fc550e0a3aff61efee61644fd6bc15ea7c66d
Signed-off-by: Prasad Kumpatla <quic_pkumpatl@quicinc.com>