|
@@ -226,6 +226,31 @@ EXPORT_SYMBOL_GPL(arizona_mixer_values);
|
|
|
const DECLARE_TLV_DB_SCALE(arizona_mixer_tlv, -3200, 100, 0);
|
|
|
EXPORT_SYMBOL_GPL(arizona_mixer_tlv);
|
|
|
|
|
|
+static const char *arizona_vol_ramp_text[] = {
|
|
|
+ "0ms/6dB", "0.5ms/6dB", "1ms/6dB", "2ms/6dB", "4ms/6dB", "8ms/6dB",
|
|
|
+ "15ms/6dB", "30ms/6dB",
|
|
|
+};
|
|
|
+
|
|
|
+const struct soc_enum arizona_in_vd_ramp =
|
|
|
+ SOC_ENUM_SINGLE(ARIZONA_INPUT_VOLUME_RAMP,
|
|
|
+ ARIZONA_IN_VD_RAMP_SHIFT, 7, arizona_vol_ramp_text);
|
|
|
+EXPORT_SYMBOL_GPL(arizona_in_vd_ramp);
|
|
|
+
|
|
|
+const struct soc_enum arizona_in_vi_ramp =
|
|
|
+ SOC_ENUM_SINGLE(ARIZONA_INPUT_VOLUME_RAMP,
|
|
|
+ ARIZONA_IN_VI_RAMP_SHIFT, 7, arizona_vol_ramp_text);
|
|
|
+EXPORT_SYMBOL_GPL(arizona_in_vi_ramp);
|
|
|
+
|
|
|
+const struct soc_enum arizona_out_vd_ramp =
|
|
|
+ SOC_ENUM_SINGLE(ARIZONA_OUTPUT_VOLUME_RAMP,
|
|
|
+ ARIZONA_OUT_VD_RAMP_SHIFT, 7, arizona_vol_ramp_text);
|
|
|
+EXPORT_SYMBOL_GPL(arizona_out_vd_ramp);
|
|
|
+
|
|
|
+const struct soc_enum arizona_out_vi_ramp =
|
|
|
+ SOC_ENUM_SINGLE(ARIZONA_OUTPUT_VOLUME_RAMP,
|
|
|
+ ARIZONA_OUT_VI_RAMP_SHIFT, 7, arizona_vol_ramp_text);
|
|
|
+EXPORT_SYMBOL_GPL(arizona_out_vi_ramp);
|
|
|
+
|
|
|
static const char *arizona_lhpf_mode_text[] = {
|
|
|
"Low-pass", "High-pass"
|
|
|
};
|
|
@@ -749,6 +774,9 @@ static int arizona_dai_set_sysclk(struct snd_soc_dai *dai,
|
|
|
return -EBUSY;
|
|
|
}
|
|
|
|
|
|
+ dev_dbg(codec->dev, "Setting AIF%d to %s\n", dai->id + 1,
|
|
|
+ arizona_dai_clk_str(clk_id));
|
|
|
+
|
|
|
memset(&routes, 0, sizeof(routes));
|
|
|
routes[0].sink = dai->driver->capture.stream_name;
|
|
|
routes[1].sink = dai->driver->playback.stream_name;
|
|
@@ -761,6 +789,8 @@ static int arizona_dai_set_sysclk(struct snd_soc_dai *dai,
|
|
|
routes[1].source = arizona_dai_clk_str(clk_id);
|
|
|
snd_soc_dapm_add_routes(&codec->dapm, routes, ARRAY_SIZE(routes));
|
|
|
|
|
|
+ dai_priv->clk = clk_id;
|
|
|
+
|
|
|
return snd_soc_dapm_sync(&codec->dapm);
|
|
|
}
|
|
|
|
|
@@ -1016,7 +1046,7 @@ int arizona_set_fll(struct arizona_fll *fll, int source,
|
|
|
ARIZONA_FLL1_SYNC_ENA);
|
|
|
|
|
|
ret = wait_for_completion_timeout(&fll->ok,
|
|
|
- msecs_to_jiffies(25));
|
|
|
+ msecs_to_jiffies(250));
|
|
|
if (ret == 0)
|
|
|
arizona_fll_warn(fll, "Timed out waiting for lock\n");
|
|
|
|