0001
0002
0003
0004
0005
0006
0007
0008 #ifndef __WM8978_H__
0009 #define __WM8978_H__
0010
0011
0012
0013
0014 #define WM8978_RESET 0x00
0015 #define WM8978_POWER_MANAGEMENT_1 0x01
0016 #define WM8978_POWER_MANAGEMENT_2 0x02
0017 #define WM8978_POWER_MANAGEMENT_3 0x03
0018 #define WM8978_AUDIO_INTERFACE 0x04
0019 #define WM8978_COMPANDING_CONTROL 0x05
0020 #define WM8978_CLOCKING 0x06
0021 #define WM8978_ADDITIONAL_CONTROL 0x07
0022 #define WM8978_GPIO_CONTROL 0x08
0023 #define WM8978_JACK_DETECT_CONTROL_1 0x09
0024 #define WM8978_DAC_CONTROL 0x0A
0025 #define WM8978_LEFT_DAC_DIGITAL_VOLUME 0x0B
0026 #define WM8978_RIGHT_DAC_DIGITAL_VOLUME 0x0C
0027 #define WM8978_JACK_DETECT_CONTROL_2 0x0D
0028 #define WM8978_ADC_CONTROL 0x0E
0029 #define WM8978_LEFT_ADC_DIGITAL_VOLUME 0x0F
0030 #define WM8978_RIGHT_ADC_DIGITAL_VOLUME 0x10
0031 #define WM8978_EQ1 0x12
0032 #define WM8978_EQ2 0x13
0033 #define WM8978_EQ3 0x14
0034 #define WM8978_EQ4 0x15
0035 #define WM8978_EQ5 0x16
0036 #define WM8978_DAC_LIMITER_1 0x18
0037 #define WM8978_DAC_LIMITER_2 0x19
0038 #define WM8978_NOTCH_FILTER_1 0x1b
0039 #define WM8978_NOTCH_FILTER_2 0x1c
0040 #define WM8978_NOTCH_FILTER_3 0x1d
0041 #define WM8978_NOTCH_FILTER_4 0x1e
0042 #define WM8978_ALC_CONTROL_1 0x20
0043 #define WM8978_ALC_CONTROL_2 0x21
0044 #define WM8978_ALC_CONTROL_3 0x22
0045 #define WM8978_NOISE_GATE 0x23
0046 #define WM8978_PLL_N 0x24
0047 #define WM8978_PLL_K1 0x25
0048 #define WM8978_PLL_K2 0x26
0049 #define WM8978_PLL_K3 0x27
0050 #define WM8978_3D_CONTROL 0x29
0051 #define WM8978_BEEP_CONTROL 0x2b
0052 #define WM8978_INPUT_CONTROL 0x2c
0053 #define WM8978_LEFT_INP_PGA_CONTROL 0x2d
0054 #define WM8978_RIGHT_INP_PGA_CONTROL 0x2e
0055 #define WM8978_LEFT_ADC_BOOST_CONTROL 0x2f
0056 #define WM8978_RIGHT_ADC_BOOST_CONTROL 0x30
0057 #define WM8978_OUTPUT_CONTROL 0x31
0058 #define WM8978_LEFT_MIXER_CONTROL 0x32
0059 #define WM8978_RIGHT_MIXER_CONTROL 0x33
0060 #define WM8978_LOUT1_HP_CONTROL 0x34
0061 #define WM8978_ROUT1_HP_CONTROL 0x35
0062 #define WM8978_LOUT2_SPK_CONTROL 0x36
0063 #define WM8978_ROUT2_SPK_CONTROL 0x37
0064 #define WM8978_OUT3_MIXER_CONTROL 0x38
0065 #define WM8978_OUT4_MIXER_CONTROL 0x39
0066
0067 #define WM8978_MAX_REGISTER 0x39
0068
0069 #define WM8978_CACHEREGNUM 58
0070
0071
0072 enum wm8978_clk_id {
0073 WM8978_OPCLKRATE,
0074 WM8978_BCLKDIV,
0075 };
0076
0077 enum wm8978_sysclk_src {
0078 WM8978_MCLK = 0,
0079 WM8978_PLL,
0080 };
0081
0082 #endif