Commit Graph

70 Commits

Author SHA1 Message Date
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
19fa6defdc asoc: update kernel version for kona
Update kernel version for kona.

Change-Id: I490832f0a62f8f1b5cfe6fc6134e22cc5d8ae583
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2018-12-20 12:36:53 +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
Ramprasad Katkam
b6dda1e6be asoc: wcd937x: use swr device wakeup api
Use device wakeup api exposed by soundwire to
vote and unvote for soundwire master for mbhc
operations.

Change-Id: Id83c8d3fb2eb351133790f69af56e4981bcac543
Signed-off-by: Ramprasad Katkam <katkam@codeaurora.org>
2018-12-11 13:40:57 +08:00
Meng Wang
43bbb87652 asoc: Update file header to GPL-2.0-only
Update file header to GPL-2.0-only.

Change-Id: Ic1542a3209a5fe73c937a5b36491ede4a451936d
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2018-12-10 14:49:34 +08:00
Meng Wang
15c825d077 ASoC: codec: Update codec driver to component driver
Some alsa API are removed in kernel-4.19 which would cause
codec driver compile failure. Update codec driver to fix it.

Change-Id: Ie358ec1863082166958059c179300b453d2a03ad
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2018-12-08 03:15:55 -08:00
Meng Wang
61af6849e9 ASoC: switch audio drivers to SPDX identifier
Switch audio drivers to SPDX identifier on msm-4.19.

Change-Id: Ic3f0230a516db251b8d81e8a7e73dbc04d66fe1b
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2018-12-07 15:47:32 +08:00
Meng Wang
d6107d0bbe asoc: clean up audio drivers and remove unused files
Clean up audio drivers and remove unused files.

Change-Id: I50559ac3c5f4a1f4336e4480cd3ff235d015441e
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2018-12-06 15:04:09 +08:00
Linux Build Service Account
164fffc986 Merge "asoc: codecs: wcd937x: Optimize HPH PA delays" 2018-11-22 20:08:59 -08:00
Linux Build Service Account
3e440a8895 Merge "wcd937x: Use MICBIAS2 instead of MICBIAS1 for MICB2_VOUT" 2018-11-22 20:08:57 -08:00
Laxminath Kasam
7c8ff05871 asoc: codecs: wcd937x: Optimize HPH PA delays
On headphone path, cold start output latency
is not met. Optimize delays during HPH DAC
and PA paths.

CRs-Fixed: 2338278
Change-Id: If96975d664fc655a4ac38a9d6ed88b6af61adfdf
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2018-11-21 14:41:00 +05:30
Laxminath Kasam
35849ccf24 asoc: codecs: Fix CnP on HPH turnon and turnoff
On headphone(HPH) path, CnP spec is not met.
Handle sequences for bolero and tanggu codecs
as per HW sequences. Disable vdd_buck during
system suspend when no usecase is active.

CRs-Fixed: 2343436
Change-Id: I62f89d829715f07885a97531fdcb2cc3ca0822ef
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2018-11-21 14:40:00 +05:30
Linux Build Service Account
3a0e91bf0c Merge "ASoC: wcd937x: Fix pop after PDR" 2018-11-20 19:53:17 -08:00
Linux Build Service Account
aea561ec79 Merge "asoc: wcd937x: Handle button press before release interrupt" 2018-11-20 19:53:15 -08:00
Vatsal Bucha
2a7cbe473a wcd937x: Use MICBIAS2 instead of MICBIAS1 for MICB2_VOUT
MICBIAS1 is mapped to MICB2_VOUT. Replace it with
MICBIAS2 as MICBIAS2 is used for mbhc detect.

Change-Id: I23bade728f0c5b9de75d78ccb70e57d74f01adbb
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2018-11-19 22:03:16 -08:00
Vatsal Bucha
79da9fb84a ASoC: wcd937x: Fix pop after PDR
Pop is heard after PDR is triggered. This is
because while device down PA is still on.
Disable PA before SSR device down to prevent pop.

Change-Id: I6bfe3e731bdf60fba8fee90ab39c03a0512006ce
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2018-11-19 14:41:52 +05:30
Vatsal Bucha
204f59cd14 ASoC: wcd937x: Enable hph OCP
Update registers to enable OCP for HPHL and HPHR.

CRs-Fixed: 2321013
Change-Id: I51a872981ee2dc435757152b9122067944d13924
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2018-11-15 04:32:14 -08:00
Ramprasad Katkam
0730ecfaa0 asoc: wcd937x: Handle button press before release interrupt
If button press and release interrupts occur at same time
processing button release first would treat the button event
as fake, as it is not preceeded with press event. Hence
process button press before button release in irq driver.

Change-Id: I9413def87537502c470236a3948a21be47c479bc
Signed-off-by: Ramprasad Katkam <katkam@codeaurora.org>
2018-11-14 11:48:09 +05:30
Laxminath Kasam
7adc34e496 asoc: codecs: Add new class-H driver for wcd937x
Add new class-H driver with sequences to support
both class-H and class-AB modes on wcd937x variants.

Change-Id: Ie109f3d951af1e8a0079dd39ab2fe1e9883bd6c2
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2018-11-13 13:15:59 +05:30
Laxminath Kasam
838f0b885f asoc: wcd937x: move export functions to new header
For export functions from wcd937x use separate
header as internal header is only supposed to be
used within wcd937x driver logic.

Change-Id: Ice373ff95f7166a2f968458b25223c582edc7fba
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2018-11-12 21:49:59 +05:30
Linux Build Service Account
408ba7c759 Merge "asoc: wcd937x: disable TX CH2 after power down" 2018-11-05 21:39:05 -08:00
Xiaojun Sang
80eb5ddfdd asoc: wcd937x: disable TX CH2 after power down
TX channel2 is not disabled after power down. It leads to
noise at the beginning of next recording on CH2.
Disable it after power down.

Change-Id: If12a84df52b9c8cd55de2bdcb91f950b054898b8
Signed-off-by: Xiaojun Sang <xsang@codeaurora.org>
2018-11-02 12:42:50 +08:00
Hari Veerubhotla
dcab67c504 Initial Android target definition for trinket.
Change-Id: Ib55a9013b0fa5bcda0e5d2d17d1741e607a9c9b5
2018-10-31 02:40:21 -07:00
Linux Build Service Account
f79c5c1f41 Merge "asoc: codecs: Add proper NULL checks and initialize variables" 2018-10-25 03:13:39 -07:00
Tanya Dixit
ab8eba8711 asoc: codecs: Add proper NULL checks and initialize variables
Add null checks and initialize unintialized variables in
wsa macro, wcd937x and wcd937x_slave drivers.

CRs-Fixed: 2328286
Change-Id: I76b8d262e42d2b06ece3a6ecba28ed26b13d4447
Signed-off-by: Tanya Dixit <tdixit@codeaurora.org>
2018-10-22 15:06:48 +05:30
Ramprasad Katkam
e23066df2a asoc: wcd937x: initialize micb lock mutex
Micb lock which is used to synchronize micbias
control api is not initialized causing spin lock
errors. Initialize the mutex to avoid the issue.

Change-Id: I580e52e1bd225c2d99bfba4657d80670296709a0
Signed-off-by: Ramprasad Katkam <katkam@codeaurora.org>
2018-10-17 15:58:23 +05:30
Linux Build Service Account
a8be987232 Merge "asoc: wcd937x: Reset mbhc detection type after ssr" 2018-10-08 23:04:40 -07:00
Linux Build Service Account
ce49ef9363 Merge "asoc: wcd937x: Make vdd-buck as on-demand supply" 2018-10-08 23:04:34 -07:00
Linux Build Service Account
516aa8be7c Merge "asoc: wcd937x: Fix pop on headphone playback start" 2018-10-08 23:04:31 -07:00
Linux Build Service Account
3bd2246b42 Merge "asoc: wcd937x: update access for wcd937x registers" 2018-10-07 21:19:46 -07:00
Laxminath Kasam
248273c949 asoc: wcd937x: Fix pop on headphone playback start
Pop is observed on HPH playback start. Enable SWR port
config setup before HPH PA enable.

Change-Id: I2253be1c7e4d8df2bffd7bd0396ceb72a5018637
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2018-10-05 22:14:05 +05:30
Tanya Dixit
6c13f05fb4 asoc: wcd937x: Make vdd-buck as on-demand supply
Add widget and routing support for vdd-buck supply
as dynamic for all rx usecases.

Change-Id: I1e67e7e950e33a0d98900ee0b20e0dc818a7936d
Signed-off-by: Tanya Dixit <tdixit@codeaurora.org>
2018-10-05 18:36:18 +05:30
Linux Build Service Account
3933347f55 Merge "asoc: codecs: add ignore suspend for bolero and wcd937x widgets" 2018-10-04 07:46:54 -07:00
Ramprasad Katkam
c49a9d541d asoc: wcd937x: Reset mbhc detection type after ssr
If headset is connected during SSR, after recovery mbhc
driver expects a new detection event as the driver is reinitialized.
Reset detection type to insertion to retrigger a hw interrupt
for mbhc driver.

Change-Id: I55705eb6b6a289deb5dc16a4b9ef6252082a3d9a
Signed-off-by: Ramprasad Katkam <katkam@codeaurora.org>
2018-10-04 20:09:17 +05:30
Laxminath Kasam
cf0c63d564 asoc: wcd937x: update access for wcd937x registers
Remove page registers from access table. Update
read/write access for registers as per HW spec.

Change-Id: I8c32b79e4f0d4e378df5c83f3934c68f6c72385f
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2018-10-03 15:15:04 +05:30
Ramprasad Katkam
55ec68ca3c asoc: wcd937x: clear interrupts using regmap irq framework
Add proper way to clear interrupts using regmap irq framework,
to avoid mismatch between interrupts handled and interrupts
cleared. wcd937x requires writing '1' and then '0' to clear
interrupt. Set a new regmap irq flag 'clear_ack' to indicate this.

Change-Id: I1346dc66735d3b5788e1cc0cfef772c9deacbfc1
Signed-off-by: Ramprasad Katkam <katkam@codeaurora.org>
2018-10-01 11:38:23 +05:30
Laxminath Kasam
638b56027e asoc: codecs: add ignore suspend for bolero and wcd937x widgets
Update ignore suspend for AIF in/out and dapm input/output
widgets for bolero and wcd937x codecs to avoid suspend
of codec during active usecase running even after APSS
goes to suspend.

CRs-Fixed: 2321226
Change-Id: I277129e8e657485c56414a385150c4da55382770
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2018-10-01 11:31:22 +05:30
Laxminath Kasam
1aab2c064a asoc: wcd937x: add SSR changes for wcd937x codec driver
Add changes to recover audio after SSR on wcd937x driver.

Change-Id: I661605e9b1bd71f08f331d14ae52f89ba8423d4f
Signed-off-by: Rohit kumar <rohitkr@codeaurora.org>
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2018-09-25 11:59:29 +05:30
Laxminath Kasam
497a651ef8 asoc: codecs: Add parent child relation for bolero and tanggu
In bolero and tanggu combination, make bolero parent of tanggu.
Bolero and tanggu can communicate mutually using notifier and
plat_data callback APIs.

Change-Id: Iecd119df7f0ad1ba225c0427f3f42f217146b092
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2018-09-25 11:31:37 +05:30
Linux Build Service Account
53f339b53b Merge "asoc: codecs: Add proper null checks and initialize variables" 2018-09-24 19:22:03 -07:00
Linux Build Service Account
1562ec4f76 Merge "asoc: wcd937x: add support for disable HPH compander" 2018-09-21 08:30:40 -07:00
Linux Build Service Account
884e5ee2e5 Merge "ASoC: wcd937x: Reduce latency in case of impedance detection" 2018-09-19 22:52:46 -07:00
Laxminath Kasam
33367f849a asoc: wcd937x: add support for disable HPH compander
On wcd937x, add controls for HPH compander.
Handle sequences for headphone path based on
compander enabled or disabled.

Change-Id: I2ebdd03a4f79dc6156327d0613fab2f26710393f
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2018-09-18 20:55:25 +05:30
Linux Build Service Account
24eb5b4c0b Merge "ASoC: wcd937x: Add alias for in2p clamp register" 2018-09-17 20:47:31 -07:00
Vatsal Bucha
34b5181903 ASoC: wcd937x: Reduce latency in case of impedance detection
Bulk read api does not work properly for swr regmap,
causing failure/delay in impedance detection.
Use regmap read api to avoid the issue.

CRs-Fixed: 2301798
Change-Id: I5727cfcb7846f40f5b0f75b7976b492e2a2bfde0
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2018-09-17 19:20:54 +05:30
Tanya Dixit
8530fb9b5d asoc: codecs: Add proper null checks and initialize variables
Add proper null checks and initialize variables
in rx-macro, tx-macro, va-macro and wcd937x drivers.

Change-Id: I90899c84d3391305b9a24d4b043adc08b7c0332a
Signed-off-by: Tanya Dixit <tdixit@codeaurora.org>
2018-09-17 06:25:33 -07:00
Vatsal Bucha
9bdadace52 ASoC: wcd937x: Add alias for in2p clamp register
Add alias for in2p clamp register to check in2p
clamp state in insertion irq and ignore the interrupt
if the clamp is already set.

Change-Id: Ibd4ff2cef8690894a01072e74ce130f824656f5d
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2018-09-10 15:24:00 +05:30
Linux Build Service Account
93ce3defb5 Merge "asoc: wcd937x: set default power level as ULP for wcd937x headphones" 2018-09-05 04:55:01 -07:00
Linux Build Service Account
c9d7f26700 Merge "ASoC: wcd937x: Add fix to enable button detection" 2018-09-04 09:41:55 -07:00
Linux Build Service Account
a69dbed411 Merge "asoc: wcd937x: fix wcd9375 widgets override issue" 2018-09-04 06:17:53 -07:00