109 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			109 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* 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
 |