aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/platform_data
diff options
context:
space:
mode:
authorLars-Peter Clausen <lars@metafoo.de>2014-05-27 04:53:18 -0400
committerMark Brown <broonie@linaro.org>2014-05-27 15:54:50 -0400
commitdab464b60b2435a2aaae3630266db8ad130b7fad (patch)
tree11eafcd4aebe454f6d14821dab97efb2b26ee20a /include/linux/platform_data
parent4101866c743a3695666e8562b5713b4d7f341cbf (diff)
ASoC: Add ADAU1361/ADAU1761 audio CODEC support
This patch adds support for the Analog Devices ADAU1361 and ADAU1761 CODECs. The device is a a low-power, 24-bit stereo audio CODEC with multiple analog input and outputs, one digital microphone input and an I2S interface. The device can be controlled either via I2C or SPI. The main difference between the two variants is that the ADAU1761 has a built-in SigmaDSP, while the ADAU1361 has not. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'include/linux/platform_data')
-rw-r--r--include/linux/platform_data/adau17x1.h67
1 files changed, 67 insertions, 0 deletions
diff --git a/include/linux/platform_data/adau17x1.h b/include/linux/platform_data/adau17x1.h
index f90bd9286f31..d234d9e46fd6 100644
--- a/include/linux/platform_data/adau17x1.h
+++ b/include/linux/platform_data/adau17x1.h
@@ -20,4 +20,71 @@ enum adau17x1_micbias_voltage {
20 ADAU17X1_MICBIAS_0_65_AVDD = 1, 20 ADAU17X1_MICBIAS_0_65_AVDD = 1,
21}; 21};
22 22
23/**
24 * enum adau1761_digmic_jackdet_pin_mode - Configuration of the JACKDET/MICIN pin
25 * @ADAU1761_DIGMIC_JACKDET_PIN_MODE_NONE: Disable the pin
26 * @ADAU1761_DIGMIC_JACKDET_PIN_MODE_DIGMIC: Configure the pin for usage as
27 * digital microphone input.
28 * @ADAU1761_DIGMIC_JACKDET_PIN_MODE_JACKDETECT: Configure the pin for jack
29 * insertion detection.
30 */
31enum adau1761_digmic_jackdet_pin_mode {
32 ADAU1761_DIGMIC_JACKDET_PIN_MODE_NONE,
33 ADAU1761_DIGMIC_JACKDET_PIN_MODE_DIGMIC,
34 ADAU1761_DIGMIC_JACKDET_PIN_MODE_JACKDETECT,
35};
36
37/**
38 * adau1761_jackdetect_debounce_time - Jack insertion detection debounce time
39 * @ADAU1761_JACKDETECT_DEBOUNCE_5MS: 5 milliseconds
40 * @ADAU1761_JACKDETECT_DEBOUNCE_10MS: 10 milliseconds
41 * @ADAU1761_JACKDETECT_DEBOUNCE_20MS: 20 milliseconds
42 * @ADAU1761_JACKDETECT_DEBOUNCE_40MS: 40 milliseconds
43 */
44enum adau1761_jackdetect_debounce_time {
45 ADAU1761_JACKDETECT_DEBOUNCE_5MS = 0,
46 ADAU1761_JACKDETECT_DEBOUNCE_10MS = 1,
47 ADAU1761_JACKDETECT_DEBOUNCE_20MS = 2,
48 ADAU1761_JACKDETECT_DEBOUNCE_40MS = 3,
49};
50
51/**
52 * enum adau1761_output_mode - Output mode configuration
53 * @ADAU1761_OUTPUT_MODE_HEADPHONE: Headphone output
54 * @ADAU1761_OUTPUT_MODE_HEADPHONE_CAPLESS: Capless headphone output
55 * @ADAU1761_OUTPUT_MODE_LINE: Line output
56 */
57enum adau1761_output_mode {
58 ADAU1761_OUTPUT_MODE_HEADPHONE,
59 ADAU1761_OUTPUT_MODE_HEADPHONE_CAPLESS,
60 ADAU1761_OUTPUT_MODE_LINE,
61};
62
63/**
64 * struct adau1761_platform_data - ADAU1761 Codec driver platform data
65 * @input_differential: If true the input pins will be configured in
66 * differential mode.
67 * @lineout_mode: Output mode for the LOUT/ROUT pins
68 * @headphone_mode: Output mode for the LHP/RHP pins
69 * @digmic_jackdetect_pin_mode: JACKDET/MICIN pin configuration
70 * @jackdetect_debounce_time: Jack insertion detection debounce time.
71 * Note: This value will only be used, if the JACKDET/MICIN pin is configured
72 * for jack insertion detection.
73 * @jackdetect_active_low: If true the jack insertion detection is active low.
74 * Othwise it will be active high.
75 * @micbias_voltage: Microphone voltage bias
76 */
77struct adau1761_platform_data {
78 bool input_differential;
79 enum adau1761_output_mode lineout_mode;
80 enum adau1761_output_mode headphone_mode;
81
82 enum adau1761_digmic_jackdet_pin_mode digmic_jackdetect_pin_mode;
83
84 enum adau1761_jackdetect_debounce_time jackdetect_debounce_time;
85 bool jackdetect_active_low;
86
87 enum adau17x1_micbias_voltage micbias_voltage;
88};
89
23#endif 90#endif