1/*
2 * Platform data for ST STA350 ASoC codec driver.
3 *
4 * Copyright: 2014 Raumfeld GmbH
5 * Author: Sven Brandau <info@brandau.biz>
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__STA350_H
13#define __LINUX_SND__STA350_H
14
15#define STA350_OCFG_2CH		0
16#define STA350_OCFG_2_1CH	1
17#define STA350_OCFG_1CH		3
18
19#define STA350_OM_CH1		0
20#define STA350_OM_CH2		1
21#define STA350_OM_CH3		2
22
23#define STA350_THERMAL_ADJUSTMENT_ENABLE	1
24#define STA350_THERMAL_RECOVERY_ENABLE		2
25#define STA350_FAULT_DETECT_RECOVERY_BYPASS	1
26
27#define STA350_FFX_PM_DROP_COMP			0
28#define STA350_FFX_PM_TAPERED_COMP		1
29#define STA350_FFX_PM_FULL_POWER		2
30#define STA350_FFX_PM_VARIABLE_DROP_COMP	3
31
32
33struct sta350_platform_data {
34	u8 output_conf;
35	u8 ch1_output_mapping;
36	u8 ch2_output_mapping;
37	u8 ch3_output_mapping;
38	u8 ffx_power_output_mode;
39	u8 drop_compensation_ns;
40	u8 powerdown_delay_divider;
41	unsigned int thermal_warning_recovery:1;
42	unsigned int thermal_warning_adjustment:1;
43	unsigned int fault_detect_recovery:1;
44	unsigned int oc_warning_adjustment:1;
45	unsigned int max_power_use_mpcc:1;
46	unsigned int max_power_correction:1;
47	unsigned int am_reduction_mode:1;
48	unsigned int odd_pwm_speed_mode:1;
49	unsigned int distortion_compensation:1;
50	unsigned int invalid_input_detect_mute:1;
51	unsigned int activate_mute_output:1;
52	unsigned int bridge_immediate_off:1;
53	unsigned int noise_shape_dc_cut:1;
54	unsigned int powerdown_master_vol:1;
55};
56
57#endif /* __LINUX_SND__STA350_H */
58