162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Platform data for ST STA350 ASoC codec driver.
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright: 2014 Raumfeld GmbH
662306a36Sopenharmony_ci * Author: Sven Brandau <info@brandau.biz>
762306a36Sopenharmony_ci */
862306a36Sopenharmony_ci#ifndef __LINUX_SND__STA350_H
962306a36Sopenharmony_ci#define __LINUX_SND__STA350_H
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci#define STA350_OCFG_2CH		0
1262306a36Sopenharmony_ci#define STA350_OCFG_2_1CH	1
1362306a36Sopenharmony_ci#define STA350_OCFG_1CH		3
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci#define STA350_OM_CH1		0
1662306a36Sopenharmony_ci#define STA350_OM_CH2		1
1762306a36Sopenharmony_ci#define STA350_OM_CH3		2
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci#define STA350_THERMAL_ADJUSTMENT_ENABLE	1
2062306a36Sopenharmony_ci#define STA350_THERMAL_RECOVERY_ENABLE		2
2162306a36Sopenharmony_ci#define STA350_FAULT_DETECT_RECOVERY_BYPASS	1
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci#define STA350_FFX_PM_DROP_COMP			0
2462306a36Sopenharmony_ci#define STA350_FFX_PM_TAPERED_COMP		1
2562306a36Sopenharmony_ci#define STA350_FFX_PM_FULL_POWER		2
2662306a36Sopenharmony_ci#define STA350_FFX_PM_VARIABLE_DROP_COMP	3
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_cistruct sta350_platform_data {
3062306a36Sopenharmony_ci	u8 output_conf;
3162306a36Sopenharmony_ci	u8 ch1_output_mapping;
3262306a36Sopenharmony_ci	u8 ch2_output_mapping;
3362306a36Sopenharmony_ci	u8 ch3_output_mapping;
3462306a36Sopenharmony_ci	u8 ffx_power_output_mode;
3562306a36Sopenharmony_ci	u8 drop_compensation_ns;
3662306a36Sopenharmony_ci	u8 powerdown_delay_divider;
3762306a36Sopenharmony_ci	unsigned int thermal_warning_recovery:1;
3862306a36Sopenharmony_ci	unsigned int thermal_warning_adjustment:1;
3962306a36Sopenharmony_ci	unsigned int fault_detect_recovery:1;
4062306a36Sopenharmony_ci	unsigned int oc_warning_adjustment:1;
4162306a36Sopenharmony_ci	unsigned int max_power_use_mpcc:1;
4262306a36Sopenharmony_ci	unsigned int max_power_correction:1;
4362306a36Sopenharmony_ci	unsigned int am_reduction_mode:1;
4462306a36Sopenharmony_ci	unsigned int odd_pwm_speed_mode:1;
4562306a36Sopenharmony_ci	unsigned int distortion_compensation:1;
4662306a36Sopenharmony_ci	unsigned int invalid_input_detect_mute:1;
4762306a36Sopenharmony_ci	unsigned int activate_mute_output:1;
4862306a36Sopenharmony_ci	unsigned int bridge_immediate_off:1;
4962306a36Sopenharmony_ci	unsigned int noise_shape_dc_cut:1;
5062306a36Sopenharmony_ci	unsigned int powerdown_master_vol:1;
5162306a36Sopenharmony_ci};
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ci#endif /* __LINUX_SND__STA350_H */
54