linux/sound/soc/codecs/88pm860x-codec.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0-only */
   2/*
   3 * 88pm860x-codec.h -- 88PM860x ALSA SoC Audio Driver
   4 *
   5 * Copyright 2010 Marvell International Ltd.
   6 *      Haojian Zhuang <haojian.zhuang@marvell.com>
   7 */
   8
   9#ifndef __88PM860X_H
  10#define __88PM860X_H
  11
  12#define PM860X_PCM_IFACE_1              0xb0
  13#define PM860X_PCM_IFACE_2              0xb1
  14#define PM860X_PCM_IFACE_3              0xb2
  15#define PM860X_PCM_RATE                 0xb3
  16#define PM860X_EC_PATH                  0xb4
  17#define PM860X_SIDETONE_L_GAIN          0xb5
  18#define PM860X_SIDETONE_R_GAIN          0xb6
  19#define PM860X_SIDETONE_SHIFT           0xb7
  20#define PM860X_ADC_OFFSET_1             0xb8
  21#define PM860X_ADC_OFFSET_2             0xb9
  22#define PM860X_DMIC_DELAY               0xba
  23
  24#define PM860X_I2S_IFACE_1              0xbb
  25#define PM860X_I2S_IFACE_2              0xbc
  26#define PM860X_I2S_IFACE_3              0xbd
  27#define PM860X_I2S_IFACE_4              0xbe
  28#define PM860X_EQUALIZER_N0_1           0xbf
  29#define PM860X_EQUALIZER_N0_2           0xc0
  30#define PM860X_EQUALIZER_N1_1           0xc1
  31#define PM860X_EQUALIZER_N1_2           0xc2
  32#define PM860X_EQUALIZER_D1_1           0xc3
  33#define PM860X_EQUALIZER_D1_2           0xc4
  34#define PM860X_LOFI_GAIN_LEFT           0xc5
  35#define PM860X_LOFI_GAIN_RIGHT          0xc6
  36#define PM860X_HIFIL_GAIN_LEFT          0xc7
  37#define PM860X_HIFIL_GAIN_RIGHT         0xc8
  38#define PM860X_HIFIR_GAIN_LEFT          0xc9
  39#define PM860X_HIFIR_GAIN_RIGHT         0xca
  40#define PM860X_DAC_OFFSET               0xcb
  41#define PM860X_OFFSET_LEFT_1            0xcc
  42#define PM860X_OFFSET_LEFT_2            0xcd
  43#define PM860X_OFFSET_RIGHT_1           0xce
  44#define PM860X_OFFSET_RIGHT_2           0xcf
  45#define PM860X_ADC_ANA_1                0xd0
  46#define PM860X_ADC_ANA_2                0xd1
  47#define PM860X_ADC_ANA_3                0xd2
  48#define PM860X_ADC_ANA_4                0xd3
  49#define PM860X_ANA_TO_ANA               0xd4
  50#define PM860X_HS1_CTRL                 0xd5
  51#define PM860X_HS2_CTRL                 0xd6
  52#define PM860X_LO1_CTRL                 0xd7
  53#define PM860X_LO2_CTRL                 0xd8
  54#define PM860X_EAR_CTRL_1               0xd9
  55#define PM860X_EAR_CTRL_2               0xda
  56#define PM860X_AUDIO_SUPPLIES_1         0xdb
  57#define PM860X_AUDIO_SUPPLIES_2         0xdc
  58#define PM860X_ADC_EN_1                 0xdd
  59#define PM860X_ADC_EN_2                 0xde
  60#define PM860X_DAC_EN_1                 0xdf
  61#define PM860X_DAC_EN_2                 0xe1
  62#define PM860X_AUDIO_CAL_1              0xe2
  63#define PM860X_AUDIO_CAL_2              0xe3
  64#define PM860X_AUDIO_CAL_3              0xe4
  65#define PM860X_AUDIO_CAL_4              0xe5
  66#define PM860X_AUDIO_CAL_5              0xe6
  67#define PM860X_ANA_INPUT_SEL_1          0xe7
  68#define PM860X_ANA_INPUT_SEL_2          0xe8
  69
  70#define PM860X_PCM_IFACE_4              0xe9
  71#define PM860X_I2S_IFACE_5              0xea
  72
  73#define PM860X_SHORTS                   0x3b
  74#define PM860X_PLL_ADJ_1                0x3c
  75#define PM860X_PLL_ADJ_2                0x3d
  76
  77/* bits definition */
  78#define PM860X_CLK_DIR_IN               0
  79#define PM860X_CLK_DIR_OUT              1
  80
  81#define PM860X_DET_HEADSET              (1 << 0)
  82#define PM860X_DET_MIC                  (1 << 1)
  83#define PM860X_DET_HOOK                 (1 << 2)
  84#define PM860X_SHORT_HEADSET            (1 << 3)
  85#define PM860X_SHORT_LINEOUT            (1 << 4)
  86#define PM860X_DET_MASK                 0x1F
  87
  88extern int pm860x_hs_jack_detect(struct snd_soc_component *, struct snd_soc_jack *,
  89                                 int, int, int, int);
  90extern int pm860x_mic_jack_detect(struct snd_soc_component *, struct snd_soc_jack *,
  91                                  int);
  92
  93#endif  /* __88PM860X_H */
  94