1 /* SPDX-License-Identifier: GPL-2.0-or-later */
3 * Platform data for ST STA350 ASoC codec driver.
5 * Copyright: 2014 Raumfeld GmbH
6 * Author: Sven Brandau <info@brandau.biz>
8 #ifndef __LINUX_SND__STA350_H
9 #define __LINUX_SND__STA350_H
11 #define STA350_OCFG_2CH 0
12 #define STA350_OCFG_2_1CH 1
13 #define STA350_OCFG_1CH 3
15 #define STA350_OM_CH1 0
16 #define STA350_OM_CH2 1
17 #define STA350_OM_CH3 2
19 #define STA350_THERMAL_ADJUSTMENT_ENABLE 1
20 #define STA350_THERMAL_RECOVERY_ENABLE 2
21 #define STA350_FAULT_DETECT_RECOVERY_BYPASS 1
23 #define STA350_FFX_PM_DROP_COMP 0
24 #define STA350_FFX_PM_TAPERED_COMP 1
25 #define STA350_FFX_PM_FULL_POWER 2
26 #define STA350_FFX_PM_VARIABLE_DROP_COMP 3
29 struct sta350_platform_data
{
31 u8 ch1_output_mapping
;
32 u8 ch2_output_mapping
;
33 u8 ch3_output_mapping
;
34 u8 ffx_power_output_mode
;
35 u8 drop_compensation_ns
;
36 u8 powerdown_delay_divider
;
37 unsigned int thermal_warning_recovery
:1;
38 unsigned int thermal_warning_adjustment
:1;
39 unsigned int fault_detect_recovery
:1;
40 unsigned int oc_warning_adjustment
:1;
41 unsigned int max_power_use_mpcc
:1;
42 unsigned int max_power_correction
:1;
43 unsigned int am_reduction_mode
:1;
44 unsigned int odd_pwm_speed_mode
:1;
45 unsigned int distortion_compensation
:1;
46 unsigned int invalid_input_detect_mute
:1;
47 unsigned int activate_mute_output
:1;
48 unsigned int bridge_immediate_off
:1;
49 unsigned int noise_shape_dc_cut
:1;
50 unsigned int powerdown_master_vol
:1;
53 #endif /* __LINUX_SND__STA350_H */