aboutsummaryrefslogtreecommitdiffstats
path: root/include/sound
diff options
context:
space:
mode:
authorSven Brandau <brandau@gmx.de>2014-04-02 04:25:05 -0400
committerMark Brown <broonie@linaro.org>2014-04-14 12:28:43 -0400
commit2439ea1f0f8f4cc98dfae0d1cd5ba88f6c3ee9ad (patch)
treebb91f7bd310f90964dca270c234dd155ea208058 /include/sound
parentc9eaa447e77efe77b7fa4c953bd62de8297fd6c5 (diff)
ASoC: sta350: Add codec driver
The TI STA350 is an integrated 2.1-channel power amplifier that is controllable over I2C. This patch adds an ASoC driver for it. At a glance, this chip is very similar to the STA320 for which a driver already exists. In details, however, the register maps contain subtle differences which made a whole new driver easier to write and maintain. [daniel@zonque.org: cleanups, DT property rework, rebased on asoc-next] Signed-off-by: Sven Brandau <brandau@gmx.de> Signed-off-by: Daniel Mack <daniel@zonque.org> Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'include/sound')
-rw-r--r--include/sound/sta350.h52
1 files changed, 52 insertions, 0 deletions
diff --git a/include/sound/sta350.h b/include/sound/sta350.h
new file mode 100644
index 000000000000..3a3298106b22
--- /dev/null
+++ b/include/sound/sta350.h
@@ -0,0 +1,52 @@
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 unsigned int thermal_warning_recovery:1;
41 unsigned int thermal_warning_adjustment:1;
42 unsigned int fault_detect_recovery:1;
43 unsigned int oc_warning_adjustment:1;
44 unsigned int max_power_use_mpcc:1;
45 unsigned int max_power_correction:1;
46 unsigned int am_reduction_mode:1;
47 unsigned int odd_pwm_speed_mode:1;
48 unsigned int distortion_compensation:1;
49 unsigned int invalid_input_detect_mute:1;
50};
51
52#endif /* __LINUX_SND__STA350_H */