18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * linux/sound/cs35l36.h -- Platform data for CS35L36
48c2ecf20Sopenharmony_ci *
58c2ecf20Sopenharmony_ci * Copyright 2018 Cirrus Logic, Inc.
68c2ecf20Sopenharmony_ci *
78c2ecf20Sopenharmony_ci * Author: James Schulman <james.schulman@cirrus.com>
88c2ecf20Sopenharmony_ci *
98c2ecf20Sopenharmony_ci */
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ci#ifndef __CS35L36_H
128c2ecf20Sopenharmony_ci#define __CS35L36_H
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_cistruct cs35l36_vpbr_cfg {
158c2ecf20Sopenharmony_ci	bool is_present;
168c2ecf20Sopenharmony_ci	bool vpbr_en;
178c2ecf20Sopenharmony_ci	int vpbr_thld;
188c2ecf20Sopenharmony_ci	int vpbr_atk_rate;
198c2ecf20Sopenharmony_ci	int vpbr_atk_vol;
208c2ecf20Sopenharmony_ci	int vpbr_max_attn;
218c2ecf20Sopenharmony_ci	int vpbr_wait;
228c2ecf20Sopenharmony_ci	int vpbr_rel_rate;
238c2ecf20Sopenharmony_ci	int vpbr_mute_en;
248c2ecf20Sopenharmony_ci};
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_cistruct cs35l36_platform_data {
278c2ecf20Sopenharmony_ci	bool multi_amp_mode;
288c2ecf20Sopenharmony_ci	bool dcm_mode;
298c2ecf20Sopenharmony_ci	bool amp_pcm_inv;
308c2ecf20Sopenharmony_ci	bool imon_pol_inv;
318c2ecf20Sopenharmony_ci	bool vmon_pol_inv;
328c2ecf20Sopenharmony_ci	int boost_ind;
338c2ecf20Sopenharmony_ci	int bst_vctl;
348c2ecf20Sopenharmony_ci	int bst_vctl_sel;
358c2ecf20Sopenharmony_ci	int bst_ipk;
368c2ecf20Sopenharmony_ci	bool extern_boost;
378c2ecf20Sopenharmony_ci	int temp_warn_thld;
388c2ecf20Sopenharmony_ci	int irq_drv_sel;
398c2ecf20Sopenharmony_ci	int irq_gpio_sel;
408c2ecf20Sopenharmony_ci	struct cs35l36_vpbr_cfg vpbr_config;
418c2ecf20Sopenharmony_ci};
428c2ecf20Sopenharmony_ci
438c2ecf20Sopenharmony_ci#endif /* __CS35L36_H */
44