blob: b6eadce76fc80e4e7aceed515573e9ac517e1bf9 [file] [log] [blame]
Paul Handrigan3333cb72016-06-20 11:45:18 -05001/*
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
14struct 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
28struct 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 */