case SND_SOC_DAPM_PRE_PMD:
rt5640->hp_mute = 1;
-- --- usleep_range(70000, 75000);
++ +++ msleep(70);
break;
default:
switch (event) {
case SND_SOC_DAPM_POST_PMU:
if (!rt5640->hp_mute)
-- --- usleep_range(80000, 85000);
++ +++ msleep(80);
break;
RT5640_PWR_DAC_L1_BIT, 0, NULL, 0),
SND_SOC_DAPM_SUPPLY("DAC R1 Power", RT5640_PWR_DIG1,
RT5640_PWR_DAC_R1_BIT, 0, NULL, 0),
++ +++ SND_SOC_DAPM_SUPPLY("DAC L2 Power", RT5640_PWR_DIG1,
++ +++ RT5640_PWR_DAC_L2_BIT, 0, NULL, 0),
++ +++ SND_SOC_DAPM_SUPPLY("DAC R2 Power", RT5640_PWR_DIG1,
++ +++ RT5640_PWR_DAC_R2_BIT, 0, NULL, 0),
/* SPK/OUT Mixer */
SND_SOC_DAPM_MIXER("SPK MIXL", RT5640_PWR_MIXER, RT5640_PWR_SM_L_BIT,
0, rt5640_spk_l_mix, ARRAY_SIZE(rt5640_spk_l_mix)),
rt5640_mono_mix, ARRAY_SIZE(rt5640_mono_mix)),
SND_SOC_DAPM_SUPPLY("Improve MONO Amp Drv", RT5640_PWR_ANLG1,
RT5640_PWR_MA_BIT, 0, NULL, 0),
-- --- SND_SOC_DAPM_SUPPLY("DAC L2 Power", RT5640_PWR_DIG1,
-- --- RT5640_PWR_DAC_L2_BIT, 0, NULL, 0),
-- --- SND_SOC_DAPM_SUPPLY("DAC R2 Power", RT5640_PWR_DIG1,
-- --- RT5640_PWR_DAC_R2_BIT, 0, NULL, 0),
SND_SOC_DAPM_OUTPUT("MONOP"),
SND_SOC_DAPM_OUTPUT("MONON"),
#ifdef CONFIG_ACPI
static const struct acpi_device_id rt5640_acpi_match[] = {
{ "INT33CA", 0 },
+++++ { "10EC3276", 0 },
{ "10EC5640", 0 },
{ "10EC5642", 0 },
{ "INTCCFFD", 0 },
unsigned int val;
if (jack_insert) {
--- -- regmap_write(rt5645->regmap, RT5645_CHARGE_PUMP, 0x0006);
+++ ++ regmap_write(rt5645->regmap, RT5645_CHARGE_PUMP, 0x0e06);
/* for jack type detect */
snd_soc_dapm_force_enable_pin(dapm, "LDO2");
#ifdef CONFIG_ACPI
static const struct acpi_device_id rt5645_acpi_match[] = {
{ "10EC5645", 0 },
+++++ { "10EC5648", 0 },
{ "10EC5650", 0 },
{ "10EC5640", 0 },
+++++ { "10EC3270", 0 },
{},
};
MODULE_DEVICE_TABLE(acpi, rt5645_acpi_match);
GPIOD_IN);
if (IS_ERR(rt5645->gpiod_hp_det)) {
--- -- dev_err(&i2c->dev, "failed to initialize gpiod\n");
--- -- return PTR_ERR(rt5645->gpiod_hp_det);
+++ ++ dev_info(&i2c->dev, "failed to initialize gpiod\n");
+++ ++ ret = PTR_ERR(rt5645->gpiod_hp_det);
+++ ++ /*
+++ ++ * Continue if optional gpiod is missing, bail for all other
+++ ++ * errors, including -EPROBE_DEFER
+++ ++ */
+++ ++ if (ret != -ENOENT)
+++ ++ return ret;
}
for (i = 0; i < ARRAY_SIZE(rt5645->supplies); i++)
}
}
++ ++ regmap_update_bits(rt5645->regmap, RT5645_ADDA_CLK1,
++ ++ RT5645_I2S_PD1_MASK, RT5645_I2S_PD1_2);
++ ++
if (rt5645->pdata.jd_invert) {
regmap_update_bits(rt5645->regmap, RT5645_IRQ_CTRL2,
RT5645_JD_1_1_MASK, RT5645_JD_1_1_INV);