162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * linux/sound/cs35l36.h -- Platform data for CS35L36
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright 2018 Cirrus Logic, Inc.
662306a36Sopenharmony_ci *
762306a36Sopenharmony_ci * Author: James Schulman <james.schulman@cirrus.com>
862306a36Sopenharmony_ci *
962306a36Sopenharmony_ci */
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci#ifndef __CS35L36_H
1262306a36Sopenharmony_ci#define __CS35L36_H
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_cistruct cs35l36_vpbr_cfg {
1562306a36Sopenharmony_ci	bool is_present;
1662306a36Sopenharmony_ci	bool vpbr_en;
1762306a36Sopenharmony_ci	int vpbr_thld;
1862306a36Sopenharmony_ci	int vpbr_atk_rate;
1962306a36Sopenharmony_ci	int vpbr_atk_vol;
2062306a36Sopenharmony_ci	int vpbr_max_attn;
2162306a36Sopenharmony_ci	int vpbr_wait;
2262306a36Sopenharmony_ci	int vpbr_rel_rate;
2362306a36Sopenharmony_ci	int vpbr_mute_en;
2462306a36Sopenharmony_ci};
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_cistruct cs35l36_platform_data {
2762306a36Sopenharmony_ci	bool multi_amp_mode;
2862306a36Sopenharmony_ci	bool dcm_mode;
2962306a36Sopenharmony_ci	bool amp_pcm_inv;
3062306a36Sopenharmony_ci	bool imon_pol_inv;
3162306a36Sopenharmony_ci	bool vmon_pol_inv;
3262306a36Sopenharmony_ci	int boost_ind;
3362306a36Sopenharmony_ci	int bst_vctl;
3462306a36Sopenharmony_ci	int bst_vctl_sel;
3562306a36Sopenharmony_ci	int bst_ipk;
3662306a36Sopenharmony_ci	bool extern_boost;
3762306a36Sopenharmony_ci	int temp_warn_thld;
3862306a36Sopenharmony_ci	int irq_drv_sel;
3962306a36Sopenharmony_ci	int irq_gpio_sel;
4062306a36Sopenharmony_ci	struct cs35l36_vpbr_cfg vpbr_config;
4162306a36Sopenharmony_ci};
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ci#endif /* __CS35L36_H */
44