diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-10-04 16:31:52 +0100 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-10-05 20:17:55 +0100 |
commit | e10f871190ce2f912317c874a56b9cc417e46e84 (patch) | |
tree | 4a8eaddb1f41889bfd39e52b3865c12abc801c23 /sound/soc/codecs/wmfw.h | |
parent | 09d5d5880eb436d623013a1e3c32ad33ae8e6b09 (diff) |
ASoC: wm2200: Initial DSP support
Support download and execution of firmwares to the DSPs on the WM2200.
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 | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/sound/soc/codecs/wmfw.h b/sound/soc/codecs/wmfw.h new file mode 100644 index 000000000000..ef37316f0643 --- /dev/null +++ b/sound/soc/codecs/wmfw.h @@ -0,0 +1,56 @@ +/* + * wmfw.h - Wolfson firmware format information + * + * Copyright 2012 Wolfson Microelectronics plc + * + * Author: Mark Brown <broonie@opensource.wolfsonmicro.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + +#ifndef __WMFW_H +#define __WMFW_H + +#include <linux/types.h> + +struct wmfw_header { + char magic[4]; + __le32 len; + __le16 rev; + u8 core; + u8 ver; +} __packed; + +struct wmfw_footer { + __le64 timestamp; + __le32 checksum; +} __packed; + +struct wmfw_adsp1_sizes { + __le32 dm; + __le32 pm; + __le32 zm; +} __packed; + +struct wmfw_region { + union { + __be32 type; + __le32 offset; + }; + __le32 len; + u8 data[]; +} __packed; + +#define WMFW_ADSP1 1 + +#define WMFW_ABSOLUTE 0xf0 +#define WMFW_NAME_TEXT 0xfe +#define WMFW_INFO_TEXT 0xff + +#define WMFW_ADSP1_PM 2 +#define WMFW_ADSP1_DM 3 +#define WMFW_ADSP1_ZM 4 + +#endif |