aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/wmfw.h
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2012-10-05 14:43:18 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-10-05 15:17:56 -0400
commit6e87badd3f38e1a095d6e1b13828246c3e8486b5 (patch)
treee9e08f552e7d24750e04563ecb3515a90deb835c /sound/soc/codecs/wmfw.h
parente10f871190ce2f912317c874a56b9cc417e46e84 (diff)
ASoC: wm2200: Provide initial coefficient loading
Allow a coefficient set provided using the Wolfson callibration tools to be provided along with the firmware files. Currently only coefficient files which configure absolute register addresses are supported. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/codecs/wmfw.h')
-rw-r--r--sound/soc/codecs/wmfw.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/sound/soc/codecs/wmfw.h b/sound/soc/codecs/wmfw.h
index ef37316f0643..5791f8e440ad 100644
--- a/sound/soc/codecs/wmfw.h
+++ b/sound/soc/codecs/wmfw.h
@@ -43,6 +43,49 @@ struct wmfw_region {
43 u8 data[]; 43 u8 data[];
44} __packed; 44} __packed;
45 45
46struct wmfw_id_hdr {
47 __be32 core_id;
48 __be32 core_rev;
49 __be32 id;
50 __be32 ver;
51} __packed;
52
53struct wmfw_adsp1_id_hdr {
54 struct wmfw_id_hdr fw;
55 __be32 zm;
56 __be32 dm;
57 __be32 algs;
58} __packed;
59
60struct wmfw_alg_hdr {
61 __be32 id;
62 __be32 ver;
63} __packed;
64
65struct wmfw_adsp1_alg_hdr {
66 struct wmfw_alg_hdr alg;
67 __be32 zm;
68 __be32 dm;
69} __packed;
70
71struct wmfw_coeff_hdr {
72 u8 magic[4];
73 __le32 len;
74 __le32 ver;
75 u8 data[];
76} __packed;
77
78struct wmfw_coeff_item {
79 union {
80 __be32 type;
81 __le32 offset;
82 };
83 __le32 id;
84 __le32 ver;
85 __le32 sr;
86 __le32 len;
87 u8 data[];
88} __packed;
46#define WMFW_ADSP1 1 89#define WMFW_ADSP1 1
47 90
48#define WMFW_ABSOLUTE 0xf0 91#define WMFW_ABSOLUTE 0xf0