Add support back for wsa analog codec driver files.
Change-Id: I7ef6ad050b068ec8c0f0275089d670c92234686d
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
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>
TX clock is needed for setting up or tearing down
VA path. while voting and unvoting for TX clock,
keep track of the votes to unvote only if it was
voted from VA widgets.
Change-Id: Ia013517ed8d932ed3a5242bb7d052c1ee314fdbe
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
Observe pop if FS clock is turned on at end of
powerup sequence. Ensure WSA PA is turned on
after FS clock to avoid pop.
Change-Id: Ic1214d361e77db252b7a90a89fc99c69f51e270b
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
Register for a callback for ssr notification
and turn off PA at pre-ssr to protect speaker
from any turning off damage during ssr.
Change-Id: I286d9bdcbcba9561424a8f0d4a1e99a8492caf08
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
Audio mute is observed if record is started as soon as headset
is inserted. This is because hold time after button release is set
as 800ms causing the delay. Change hold time to 200ms to fix this issue.
Change-Id: I98028fca3412a3d47ad8e5154f25ff1726426955
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
soundwire tx data gpio is wakeup source capable. Disable the
interrupt capable during voice activation usecase to let the
device enter into power collapse during voice activation usecase
on headset.
Change-Id: I64a0b5da249dd3da37310fb80909a0ac5fefae54
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
Use proper dev handle in print to avoid compile error.
Change-Id: Ieca116199ec4c86f2ee8c1698285fff0ecababbf
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
Under same pinctrl node, there are multiple gpios that
require MPM wakeup to be disabled. Update driver logic
to support disable of multiple gpios under same node.
Change-Id: I3a07e5d7621da4cd03b46d96ca5cec18958f1ebd
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
Update init registers for tx and rx paths in an array.
Change-Id: I2738af7639ffec05b5c93e86a2a3f4cf7ccb36fe
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
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>
Add callback to vote for core votes that the
soundwire master can use while doing a clock request.
Check for pinctrl function errors and in case of any
failures return from clock enable with an error.
Change-Id: Ic5c200d7179a1e3a9695955d8711358cd7618bd1
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
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>
RX_CDC_DMA_RX0/1/2/3 ports drives RX0/RX1, RX2/RX3, RX4 and RX5
channels on bolero rx-macro. Update channel mask
as per these mapping and return to channel map
accordingly.
Change-Id: I2e66e601b5137ebc513527827332bbb7cde0acb3
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
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>
when get_audio_edid_blk is NULL, msm_ext_disp_edid_ctl_info
returns error value. And it would cause tinymix doesn't have
full mix cmd list. Return 0 instead to avoid such issue.
Change-Id: Ic13067483b373fa4a81b663ece3d3e4a18ea8a87
Signed-off-by: Meng Wang <mengw@codeaurora.org>
Left and right channel content can get swapped
in new cdc_dma interface.
DMA interfaces underrun results in Channels being swapped.
This issue is a side effect current SW setup for RX path:
1. HLOS Setup WCD Analog Path, Bolero CODEC.
CODEC would drive Fs to LPASS DMAs requesting for PCM samples.
2. DSP setup RX Buffers in Memory :
3. DSP Configures RD DMAs and DMA RXTX CODEC interface
(Enable CODEC DMA interface buffer and
Enable DMA LPASS_RXTX_LPAIF_RDDMA_CTL0.ENABLE
and LPASS_RXTX_LPAIF_RDDMA_CODEC_INTF0.ENABLE
If CODEC Fs, aligns with DMA interface being enabled
there is an underrun as DMA interface pingpong buffer is empty.
This results in channels being swapped.
Proposed work around while keeping current SW setup order.
Provide a workaround to Keep Fs disabled until DMAs and
CODEC DMA interface are enabled and HW could prefetch all buffers.
SW would keep existing setup order:
1. HLOS Setup WCD Analog Path, Bolero CODEC.
CODEC would drive Fs to LPASS DMAs requesting for PCM samples.
2. DSP setup RX Buffers in Memory :
3. DSP Configures DMAs and DMA CODEC interface
(Enable CODEC DMA interface buffer and
Enable DMA LPASS_RXTX_LPAIF_RDDMA_CTL0.ENABLE
and LPASS_RXTX_LPAIF_RDDMA_CODEC_INTF0.ENABLE)
4. Enable Fs Set #LPASS_RX_CDC_RX0_RX_PATH_CTL. CLK_EN to ONE
Change-Id: I7916667f5d857464cc7d77b51da307ab234cc7bb
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
Provide pre-emphasis status in sysfs node that was received in
channel status bits.
Change-Id: Ice6f69806c993e2235b5ecb89dfc4028c03e02b8
Signed-off-by: Ralf Herz <rherz@codeaurora.org>
Only trigger periodic I2C telegrams when EP92 is in logical power on state.
Rely on EP92 interrupt to notice state change when in power off state.
Fix arc_enable write operation.
Change-Id: Id36f90379280ca5c60984e2ed507844418a612d7
Signed-off-by: Ralf Herz <rherz@codeaurora.org>