Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-or-later */
0002 /*
0003  * ak4671.h  --  audio driver for AK4671
0004  *
0005  * Copyright (C) 2009 Samsung Electronics Co.Ltd
0006  * Author: Joonyoung Shim <jy0922.shim@samsung.com>
0007  */
0008 
0009 #ifndef _AK4671_H
0010 #define _AK4671_H
0011 
0012 #define AK4671_AD_DA_POWER_MANAGEMENT       0x00
0013 #define AK4671_PLL_MODE_SELECT0         0x01
0014 #define AK4671_PLL_MODE_SELECT1         0x02
0015 #define AK4671_FORMAT_SELECT            0x03
0016 #define AK4671_MIC_SIGNAL_SELECT        0x04
0017 #define AK4671_MIC_AMP_GAIN         0x05
0018 #define AK4671_MIXING_POWER_MANAGEMENT0     0x06
0019 #define AK4671_MIXING_POWER_MANAGEMENT1     0x07
0020 #define AK4671_OUTPUT_VOLUME_CONTROL        0x08
0021 #define AK4671_LOUT1_SIGNAL_SELECT      0x09
0022 #define AK4671_ROUT1_SIGNAL_SELECT      0x0a
0023 #define AK4671_LOUT2_SIGNAL_SELECT      0x0b
0024 #define AK4671_ROUT2_SIGNAL_SELECT      0x0c
0025 #define AK4671_LOUT3_SIGNAL_SELECT      0x0d
0026 #define AK4671_ROUT3_SIGNAL_SELECT      0x0e
0027 #define AK4671_LOUT1_POWER_MANAGERMENT      0x0f
0028 #define AK4671_LOUT2_POWER_MANAGERMENT      0x10
0029 #define AK4671_LOUT3_POWER_MANAGERMENT      0x11
0030 #define AK4671_LCH_INPUT_VOLUME_CONTROL     0x12
0031 #define AK4671_RCH_INPUT_VOLUME_CONTROL     0x13
0032 #define AK4671_ALC_REFERENCE_SELECT     0x14
0033 #define AK4671_DIGITAL_MIXING_CONTROL       0x15
0034 #define AK4671_ALC_TIMER_SELECT         0x16
0035 #define AK4671_ALC_MODE_CONTROL         0x17
0036 #define AK4671_MODE_CONTROL1            0x18
0037 #define AK4671_MODE_CONTROL2            0x19
0038 #define AK4671_LCH_OUTPUT_VOLUME_CONTROL    0x1a
0039 #define AK4671_RCH_OUTPUT_VOLUME_CONTROL    0x1b
0040 #define AK4671_SIDETONE_A_CONTROL       0x1c
0041 #define AK4671_DIGITAL_FILTER_SELECT        0x1d
0042 #define AK4671_FIL3_COEFFICIENT0        0x1e
0043 #define AK4671_FIL3_COEFFICIENT1        0x1f
0044 #define AK4671_FIL3_COEFFICIENT2        0x20
0045 #define AK4671_FIL3_COEFFICIENT3        0x21
0046 #define AK4671_EQ_COEFFICIENT0          0x22
0047 #define AK4671_EQ_COEFFICIENT1          0x23
0048 #define AK4671_EQ_COEFFICIENT2          0x24
0049 #define AK4671_EQ_COEFFICIENT3          0x25
0050 #define AK4671_EQ_COEFFICIENT4          0x26
0051 #define AK4671_EQ_COEFFICIENT5          0x27
0052 #define AK4671_FIL1_COEFFICIENT0        0x28
0053 #define AK4671_FIL1_COEFFICIENT1        0x29
0054 #define AK4671_FIL1_COEFFICIENT2        0x2a
0055 #define AK4671_FIL1_COEFFICIENT3        0x2b
0056 #define AK4671_FIL2_COEFFICIENT0        0x2c
0057 #define AK4671_FIL2_COEFFICIENT1        0x2d
0058 #define AK4671_FIL2_COEFFICIENT2        0x2e
0059 #define AK4671_FIL2_COEFFICIENT3        0x2f
0060 #define AK4671_DIGITAL_FILTER_SELECT2       0x30
0061 #define AK4671_E1_COEFFICIENT0          0x32
0062 #define AK4671_E1_COEFFICIENT1          0x33
0063 #define AK4671_E1_COEFFICIENT2          0x34
0064 #define AK4671_E1_COEFFICIENT3          0x35
0065 #define AK4671_E1_COEFFICIENT4          0x36
0066 #define AK4671_E1_COEFFICIENT5          0x37
0067 #define AK4671_E2_COEFFICIENT0          0x38
0068 #define AK4671_E2_COEFFICIENT1          0x39
0069 #define AK4671_E2_COEFFICIENT2          0x3a
0070 #define AK4671_E2_COEFFICIENT3          0x3b
0071 #define AK4671_E2_COEFFICIENT4          0x3c
0072 #define AK4671_E2_COEFFICIENT5          0x3d
0073 #define AK4671_E3_COEFFICIENT0          0x3e
0074 #define AK4671_E3_COEFFICIENT1          0x3f
0075 #define AK4671_E3_COEFFICIENT2          0x40
0076 #define AK4671_E3_COEFFICIENT3          0x41
0077 #define AK4671_E3_COEFFICIENT4          0x42
0078 #define AK4671_E3_COEFFICIENT5          0x43
0079 #define AK4671_E4_COEFFICIENT0          0x44
0080 #define AK4671_E4_COEFFICIENT1          0x45
0081 #define AK4671_E4_COEFFICIENT2          0x46
0082 #define AK4671_E4_COEFFICIENT3          0x47
0083 #define AK4671_E4_COEFFICIENT4          0x48
0084 #define AK4671_E4_COEFFICIENT5          0x49
0085 #define AK4671_E5_COEFFICIENT0          0x4a
0086 #define AK4671_E5_COEFFICIENT1          0x4b
0087 #define AK4671_E5_COEFFICIENT2          0x4c
0088 #define AK4671_E5_COEFFICIENT3          0x4d
0089 #define AK4671_E5_COEFFICIENT4          0x4e
0090 #define AK4671_E5_COEFFICIENT5          0x4f
0091 #define AK4671_EQ_CONTROL_250HZ_100HZ       0x50
0092 #define AK4671_EQ_CONTROL_3500HZ_1KHZ       0x51
0093 #define AK4671_EQ_CONTRO_10KHZ          0x52
0094 #define AK4671_PCM_IF_CONTROL0          0x53
0095 #define AK4671_PCM_IF_CONTROL1          0x54
0096 #define AK4671_PCM_IF_CONTROL2          0x55
0097 #define AK4671_DIGITAL_VOLUME_B_CONTROL     0x56
0098 #define AK4671_DIGITAL_VOLUME_C_CONTROL     0x57
0099 #define AK4671_SIDETONE_VOLUME_CONTROL      0x58
0100 #define AK4671_DIGITAL_MIXING_CONTROL2      0x59
0101 #define AK4671_SAR_ADC_CONTROL          0x5a
0102 
0103 /* Bitfield Definitions */
0104 
0105 /* AK4671_AD_DA_POWER_MANAGEMENT (0x00) Fields */
0106 #define AK4671_PMVCM                0x01
0107 
0108 /* AK4671_PLL_MODE_SELECT0 (0x01) Fields */
0109 #define AK4671_PLL              0x0f
0110 #define AK4671_PLL_11_2896MHZ           (4 << 0)
0111 #define AK4671_PLL_12_288MHZ            (5 << 0)
0112 #define AK4671_PLL_12MHZ            (6 << 0)
0113 #define AK4671_PLL_24MHZ            (7 << 0)
0114 #define AK4671_PLL_19_2MHZ          (8 << 0)
0115 #define AK4671_PLL_13_5MHZ          (12 << 0)
0116 #define AK4671_PLL_27MHZ            (13 << 0)
0117 #define AK4671_PLL_13MHZ            (14 << 0)
0118 #define AK4671_PLL_26MHZ            (15 << 0)
0119 #define AK4671_FS               0xf0
0120 #define AK4671_FS_8KHZ              (0 << 4)
0121 #define AK4671_FS_12KHZ             (1 << 4)
0122 #define AK4671_FS_16KHZ             (2 << 4)
0123 #define AK4671_FS_24KHZ             (3 << 4)
0124 #define AK4671_FS_11_025KHZ         (5 << 4)
0125 #define AK4671_FS_22_05KHZ          (7 << 4)
0126 #define AK4671_FS_32KHZ             (10 << 4)
0127 #define AK4671_FS_48KHZ             (11 << 4)
0128 #define AK4671_FS_44_1KHZ           (15 << 4)
0129 
0130 /* AK4671_PLL_MODE_SELECT1 (0x02) Fields */
0131 #define AK4671_PMPLL                0x01
0132 #define AK4671_M_S              0x02
0133 
0134 /* AK4671_FORMAT_SELECT (0x03) Fields */
0135 #define AK4671_DIF              0x03
0136 #define AK4671_DIF_DSP_MODE         (0 << 0)
0137 #define AK4671_DIF_MSB_MODE         (2 << 0)
0138 #define AK4671_DIF_I2S_MODE         (3 << 0)
0139 #define AK4671_BCKP             0x04
0140 #define AK4671_MSBS             0x08
0141 #define AK4671_SDOD             0x10
0142 
0143 /* AK4671_LOUT2_POWER_MANAGEMENT (0x10) Fields */
0144 #define AK4671_MUTEN                0x04
0145 
0146 #endif