Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-only */
0002 /*
0003  * da732x.h -- Dialog DA732X ALSA SoC Audio Driver Header File
0004  *
0005  * Copyright (C) 2012 Dialog Semiconductor GmbH
0006  *
0007  * Author: Michal Hajduk <Michal.Hajduk@diasemi.com>
0008  */
0009 
0010 #ifndef __DA732X_H_
0011 #define __DA732X_H_
0012 
0013 #include <sound/soc.h>
0014 
0015 /* General */
0016 #define DA732X_U8_MASK          0xFF
0017 #define DA732X_4BYTES           4
0018 #define DA732X_3BYTES           3
0019 #define DA732X_2BYTES           2
0020 #define DA732X_1BYTE            1
0021 #define DA732X_1BYTE_SHIFT      8
0022 #define DA732X_2BYTES_SHIFT     16
0023 #define DA732X_3BYTES_SHIFT     24
0024 #define DA732X_4BYTES_SHIFT     32
0025 
0026 #define DA732X_DACS_DIS         0x0
0027 #define DA732X_HP_DIS           0x0
0028 #define DA732X_CLEAR_REG        0x0
0029 
0030 /* Calibration */
0031 #define DA732X_DAC_OFFSET_STEP      0x20
0032 #define DA732X_OUTPUT_OFFSET_STEP   0x80
0033 #define DA732X_HP_OUT_TRIM_VAL      0x0
0034 #define DA732X_WAIT_FOR_STABILIZATION   1
0035 #define DA732X_HPL_DAC          0
0036 #define DA732X_HPR_DAC          1
0037 #define DA732X_HP_DACS          2
0038 #define DA732X_HPL_AMP          0
0039 #define DA732X_HPR_AMP          1
0040 #define DA732X_HP_AMPS          2
0041 
0042 /* Clock settings */
0043 #define DA732X_STARTUP_DELAY        100
0044 #define DA732X_PLL_OUT_196608       196608000
0045 #define DA732X_PLL_OUT_180634       180633600
0046 #define DA732X_PLL_OUT_SRM      188620800
0047 #define DA732X_MCLK_10MHZ       10000000
0048 #define DA732X_MCLK_20MHZ       20000000
0049 #define DA732X_MCLK_40MHZ       40000000
0050 #define DA732X_MCLK_54MHZ       54000000
0051 #define DA732X_MCLK_VAL_0_10MHZ     0
0052 #define DA732X_MCLK_VAL_10_20MHZ    1
0053 #define DA732X_MCLK_VAL_20_40MHZ    2
0054 #define DA732X_MCLK_VAL_40_54MHZ    3
0055 #define DA732X_DAI_ID1          0
0056 #define DA732X_DAI_ID2          1
0057 #define DA732X_SRCCLK_PLL       0
0058 #define DA732X_SRCCLK_MCLK      1
0059 
0060 #define DA732X_LIN_LP_VOL       0x4F
0061 #define DA732X_LP_VOL           0x40
0062 
0063 /* Kcontrols */
0064 #define DA732X_DAC_EN_MAX       2
0065 #define DA732X_ADCL_MUX_MAX     2
0066 #define DA732X_ADCR_MUX_MAX     3
0067 #define DA732X_HPF_MODE_MAX     3
0068 #define DA732X_HPF_MODE_SHIFT       4
0069 #define DA732X_HPF_MUSIC_SHIFT      0
0070 #define DA732X_HPF_MUSIC_MAX        4
0071 #define DA732X_HPF_VOICE_SHIFT      4
0072 #define DA732X_HPF_VOICE_MAX        8
0073 #define DA732X_EQ_EN_MAX        1
0074 #define DA732X_HPF_VOICE        1
0075 #define DA732X_HPF_MUSIC        2
0076 #define DA732X_HPF_DISABLED     0
0077 #define DA732X_NO_INVERT        0
0078 #define DA732X_INVERT           1
0079 #define DA732X_SWITCH_MAX       1
0080 #define DA732X_ENABLE_CP        1
0081 #define DA732X_DISABLE_CP       0
0082 #define DA732X_DISABLE_ALL_CLKS     0
0083 #define DA732X_RESET_ADCS       0
0084 
0085 /* dB values */
0086 #define DA732X_MIC_VOL_DB_MIN       0
0087 #define DA732X_MIC_VOL_DB_INC       50
0088 #define DA732X_MIC_PRE_VOL_DB_MIN   0
0089 #define DA732X_MIC_PRE_VOL_DB_INC   600
0090 #define DA732X_AUX_VOL_DB_MIN       -6000
0091 #define DA732X_AUX_VOL_DB_INC       150
0092 #define DA732X_HP_VOL_DB_MIN        -2250
0093 #define DA732X_HP_VOL_DB_INC        150
0094 #define DA732X_LIN2_VOL_DB_MIN      -1650
0095 #define DA732X_LIN2_VOL_DB_INC      150
0096 #define DA732X_LIN3_VOL_DB_MIN      -1650
0097 #define DA732X_LIN3_VOL_DB_INC      150
0098 #define DA732X_LIN4_VOL_DB_MIN      -2250
0099 #define DA732X_LIN4_VOL_DB_INC      150
0100 #define DA732X_EQ_BAND_VOL_DB_MIN   -1050
0101 #define DA732X_EQ_BAND_VOL_DB_INC   150
0102 #define DA732X_DAC_VOL_DB_MIN       -7725
0103 #define DA732X_DAC_VOL_DB_INC       75
0104 #define DA732X_ADC_VOL_DB_MIN       0
0105 #define DA732X_ADC_VOL_DB_INC       -1
0106 #define DA732X_EQ_OVERALL_VOL_DB_MIN    -1800
0107 #define DA732X_EQ_OVERALL_VOL_DB_INC    600
0108 
0109 enum da732x_sysctl {
0110     DA732X_SR_8KHZ      = 0x1,
0111     DA732X_SR_11_025KHZ = 0x2,
0112     DA732X_SR_12KHZ     = 0x3,
0113     DA732X_SR_16KHZ     = 0x5,
0114     DA732X_SR_22_05KHZ  = 0x6,
0115     DA732X_SR_24KHZ     = 0x7,
0116     DA732X_SR_32KHZ     = 0x9,
0117     DA732X_SR_44_1KHZ   = 0xA,
0118     DA732X_SR_48KHZ     = 0xB,
0119     DA732X_SR_88_1KHZ   = 0xE,
0120     DA732X_SR_96KHZ     = 0xF,
0121 };
0122 
0123 #endif /* __DA732X_H_ */