Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f6d54eff authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "asoc: bolero: add support to enable VA MCLK MUX select on Kona"

parents 7cbec036 ccdb9152
Loading
Loading
Loading
Loading
+14 −2
Original line number Diff line number Diff line
@@ -138,6 +138,7 @@ static int va_macro_mclk_enable(struct va_macro_priv *va_priv,
{
	struct regmap *regmap = dev_get_regmap(va_priv->dev->parent, NULL);
	int ret = 0;
	u16 mclk_mux_sel = MCLK_MUX0;

	if (regmap == NULL) {
		dev_err(va_priv->dev, "%s: regmap is NULL\n", __func__);
@@ -148,10 +149,21 @@ static int va_macro_mclk_enable(struct va_macro_priv *va_priv,
		__func__, mclk_enable, dapm, va_priv->va_mclk_users);

	mutex_lock(&va_priv->mclk_lock);
	if (of_property_read_u16(va_priv->dev->of_node,
				 "qcom,va-clk-mux-select", &mclk_mux_sel))
		dev_dbg(va_priv->dev,
			"%s: could not find %s entry in dt, use default\n",
			__func__, "qcom,va-clk-mux-select");
	if (mclk_mux_sel != MCLK_MUX0 && mclk_mux_sel != MCLK_MUX1) {
		dev_err(va_priv->dev, "%s: mclk_mux_sel: %d is invalid\n",
			__func__, mclk_mux_sel);
		return -EINVAL;
	}

	if (mclk_enable) {
		if (va_priv->va_mclk_users == 0) {
			ret = bolero_request_clock(va_priv->dev,
						VA_MACRO, MCLK_MUX0, true);
						VA_MACRO, mclk_mux_sel, true);
			if (ret < 0) {
				dev_err(va_priv->dev,
					"%s: va request clock en failed\n",
@@ -192,7 +204,7 @@ static int va_macro_mclk_enable(struct va_macro_priv *va_priv,
				BOLERO_CDC_VA_CLK_RST_CTRL_MCLK_CONTROL,
				0x01, 0x00);
			bolero_request_clock(va_priv->dev,
					VA_MACRO, MCLK_MUX0, false);
					VA_MACRO, mclk_mux_sel, false);
		}
	}
exit: