| /* SPDX-License-Identifier: GPL-2.0-or-later */ | |
| /* | |
| * Driver for ADAU1361/ADAU1461/ADAU1761/ADAU1961/ADAU1381/ADAU1781 codecs | |
| * | |
| * Copyright 2011-2014 Analog Devices Inc. | |
| * Author: Lars-Peter Clausen <lars@metafoo.de> | |
| */ | |
| #ifndef __LINUX_PLATFORM_DATA_ADAU17X1_H__ | |
| #define __LINUX_PLATFORM_DATA_ADAU17X1_H__ | |
| /** | |
| * enum adau17x1_micbias_voltage - Microphone bias voltage | |
| * @ADAU17X1_MICBIAS_0_90_AVDD: 0.9 * AVDD | |
| * @ADAU17X1_MICBIAS_0_65_AVDD: 0.65 * AVDD | |
| */ | |
| enum adau17x1_micbias_voltage { | |
| ADAU17X1_MICBIAS_0_90_AVDD = 0, | |
| ADAU17X1_MICBIAS_0_65_AVDD = 1, | |
| }; | |
| /** | |
| * enum adau1761_digmic_jackdet_pin_mode - Configuration of the JACKDET/MICIN pin | |
| * @ADAU1761_DIGMIC_JACKDET_PIN_MODE_NONE: Disable the pin | |
| * @ADAU1761_DIGMIC_JACKDET_PIN_MODE_DIGMIC: Configure the pin for usage as | |
| * digital microphone input. | |
| * @ADAU1761_DIGMIC_JACKDET_PIN_MODE_JACKDETECT: Configure the pin for jack | |
| * insertion detection. | |
| */ | |
| enum adau1761_digmic_jackdet_pin_mode { | |
| ADAU1761_DIGMIC_JACKDET_PIN_MODE_NONE, | |
| ADAU1761_DIGMIC_JACKDET_PIN_MODE_DIGMIC, | |
| ADAU1761_DIGMIC_JACKDET_PIN_MODE_JACKDETECT, | |
| }; | |
| /** | |
| * adau1761_jackdetect_debounce_time - Jack insertion detection debounce time | |
| * @ADAU1761_JACKDETECT_DEBOUNCE_5MS: 5 milliseconds | |
| * @ADAU1761_JACKDETECT_DEBOUNCE_10MS: 10 milliseconds | |
| * @ADAU1761_JACKDETECT_DEBOUNCE_20MS: 20 milliseconds | |
| * @ADAU1761_JACKDETECT_DEBOUNCE_40MS: 40 milliseconds | |
| */ | |
| enum adau1761_jackdetect_debounce_time { | |
| ADAU1761_JACKDETECT_DEBOUNCE_5MS = 0, | |
| ADAU1761_JACKDETECT_DEBOUNCE_10MS = 1, | |
| ADAU1761_JACKDETECT_DEBOUNCE_20MS = 2, | |
| ADAU1761_JACKDETECT_DEBOUNCE_40MS = 3, | |
| }; | |
| /** | |
| * enum adau1761_output_mode - Output mode configuration | |
| * @ADAU1761_OUTPUT_MODE_HEADPHONE: Headphone output | |
| * @ADAU1761_OUTPUT_MODE_HEADPHONE_CAPLESS: Capless headphone output | |
| * @ADAU1761_OUTPUT_MODE_LINE: Line output | |
| */ | |
| enum adau1761_output_mode { | |
| ADAU1761_OUTPUT_MODE_HEADPHONE, | |
| ADAU1761_OUTPUT_MODE_HEADPHONE_CAPLESS, | |
| ADAU1761_OUTPUT_MODE_LINE, | |
| }; | |
| /** | |
| * struct adau1761_platform_data - ADAU1761 Codec driver platform data | |
| * @input_differential: If true the input pins will be configured in | |
| * differential mode. | |
| * @lineout_mode: Output mode for the LOUT/ROUT pins | |
| * @headphone_mode: Output mode for the LHP/RHP pins | |
| * @digmic_jackdetect_pin_mode: JACKDET/MICIN pin configuration | |
| * @jackdetect_debounce_time: Jack insertion detection debounce time. | |
| * Note: This value will only be used, if the JACKDET/MICIN pin is configured | |
| * for jack insertion detection. | |
| * @jackdetect_active_low: If true the jack insertion detection is active low. | |
| * Othwise it will be active high. | |
| * @micbias_voltage: Microphone voltage bias | |
| */ | |
| struct adau1761_platform_data { | |
| bool input_differential; | |
| enum adau1761_output_mode lineout_mode; | |
| enum adau1761_output_mode headphone_mode; | |
| enum adau1761_digmic_jackdet_pin_mode digmic_jackdetect_pin_mode; | |
| enum adau1761_jackdetect_debounce_time jackdetect_debounce_time; | |
| bool jackdetect_active_low; | |
| enum adau17x1_micbias_voltage micbias_voltage; | |
| }; | |
| /** | |
| * struct adau1781_platform_data - ADAU1781 Codec driver platform data | |
| * @left_input_differential: If true configure the left input as | |
| * differential input. | |
| * @right_input_differential: If true configure the right input as differntial | |
| * input. | |
| * @use_dmic: If true configure the MIC pins as digital microphone pins instead | |
| * of analog microphone pins. | |
| * @micbias_voltage: Microphone voltage bias | |
| */ | |
| struct adau1781_platform_data { | |
| bool left_input_differential; | |
| bool right_input_differential; | |
| bool use_dmic; | |
| enum adau17x1_micbias_voltage micbias_voltage; | |
| }; | |
| #endif |