From: Mark Brown Date: Fri, 1 Sep 2017 11:12:58 +0000 (+0100) Subject: Merge remote-tracking branches 'asoc/topic/rt5563', 'asoc/topic/rt5616', 'asoc/topic... X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=cb2b0d7c6b961b333be22184ff3890eff0a02162;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git Merge remote-tracking branches 'asoc/topic/rt5563', 'asoc/topic/rt5616', 'asoc/topic/rt5645', 'asoc/topic/rt5659' and 'asoc/topic/rt5663' into asoc-next --- cb2b0d7c6b961b333be22184ff3890eff0a02162 diff --cc sound/soc/codecs/rt5663.c index 7a6b1bb0b437,271cc81f2aef,a33202affeb1,a33202affeb1,a33202affeb1,14716d25173b..ab9e0ebff5a7 --- a/sound/soc/codecs/rt5663.c +++ b/sound/soc/codecs/rt5663.c @@@@@@@ -3020,25 -3020,25 -3020,25 -3020,25 -3020,25 -3121,72 +3121,72 @@@@@@@ static void rt5663_calibrate(struct rt5 regmap_write(rt5663->regmap, RT5663_STO1_HPF_ADJ1, 0x3320); regmap_write(rt5663->regmap, RT5663_HP_CALIB_2, 0x00c9); regmap_write(rt5663->regmap, RT5663_DUMMY_1, 0x004c); ----- regmap_write(rt5663->regmap, RT5663_ANA_BIAS_CUR_1, 0x7766); ----- regmap_write(rt5663->regmap, RT5663_BIAS_CUR_8, 0x4702); ----- msleep(200); +++++ regmap_write(rt5663->regmap, RT5663_ANA_BIAS_CUR_1, 0x1111); +++++ regmap_write(rt5663->regmap, RT5663_BIAS_CUR_8, 0x4402); +++++ regmap_write(rt5663->regmap, RT5663_CHARGE_PUMP_2, 0x3311); regmap_write(rt5663->regmap, RT5663_HP_CALIB_1, 0x0069); ----- regmap_write(rt5663->regmap, RT5663_HP_CALIB_3, 0x06c2); ----- regmap_write(rt5663->regmap, RT5663_HP_CALIB_1_1, 0x7b00); ----- regmap_write(rt5663->regmap, RT5663_HP_CALIB_1_1, 0xfb00); +++++ regmap_write(rt5663->regmap, RT5663_HP_CALIB_3, 0x06ce); +++++ regmap_write(rt5663->regmap, RT5663_HP_CALIB_1_1, 0x6800); +++++ regmap_write(rt5663->regmap, RT5663_CHARGE_PUMP_2, 0x1100); +++++ regmap_write(rt5663->regmap, RT5663_HP_CALIB_7, 0x0057); +++++ regmap_write(rt5663->regmap, RT5663_HP_CALIB_1_1, 0xe800); +++++ + count = 0; + while (true) { + regmap_read(rt5663->regmap, RT5663_HP_CALIB_1_1, &value); + if (value & 0x8000) + usleep_range(10000, 10005); + else + break; + + if (count > 200) + return; + count++; + } +++++ +++++ regmap_write(rt5663->regmap, RT5663_HP_CALIB_1_1, 0x6200); +++++ regmap_write(rt5663->regmap, RT5663_HP_CALIB_7, 0x0059); +++++ regmap_write(rt5663->regmap, RT5663_HP_CALIB_1_1, 0xe200); +++++ ++++ count = 0; ++++ while (true) { ++++ regmap_read(rt5663->regmap, RT5663_HP_CALIB_1_1, &value); ++++ if (value & 0x8000) ++++ usleep_range(10000, 10005); ++++ else ++++ break; ++++ ++++ if (count > 200) ++++ return; ++++ count++; ++++ } +++++ +++++ regmap_write(rt5663->regmap, RT5663_EM_JACK_TYPE_1, 0xb8e0); +++++ usleep_range(10000, 10005); +++++ regmap_write(rt5663->regmap, RT5663_PWR_ANLG_1, 0x003b); +++++ usleep_range(10000, 10005); +++++ regmap_write(rt5663->regmap, RT5663_PWR_DIG_1, 0x0000); +++++ usleep_range(10000, 10005); +++++ regmap_write(rt5663->regmap, RT5663_DEPOP_1, 0x000b); +++++ usleep_range(10000, 10005); +++++ regmap_write(rt5663->regmap, RT5663_DEPOP_1, 0x0008); +++++ usleep_range(10000, 10005); +++++ regmap_write(rt5663->regmap, RT5663_PWR_ANLG_2, 0x0000); +++++ usleep_range(10000, 10005); +++++ } +++++ +++++ static int rt5663_parse_dp(struct rt5663_priv *rt5663, struct device *dev) +++++ { +++++ device_property_read_u32(dev, "realtek,dc_offset_l_manual", +++++ &rt5663->pdata.dc_offset_l_manual); +++++ device_property_read_u32(dev, "realtek,dc_offset_r_manual", +++++ &rt5663->pdata.dc_offset_r_manual); +++++ device_property_read_u32(dev, "realtek,dc_offset_l_manual_mic", +++++ &rt5663->pdata.dc_offset_l_manual_mic); +++++ device_property_read_u32(dev, "realtek,dc_offset_r_manual_mic", +++++ &rt5663->pdata.dc_offset_r_manual_mic); +++++ +++++ return 0; } static int rt5663_i2c_probe(struct i2c_client *i2c,