diff options
author | David Rhodes <drhodes@opensource.cirrus.com> | 2021-10-29 23:40:28 +0200 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2021-11-15 20:25:20 +0100 |
commit | bae9e13fc55cbc5ae25409385b2f1ba9187082d0 (patch) | |
tree | 40016e8718ddb7d155ad5100a048a6ae0f56d2b8 /sound/soc/codecs/cs35l41.h | |
parent | ASoC: dt-bindings: cs42l42: Convert binding to yaml (diff) | |
download | linux-bae9e13fc55cbc5ae25409385b2f1ba9187082d0.tar.xz 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.h | 20 |
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; |