ASoC: adsp: Add ADSP base support
Many current Wolfson devices feature DSPs based around an architecture
known as ADSP. Since there is a lot of commonality in the system
integration of these devices a common library will be used to provide
support for them.
This version provides equivalent support for ADSP1 to that currently
included in the WM2200 driver.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
diff --git a/sound/soc/codecs/wmfw.h b/sound/soc/codecs/wmfw.h
index 5791f8e..5632ded 100644
--- a/sound/soc/codecs/wmfw.h
+++ b/sound/soc/codecs/wmfw.h
@@ -34,6 +34,13 @@
__le32 zm;
} __packed;
+struct wmfw_adsp2_sizes {
+ __le32 xm;
+ __le32 ym;
+ __le32 pm;
+ __le32 zm;
+} __packed;
+
struct wmfw_region {
union {
__be32 type;
@@ -57,6 +64,14 @@
__be32 algs;
} __packed;
+struct wmfw_adsp2_id_hdr {
+ struct wmfw_id_hdr fw;
+ __be32 zm;
+ __be32 xm;
+ __be32 ym;
+ __be32 algs;
+} __packed;
+
struct wmfw_alg_hdr {
__be32 id;
__be32 ver;
@@ -68,6 +83,13 @@
__be32 dm;
} __packed;
+struct wmfw_adsp2_alg_hdr {
+ struct wmfw_alg_hdr alg;
+ __be32 zm;
+ __be32 xm;
+ __be32 ym;
+} __packed;
+
struct wmfw_coeff_hdr {
u8 magic[4];
__le32 len;
@@ -86,7 +108,9 @@
__le32 len;
u8 data[];
} __packed;
+
#define WMFW_ADSP1 1
+#define WMFW_ADSP2 2
#define WMFW_ABSOLUTE 0xf0
#define WMFW_NAME_TEXT 0xfe
@@ -96,4 +120,9 @@
#define WMFW_ADSP1_DM 3
#define WMFW_ADSP1_ZM 4
+#define WMFW_ADSP2_PM 2
+#define WMFW_ADSP2_ZM 4
+#define WMFW_ADSP2_XM 5
+#define WMFW_ADSP2_YM 6
+
#endif