treewide: remove redundant IS_ERR() before error code check
[linux/fpc-iii.git] / sound / soc / codecs / da732x.h
blobc5af17ee15160ac2f7df451d38b03a5133a3b511
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3 * da732x.h -- Dialog DA732X ALSA SoC Audio Driver Header File
5 * Copyright (C) 2012 Dialog Semiconductor GmbH
7 * Author: Michal Hajduk <Michal.Hajduk@diasemi.com>
8 */
10 #ifndef __DA732X_H_
11 #define __DA732X_H_
13 #include <sound/soc.h>
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
26 #define DA732X_DACS_DIS 0x0
27 #define DA732X_HP_DIS 0x0
28 #define DA732X_CLEAR_REG 0x0
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
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
64 #define DA732X_LIN_LP_VOL 0x4F
65 #define DA732X_LP_VOL 0x40
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
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
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,
127 #endif /* __DA732X_H_ */