[PATCH v2] ASoC: SOF: imx: Add OF machine descriptors for i.MX platforms
From: Paul Olaru paul.olaru@nxp.com
Covered platforms: i.MX8QXP, i.MX8QM, i.MX8MP, i.MX8ULP.
These descriptors are used to locate the machine driver and topology filenames.
Note: because the compatible values for the boards do not change between the cs42888 and the wm8960 cases, I have selected a common topology filename, which is intended to be a symlink to either the wm8960 or the cs42888 topology file. For uniformity I did the same for i.MX8ULP.
Signed-off-by: Paul Olaru paul.olaru@nxp.com Signed-off-by: Daniel Baluta daniel.baluta@nxp.com --- Changes since v1: - rebased patch on Mark's tree.
sound/soc/sof/imx/imx8.c | 16 ++++++++++++++++ sound/soc/sof/imx/imx8m.c | 10 ++++++++++ sound/soc/sof/imx/imx8ulp.c | 10 ++++++++++ 3 files changed, 36 insertions(+)
diff --git a/sound/soc/sof/imx/imx8.c b/sound/soc/sof/imx/imx8.c index 2844d9a8040a..3c9f0cfd8218 100644 --- a/sound/soc/sof/imx/imx8.c +++ b/sound/soc/sof/imx/imx8.c @@ -608,7 +608,22 @@ static struct snd_sof_dsp_ops sof_imx8x_ops = { SNDRV_PCM_INFO_NO_PERIOD_WAKEUP };
+static struct snd_sof_of_mach sof_imx8_machs[] = { + { + .compatible = "fsl,imx8qxp", + .drv_name = "asoc-simple-card", + .sof_tplg_filename = "sof-imx8.tplg", + }, + { + .compatible = "fsl,imx8qm", + .drv_name = "asoc-simple-card", + .sof_tplg_filename = "sof-imx8.tplg", + }, + {} +}; + static struct sof_dev_desc sof_of_imx8qxp_desc = { + .of_machines = sof_imx8_machs, .ipc_supported_mask = BIT(SOF_IPC), .ipc_default = SOF_IPC, .default_fw_path = { @@ -625,6 +640,7 @@ static struct sof_dev_desc sof_of_imx8qxp_desc = { };
static struct sof_dev_desc sof_of_imx8qm_desc = { + .of_machines = sof_imx8_machs, .ipc_supported_mask = BIT(SOF_IPC), .ipc_default = SOF_IPC, .default_fw_path = { diff --git a/sound/soc/sof/imx/imx8m.c b/sound/soc/sof/imx/imx8m.c index 1243f8a6141e..a4050f6ec263 100644 --- a/sound/soc/sof/imx/imx8m.c +++ b/sound/soc/sof/imx/imx8m.c @@ -470,7 +470,17 @@ static struct snd_sof_dsp_ops sof_imx8m_ops = { SNDRV_PCM_INFO_NO_PERIOD_WAKEUP, };
+static struct snd_sof_of_mach sof_imx8m_machs[] = { + { + .compatible = "fsl,imx8mp", + .drv_name = "asoc-simple-card", + .sof_tplg_filename = "sof-imx8m.tplg", + }, + {} +}; + static struct sof_dev_desc sof_of_imx8mp_desc = { + .of_machines = sof_imx8m_machs, .ipc_supported_mask = BIT(SOF_IPC), .ipc_default = SOF_IPC, .default_fw_path = { diff --git a/sound/soc/sof/imx/imx8ulp.c b/sound/soc/sof/imx/imx8ulp.c index 4a562c9856e9..82fcc672bb1c 100644 --- a/sound/soc/sof/imx/imx8ulp.c +++ b/sound/soc/sof/imx/imx8ulp.c @@ -477,7 +477,17 @@ static struct snd_sof_dsp_ops sof_imx8ulp_ops = { .set_power_state = imx8ulp_dsp_set_power_state, };
+static struct snd_sof_of_mach sof_imx8ulp_machs[] = { + { + .compatible = "fsl,imx8ulp", + .drv_name = "asoc-simple-card", + .sof_tplg_filename = "sof-imx8ulp.tplg", + }, + {} +}; + static struct sof_dev_desc sof_of_imx8ulp_desc = { + .of_machines = sof_imx8ulp_machs, .ipc_supported_mask = BIT(SOF_IPC), .ipc_default = SOF_IPC, .default_fw_path = {
On Thu, May 25, 2023 at 03:28:37PM +0300, Daniel Baluta wrote:
+static struct snd_sof_of_mach sof_imx8_machs[] = {
- {
.compatible = "fsl,imx8qxp",
.drv_name = "asoc-simple-card",
.sof_tplg_filename = "sof-imx8.tplg",
- },
- {
.compatible = "fsl,imx8qm",
.drv_name = "asoc-simple-card",
.sof_tplg_filename = "sof-imx8.tplg",
- },
- {}
It seems a bit sad to be adding simple-card rather than audio-graph-card at this point - is there some great reason for this?
On Thu, May 25, 2023 at 8:07 PM Mark Brown broonie@kernel.org wrote:
On Thu, May 25, 2023 at 03:28:37PM +0300, Daniel Baluta wrote:
+static struct snd_sof_of_mach sof_imx8_machs[] = {
{
.compatible = "fsl,imx8qxp",
.drv_name = "asoc-simple-card",
.sof_tplg_filename = "sof-imx8.tplg",
},
{
.compatible = "fsl,imx8qm",
.drv_name = "asoc-simple-card",
.sof_tplg_filename = "sof-imx8.tplg",
},
{}
It seems a bit sad to be adding simple-card rather than audio-graph-card at this point - is there some great reason for this?
This is what we used so far and it works pretty well for us.
Is there a plan to deprecate simple-card? And switch to audio-graph-card?
We could have a look at this if this is the correct direction.
On Thu, May 25, 2023 at 09:35:40PM +0300, Daniel Baluta wrote:
On Thu, May 25, 2023 at 8:07 PM Mark Brown broonie@kernel.org wrote:
{
.compatible = "fsl,imx8qm",
.drv_name = "asoc-simple-card",
.sof_tplg_filename = "sof-imx8.tplg",
},
It seems a bit sad to be adding simple-card rather than audio-graph-card at this point - is there some great reason for this?
This is what we used so far and it works pretty well for us.
Is there a plan to deprecate simple-card? And switch to audio-graph-card?
We could have a look at this if this is the correct direction.
It's already deprecated, and audio-graph-card (really you want to use the audio-graph-card2 binding) is much more featureful so will cover more machines. If you're doing something new then it's best to use audio-graph-card for future proofing, simple-card is a bit too simple and inflexible.
On Fri, May 26, 2023 at 6:32 PM Mark Brown broonie@kernel.org wrote:
On Thu, May 25, 2023 at 09:35:40PM +0300, Daniel Baluta wrote:
On Thu, May 25, 2023 at 8:07 PM Mark Brown broonie@kernel.org wrote:
{
.compatible = "fsl,imx8qm",
.drv_name = "asoc-simple-card",
.sof_tplg_filename = "sof-imx8.tplg",
},
It seems a bit sad to be adding simple-card rather than audio-graph-card at this point - is there some great reason for this?
This is what we used so far and it works pretty well for us.
Is there a plan to deprecate simple-card? And switch to audio-graph-card?
We could have a look at this if this is the correct direction.
It's already deprecated, and audio-graph-card (really you want to use the audio-graph-card2 binding) is much more featureful so will cover more machines. If you're doing something new then it's best to use audio-graph-card for future proofing, simple-card is a bit too simple and inflexible.
Ok! Thanks for clarifications! Will use audio-graph-card!
participants (3)
-
Daniel Baluta
-
Daniel Baluta
-
Mark Brown