xref: /linux/include/sound/cs35l36.h (revision 6ba9dd6c)
1*6ba9dd6cSJames Schulman /* SPDX-License-Identifier: GPL-2.0 */
2*6ba9dd6cSJames Schulman /*
3*6ba9dd6cSJames Schulman  * linux/sound/cs35l36.h -- Platform data for CS35L36
4*6ba9dd6cSJames Schulman  *
5*6ba9dd6cSJames Schulman  * Copyright 2018 Cirrus Logic, Inc.
6*6ba9dd6cSJames Schulman  *
7*6ba9dd6cSJames Schulman  * Author: James Schulman <james.schulman@cirrus.com>
8*6ba9dd6cSJames Schulman  *
9*6ba9dd6cSJames Schulman  */
10*6ba9dd6cSJames Schulman 
11*6ba9dd6cSJames Schulman #ifndef __CS35L36_H
12*6ba9dd6cSJames Schulman #define __CS35L36_H
13*6ba9dd6cSJames Schulman 
14*6ba9dd6cSJames Schulman struct cs35l36_vpbr_cfg {
15*6ba9dd6cSJames Schulman 	bool is_present;
16*6ba9dd6cSJames Schulman 	bool vpbr_en;
17*6ba9dd6cSJames Schulman 	int vpbr_thld;
18*6ba9dd6cSJames Schulman 	int vpbr_atk_rate;
19*6ba9dd6cSJames Schulman 	int vpbr_atk_vol;
20*6ba9dd6cSJames Schulman 	int vpbr_max_attn;
21*6ba9dd6cSJames Schulman 	int vpbr_wait;
22*6ba9dd6cSJames Schulman 	int vpbr_rel_rate;
23*6ba9dd6cSJames Schulman 	int vpbr_mute_en;
24*6ba9dd6cSJames Schulman };
25*6ba9dd6cSJames Schulman 
26*6ba9dd6cSJames Schulman struct cs35l36_platform_data {
27*6ba9dd6cSJames Schulman 	bool multi_amp_mode;
28*6ba9dd6cSJames Schulman 	bool dcm_mode;
29*6ba9dd6cSJames Schulman 	bool amp_pcm_inv;
30*6ba9dd6cSJames Schulman 	bool imon_pol_inv;
31*6ba9dd6cSJames Schulman 	bool vmon_pol_inv;
32*6ba9dd6cSJames Schulman 	int boost_ind;
33*6ba9dd6cSJames Schulman 	int bst_vctl;
34*6ba9dd6cSJames Schulman 	int bst_vctl_sel;
35*6ba9dd6cSJames Schulman 	int bst_ipk;
36*6ba9dd6cSJames Schulman 	bool extern_boost;
37*6ba9dd6cSJames Schulman 	int temp_warn_thld;
38*6ba9dd6cSJames Schulman 	int irq_drv_sel;
39*6ba9dd6cSJames Schulman 	int irq_gpio_sel;
40*6ba9dd6cSJames Schulman 	struct cs35l36_vpbr_cfg vpbr_config;
41*6ba9dd6cSJames Schulman };
42*6ba9dd6cSJames Schulman 
43*6ba9dd6cSJames Schulman #endif /* __CS35L36_H */
44