root/include/sound/tlv320aic3x.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0-only */
   2 /*
   3  * Platform data for Texas Instruments TLV320AIC3x codec
   4  *
   5  * Author: Jarkko Nikula <jarkko.nikula@bitmer.com>
   6  */
   7 #ifndef __TLV320AIC3x_H__
   8 #define __TLV320AIC3x_H__
   9 
  10 /* GPIO API */
  11 enum {
  12         AIC3X_GPIO1_FUNC_DISABLED               = 0,
  13         AIC3X_GPIO1_FUNC_AUDIO_WORDCLK_ADC      = 1,
  14         AIC3X_GPIO1_FUNC_CLOCK_MUX              = 2,
  15         AIC3X_GPIO1_FUNC_CLOCK_MUX_DIV2         = 3,
  16         AIC3X_GPIO1_FUNC_CLOCK_MUX_DIV4         = 4,
  17         AIC3X_GPIO1_FUNC_CLOCK_MUX_DIV8         = 5,
  18         AIC3X_GPIO1_FUNC_SHORT_CIRCUIT_IRQ      = 6,
  19         AIC3X_GPIO1_FUNC_AGC_NOISE_IRQ          = 7,
  20         AIC3X_GPIO1_FUNC_INPUT                  = 8,
  21         AIC3X_GPIO1_FUNC_OUTPUT                 = 9,
  22         AIC3X_GPIO1_FUNC_DIGITAL_MIC_MODCLK     = 10,
  23         AIC3X_GPIO1_FUNC_AUDIO_WORDCLK          = 11,
  24         AIC3X_GPIO1_FUNC_BUTTON_IRQ             = 12,
  25         AIC3X_GPIO1_FUNC_HEADSET_DETECT_IRQ     = 13,
  26         AIC3X_GPIO1_FUNC_HEADSET_DETECT_OR_BUTTON_IRQ   = 14,
  27         AIC3X_GPIO1_FUNC_ALL_IRQ                = 16
  28 };
  29 
  30 enum {
  31         AIC3X_GPIO2_FUNC_DISABLED               = 0,
  32         AIC3X_GPIO2_FUNC_HEADSET_DETECT_IRQ     = 2,
  33         AIC3X_GPIO2_FUNC_INPUT                  = 3,
  34         AIC3X_GPIO2_FUNC_OUTPUT                 = 4,
  35         AIC3X_GPIO2_FUNC_DIGITAL_MIC_INPUT      = 5,
  36         AIC3X_GPIO2_FUNC_AUDIO_BITCLK           = 8,
  37         AIC3X_GPIO2_FUNC_HEADSET_DETECT_OR_BUTTON_IRQ = 9,
  38         AIC3X_GPIO2_FUNC_ALL_IRQ                = 10,
  39         AIC3X_GPIO2_FUNC_SHORT_CIRCUIT_OR_AGC_IRQ = 11,
  40         AIC3X_GPIO2_FUNC_HEADSET_OR_BUTTON_PRESS_OR_SHORT_CIRCUIT_IRQ = 12,
  41         AIC3X_GPIO2_FUNC_SHORT_CIRCUIT_IRQ      = 13,
  42         AIC3X_GPIO2_FUNC_AGC_NOISE_IRQ          = 14,
  43         AIC3X_GPIO2_FUNC_BUTTON_PRESS_IRQ       = 15
  44 };
  45 
  46 enum aic3x_micbias_voltage {
  47         AIC3X_MICBIAS_OFF = 0,
  48         AIC3X_MICBIAS_2_0V = 1,
  49         AIC3X_MICBIAS_2_5V = 2,
  50         AIC3X_MICBIAS_AVDDV = 3,
  51 };
  52 
  53 struct aic3x_setup_data {
  54         unsigned int gpio_func[2];
  55 };
  56 
  57 struct aic3x_pdata {
  58         int gpio_reset; /* < 0 if not used */
  59         struct aic3x_setup_data *setup;
  60 
  61         /* Selects the micbias voltage */
  62         enum aic3x_micbias_voltage micbias_vg;
  63 };
  64 
  65 #endif

/* [<][>][^][v][top][bottom][index][help] */