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