1 /* 2 * Platform data for WM8904 3 * 4 * Copyright 2009 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 it 9 * under the terms of the GNU General Public License as published by the 10 * Free Software Foundation; either version 2 of the License, or (at your 11 * option) any later version. 12 * 13 */ 14 15 #ifndef __MFD_WM8994_PDATA_H__ 16 #define __MFD_WM8994_PDATA_H__ 17 18 #define WM8904_DRC_REGS 4 19 #define WM8904_EQ_REGS 25 20 21 /** 22 * DRC configurations are specified with a label and a set of register 23 * values to write (the enable bits will be ignored). At runtime an 24 * enumerated control will be presented for each DRC block allowing 25 * the user to choose the configration to use. 26 * 27 * Configurations may be generated by hand or by using the DRC control 28 * panel provided by the WISCE - see http://www.wolfsonmicro.com/wisce/ 29 * for details. 30 */ 31 struct wm8904_drc_cfg { 32 const char *name; 33 u16 regs[WM8904_DRC_REGS]; 34 }; 35 36 /** 37 * ReTune Mobile configurations are specified with a label, sample 38 * rate and set of values to write (the enable bits will be ignored). 39 * 40 * Configurations are expected to be generated using the ReTune Mobile 41 * control panel in WISCE - see http://www.wolfsonmicro.com/wisce/ 42 */ 43 struct wm8904_retune_mobile_cfg { 44 const char *name; 45 unsigned int rate; 46 u16 regs[WM8904_EQ_REGS]; 47 }; 48 49 struct wm8904_pdata { 50 int num_drc_cfgs; 51 struct wm8904_drc_cfg *drc_cfgs; 52 53 int num_retune_mobile_cfgs; 54 struct wm8904_retune_mobile_cfg *retune_mobile_cfgs; 55 }; 56 57 #endif 58