summaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/wmfw.h
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2012-10-11 04:54:02 +0200
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-10-28 18:38:15 +0100
commit2159ad936b7e7a8b26c99cf5b4476cfbb8c13e22 (patch)
treefbc23c3a2af7043a7f6826edcda6ffc8758bca10 /sound/soc/codecs/wmfw.h
parentASoC: wm2200: Provide initial coefficient loading (diff)
downloadlinux-2159ad936b7e7a8b26c99cf5b4476cfbb8c13e22.tar.xz
linux-2159ad936b7e7a8b26c99cf5b4476cfbb8c13e22.zip
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>
Diffstat (limited to 'sound/soc/codecs/wmfw.h')
-rw-r--r--sound/soc/codecs/wmfw.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/sound/soc/codecs/wmfw.h b/sound/soc/codecs/wmfw.h
index 5791f8e440ad..5632ded67fdd 100644
--- a/sound/soc/codecs/wmfw.h
+++ b/sound/soc/codecs/wmfw.h
@@ -34,6 +34,13 @@ struct wmfw_adsp1_sizes {
__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 @@ struct wmfw_adsp1_id_hdr {
__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 @@ struct wmfw_adsp1_alg_hdr {
__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 @@ struct wmfw_coeff_item {
__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 @@ struct wmfw_coeff_item {
#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