2 * wmfw.h - Wolfson firmware format information
4 * Copyright 2012 Wolfson Microelectronics plc
6 * Author: Mark Brown <broonie@opensource.wolfsonmicro.com>
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.
16 #include <linux/types.h>
18 #define WMFW_MAX_ALG_NAME 256
19 #define WMFW_MAX_ALG_DESCR_NAME 256
21 #define WMFW_MAX_COEFF_NAME 256
22 #define WMFW_MAX_COEFF_DESCR_NAME 256
24 #define WMFW_CTL_FLAG_SYS 0x8000
25 #define WMFW_CTL_FLAG_VOLATILE 0x0004
26 #define WMFW_CTL_FLAG_WRITEABLE 0x0002
27 #define WMFW_CTL_FLAG_READABLE 0x0001
42 struct wmfw_adsp1_sizes {
48 struct wmfw_adsp2_sizes {
71 struct wmfw_adsp1_id_hdr {
72 struct wmfw_id_hdr fw;
78 struct wmfw_adsp2_id_hdr {
79 struct wmfw_id_hdr fw;
91 struct wmfw_adsp1_alg_hdr {
92 struct wmfw_alg_hdr alg;
97 struct wmfw_adsp2_alg_hdr {
98 struct wmfw_alg_hdr alg;
104 struct wmfw_adsp_alg_data {
106 u8 name[WMFW_MAX_ALG_NAME];
107 u8 descr[WMFW_MAX_ALG_DESCR_NAME];
112 struct wmfw_adsp_coeff_data {
118 u8 name[WMFW_MAX_COEFF_NAME];
119 u8 descr[WMFW_MAX_COEFF_DESCR_NAME];
126 struct wmfw_coeff_hdr {
140 struct wmfw_coeff_item {
153 #define WMFW_ABSOLUTE 0xf0
154 #define WMFW_ALGORITHM_DATA 0xf2
155 #define WMFW_NAME_TEXT 0xfe
156 #define WMFW_INFO_TEXT 0xff
158 #define WMFW_ADSP1_PM 2
159 #define WMFW_ADSP1_DM 3
160 #define WMFW_ADSP1_ZM 4
162 #define WMFW_ADSP2_PM 2
163 #define WMFW_ADSP2_ZM 4
164 #define WMFW_ADSP2_XM 5
165 #define WMFW_ADSP2_YM 6