xref: /openbmc/linux/include/sound/cs35l33.h (revision e40573a4)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * linux/sound/cs35l33.h -- Platform data for CS35l33
4  *
5  * Copyright (c) 2016 Cirrus Logic Inc.
6  */
7 
8 #ifndef __CS35L33_H
9 #define __CS35L33_H
10 
11 struct cs35l33_hg {
12 	bool enable_hg_algo;
13 	unsigned int mem_depth;
14 	unsigned int release_rate;
15 	unsigned int hd_rm;
16 	unsigned int ldo_thld;
17 	unsigned int ldo_path_disable;
18 	unsigned int ldo_entry_delay;
19 	bool vp_hg_auto;
20 	unsigned int vp_hg;
21 	unsigned int vp_hg_rate;
22 	unsigned int vp_hg_va;
23 };
24 
25 struct cs35l33_pdata {
26 	/* Boost Controller Voltage Setting */
27 	unsigned int boost_ctl;
28 
29 	/* Boost Controller Peak Current */
30 	unsigned int boost_ipk;
31 
32 	/* Amplifier Drive Select */
33 	unsigned int amp_drv_sel;
34 
35 	/* soft volume ramp */
36 	unsigned int ramp_rate;
37 
38 	/* IMON adc scale */
39 	unsigned int imon_adc_scale;
40 
41 	/* H/G algo configuration */
42 	struct cs35l33_hg hg_config;
43 };
44 
45 #endif /* __CS35L33_H */
46