ASoC: SOF: imx: Describe ESAI parameters to be sent to DSP
authorDaniel Baluta <daniel.baluta@nxp.com>
Tue, 8 Oct 2019 16:44:39 +0000 (11:44 -0500)
committerMark Brown <broonie@kernel.org>
Thu, 10 Oct 2019 14:15:44 +0000 (15:15 +0100)
Introduce sof_ipc_dai_esai_params to keep information that
we get from topology and we send to DSP FW.

Also bump the ABI minor to reflect the changes on DSP FW.

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20191008164443.1358-6-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
include/sound/sof/dai-imx.h [new file with mode: 0644]
include/sound/sof/dai.h
include/uapi/sound/sof/abi.h
include/uapi/sound/sof/tokens.h

diff --git a/include/sound/sof/dai-imx.h b/include/sound/sof/dai-imx.h
new file mode 100644 (file)
index 0000000..e02fb0b
--- /dev/null
@@ -0,0 +1,34 @@
+/* SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause) */
+/*
+ * Copyright 2019 NXP
+ *
+ * Author: Daniel Baluta <daniel.baluta@nxp.com>
+ */
+
+#ifndef __INCLUDE_SOUND_SOF_DAI_IMX_H__
+#define __INCLUDE_SOUND_SOF_DAI_IMX_H__
+
+#include <sound/sof/header.h>
+
+/* ESAI Configuration Request - SOF_IPC_DAI_ESAI_CONFIG */
+struct sof_ipc_dai_esai_params {
+       struct sof_ipc_hdr hdr;
+
+       /* MCLK */
+       uint16_t reserved1;
+       uint16_t mclk_id;
+       uint32_t mclk_direction;
+
+       uint32_t mclk_rate;     /* MCLK frequency in Hz */
+       uint32_t fsync_rate;    /* FSYNC frequency in Hz */
+       uint32_t bclk_rate;     /* BCLK frequency in Hz */
+
+       /* TDM */
+       uint32_t tdm_slots;
+       uint32_t rx_slots;
+       uint32_t tx_slots;
+       uint16_t tdm_slot_width;
+       uint16_t reserved2;     /* alignment */
+} __packed;
+
+#endif
index 0f123502214647d629fe2e77b7648940fea27173..c229565767e53a8c0c14c61424ce81911f2b736c 100644 (file)
@@ -11,6 +11,7 @@
 
 #include <sound/sof/header.h>
 #include <sound/sof/dai-intel.h>
+#include <sound/sof/dai-imx.h>
 
 /*
  * DAI Configuration.
@@ -73,6 +74,7 @@ struct sof_ipc_dai_config {
                struct sof_ipc_dai_dmic_params dmic;
                struct sof_ipc_dai_hda_params hda;
                struct sof_ipc_dai_alh_params alh;
+               struct sof_ipc_dai_esai_params esai;
        };
 } __packed;
 
index a0fe0d4c4b665700c57545fad67913915a53a957..ebfdc20ca081852933d8639e8c2d51203e40d48e 100644 (file)
@@ -26,7 +26,7 @@
 
 /* SOF ABI version major, minor and patch numbers */
 #define SOF_ABI_MAJOR 3
-#define SOF_ABI_MINOR 10
+#define SOF_ABI_MINOR 11
 #define SOF_ABI_PATCH 0
 
 /* SOF ABI version number. Format within 32bit word is MMmmmppp */
index 8f996857fb242760d3a4ee1b85ce04a625f9376c..da18c9de10569e25b08e35156132577a18dc9840 100644 (file)
 /* TODO: Add SAI tokens */
 
 /* ESAI */
-#define SOF_TKN_IMX_ESAI_FIRST_TOKEN           1100
-/* TODO: Add ESAI tokens */
+#define SOF_TKN_IMX_ESAI_MCLK_ID               1100
 
 #endif