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