Lines Matching +full:imx8m +full:- +full:clock

1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause)
3 // Copyright 2019-2025 NXP
9 #include <dt-bindings/firmware/imx/rsrc.h>
11 #include <linux/arm-smccc.h>
16 #include "imx-common.h"
21 /* imx8m macros */
66 dev_err(sdev->dev, "Error system address offset source select\n");
73 dev_err(sdev->dev, "Error system address offset of AUDIO\n");
80 dev_err(sdev->dev, "Error system address offset of PERIPH %d\n",
88 dev_err(sdev->dev, "Error system address offset of IRQ\n");
105 dev_err(sdev->dev, "Error system address offset source select\n");
121 common = sdev->pdata->hw_pdata;
125 return dev_err_probe(sdev->dev, ret,
128 common->chip_pdata = sc_ipc_handle;
141 pwrctl = readl(chip->dap + IMX8M_DAP_PWRCTL);
143 writel(pwrctl, chip->dap + IMX8M_DAP_PWRCTL);
148 reset_control_assert(chip->run_stall);
151 pwrctl = readl(chip->dap + IMX8M_DAP_PWRCTL);
153 writel(pwrctl, chip->dap + IMX8M_DAP_PWRCTL);
162 return reset_control_deassert(chip->run_stall);
170 common = sdev->pdata->hw_pdata;
172 chip = devm_kzalloc(sdev->dev, sizeof(*chip), GFP_KERNEL);
174 return -ENOMEM;
176 chip->dap = devm_ioremap(sdev->dev, IMX8M_DAP_DEBUG, IMX8M_DAP_DEBUG_SIZE);
177 if (!chip->dap)
178 return dev_err_probe(sdev->dev, -ENODEV,
181 chip->run_stall = devm_reset_control_get_exclusive(sdev->dev, "runstall");
182 if (IS_ERR(chip->run_stall))
183 return dev_err_probe(sdev->dev, PTR_ERR(chip->run_stall),
186 common->chip_pdata = chip;
214 /* HiFi4 Platform Clock Enable: 1 enabled, 0 disabled */
217 /* HiFi4 PBCLK clock enable: 1 enabled, 0 disabled */
220 /* HiFi4 Clock Enable: 1 enabled, 0 disabled */
241 common = sdev->pdata->hw_pdata;
243 regmap = syscon_regmap_lookup_by_phandle(sdev->dev->of_node, "fsl,dsp-ctrl");
245 return dev_err_probe(sdev->dev, PTR_ERR(regmap),
248 common->chip_pdata = regmap;
287 sof_imx8_ops.drv = get_chip_info(sdev)->drv;
288 sof_imx8_ops.num_drv = get_chip_info(sdev)->num_drv;
386 .compatible = "fsl,imx8qxp-mek",
387 .sof_tplg_filename = "sof-imx8-wm8960.tplg",
388 .drv_name = "asoc-audio-graph-card2",
391 .compatible = "fsl,imx8qxp-mek-wcpu",
392 .sof_tplg_filename = "sof-imx8-wm8962.tplg",
393 .drv_name = "asoc-audio-graph-card2",
396 .compatible = "fsl,imx8qm-mek",
397 .sof_tplg_filename = "sof-imx8-wm8960.tplg",
398 .drv_name = "asoc-audio-graph-card2",
401 .compatible = "fsl,imx8qm-mek-revd",
402 .sof_tplg_filename = "sof-imx8-wm8962.tplg",
403 .drv_name = "asoc-audio-graph-card2",
406 .compatible = "fsl,imx8qxp-mek-bb",
407 .sof_tplg_filename = "sof-imx8-cs42888.tplg",
408 .drv_name = "asoc-audio-graph-card2",
411 .compatible = "fsl,imx8qm-mek-bb",
412 .sof_tplg_filename = "sof-imx8-cs42888.tplg",
413 .drv_name = "asoc-audio-graph-card2",
416 .compatible = "fsl,imx8mp-evk",
417 .sof_tplg_filename = "sof-imx8mp-wm8960.tplg",
418 .drv_name = "asoc-audio-graph-card2",
421 .compatible = "fsl,imx8mp-evk-revb4",
422 .sof_tplg_filename = "sof-imx8mp-wm8962.tplg",
423 .drv_name = "asoc-audio-graph-card2",
426 .compatible = "fsl,imx8ulp-evk",
427 .sof_tplg_filename = "sof-imx8ulp-btsco.tplg",
428 .drv_name = "asoc-audio-graph-card2",
435 IMX_SOF_DEV_DESC(imx8m, sof_imx8_machs, &imx8m_chip_info, &sof_imx8_ops, imx8_ops_init);
440 .compatible = "fsl,imx8qxp-dsp",
444 .compatible = "fsl,imx8qm-dsp",
448 .compatible = "fsl,imx8mp-dsp",
449 .data = &IMX_SOF_DEV_DESC_NAME(imx8m),
452 .compatible = "fsl,imx8ulp-dsp",
464 .name = "sof-audio-of-imx8",