1 /* 2 * linux/sound/cs35l33.h -- Platform data for CS35l33 3 * 4 * Copyright (c) 2016 Cirrus Logic Inc. 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License version 2 as 8 * published by the Free Software Foundation. 9 */ 10 11 #ifndef __CS35L33_H 12 #define __CS35L33_H 13 14 struct cs35l33_hg { 15 bool enable_hg_algo; 16 unsigned int mem_depth; 17 unsigned int release_rate; 18 unsigned int hd_rm; 19 unsigned int ldo_thld; 20 unsigned int ldo_path_disable; 21 unsigned int ldo_entry_delay; 22 bool vp_hg_auto; 23 unsigned int vp_hg; 24 unsigned int vp_hg_rate; 25 unsigned int vp_hg_va; 26 }; 27 28 struct cs35l33_pdata { 29 /* Boost Controller Voltage Setting */ 30 unsigned int boost_ctl; 31 32 /* Boost Controller Peak Current */ 33 unsigned int boost_ipk; 34 35 /* Amplifier Drive Select */ 36 unsigned int amp_drv_sel; 37 38 /* soft volume ramp */ 39 unsigned int ramp_rate; 40 41 /* IMON adc scale */ 42 unsigned int imon_adc_scale; 43 44 /* H/G algo configuration */ 45 struct cs35l33_hg hg_config; 46 }; 47 48 #endif /* __CS35L33_H */ 49