Thomas Gleixner | d2912cb | 2019-06-04 10:11:33 +0200 | [diff] [blame] | 1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
Paul Handrigan | 3333cb7 | 2016-06-20 11:45:18 -0500 | [diff] [blame] | 2 | /* |
| 3 | * linux/sound/cs35l33.h -- Platform data for CS35l33 |
| 4 | * |
| 5 | * Copyright (c) 2016 Cirrus Logic Inc. |
Paul Handrigan | 3333cb7 | 2016-06-20 11:45:18 -0500 | [diff] [blame] | 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 */ |