Commit 7b84fd26 authored by Daniel Baluta's avatar Daniel Baluta Committed by Mark Brown

ASoC: SOF: OF: Add fw_path and tplg_path parameters

This allows specifying an alternate path for SOF firmware or
SOF topology.

This is particularly useful for i.MX when running Linux vs Android.
Signed-off-by: default avatarDaniel Baluta <daniel.baluta@nxp.com>
Reviewed-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: default avatarRanjani Sridharan <ranjani.sridharan@linux.intel.com>
Link: https://lore.kernel.org/r/20211005071949.1277613-1-daniel.baluta@oss.nxp.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent d54aa2ae
...@@ -7,12 +7,21 @@ ...@@ -7,12 +7,21 @@
#include <linux/firmware.h> #include <linux/firmware.h>
#include <linux/module.h> #include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/pm_runtime.h> #include <linux/pm_runtime.h>
#include <sound/sof.h> #include <sound/sof.h>
#include "ops.h" #include "ops.h"
#include "imx/imx-ops.h" #include "imx/imx-ops.h"
static char *fw_path;
module_param(fw_path, charp, 0444);
MODULE_PARM_DESC(fw_path, "alternate path for SOF firmware.");
static char *tplg_path;
module_param(tplg_path, charp, 0444);
MODULE_PARM_DESC(tplg_path, "alternate path for SOF topology.");
/* platform specific devices */ /* platform specific devices */
#if IS_ENABLED(CONFIG_SND_SOC_SOF_IMX8) #if IS_ENABLED(CONFIG_SND_SOC_SOF_IMX8)
static struct sof_dev_desc sof_of_imx8qxp_desc = { static struct sof_dev_desc sof_of_imx8qxp_desc = {
...@@ -87,9 +96,15 @@ static int sof_of_probe(struct platform_device *pdev) ...@@ -87,9 +96,15 @@ static int sof_of_probe(struct platform_device *pdev)
sof_pdata->dev = &pdev->dev; sof_pdata->dev = &pdev->dev;
sof_pdata->fw_filename = desc->default_fw_filename; sof_pdata->fw_filename = desc->default_fw_filename;
/* TODO: read alternate fw and tplg filenames from DT */ if (fw_path)
sof_pdata->fw_filename_prefix = sof_pdata->desc->default_fw_path; sof_pdata->fw_filename_prefix = fw_path;
sof_pdata->tplg_filename_prefix = sof_pdata->desc->default_tplg_path; else
sof_pdata->fw_filename_prefix = sof_pdata->desc->default_fw_path;
if (tplg_path)
sof_pdata->tplg_filename_prefix = tplg_path;
else
sof_pdata->tplg_filename_prefix = sof_pdata->desc->default_tplg_path;
/* set callback to be called on successful device probe to enable runtime_pm */ /* set callback to be called on successful device probe to enable runtime_pm */
sof_pdata->sof_probe_complete = sof_of_probe_complete; sof_pdata->sof_probe_complete = sof_of_probe_complete;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment