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