blob: ef37316f0643b673ade7caa9e8deb3a7b278c4cb [file] [log] [blame]
Mark Browne10f8712012-10-04 16:31:52 +01001/*
2 * wmfw.h - Wolfson firmware format information
3 *
4 * Copyright 2012 Wolfson Microelectronics plc
5 *
6 * Author: Mark Brown <broonie@opensource.wolfsonmicro.com>
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation.
11 */
12
13#ifndef __WMFW_H
14#define __WMFW_H
15
16#include <linux/types.h>
17
18struct wmfw_header {
19 char magic[4];
20 __le32 len;
21 __le16 rev;
22 u8 core;
23 u8 ver;
24} __packed;
25
26struct wmfw_footer {
27 __le64 timestamp;
28 __le32 checksum;
29} __packed;
30
31struct wmfw_adsp1_sizes {
32 __le32 dm;
33 __le32 pm;
34 __le32 zm;
35} __packed;
36
37struct wmfw_region {
38 union {
39 __be32 type;
40 __le32 offset;
41 };
42 __le32 len;
43 u8 data[];
44} __packed;
45
46#define WMFW_ADSP1 1
47
48#define WMFW_ABSOLUTE 0xf0
49#define WMFW_NAME_TEXT 0xfe
50#define WMFW_INFO_TEXT 0xff
51
52#define WMFW_ADSP1_PM 2
53#define WMFW_ADSP1_DM 3
54#define WMFW_ADSP1_ZM 4
55
56#endif