Lines Matching +full:mt8186 +full:- +full:dsp
1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause)
5 // Author: Allen-KH Cheng <allen-[email protected]>
8 // Hardware interface for mt8186 DSP clock
13 #include "../../sof-audio.h"
16 #include "mt8186.h"
17 #include "mt8186-clk.h"
26 struct adsp_priv *priv = sdev->pdata->hw_pdata; in mt8186_adsp_init_clock()
27 struct device *dev = sdev->dev; in mt8186_adsp_init_clock()
30 priv->clk = devm_kcalloc(dev, ADSP_CLK_MAX, sizeof(*priv->clk), GFP_KERNEL); in mt8186_adsp_init_clock()
31 if (!priv->clk) in mt8186_adsp_init_clock()
32 return -ENOMEM; in mt8186_adsp_init_clock()
35 priv->clk[i] = devm_clk_get(dev, adsp_clks[i]); in mt8186_adsp_init_clock()
37 if (IS_ERR(priv->clk[i])) in mt8186_adsp_init_clock()
38 return PTR_ERR(priv->clk[i]); in mt8186_adsp_init_clock()
46 struct adsp_priv *priv = sdev->pdata->hw_pdata; in adsp_enable_all_clock()
47 struct device *dev = sdev->dev; in adsp_enable_all_clock()
50 ret = clk_prepare_enable(priv->clk[CLK_TOP_AUDIODSP]); in adsp_enable_all_clock()
57 ret = clk_prepare_enable(priv->clk[CLK_TOP_ADSP_BUS]); in adsp_enable_all_clock()
61 clk_disable_unprepare(priv->clk[CLK_TOP_AUDIODSP]); in adsp_enable_all_clock()
70 struct adsp_priv *priv = sdev->pdata->hw_pdata; in adsp_disable_all_clock()
72 clk_disable_unprepare(priv->clk[CLK_TOP_ADSP_BUS]); in adsp_disable_all_clock()
73 clk_disable_unprepare(priv->clk[CLK_TOP_AUDIODSP]); in adsp_disable_all_clock()
78 struct device *dev = sdev->dev; in mt8186_adsp_clock_on()