xref: /openbmc/linux/include/sound/cs35l33.h (revision bc5aa3a0)
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