Commit graph

60 Commits

Autor SHA1 Nachricht Datum
qctecmdr
a30841251b Merge "asoc: codec: wcd9378: optimize the micbias usage set logic" 2024-01-07 02:11:24 -08:00
Yuhui Zhao
ec2a5e8fe6 asoc: mbhc: change the mbhc reg width from 16bit to 32bit
Update the mbhc reg width from 16bit to 32bit for tambora
target.

Change-Id: Ibf474ffcadce2dfd13202ece1119b9974591acdb
Signed-off-by: Yuhui Zhao <quic_yuhuzhao@quicinc.com>
2024-01-02 13:09:59 +08:00
Prasad Kumpatla
27110b4fb5 asoc: add support for both fsa and wcd usb AATC
add support for both fsa and wcd usb AATC.

Change-Id: I0253faad734a433f5da93c34adfc4f9c2e37fa14
Signed-off-by: Prasad Kumpatla <quic_pkumpatl@quicinc.com>
2023-12-27 16:04:46 +05:30
Erin Yan
5679261df3 asoc: msm-cdc-pinctrl: fix compile error
The modifier - static - request the function to be used within the file.
Remove static modifier to fix the build break.

Change-Id: I46da9dbeb7c3945f8a1bbfa55998e75b5cbdc70b
Signed-off-by: Erin Yan <quic_xinyey@quicinc.com>
2023-10-26 22:43:32 -07:00
Sairam Peri
6e38fad118 asoc: codecs: update max sampling rate of wsa881x analog driver
Updated the wsa dailink to support 384Khz HS playback.

Picked latest codec fixes to kernel6.0.

Change-Id: Ia570dc3f3ed55415ac374e1ba3bb6f2277dade96
Signed-off-by: Sairam Peri<quic_peri@quicinc.com>
2023-08-31 23:33:37 +05:30
Phani Kumar Uppalapati
3fca2376eb audio-kernel: wcd: Disable 1M Pull-up resistor
1M Pull-up resistor within WCD causes LPD (Liquid Presence
Detection) failures. So add support for disabling 1Mohm
Pull-up resistor. Re-enable it whenever wcd enters into
audio mode.

Change-Id: Ib3115315bc61d4e6126ddf688653182417d5d54d
Signed-off-by: Phani Kumar Uppalapati <quic_phaniu@quicinc.com>
2023-08-15 19:27:16 -07:00
Eric Rosas
af6068fd31 asoc: codec: Unvote wcd939x vdd-px supply
When codec goes into suspend, disable vdd-px which
will cause an unvote in PM.

Change-Id: Ia9f958d67fc57dbf3932733797bce7b0eb742363
Signed-off-by: Eric Rosas <quic_erosas@quicinc.com>
2023-07-20 11:54:57 -07:00
Eric Rosas
4d7a95f88e asoc: codec: Add surge reset routine for wcd939x
Enable wcd939x surge reset routine. Add callback for
the event within mbhc and enable it for wcd939x.

Change-Id: Iabc8c3367ae2eca5982db4526c6860e5eba63b76
Signed-off-by: Eric Rosas <quic_erosas@quicinc.com>
2023-06-29 14:17:16 -07:00
Prasad Kumpatla
15a3ce41fe asoc: pineapple: add support for GND MIC SWAP config
add support for GND MIC SWAP config for pineapple CDP.

Change-Id: Ia6ecbe2818ac12c7fad5738a78bbdcd4d1611e15
Signed-off-by: Prasad Kumpatla <quic_pkumpatl@quicinc.com>
2023-06-29 00:22:35 +05:30
Yuhui Zhao
f216366d83 audio-kernel: add wcd_usbss api in pineapple and mbhc driver.
add wcd_usbss api in pineapple and mbhc driver

Change-Id: I1e4d8f907003516368f855be2461a06daf4526c7
2022-10-06 22:56:21 -07:00
Prasad Kumpatla
961a510ecb Revert "asoc: mbhc: disable pa while measuring the adc values"
This reverts commit 05a1b9bd4d.

Change-Id: I6121659f31affc6210b1fa0bd2f2d34fa8d17c9f
Signed-off-by: Prasad Kumpatla <quic_pkumpatl@quicinc.com>
2022-09-21 14:46:59 +05:30
Prasad Kumpatla
05a1b9bd4d asoc: mbhc: disable pa while measuring the adc values
While measuring the adc, if PA is on we will get incorrect values of
adc due to which the detection type is missmatched. So disable the PA
While measuring the adc values and restore back PA once measuring adc
done.

Change-Id: I5833452e23a71637353449bb48b937ee44be24ae
Signed-off-by: Prasad Kumpatla <quic_pkumpatl@quicinc.com>
2022-07-26 10:53:38 +05:30
Vatsal Bucha
bb1b149345 ASoC: wcd-mbhc: Resolve warning log when mutex destroy before unlock
Resolve warning log when hph pa mutex lock is destroyed before
unlock. Initialize hph pa locks as global lock and do not destroy
during SSR to resolve issue.

Change-Id: Idc5af793294f7fdc8dbcc17770f68fe2c46ab337
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2021-06-27 21:07:36 -07:00
Meng Wang
ecf424366e asoc: mbhc: add extcon device for MBHC
Add extcon device for MBHC.

Change-Id: I2f22223bc62f4f4b5f2e8cb61cf7e7d41548947f
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2021-04-29 10:04:21 +08:00
Meng Wang
fbb79877c9 asoc: move unnecessary UAPI header files to normal header folder
Move unnecessary UAPI header files to normal header folder.

Change-Id: I0ba6da8fdc4e21a3493fcc284fa2e08a06dc3013
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2021-03-16 16:50:26 +08:00
Jyotirmoi Sarma
a3d8911945 audio-kernel: asoc : Upgrade asoc to support 5.10 kernel
Change-Id: Ia54112cfbde418d66b9314d4ba731928aa057558
Signed-off-by: Jyotirmoi Sarma <jyosarma@codeaurora.org>
2020-12-08 08:49:44 -08:00
Phani Kumar Uppalapati
b15db3b6c8 Merge commit 'd9fa9d435ba1b92cf0f0361a0749107b7abc45a5' into audio-kernel-5-4.lnx.1.0
Change-Id: Iaf98532030ee4ef5fe6a70df083a685733dd5670
2020-11-05 19:15:07 -08:00
Linux Build Service Account
73a3066e99 Merge "ASoC: sdxlemur: Add support for new target compilation" into audio-kernel-5-4.lnx.1.0 2020-10-20 23:13:16 -07:00
Asish Bhattacharya
a9e1270b31 ASoC: sdxlemur: Add support for new target compilation
Add support for sdxlemur

Change-Id: I2338fd4df56e4f2c9f0c5f233e7e41aba4f37045
Signed-off-by: Asish Bhattacharya <asishb@codeaurora.org>
2020-10-08 18:57:50 +05:30
Vignesh Kulothungan
a77e386d54 Revert "ASoC: codecs: handle device disconnect during SSR"
This reverts commit 75f229237a.

Change-Id: Ie37d6ac80a3f86df50cdaab65dfd51624f7c7517
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
2020-09-18 13:15:07 -07:00
Vatsal Bucha
625753df87 ASoC: codec: Change name for enum defined for callback between wcd and bolero
Add enum names defined for callback between wcd and bolero in
separate file and include that file in order to have same enum
across wcd and bolero.

Change-Id: I808c2ad3de37655c1ba2b8e096def60703ced7f2
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2020-09-09 20:26:36 -07:00
Vatsal Bucha
48029da3fe ASoC: rouleur: Change hph and ear gain according to soc capacity
Register to power supply framework to get soc capacity.
Reduce ear and hph gain for reduced voltage to optimize
power consumption. Also set LD22 voltage to lower value
for low SoC.

Change-Id: I94de9341b8c7307128d3cd41c7398c31d57fa685
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2020-07-21 19:33:24 -07:00
Vignesh Kulothungan
75f229237a ASoC: codecs: handle device disconnect during SSR
During SSR, when usbc analog device is disconnected, the
respective disconnect interrupt is not handled and hence userspace
is not notified. When ADSP recovers, fsa driver sends a disconnect
notification. So handle device disconnect and notify jack/userspace
through this notification.

Change-Id: Ic695c2267c9289f9528d50202938ec09f634de8a
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
2020-06-17 23:07:21 -07:00
qctecmdr
a77e7d4be8 Merge "asoc: codecs: Add delay to eliminate playback pause post SSR on hs" 2020-06-09 09:24:19 -07:00
qctecmdr
c1a9199e09 Merge "asoc: codecs: Update LPM voting support for vdd-mic-bias-supply" 2020-06-05 01:54:03 -07:00
Aditya Bavanari
313aa17ac4 asoc: codecs: Add comparator autozeroing support for rouleur
When current source mode is enabled, comparator auto
zeroing should be turned ON by HW. As rouleur codec HW
doesn't do this automatically, add this support
in SW to set the auto zero enable before FSM enable
and reset to auto once FSM is enabled.
Disable surge protection before ADC measurements
and change HPHL and HPHR thresholds while
identifying cross connection for proper
accessory identification.

Change-Id: Ib775de0f0bdb6c655a3c0eb4775276acfbca1e84
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
2020-06-03 21:04:31 -07:00
Aditya Bavanari
c3fd6cc305 asoc: codecs: Fix button interrupts issue in rouleur
Current source mode in rouleur does not work
properly leading to issues in button interrupts
and fake electrical removal interrupts.
Enable pull up mode instead of current source
mode to fix these issues. Modify the headset
max vref voltage to 1.7 volts and micbias
calculation logic.

Change-Id: If3e4a2fdcf080b07fe3c363b6eb6115f101b91f4
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
2020-06-03 13:46:02 -07:00
Sanjana B
79fba80fa6 asoc: msm-cdc-pinctrl: Add alternate pinctrl state for DSD input
Add additional pinctrl states to support alternative function.
This change enables support of alternative pins through pinctrl
framework.

Change-Id: I1f3f9a13345846f1714b4ecaeecde975b5cf6813
Signed-off-by: Sanjana B <sanjb@codeaurora.org>
2020-05-29 10:43:09 -07:00
Laxminath Kasam
ec8a0b507c asoc: codecs: Update LPM voting support in codec supplies
For power saving during RBSC, need to vote for minimum
or zero current on load for respective regulator to
enter LPM mode. Add required support from audio WCD/WSA
to vote accordingly during suspend/resume.

Change-Id: I578195b84ba18a0b69dde3b93a3f6461efa85f7f
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-05-26 14:22:15 +05:30
qctecmdr
c3c4fd765e Merge "ASoC: update headers for upstream compliance" 2020-05-14 22:04:36 -07:00
Akhil Karuturi
3ba03d15fe ASOC: Remove support for ANC headphones
ANC headphones are no longer supported, removed dead code related to the feature.

Change-Id: I3dd51b5b1d9f77fd870947608f8a14fc3f7aeed0
Signed-off-by: Akhil Karuturi <akarutur@codeaurora.org>
2020-05-07 19:51:29 -07:00
Vignesh Kulothungan
e0bdd11269 ASoC: update headers for upstream compliance
Update uapi header reference path to include
path prefix "audio/"

Change-Id: Ic7b1d22910b07be3ffe8d9f02514ed89facea974
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
2020-05-06 11:26:15 -07:00
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
Karthikeyan Mani
669b885ac7 asoc: codecs: Add codec supply to enable mic bias pin
Add interface to initialize and enable/disable
wcd codec supply.

Change-Id: If2b2a3120f7f0c87dc6ebe1c1e6c9062b7f2891e
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2020-01-28 21:42:29 -08:00
Vignesh Kulothungan
823f0f01fe ASoC: add config check for QGKI
Add CONFIG_AUDIO_QGKI check for variables and functions
in audio drivers, so they are used only during a QGKI build.

Change-Id: Ia04232566367f196f298a49cf3962bb7927bec6a
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
2020-01-26 03:51:32 +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
Vatsal Bucha
cd339694c5 ASoC: wcd-mbhc: Remove max impedance limit for lineout detection
Max limit of 60k ohms was set for cable to be detected as lineout
to fix headset detected as lineout issue on legacy targets.
This was because of large impedance detected for headset.
This is not applicable for adc based targets as headset is
detected based on mic adc voltage. Remove max impedance limit for
lineout detection.

Change-Id: If73bbe2cd78d04d1fcb359a3e5ed5cd69f3ab9f0
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2019-09-11 00:11:55 -07:00
Sudheer Papothi
124ec09342 ASoC: msm-cdc-pinctrl: Add support to control wakeup capable gpios
Some clock and data gpios are also treated as wakeup source capable
interrupts. Add support to control the wakeup capability based on
the usecase.

Change-Id: I32a12f004afbf04f82e40be62747b0af8836be82
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2019-08-07 06:18:00 +05:30
Karthikeyan Mani
b9d7807f4e asoc: codecs: Change TX tuning and reduce RX click and pop
Update TX requantizer gain coefficients to center
gain errors around zero. To reduce click and pop
on audio playback enable reference buffers of
headphone path in hifi mode and then put it to
the usecase specific power mode.

Change-Id: I0013d6258d5e5a8c92fd0f951d1d89e5906b2faf
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2019-06-27 17:01:46 -07:00
qctecmdr
45b4733d63 Merge "asoc: codecs: defer probe if soundwire pin is not ready" 2019-06-17 20:25:32 -07:00
Karthikeyan Mani
326536d1d6 asoc: codecs: defer probe if soundwire pin is not ready
Defer codec macro probes if soundwire pins are not
ready to be accessed yet during boot up.

Change-Id: I20173e49043a076d73cdbb811863afbff87d4a3b
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2019-06-11 17:48:35 -07:00
Karthikeyan Mani
7f609a3ca0 asoc: codecs: Add support for class ab low power modes
Add codec enable and disable sequences for class ab
low power modes.

Change-Id: If5b54075985c2d4d1a24423c03e78bee119862bc
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2019-06-11 17:47:21 -07:00
Karthikeyan Mani
090de46cad asoc: codecs: Add inline keyword to all stub functions
Add inline keyword to stub functions to compile them
inline when the corresponding feature config is disabled.

Change-Id: I933d508fc0fd5c2ad8daa26be7d39eea2a3434b9
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2019-05-16 10:54:47 -07:00
qctecmdr
b418f419b0 Merge "ASoC: wcd-mbhc: correct special headset detection logic" 2019-04-30 11:07:14 -07:00
Mangesh Kunchamwar
7f6fc83bc9 asoc: codecs: enable dynamic RX & TX supplies for WCD9335
Enable and vote RX and TX supplies dynamically during respective
usecases.

Change-Id: I671c14b34ce0325e102d94083905329d473d4a78
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
Signed-off-by: Surendar Karka <skarka@codeaurora.org>
2019-04-25 09:52:56 +08:00
Meng Wang
37621b06ee ASoC: wcd-mbhc: correct special headset detection logic
When detecting special headset, vref for special headset is
set based on headset threshold reference 1800mv or based on
regular micbias settings from device tree. Scale threshold
reference as per the special headset micbias voltage.

Change-Id: Ic4cc24e18efeb420b53a2154707c9399eb886181
Signed-off-by: Meng Wang <mwang@codeaurora.org>
2019-04-16 13:21:42 +08:00
Laxminath Kasam
f16ed2f6c2 asoc: wcd938x: Disable EN_CUR_DET bit for receiver noise
Disable EN_CUR_DET to fix receiver noise as per hardware
specifications recommendation.

Change-Id: Ib1ea1eecc3e0f2ffeeb5f41c344e51c903cd2300
Signed-off-by: Ramprasad Katkam <katkam@codeaurora.org>
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-03-20 08:26:12 +08:00
Karthikeyan Mani
1efdee5fd5 asoc: codecs: make cdc pinctrl common to all core objects
cdc pinctrl needs to be loaded for both v1 and v2 wcd
core objects.

Change-Id: I4742e96b54bbd481583a6d12fd32fddb63216077
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2019-02-14 00:33:06 -08:00
Meng Wang
b0e04799e4 ASoC: config: add config to compile audio drivers for kona
Add config to compile audio drivers for kona.

Change-Id: I3367a68d0109c80de8525fd74ebaef2959684865
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2018-12-21 12:19:44 +08:00
Meng Wang
11a25cf657 asoc: update relative header files
Move all relative header files to include folder.

Change-Id: Ic61a61a88823b4749dbe8c1f680d08201a3b4a48
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2018-12-18 10:50:27 +08:00