Lines Matching +full:imx8mp +full:- +full:audio +full:- +full:blk +full:- +full:ctrl

1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Driver for i.MX8M Plus Audio BLK_CTRL
9 #include <linux/clk-provider.h>
19 #include <dt-bindings/clock/imx8mp-clock.h>
254 if (!of_property_present(dev->of_node, "#reset-cells")) in clk_imx8mp_audiomix_reset_controller_register()
259 return -ENOMEM; in clk_imx8mp_audiomix_reset_controller_register()
261 adev->name = "reset"; in clk_imx8mp_audiomix_reset_controller_register()
262 adev->dev.parent = dev; in clk_imx8mp_audiomix_reset_controller_register()
263 adev->dev.release = clk_imx8mp_audiomix_reset_adev_release; in clk_imx8mp_audiomix_reset_controller_register()
291 void __iomem *base = priv->base; in clk_imx8mp_audiomix_save_restore()
296 priv->regs_save[i] = readl(base + audiomix_regs[i]); in clk_imx8mp_audiomix_save_restore()
299 writel(priv->regs_save[i], base + audiomix_regs[i]); in clk_imx8mp_audiomix_save_restore()
307 struct device *dev = &pdev->dev; in clk_imx8mp_audiomix_probe()
316 return -ENOMEM; in clk_imx8mp_audiomix_probe()
318 clk_hw_data = &priv->clk_data; in clk_imx8mp_audiomix_probe()
319 clk_hw_data->num = IMX8MP_CLK_AUDIOMIX_END; in clk_imx8mp_audiomix_probe()
325 priv->base = base; in clk_imx8mp_audiomix_probe()
330 * That is to make core->rpm_enabled to be true for clock in clk_imx8mp_audiomix_probe()
356 clk_hw_data->hws[sels[i].clkid] = hw; in clk_imx8mp_audiomix_probe()
365 clk_hw_data->hws[IMX8MP_CLK_AUDIOMIX_SAI_PLL_REF_SEL] = hw; in clk_imx8mp_audiomix_probe()
373 clk_hw_data->hws[IMX8MP_CLK_AUDIOMIX_SAI_PLL] = hw; in clk_imx8mp_audiomix_probe()
385 clk_hw_data->hws[IMX8MP_CLK_AUDIOMIX_SAI_PLL_BYPASS] = hw; in clk_imx8mp_audiomix_probe()
395 clk_hw_data->hws[IMX8MP_CLK_AUDIOMIX_SAI_PLL_OUT] = hw; in clk_imx8mp_audiomix_probe()
405 ret = devm_of_clk_add_hw_provider(&pdev->dev, of_clk_hw_onecell_get, in clk_imx8mp_audiomix_probe()
425 pm_runtime_disable(&pdev->dev); in clk_imx8mp_audiomix_remove()
450 { .compatible = "fsl,imx8mp-audio-blk-ctrl" },
459 .name = "imx8mp-audio-blk-ctrl",
468 MODULE_DESCRIPTION("Freescale i.MX8MP Audio Block Controller driver");