ASoC: WCD9310: Add Active Noise Cancellation support
ANC is a feature which reduces noise on the near-end
by pushing anti-noise onto the audio stream heard
by the user. ANC mixes the anti-noise signal
inside of the WCD9310 codec.
Signed-off-by: Brad Rubin <brubin@codeaurora.org>
diff --git a/sound/soc/codecs/wcd9310-tables.c b/sound/soc/codecs/wcd9310-tables.c
index bc6bf4f..98a5139 100644
--- a/sound/soc/codecs/wcd9310-tables.c
+++ b/sound/soc/codecs/wcd9310-tables.c
@@ -247,6 +247,18 @@
[TABLA_A_CONFIG_MODE_TEST] = 1,
[TABLA_A_CONFIG_MODE_STATUS] = 1,
[TABLA_A_CONFIG_MODE_TUNER] = 1,
+ [TABLA_A_CDC_ANC1_CTL] = 1,
+ [TABLA_A_CDC_ANC1_SHIFT] = 1,
+ [TABLA_A_CDC_ANC1_FILT1_B1_CTL] = 1,
+ [TABLA_A_CDC_ANC1_FILT1_B2_CTL] = 1,
+ [TABLA_A_CDC_ANC1_FILT1_B3_CTL] = 1,
+ [TABLA_A_CDC_ANC1_FILT1_B4_CTL] = 1,
+ [TABLA_A_CDC_ANC1_FILT2_B1_CTL] = 1,
+ [TABLA_A_CDC_ANC1_FILT2_B2_CTL] = 1,
+ [TABLA_A_CDC_ANC1_FILT2_B3_CTL] = 1,
+ [TABLA_A_CDC_ANC1_SPARE] = 1,
+ [TABLA_A_CDC_ANC1_FILT3_CTL] = 1,
+ [TABLA_A_CDC_ANC1_FILT4_CTL] = 1,
[TABLA_A_CDC_TX1_VOL_CTL_TIMER] = 1,
[TABLA_A_CDC_TX2_VOL_CTL_TIMER] = 1,
[TABLA_A_CDC_TX3_VOL_CTL_TIMER] = 1,
@@ -367,6 +379,7 @@
[TABLA_A_CDC_RX5_VOL_CTL_B2_CTL] = 1,
[TABLA_A_CDC_RX6_VOL_CTL_B2_CTL] = 1,
[TABLA_A_CDC_RX7_VOL_CTL_B2_CTL] = 1,
+ [TABLA_A_CDC_CLK_ANC_RESET_CTL] = 1,
[TABLA_A_CDC_CLK_RX_RESET_CTL] = 1,
[TABLA_A_CDC_CLK_TX_RESET_B1_CTL] = 1,
[TABLA_A_CDC_CLK_TX_RESET_B2_CTL] = 1,
@@ -378,6 +391,7 @@
[TABLA_A_CDC_CLK_TX_CLK_EN_B2_CTL] = 1,
[TABLA_A_CDC_CLK_OTHR_CTL] = 1,
[TABLA_A_CDC_CLK_RDAC_CLK_EN_CTL] = 1,
+ [TABLA_A_CDC_CLK_ANC_CLK_EN_CTL] = 1,
[TABLA_A_CDC_CLK_RX_B1_CTL] = 1,
[TABLA_A_CDC_CLK_RX_B2_CTL] = 1,
[TABLA_A_CDC_CLK_MCLK_CTL] = 1,
@@ -445,6 +459,8 @@
[TABLA_A_CDC_CONN_RX6_B2_CTL] = 1,
[TABLA_A_CDC_CONN_RX7_B1_CTL] = 1,
[TABLA_A_CDC_CONN_RX7_B2_CTL] = 1,
+ [TABLA_A_CDC_CONN_ANC_B1_CTL] = 1,
+ [TABLA_A_CDC_CONN_ANC_B2_CTL] = 1,
[TABLA_A_CDC_CONN_TX_B1_CTL] = 1,
[TABLA_A_CDC_CONN_TX_B2_CTL] = 1,
[TABLA_A_CDC_CONN_TX_B3_CTL] = 1,
@@ -746,6 +762,18 @@
[TABLA_A_CONFIG_MODE_TEST] = TABLA_A_CONFIG_MODE_TEST__POR,
[TABLA_A_CONFIG_MODE_STATUS] = TABLA_A_CONFIG_MODE_STATUS__POR,
[TABLA_A_CONFIG_MODE_TUNER] = TABLA_A_CONFIG_MODE_TUNER__POR,
+ [TABLA_A_CDC_ANC1_CTL] = TABLA_A_CDC_ANC1_CTL__POR,
+ [TABLA_A_CDC_ANC1_SHIFT] = TABLA_A_CDC_ANC1_SHIFT__POR,
+ [TABLA_A_CDC_ANC1_FILT1_B1_CTL] = TABLA_A_CDC_ANC1_FILT1_B1_CTL__POR,
+ [TABLA_A_CDC_ANC1_FILT1_B2_CTL] = TABLA_A_CDC_ANC1_FILT1_B2_CTL__POR,
+ [TABLA_A_CDC_ANC1_FILT1_B3_CTL] = TABLA_A_CDC_ANC1_FILT1_B3_CTL__POR,
+ [TABLA_A_CDC_ANC1_FILT1_B4_CTL] = TABLA_A_CDC_ANC1_FILT1_B4_CTL__POR,
+ [TABLA_A_CDC_ANC1_FILT2_B1_CTL] = TABLA_A_CDC_ANC1_FILT2_B1_CTL__POR,
+ [TABLA_A_CDC_ANC1_FILT2_B2_CTL] = TABLA_A_CDC_ANC1_FILT2_B2_CTL__POR,
+ [TABLA_A_CDC_ANC1_FILT2_B3_CTL] = TABLA_A_CDC_ANC1_FILT2_B3_CTL__POR,
+ [TABLA_A_CDC_ANC1_SPARE] = TABLA_A_CDC_ANC1_SPARE__POR,
+ [TABLA_A_CDC_ANC1_FILT3_CTL] = TABLA_A_CDC_ANC1_FILT3_CTL__POR,
+ [TABLA_A_CDC_ANC1_FILT4_CTL] = TABLA_A_CDC_ANC1_FILT4_CTL__POR,
[TABLA_A_CDC_TX1_VOL_CTL_TIMER] = TABLA_A_CDC_TX1_VOL_CTL_TIMER__POR,
[TABLA_A_CDC_TX2_VOL_CTL_TIMER] = TABLA_A_CDC_TX2_VOL_CTL_TIMER__POR,
[TABLA_A_CDC_TX3_VOL_CTL_TIMER] = TABLA_A_CDC_TX3_VOL_CTL_TIMER__POR,
@@ -867,6 +895,7 @@
[TABLA_A_CDC_RX6_VOL_CTL_B2_CTL] = TABLA_A_CDC_RX6_VOL_CTL_B2_CTL__POR,
[TABLA_A_CDC_RX7_VOL_CTL_B2_CTL] = TABLA_A_CDC_RX7_VOL_CTL_B2_CTL__POR,
[TABLA_A_CDC_CLK_RX_RESET_CTL] = TABLA_A_CDC_CLK_RX_RESET_CTL__POR,
+ [TABLA_A_CDC_CLK_ANC_RESET_CTL] = TABLA_A_CDC_CLK_ANC_RESET_CTL__POR,
[TABLA_A_CDC_CLK_TX_RESET_B1_CTL] =
TABLA_A_CDC_CLK_TX_RESET_B1_CTL__POR,
[TABLA_A_CDC_CLK_TX_RESET_B2_CTL] =
@@ -882,6 +911,7 @@
[TABLA_A_CDC_CLK_OTHR_CTL] = TABLA_A_CDC_CLK_OTHR_CTL__POR,
[TABLA_A_CDC_CLK_RDAC_CLK_EN_CTL] =
TABLA_A_CDC_CLK_RDAC_CLK_EN_CTL__POR,
+ [TABLA_A_CDC_CLK_ANC_CLK_EN_CTL] = TABLA_A_CDC_CLK_ANC_CLK_EN_CTL__POR,
[TABLA_A_CDC_CLK_RX_B1_CTL] = TABLA_A_CDC_CLK_RX_B1_CTL__POR,
[TABLA_A_CDC_CLK_RX_B2_CTL] = TABLA_A_CDC_CLK_RX_B2_CTL__POR,
[TABLA_A_CDC_CLK_MCLK_CTL] = TABLA_A_CDC_CLK_MCLK_CTL__POR,
@@ -956,6 +986,8 @@
[TABLA_A_CDC_CONN_RX6_B2_CTL] = TABLA_A_CDC_CONN_RX6_B2_CTL__POR,
[TABLA_A_CDC_CONN_RX7_B1_CTL] = TABLA_A_CDC_CONN_RX7_B1_CTL__POR,
[TABLA_A_CDC_CONN_RX7_B2_CTL] = TABLA_A_CDC_CONN_RX7_B2_CTL__POR,
+ [TABLA_A_CDC_CONN_ANC_B1_CTL] = TABLA_A_CDC_CONN_ANC_B1_CTL__POR,
+ [TABLA_A_CDC_CONN_ANC_B2_CTL] = TABLA_A_CDC_CONN_ANC_B2_CTL__POR,
[TABLA_A_CDC_CONN_TX_B1_CTL] = TABLA_A_CDC_CONN_TX_B1_CTL__POR,
[TABLA_A_CDC_CONN_TX_B2_CTL] = TABLA_A_CDC_CONN_TX_B2_CTL__POR,
[TABLA_A_CDC_CONN_TX_B3_CTL] = TABLA_A_CDC_CONN_TX_B3_CTL__POR,