root/sound/soc/codecs/da732x.h

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

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0-only */
   2 /*
   3  * da732x.h -- Dialog DA732X ALSA SoC Audio Driver Header File
   4  *
   5  * Copyright (C) 2012 Dialog Semiconductor GmbH
   6  *
   7  * Author: Michal Hajduk <Michal.Hajduk@diasemi.com>
   8  */
   9 
  10 #ifndef __DA732X_H_
  11 #define __DA732X_H_
  12 
  13 #include <sound/soc.h>
  14 
  15 /* General */
  16 #define DA732X_U8_MASK                  0xFF
  17 #define DA732X_4BYTES                   4
  18 #define DA732X_3BYTES                   3
  19 #define DA732X_2BYTES                   2
  20 #define DA732X_1BYTE                    1
  21 #define DA732X_1BYTE_SHIFT              8
  22 #define DA732X_2BYTES_SHIFT             16
  23 #define DA732X_3BYTES_SHIFT             24
  24 #define DA732X_4BYTES_SHIFT             32
  25 
  26 #define DA732X_DACS_DIS                 0x0
  27 #define DA732X_HP_DIS                   0x0
  28 #define DA732X_CLEAR_REG                0x0
  29 
  30 /* Calibration */
  31 #define DA732X_DAC_OFFSET_STEP          0x20
  32 #define DA732X_OUTPUT_OFFSET_STEP       0x80
  33 #define DA732X_HP_OUT_TRIM_VAL          0x0
  34 #define DA732X_WAIT_FOR_STABILIZATION   1
  35 #define DA732X_HPL_DAC                  0
  36 #define DA732X_HPR_DAC                  1
  37 #define DA732X_HP_DACS                  2
  38 #define DA732X_HPL_AMP                  0
  39 #define DA732X_HPR_AMP                  1
  40 #define DA732X_HP_AMPS                  2
  41 
  42 /* Clock settings */
  43 #define DA732X_STARTUP_DELAY            100
  44 #define DA732X_PLL_OUT_196608           196608000
  45 #define DA732X_PLL_OUT_180634           180633600
  46 #define DA732X_PLL_OUT_SRM              188620800
  47 #define DA732X_MCLK_10MHZ               10000000
  48 #define DA732X_MCLK_20MHZ               20000000
  49 #define DA732X_MCLK_40MHZ               40000000
  50 #define DA732X_MCLK_54MHZ               54000000
  51 #define DA732X_MCLK_RET_0_10MHZ         0
  52 #define DA732X_MCLK_VAL_0_10MHZ         1
  53 #define DA732X_MCLK_RET_10_20MHZ        1
  54 #define DA732X_MCLK_VAL_10_20MHZ        2
  55 #define DA732X_MCLK_RET_20_40MHZ        2
  56 #define DA732X_MCLK_VAL_20_40MHZ        4
  57 #define DA732X_MCLK_RET_40_54MHZ        3
  58 #define DA732X_MCLK_VAL_40_54MHZ        8
  59 #define DA732X_DAI_ID1                  0
  60 #define DA732X_DAI_ID2                  1
  61 #define DA732X_SRCCLK_PLL               0
  62 #define DA732X_SRCCLK_MCLK              1
  63 
  64 #define DA732X_LIN_LP_VOL               0x4F
  65 #define DA732X_LP_VOL                   0x40
  66 
  67 /* Kcontrols */
  68 #define DA732X_DAC_EN_MAX               2
  69 #define DA732X_ADCL_MUX_MAX             2
  70 #define DA732X_ADCR_MUX_MAX             3
  71 #define DA732X_HPF_MODE_MAX             3
  72 #define DA732X_HPF_MODE_SHIFT           4
  73 #define DA732X_HPF_MUSIC_SHIFT          0
  74 #define DA732X_HPF_MUSIC_MAX            4
  75 #define DA732X_HPF_VOICE_SHIFT          4
  76 #define DA732X_HPF_VOICE_MAX            8
  77 #define DA732X_EQ_EN_MAX                1
  78 #define DA732X_HPF_VOICE                1
  79 #define DA732X_HPF_MUSIC                2
  80 #define DA732X_HPF_DISABLED             0
  81 #define DA732X_NO_INVERT                0
  82 #define DA732X_INVERT                   1
  83 #define DA732X_SWITCH_MAX               1
  84 #define DA732X_ENABLE_CP                1
  85 #define DA732X_DISABLE_CP               0
  86 #define DA732X_DISABLE_ALL_CLKS         0
  87 #define DA732X_RESET_ADCS               0
  88 
  89 /* dB values */
  90 #define DA732X_MIC_VOL_DB_MIN           0
  91 #define DA732X_MIC_VOL_DB_INC           50
  92 #define DA732X_MIC_PRE_VOL_DB_MIN       0
  93 #define DA732X_MIC_PRE_VOL_DB_INC       600
  94 #define DA732X_AUX_VOL_DB_MIN           -6000
  95 #define DA732X_AUX_VOL_DB_INC           150
  96 #define DA732X_HP_VOL_DB_MIN            -2250
  97 #define DA732X_HP_VOL_DB_INC            150
  98 #define DA732X_LIN2_VOL_DB_MIN          -1650
  99 #define DA732X_LIN2_VOL_DB_INC          150
 100 #define DA732X_LIN3_VOL_DB_MIN          -1650
 101 #define DA732X_LIN3_VOL_DB_INC          150
 102 #define DA732X_LIN4_VOL_DB_MIN          -2250
 103 #define DA732X_LIN4_VOL_DB_INC          150
 104 #define DA732X_EQ_BAND_VOL_DB_MIN       -1050
 105 #define DA732X_EQ_BAND_VOL_DB_INC       150
 106 #define DA732X_DAC_VOL_DB_MIN           -7725
 107 #define DA732X_DAC_VOL_DB_INC           75
 108 #define DA732X_ADC_VOL_DB_MIN           0
 109 #define DA732X_ADC_VOL_DB_INC           -1
 110 #define DA732X_EQ_OVERALL_VOL_DB_MIN    -1800
 111 #define DA732X_EQ_OVERALL_VOL_DB_INC    600
 112 
 113 enum da732x_sysctl {
 114         DA732X_SR_8KHZ          = 0x1,
 115         DA732X_SR_11_025KHZ     = 0x2,
 116         DA732X_SR_12KHZ         = 0x3,
 117         DA732X_SR_16KHZ         = 0x5,
 118         DA732X_SR_22_05KHZ      = 0x6,
 119         DA732X_SR_24KHZ         = 0x7,
 120         DA732X_SR_32KHZ         = 0x9,
 121         DA732X_SR_44_1KHZ       = 0xA,
 122         DA732X_SR_48KHZ         = 0xB,
 123         DA732X_SR_88_1KHZ       = 0xE,
 124         DA732X_SR_96KHZ         = 0xF,
 125 };
 126 
 127 #endif /* __DA732X_H_ */

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