diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-10-05 14:43:18 -0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-10-05 15:17:56 -0400 |
commit | 6e87badd3f38e1a095d6e1b13828246c3e8486b5 (patch) | |
tree | e9e08f552e7d24750e04563ecb3515a90deb835c /sound/soc/codecs/wmfw.h | |
parent | e10f871190ce2f912317c874a56b9cc417e46e84 (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.h | 43 |
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 | ||
46 | struct wmfw_id_hdr { | ||
47 | __be32 core_id; | ||
48 | __be32 core_rev; | ||
49 | __be32 id; | ||
50 | __be32 ver; | ||
51 | } __packed; | ||
52 | |||
53 | struct wmfw_adsp1_id_hdr { | ||
54 | struct wmfw_id_hdr fw; | ||
55 | __be32 zm; | ||
56 | __be32 dm; | ||
57 | __be32 algs; | ||
58 | } __packed; | ||
59 | |||
60 | struct wmfw_alg_hdr { | ||
61 | __be32 id; | ||
62 | __be32 ver; | ||
63 | } __packed; | ||
64 | |||
65 | struct wmfw_adsp1_alg_hdr { | ||
66 | struct wmfw_alg_hdr alg; | ||
67 | __be32 zm; | ||
68 | __be32 dm; | ||
69 | } __packed; | ||
70 | |||
71 | struct wmfw_coeff_hdr { | ||
72 | u8 magic[4]; | ||
73 | __le32 len; | ||
74 | __le32 ver; | ||
75 | u8 data[]; | ||
76 | } __packed; | ||
77 | |||
78 | struct 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 |