Commit Graph

149 Commits

Author SHA1 Message Date
Laxminath Kasam
1ecf8184d2 asoc: wcd938x: Add vdd-buck as on demand supply
On lagoon, vdd-buck need to be dynamic supply.
Add required support to handle buck as dynamic supply.

Change-Id: If6c27fffe0d0c44f178e61a6eae6ef63775c8988
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-04-29 23:26:53 -07:00
Prasad Kumpatla
bd2c17661b asoc: codecs: Add delay to eliminate playback pause post SSR on hs
Add delay in post ssr to eliminate playback pause on euro headset.On
post ssr hs detected as hp due to where pa become on before the completion
of wcd_correct_swch_plug workqueue which lead to detect plug_type
as hp.

Change-Id: Ie114fcd0458d9f5edebeee087c90600c3b0c3da2
Signed-off-by: Prasad Kumpatla <nkumpat@codeaurora.org>
2020-04-29 23:26:14 -07:00
qctecmdr
8ff0eb72f9 Merge "ASoC: wcd938x: Do not enable hold_off while enabling watchdog" 2020-04-29 22:27:54 -07:00
Kunlei Zhang
3acbdc5f2c asoc: update tx frame config for soundwire port
Set correct tx frame config for soundwire port
using  wcd9375.

Change-Id: Icbefda65713338908e4d94935296ff30ac4e5f9c
Signed-off-by: Kunlei Zhang <kunleiz@codeaurora.org>
2020-04-27 21:18:23 -07:00
qctecmdr
e63542d6b7 Merge "asoc: codecs: Set EAR compander if mixer ctl set" 2020-04-26 23:42:50 -07:00
Vatsal Bucha
b00df5a5c7 ASoC: wcd938x: Do not enable hold_off while enabling watchdog
Hold_off bit for enabling watchdog will enable mute until
there is a block reset and watchdog bits aren't toggled.
Disable hold_off bit so that wcd is recovered from mute
instantly once watchdog occurred.

Change-Id: Ia87593ead05dde4e31a0afefd6ffaca89bb95448
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2020-04-21 00:17:11 -07:00
Meng Wang
5ec99c4a5b asoc: wcd938x: adjust swr sequence for wcd mic recording
SND_SOC_DAPM_MIXER_E widget is powered up before SND_SOC_DAPM_ADC_E
which causes mute on wcd mic recording. Adjust wcd938x_tx_connect_port
and swr_slvdev_datapath_control sequence to fix it.

Change-Id: I3dbfb239dcfbd65102d0d98be40326be71cf8479
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2020-04-20 14:30:04 -07:00
Vatsal Bucha
fb63ca16cc ASoC: wcd938x: Enable digital clk for tx0 if micbias enabled
Mute is observed in amic record sometimes in concurrency with
sva. This is because if record is over tx0 then digital clk
is not enabled. Enable clk after enabling micbias to resolve mute.

Change-Id: Iba3aa4fade0ac5889218eaee2c5d2c4bd4431d50
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2020-04-19 08:25:30 -07:00
Laxminath Kasam
2e025248a2 asoc: codecs: Set EAR compander if mixer ctl set
Enable compander based on mixer ctl set for ear path.

Change-Id: Ie6287469f1baa9dba239d369bd5a29ed8e44522f
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-04-19 08:11:52 -07:00
Vatsal Bucha
93f005b878 ASoC: wcd938x: Enable surge protection at bootup
Enable surge protection at bootup for traverso.

Change-Id: I443c576e6fdfc640b8e67c2d3f9622e8c3366d45
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2020-04-16 01:15:21 -07:00
qctecmdr
595a926d4f Merge "ASoC: wcd938x: Update hardware sequence for LDOL voltage" 2020-04-08 21:02:08 -07:00
Sudheer Papothi
49f16768f6 ASoC: wcd938x: Update hardware sequence for LDOL voltage
Update wcd938x codec hardware sequence for LDOL voltage.

Change-Id: I863c0832277d3d0533cdd97f15d1576c47cc4d1e
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2020-04-02 23:50:57 -07:00
Vatsal Bucha
71e95c67ea ASoC: wcd938x: Fix headset detection during SSR/PDR
Headset is corrected as lineout during SSR/PDR. This is
because adc voltage is not measured correctly due to SSR state.
Enable flag deinit_in_progress during SSR down to check if
device is not reported and disable it after device up.

Change-Id: I6fc4fff4149c36ba16aa668a960505504a5d811f
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2020-04-01 09:54:12 -07:00
Vatsal Bucha
d789e57132 ASoC: wcd938x: Disable ear path at power down
Ear Path is not disabled properly disabled at power down.
Disable clk and other registers depending on whether ear
takes aux or hph path at pwd.

Change-Id: I987904ddd9bf21b9ed96e754e6eb2514b4d277ce
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2020-03-30 15:05:51 -07:00
qctecmdr
d658726339 Merge "ASoC: codecs: Add swr dmic as multi codec" 2020-03-30 00:52:48 -07:00
Vignesh Kulothungan
6cdec19289 ASoC: codecs: wcd938x: add codec dai for wcd938x
Add new codec dai for wcd938x, since WCD is
no longer initialized as an aux device but as a codec.

Change-Id: I1cb60ef3ef71692970011ef6c3b50cf9cd64b7ca
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
2020-03-25 17:18:39 -07:00
Sudheer Papothi
e45a49d0cb ASoC: wcd938x: Add support for ADC modes
Different ADC modes need different clock rate. Update clock rate
based on the ADC mode.

Change-Id: Idaeda95a15e99038927de115727ece897bba7c29
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2020-03-25 05:50:00 +05:30
qctecmdr
5ae37e64b5 Merge "ASoC: wcd938x: Add micbias control API for SWR DMICs" 2020-02-22 05:19:19 -08:00
qctecmdr
e96e387122 Merge "asoc: codecs: wcd938x: bypass filter while enabling PA" 2020-02-19 02:25:21 -08:00
Sudheer Papothi
c8231cf9e5 ASoC: wcd938x: Add micbias control API for SWR DMICs
Add micbias control API to enable SWR DMICs on lahaina target.

Change-Id: I48152971e1af8dedc98ada20e4e808cf18720869
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2020-02-18 10:56:54 +05:30
Sudheer Papothi
b2d648baf0 ASoC: wcd938x: Update soundwire master channel type
Update soundwire master channel type properly before sending to
soundwire master.

Change-Id: I459c6e8d1cc688c3e6e5a0369e095f0b12fbb7c6
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2020-02-07 14:35:00 +05:30
Meng Wang
c760477cb9 asoc: codecs: wcd938x: bypass filter while enabling PA
While enabling headphone PA, bypass preref filter
to resolve clipping issue in the first second.

Change-Id: I7524fe3215bac267c5e199c715931712e16adf88
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2020-02-07 15:47:55 +08:00
Ramlal Karra
3e2c37d273 asoc: codecs: Add unified SWR Tx mapping support
Add dynamic port enablement for wcd938x and
wcd937x targets to support unified swr tx port
mapping added as part of SWR 1.6 updates.

Change-Id: If0cf823dc51028fd5bd95f5a49ffe05998526be6
Signed-off-by: Ramlal Karra <rkarra@codeaurora.org>
2020-02-05 09:56:57 -08:00
Karthikeyan Mani
a5a7ba3b43 asoc: codecs: wcd938x: Add widget to enable micbias standalone
Add widgets to enable mic bias standlaone without
dependency on any use case.

Change-Id: I1f61cd9403d3f83baa199f9c669680d9c7b5c371
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2020-01-28 21:51:29 -08:00
Linux Build Service Account
c6e429778b Merge "ASoC: codec: Change micbias widgets to supply widgets" into audio-drivers.lnx.5.0 2019-12-31 15:26:06 -08:00
Meng Wang
4a03bd5171 asoc: update snd info api
Update snd info API and userspace and get codec info.

Change-Id: Ic9cfc89365cf6263a9b1c02403d68e7740bebbeb
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2019-12-27 11:15:55 -08:00
Sudheer Papothi
2732740dd2 ASoC: codec: Change micbias widgets to supply widgets
Upstream kernel deprecated micbias widgets. So, replace micbias
widgets with supply widgets.

Change-Id: Ie7d369d887c85f85ee477877425516caae4d7e33
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2019-12-25 14:50:54 +08:00
Laxminath Kasam
9a37b81cd4 asoc: wcd938x: Fix swr get logical addr fail during SSR
During SSR, sometimes swr get logical addr fails.
Add sufficient delay after reset and retry logic
for get logical addr.

Change-Id: I2a932e99896e0055f3b35f9b251008612f43b79f
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-11-20 19:18:50 +05:30
qctecmdr
0064cf4db8 Merge "ASoC: wcd938x: Disable ADC mode for tx at power down after record" 2019-10-30 10:24:20 -07:00
Vatsal Bucha
a267a11e94 ASoC: wcd938x: Disable ADC mode for tx at power down after record
ADC mode for tx 0,1,2,3 is not disabled at power down after record
causing noise during next headset record. Disable ADC mode
to resolve noise.

Change-Id: I0a98b06318b55cfce20c6a90fecd71d83dce28c5
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2019-10-18 12:44:44 +05:30
Vatsal Bucha
d06525fa68 ASoC: Fix audio distortion issue during headset record
Audio is distorted during first 3 secs on headset record
while doing device switch from dmic to headset mic.
Disable BCS before slow insertion detection and enable it
afterwards to resolve the issue.

Change-Id: Ie5bc4b5292e5f69066760cab44d78989a74f13f4
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2019-10-15 05:07:51 -07:00
qctecmdr
73d4531d52 Merge "asoc: codecs: wcd938x: Add support for setting ear gain ctl" 2019-10-15 01:12:28 -07:00
qctecmdr
d9328bec09 Merge "asoc: codecs: wcd938x: Fix HPHL mute when ear path teardown" 2019-10-12 08:57:06 -07:00
Vatsal Bucha
135b9f0b0c asoc: codecs: wcd938x: Add support for setting ear gain ctl
Add support for setting EAR PA gain directly using
mixer control.

Change-Id: I3667d8f26dc648e44d12c42be0940210763e08d5
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2019-10-03 22:00:16 -07:00
Karthikeyan Mani
7af16b8364 asoc: codecs: wcd938x: check for device up before writes
During SSR, codec device will be down and wait till
receiving up notification before doing any register
reads or writes.

Change-Id: I0e2967990bfc9d0d780d4c7e666a4c31159e70ce
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2019-09-24 14:45:00 -07:00
Sudheer Papothi
92bf3feadb ASoC: wcd938x: Update wcd938x initialization sequence
Update wcd938x codec initialization sequence as per hardware
requirement.

Change-Id: I17989e3f159d106eb9de6b1b8f660a647962539c
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2019-09-20 00:47:15 +05:30
Laxminath Kasam
e25b02a5e1 asoc: codecs: wcd938x: Fix HPHL mute when ear path teardown
Update mute for RX chain related to AUX (INT2) when
tearing down ear path driven by AUX.

Change-Id: I0ab2630bb681e8dc800c99245b1cd68120290c2b
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-09-19 18:43:59 +05:30
qctecmdr
ae58e9ee01 Merge "asoc: codecs: wcd938x: Enable EAR over INT2 chain" 2019-09-18 04:01:17 -07:00
Sudheer Papothi
504064bad0 ASoC: wcd938x: Update soundwire slave clock rate on WCD938x
Update soundwire slave clock rate based on power mode on
WCD938x codec for better power numbers.

Change-Id: I6719d7eab7562bf4fe45b3e11fbae6e0a629f9b1
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2019-09-13 16:19:33 -07:00
qctecmdr
ca34d4602c Merge "ASoC: wcd938x: Update mibias configuration on WCD938x" 2019-09-06 11:04:49 -07:00
Laxminath Kasam
8ebb07308a asoc: codecs: wcd938x: Enable EAR over INT2 chain
INT2 chain drives AUX output to WCD.
EAR DAC on WCD can take input from HPHL/AUX chains.
Add register sequence updates to support EAR DAC
over AUX chain path also based on mixer setting.

Change-Id: I71db6c02f4579e3beba2816c1cfa5a492d91d702
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-09-06 14:59:46 +05:30
Vignesh Kulothungan
c001b153fc ASoC: wcd938x: add support to retrieve codec variant
Machine driver requires a mechanism to know the codec variant
to limit supported configurations respective to that codec.
Add a function to return the wcd938x codec variant.

CRs-Fixed: 2488322
Change-Id: I16631cccb3abd32c933389e110e5b5a6b762a0e2
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
2019-08-15 10:05:14 -07:00
Sudheer Papothi
88c75963a4 ASoC: wcd938x: Update mibias configuration on WCD938x
Apply micbias configuration from device tree for WCD938x for
Kona target.

Change-Id: I45a47eb54f9fffb88259ba7e69633e3d3ebcb6a4
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2019-08-15 15:07:42 +05:30
qctecmdr
5803bf11fe Merge "ASoC: wcd938x: Fix micbias droop on WCD938x codec" 2019-08-11 03:24:33 -07:00
qctecmdr
221d06644d Merge "asoc: codecs: wcd938x: cleanup TX recording sequence" 2019-08-04 12:09:10 -07:00
qctecmdr
76880681c6 Merge "asoc: codecs: wcd938x: remove delays in headphone power down" 2019-08-02 07:05:15 -07:00
qctecmdr
b7c31cad77 Merge "asoc: codecs: enable bcs port for headset record" 2019-08-02 06:47:40 -07:00
qctecmdr
7ec93a3c52 Merge "ASoC: wcd937x: Fix spurious interrupts for wcd937x" 2019-07-31 03:36:11 -07:00
Karthikeyan Mani
3edeac1477 asoc: codecs: wcd938x: cleanup TX recording sequence
Cleanup TX ADC recording path sequence to remove any
legacy register writes which is not required anymore.

Change-Id: I204280b1631b11fc275f765a2454bda4cec01b18
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2019-07-30 13:55:36 -07:00
Sudheer Papothi
d76c274099 ASoC: wcd938x: Fix micbias droop on WCD938x codec
Fix micbias droop on WCD938x codec.

Change-Id: I8df99dea118750134570c372fc153db9873f8827
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2019-07-30 05:19:46 +05:30