ASoC: wcd9304: Fix IIR filter controls

Add IIR2 filter interface for the wcd9304 codec.
Control the two 5 band IIR filters in the audio
codec through mixer controls. Enable individual
IIR filter bands and set band coefficients.

Change the IIR filter code to use snd_soc_write
instead of snd_soc_update_bits. If update bits
is used the IIR registers may not be correctly
updated.

Change-Id: I92fc147641e9eb270d8176f20445371fe5cc2f92
Signed-off-by: Asish Bhattacharya <asishb@codeaurora.org>
This commit is contained in:
Asish Bhattacharya
2012-05-28 12:49:01 +05:30
committed by Stephen Boyd
parent 8206642497
commit 29f60b149b
3 changed files with 94 additions and 14 deletions

View File

@@ -590,6 +590,36 @@
#define SITAR_A_CDC_IIR1_COEF_B4_CTL__POR (0x00000000)
#define SITAR_A_CDC_IIR1_COEF_B5_CTL (0x34E)
#define SITAR_A_CDC_IIR1_COEF_B5_CTL__POR (0x00000000)
#define SITAR_A_CDC_IIR2_GAIN_B1_CTL (0x350)
#define SITAR_A_CDC_IIR2_GAIN_B1_CTL__POR (0x00000000)
#define SITAR_A_CDC_IIR2_GAIN_B2_CTL (0x351)
#define SITAR_A_CDC_IIR2_GAIN_B2_CTL__POR (0x00000000)
#define SITAR_A_CDC_IIR2_GAIN_B3_CTL (0x352)
#define SITAR_A_CDC_IIR2_GAIN_B3_CTL__POR (0x00000000)
#define SITAR_A_CDC_IIR2_GAIN_B4_CTL (0x353)
#define SITAR_A_CDC_IIR2_GAIN_B4_CTL__POR (0x00000000)
#define SITAR_A_CDC_IIR2_GAIN_B5_CTL (0x354)
#define SITAR_A_CDC_IIR2_GAIN_B5_CTL__POR (0x00000000)
#define SITAR_A_CDC_IIR2_GAIN_B6_CTL (0x355)
#define SITAR_A_CDC_IIR2_GAIN_B6_CTL__POR (0x00000000)
#define SITAR_A_CDC_IIR2_GAIN_B7_CTL (0x356)
#define SITAR_A_CDC_IIR2_GAIN_B7_CTL__POR (0x00000000)
#define SITAR_A_CDC_IIR2_GAIN_B8_CTL (0x357)
#define SITAR_A_CDC_IIR2_GAIN_B8_CTL__POR (0x00000000)
#define SITAR_A_CDC_IIR2_CTL (0x358)
#define SITAR_A_CDC_IIR2_CTL__POR (0x00000040)
#define SITAR_A_CDC_IIR2_GAIN_TIMER_CTL (0x359)
#define SITAR_A_CDC_IIR2_GAIN_TIMER_CTL__POR (0x00000000)
#define SITAR_A_CDC_IIR2_COEF_B1_CTL (0x35A)
#define SITAR_A_CDC_IIR2_COEF_B1_CTL__POR (0x00000000)
#define SITAR_A_CDC_IIR2_COEF_B2_CTL (0x35B)
#define SITAR_A_CDC_IIR2_COEF_B2_CTL__POR (0x00000000)
#define SITAR_A_CDC_IIR2_COEF_B3_CTL (0x35C)
#define SITAR_A_CDC_IIR2_COEF_B3_CTL__POR (0x00000000)
#define SITAR_A_CDC_IIR2_COEF_B4_CTL (0x35D)
#define SITAR_A_CDC_IIR2_COEF_B4_CTL__POR (0x00000000)
#define SITAR_A_CDC_IIR2_COEF_B5_CTL (0x35E)
#define SITAR_A_CDC_IIR2_COEF_B5_CTL__POR (0x00000000)
#define SITAR_A_CDC_TOP_GAIN_UPDATE (0x360)
#define SITAR_A_CDC_TOP_GAIN_UPDATE__POR (0x00000000)
#define SITAR_A_CDC_TOP_RDAC_DOUT_CTL (0x361)