aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/sound/soc/codecs/cs35l41.h
diff options
context:
space:
mode:
authorDavid Rhodes <drhodes@opensource.cirrus.com>2021-10-29 16:40:28 -0500
committerMark Brown <broonie@kernel.org>2021-11-15 19:25:20 +0000
commitbae9e13fc55cbc5ae25409385b2f1ba9187082d0 (patch)
tree40016e8718ddb7d155ad5100a048a6ae0f56d2b8 /sound/soc/codecs/cs35l41.h
parentASoC: dt-bindings: cs42l42: Convert binding to yaml (diff)
downloadwireguard-linux-bae9e13fc55cbc5ae25409385b2f1ba9187082d0.tar.xz
wireguard-linux-bae9e13fc55cbc5ae25409385b2f1ba9187082d0.zip
ASoC: cs35l41: DSP Support
Support for HALO DSP and firmware Signed-off-by: David Rhodes <drhodes@opensource.cirrus.com> Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/r/20211029214028.401284-2-drhodes@opensource.cirrus.com Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/codecs/cs35l41.h')
-rw-r--r--sound/soc/codecs/cs35l41.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/sound/soc/codecs/cs35l41.h b/sound/soc/codecs/cs35l41.h
index 6cffe8a55beb..eea3b14acb0b 100644
--- a/sound/soc/codecs/cs35l41.h
+++ b/sound/soc/codecs/cs35l41.h
@@ -13,9 +13,12 @@
#include <linux/gpio/consumer.h>
#include <linux/regmap.h>
#include <linux/regulator/consumer.h>
+#include <linux/firmware.h>
#include <sound/core.h>
#include <sound/cs35l41.h>
+#include "wm_adsp.h"
+
#define CS35L41_FIRSTREG 0x00000000
#define CS35L41_LASTREG 0x03804FE8
#define CS35L41_DEVID 0x00000000
@@ -755,7 +758,24 @@ extern const struct cs35l41_otp_map_element_t
#define CS35L41_REGSTRIDE 4
+enum cs35l41_cspl_mbox_status {
+ CSPL_MBOX_STS_RUNNING = 0,
+ CSPL_MBOX_STS_PAUSED = 1,
+ CSPL_MBOX_STS_RDY_FOR_REINIT = 2,
+};
+
+enum cs35l41_cspl_mbox_cmd {
+ CSPL_MBOX_CMD_NONE = 0,
+ CSPL_MBOX_CMD_PAUSE = 1,
+ CSPL_MBOX_CMD_RESUME = 2,
+ CSPL_MBOX_CMD_REINIT = 3,
+ CSPL_MBOX_CMD_STOP_PRE_REINIT = 4,
+ CSPL_MBOX_CMD_UNKNOWN_CMD = -1,
+ CSPL_MBOX_CMD_INVALID_SEQUENCE = -2,
+};
+
struct cs35l41_private {
+ struct wm_adsp dsp; /* needs to be first member */
struct snd_soc_codec *codec;
struct cs35l41_platform_data pdata;
struct device *dev;