Commit 5f1516d5 authored by John Hsu's avatar John Hsu Committed by Mark Brown

ASoC: nau8825: disable sinc filter for high THD of ADC

This bit will enable 4th order SINC filter.
=1, filter will enable;  but it consumes higher power.
=0, the sinc filter is disable, and it should always keep 0 value to
get high THD.

Therefor, disable the filter when codec initiation for better
performance when recording.
Signed-off-by: default avatarJohn Hsu <KCHSU0@nuvoton.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 2263fddc
...@@ -1846,7 +1846,8 @@ static void nau8825_init_regs(struct nau8825 *nau8825) ...@@ -1846,7 +1846,8 @@ static void nau8825_init_regs(struct nau8825 *nau8825)
* (audible hiss). Set it to something better. * (audible hiss). Set it to something better.
*/ */
regmap_update_bits(regmap, NAU8825_REG_ADC_RATE, regmap_update_bits(regmap, NAU8825_REG_ADC_RATE,
NAU8825_ADC_SYNC_DOWN_MASK, NAU8825_ADC_SYNC_DOWN_64); NAU8825_ADC_SYNC_DOWN_MASK | NAU8825_ADC_SINC4_EN,
NAU8825_ADC_SYNC_DOWN_64);
regmap_update_bits(regmap, NAU8825_REG_DAC_CTRL1, regmap_update_bits(regmap, NAU8825_REG_DAC_CTRL1,
NAU8825_DAC_OVERSAMPLE_MASK, NAU8825_DAC_OVERSAMPLE_64); NAU8825_DAC_OVERSAMPLE_MASK, NAU8825_DAC_OVERSAMPLE_64);
/* Disable DACR/L power */ /* Disable DACR/L power */
......
...@@ -269,6 +269,8 @@ ...@@ -269,6 +269,8 @@
#define NAU8825_BIQ_PATH_DAC (1 << NAU8825_BIQ_PATH_SFT) #define NAU8825_BIQ_PATH_DAC (1 << NAU8825_BIQ_PATH_SFT)
/* ADC_RATE (0x2b) */ /* ADC_RATE (0x2b) */
#define NAU8825_ADC_SINC4_SFT 4
#define NAU8825_ADC_SINC4_EN (1 << NAU8825_ADC_SINC4_SFT)
#define NAU8825_ADC_SYNC_DOWN_SFT 0 #define NAU8825_ADC_SYNC_DOWN_SFT 0
#define NAU8825_ADC_SYNC_DOWN_MASK 0x3 #define NAU8825_ADC_SYNC_DOWN_MASK 0x3
#define NAU8825_ADC_SYNC_DOWN_32 0 #define NAU8825_ADC_SYNC_DOWN_32 0
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment