blob: 2d917048462663834c67276aaecc85e581609f92 [file] [log] [blame]
Thomas Gleixner2874c5f2019-05-27 08:55:01 +02001/* SPDX-License-Identifier: GPL-2.0-or-later */
Sven Brandau2439ea12014-04-02 10:25:05 +02002/*
3 * Platform data for ST STA350 ASoC codec driver.
4 *
5 * Copyright: 2014 Raumfeld GmbH
6 * Author: Sven Brandau <info@brandau.biz>
Sven Brandau2439ea12014-04-02 10:25:05 +02007 */
8#ifndef __LINUX_SND__STA350_H
9#define __LINUX_SND__STA350_H
10
11#define STA350_OCFG_2CH 0
12#define STA350_OCFG_2_1CH 1
13#define STA350_OCFG_1CH 3
14
15#define STA350_OM_CH1 0
16#define STA350_OM_CH2 1
17#define STA350_OM_CH3 2
18
19#define STA350_THERMAL_ADJUSTMENT_ENABLE 1
20#define STA350_THERMAL_RECOVERY_ENABLE 2
21#define STA350_FAULT_DETECT_RECOVERY_BYPASS 1
22
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
27
28
29struct sta350_platform_data {
30 u8 output_conf;
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;
Daniel Mack7c2fccc2014-05-05 11:49:23 +020036 u8 powerdown_delay_divider;
Sven Brandau2439ea12014-04-02 10:25:05 +020037 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;
Daniel Mack7c2fccc2014-05-05 11:49:23 +020047 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;
Sven Brandau2439ea12014-04-02 10:25:05 +020051};
52
53#endif /* __LINUX_SND__STA350_H */