xref: /linux/include/sound/sta32x.h (revision bd628c1bed7902ec1f24ba0fe70758949146abbe)
1 /*
2  * Platform data for ST STA32x ASoC codec driver.
3  *
4  * Copyright: 2011 Raumfeld GmbH
5  * Author: Johannes Stezenbach <js@sig21.net>
6  *
7  * This program is free software; you can redistribute  it and/or modify it
8  * under  the terms of  the GNU General  Public License as published by the
9  * Free Software Foundation;  either version 2 of the  License, or (at your
10  * option) any later version.
11  */
12 #ifndef __LINUX_SND__STA32X_H
13 #define __LINUX_SND__STA32X_H
14 
15 #define STA32X_OCFG_2CH		0
16 #define STA32X_OCFG_2_1CH	1
17 #define STA32X_OCFG_1CH		3
18 
19 #define STA32X_OM_CH1		0
20 #define STA32X_OM_CH2		1
21 #define STA32X_OM_CH3		2
22 
23 #define STA32X_THERMAL_ADJUSTMENT_ENABLE	1
24 #define STA32X_THERMAL_RECOVERY_ENABLE		2
25 
26 struct sta32x_platform_data {
27 	u8 output_conf;
28 	u8 ch1_output_mapping;
29 	u8 ch2_output_mapping;
30 	u8 ch3_output_mapping;
31 	int needs_esd_watchdog;
32 	u8 drop_compensation_ns;
33 	unsigned int thermal_warning_recovery:1;
34 	unsigned int thermal_warning_adjustment:1;
35 	unsigned int fault_detect_recovery:1;
36 	unsigned int max_power_use_mpcc:1;
37 	unsigned int max_power_correction:1;
38 	unsigned int am_reduction_mode:1;
39 	unsigned int odd_pwm_speed_mode:1;
40 	unsigned int invalid_input_detect_mute:1;
41 };
42 
43 #endif /* __LINUX_SND__STA32X_H */
44