From: Dylan Reid Date: Tue, 7 Aug 2012 16:08:49 +0000 (-0700) Subject: CHROMIUM: ALSA: ASoC: max98095 0 Add built in EQ for 44.1k and 48k. X-Git-Url: http://git.cascardo.eti.br/?a=commitdiff_plain;h=b5d52a499b5b443e43c614af59fec1536cb973bb;p=cascardo%2Flinux.git CHROMIUM: ALSA: ASoC: max98095 0 Add built in EQ for 44.1k and 48k. EQ setting supplied by Maxim after tuning a snow PVT device. We need to move this to device tree eventually, but Samsung says it is important for speaker protection to get it in right away. BUG=chrome-os-partner:12039 TEST=listen to youtube with EQ enabled and disabled. Change-Id: I269e70daa79c5c83834c801d3b0dd824da88607e Signed-off-by: Dylan Reid Reviewed-on: https://gerrit.chromium.org/gerrit/33065 --- diff --git a/sound/soc/codecs/max98095.c b/sound/soc/codecs/max98095.c index 5efcec216454..a21728265e4a 100644 --- a/sound/soc/codecs/max98095.c +++ b/sound/soc/codecs/max98095.c @@ -2340,6 +2340,37 @@ static struct snd_soc_codec_driver soc_codec_dev_max98095 = { .num_dapm_routes = ARRAY_SIZE(max98095_audio_map), }; +static struct max98095_eq_cfg built_in_eqs[] = { + { + /* Band 1 reg[0x10..0x19] F=5, A=-15.0, Q=0.65 */ + /* Band 2 reg[0x1A..0x23] F=600, A=4.0, Q=1.20 */ + /* Band 3 reg[0x24..0x2D] F=1000, A=4.0, Q=1.50 */ + /* Band 4 reg[0x2E..0x37] F=1500, A=4.0, Q=4.00 */ + /* Band 5 reg[0x38..0x41] F=5000, A=-5.5, Q=1.25 */ + .name = "Default", + .rate = 44100, + .band1 = {0x05B0, 0xC001, 0x3E4E, 0x000B, 0x0EA1}, + .band2 = {0x32B7, 0xC03C, 0x3967, 0x0576, 0x1C4B}, + .band3 = {0x32B7, 0xC0A7, 0x3816, 0x0916, 0x1ED2}, + .band4 = {0x32B7, 0xC175, 0x3AEC, 0x0D92, 0x18FB}, + .band5 = {0x10FD, 0xCF91, 0xFBDA, 0x29D5, 0x3FDD}, + }, + { + /* Band 1 reg[0x10..0x19] F=5, A=-15.0, Q=0.65 */ + /* Band 2 reg[0x1A..0x23] F=600, A=4.0, Q=1.20 */ + /* Band 3 reg[0x24..0x2D] F=1000, A=4.0, Q=1.50 */ + /* Band 4 reg[0x2E..0x37] F=1500, A=4.0, Q=4.00 */ + /* Band 5 reg[0x38..0x41] F=5000, A=-5.5, Q=1.25 */ + .name = "Default", + .rate = 48000, + .band1 = {0x05B0, 0xC001, 0x3E71, 0x000A, 0x0E09}, + .band2 = {0x32B7, 0xC033, 0x39EA, 0x0505, 0x1B3C}, + .band3 = {0x32B7, 0xC08D, 0x38B1, 0x085A, 0x1DB1}, + .band4 = {0x32B7, 0xC13B, 0x3B52, 0x0C7C, 0x1805}, + .band5 = {0x10FD, 0xCD3A, 0xFE8E, 0x26F5, 0x3FFB}, + }, +}; + static struct max98095_pdata *max98095_of_pdata(struct i2c_client *i2c) { struct max98095_pdata *pdata; @@ -2356,6 +2387,9 @@ static struct max98095_pdata *max98095_of_pdata(struct i2c_client *i2c) if (of_get_property(dn, "mic-right-digital", NULL)) pdata->digmic_right_mode = 1; + pdata->eq_cfgcnt = ARRAY_SIZE(built_in_eqs); + pdata->eq_cfg = built_in_eqs; + return pdata; }