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