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