diff options
author | Paul Handrigan <Paul.Handrigan@cirrus.com> | 2016-06-20 11:45:18 -0500 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2016-06-27 17:39:06 +0100 |
commit | 3333cb7187b9c8d28f7a6405bbe9cec7a10efdc8 (patch) | |
tree | 60e397007c878ff009a4119c6c02c819a82c780a /include | |
parent | 1a695a905c18548062509178b98bc91e67510864 (diff) | |
download | linux-3333cb7187b9c8d28f7a6405bbe9cec7a10efdc8.tar.gz linux-3333cb7187b9c8d28f7a6405bbe9cec7a10efdc8.tar.bz2 linux-3333cb7187b9c8d28f7a6405bbe9cec7a10efdc8.zip |
ASoC: cs35l33: Initial commit of the cs35l33 CODEC driver.
Initial commit of the Cirrus Logic cs35l33 8V boosted class D
amplifier.
Signed-off-by: Paul Handrigan <Paul.Handrigan@cirrus.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/sound/cs35l33.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/include/sound/cs35l33.h b/include/sound/cs35l33.h new file mode 100644 index 000000000000..b6eadce76fc8 --- /dev/null +++ b/include/sound/cs35l33.h @@ -0,0 +1,48 @@ +/* + * linux/sound/cs35l33.h -- Platform data for CS35l33 + * + * Copyright (c) 2016 Cirrus Logic Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + +#ifndef __CS35L33_H +#define __CS35L33_H + +struct cs35l33_hg { + bool enable_hg_algo; + unsigned int mem_depth; + unsigned int release_rate; + unsigned int hd_rm; + unsigned int ldo_thld; + unsigned int ldo_path_disable; + unsigned int ldo_entry_delay; + bool vp_hg_auto; + unsigned int vp_hg; + unsigned int vp_hg_rate; + unsigned int vp_hg_va; +}; + +struct cs35l33_pdata { + /* Boost Controller Voltage Setting */ + unsigned int boost_ctl; + + /* Boost Controller Peak Current */ + unsigned int boost_ipk; + + /* Amplifier Drive Select */ + unsigned int amp_drv_sel; + + /* soft volume ramp */ + unsigned int ramp_rate; + + /* IMON adc scale */ + unsigned int imon_adc_scale; + + /* H/G algo configuration */ + struct cs35l33_hg hg_config; +}; + +#endif /* __CS35L33_H */ |