.. | .. |
---|
27 | 27 | #define ACODEC_ADC_I2S_CTL1 0x08 /* REG 0x02 */ |
---|
28 | 28 | #define ACODEC_ADC_BIST_MODE_SEL 0x0c /* REG 0x03 */ |
---|
29 | 29 | #define ACODEC_ADC_HPF_PATH 0x10 /* REG 0x04 */ |
---|
30 | | -/* Resevred REG 0x05 ~ 0x06 */ |
---|
| 30 | +#define ACODEC_S_ADC_DIG_VOL_CON_L 0x14 /* REG 0x05 */ |
---|
| 31 | +#define ACODEC_S_ADC_DIG_VOL_CON_R 0x18 /* REG 0x06 */ |
---|
31 | 32 | #define ACODEC_ADC_DATA_PATH 0x1c /* REG 0x07 */ |
---|
32 | 33 | /* Resevred REG 0x08 ~ 0x0f */ |
---|
33 | 34 | |
---|
.. | .. |
---|
42 | 43 | #define ACODEC_ADC_PGA_AGC_L_LO_MIN 0x5c /* REG 0x17 */ |
---|
43 | 44 | #define ACODEC_ADC_PGA_AGC_L_HI_MIN 0x60 /* REG 0x18 */ |
---|
44 | 45 | #define ACODEC_ADC_PGA_AGC_L_CTL5 0x64 /* REG 0x19 */ |
---|
45 | | -/* Resevred REG 0x1a ~ 0x1b */ |
---|
| 46 | +/* Resevred REG 0x1a */ |
---|
| 47 | +#define ACODEC_S_ADC_PEAK_DET_VALUE_DEC_RATE_L 0x6c /* REG 0x1b */ |
---|
46 | 48 | #define ACODEC_ADC_AGC_L_RO_GAIN 0x70 /* REG 0x1c */ |
---|
47 | 49 | |
---|
48 | 50 | /* REG 0x20 ~ 0x2c are used to configure AGC of Right channel (ALC2) */ |
---|
.. | .. |
---|
56 | 58 | #define ACODEC_ADC_PGA_AGC_R_LO_MIN 0x9c /* REG 0x27 */ |
---|
57 | 59 | #define ACODEC_ADC_PGA_AGC_R_HI_MIN 0xa0 /* REG 0x28 */ |
---|
58 | 60 | #define ACODEC_ADC_PGA_AGC_R_CTL5 0xa4 /* REG 0x29 */ |
---|
59 | | -/* Resevred REG 0x2a ~ 0x2b */ |
---|
| 61 | +/* Resevred REG 0x2a */ |
---|
| 62 | +#define ACODEC_S_ADC_PEAK_DET_VALUE_DEC_RATE_R 0xac /* REG 0x2b */ |
---|
60 | 63 | #define ACODEC_ADC_AGC_R_RO_GAIN 0xb0 /* REG 0x2c */ |
---|
61 | 64 | |
---|
62 | 65 | /* DAC DIGITAL REGISTERS */ |
---|
.. | .. |
---|
65 | 68 | #define ACODEC_DAC_BIST_MODE_SEL 0x0c /* REG 0x03 */ |
---|
66 | 69 | #define ACODEC_DAC_DIGITAL_GAIN 0x10 /* REG 0x04 */ |
---|
67 | 70 | #define ACODEC_DAC_DATA_SEL 0x14 /* REG 0x05 */ |
---|
68 | | -/* Resevred REG 0x06 ~ 0x09 */ |
---|
| 71 | +/* Resevred REG 0x06 ~ 0x08 */ |
---|
69 | 72 | #define ACODEC_DAC_DATA_HI 0x28 /* REG 0x0a */ |
---|
70 | 73 | #define ACODEC_DAC_DATA_LO 0x2c /* REG 0x0b */ |
---|
71 | | -/* Resevred REG 0x0c */ |
---|
72 | | -#define ACODEC_DAC_HPDET_DELAYTIME 0x34 /* REG 0x0d */ |
---|
| 74 | + |
---|
| 75 | +#define ACODEC_DAC_HPDET_DELAYTIME_HI 0x30 /* REG 0x0c */ |
---|
| 76 | +#define ACODEC_DAC_HPDET_DELAYTIME_LO 0x34 /* REG 0x0d */ |
---|
73 | 77 | #define ACODEC_DAC_HPDET_STATUS 0x38 /* REG 0x0e, Read-only */ |
---|
| 78 | + |
---|
| 79 | +#define ACODEC_S_DAC_DATA_HI 0x24 /* REG 0x09 */ |
---|
| 80 | +#define ACODEC_S_DAC_DATA_LO 0x28 /* REG 0x0a */ |
---|
| 81 | +#define ACODEC_S_DAC_HPDET_DELAYTIME_HI 0x2c /* REG 0x0b */ |
---|
| 82 | +#define ACODEC_S_DAC_HPDET_DELAYTIME_LO 0x30 /* REG 0x0c */ |
---|
| 83 | +#define ACODEC_S_DAC_HPDET_STATUS 0x34 /* REG 0x0d, Read-only */ |
---|
| 84 | + |
---|
74 | 85 | /* Resevred REG 0x0f */ |
---|
75 | 86 | |
---|
76 | 87 | /* ADC ANALOG REGISTERS */ |
---|
.. | .. |
---|
83 | 94 | #define ACODEC_ADC_ANA_CTL1 0x18 /* REG 0x06 */ |
---|
84 | 95 | #define ACODEC_ADC_ANA_CTL2 0x1c /* REG 0x07 */ |
---|
85 | 96 | #define ACODEC_ADC_ANA_CTL3 0x20 /* REG 0x08 */ |
---|
86 | | -/* Resevred REG 0x09 */ |
---|
87 | | -#define ACODEC_ADC_ANA_CTL4 0x28 /* REG 0x0a */ |
---|
| 97 | +#define ACODEC_S_ADC_ANA_CTL4 0x24 /* REG 0x09 */ |
---|
| 98 | +#define ACODEC_ADC_ANA_CTL5 0x28 /* REG 0x0a */ |
---|
88 | 99 | #define ACODEC_ADC_ANA_ALC_PGA 0x2c /* REG 0x0b */ |
---|
89 | 100 | /* Resevred REG 0x0c ~ 0x0f */ |
---|
90 | 101 | |
---|
.. | .. |
---|
126 | 137 | #define RK3308_ADC_DIG_CON02(ch) (RK3308_ADC_DIG_OFFSET(ch) + ACODEC_ADC_I2S_CTL1) |
---|
127 | 138 | #define RK3308_ADC_DIG_CON03(ch) (RK3308_ADC_DIG_OFFSET(ch) + ACODEC_ADC_BIST_MODE_SEL) |
---|
128 | 139 | #define RK3308_ADC_DIG_CON04(ch) (RK3308_ADC_DIG_OFFSET(ch) + ACODEC_ADC_HPF_PATH) |
---|
129 | | -#define RK3308_ADC_DIG_CON07(ch) (RK3308_ADC_DIG_OFFSET(ch) + ACODEC_ADC_DATA_PATH) |
---|
| 140 | +#define RK3308BS_ADC_DIG_CON05(ch) (RK3308_ADC_DIG_OFFSET(ch) + ACODEC_S_ADC_DIG_VOL_CON_L) |
---|
| 141 | +#define RK3308BS_ADC_DIG_CON06(ch) (RK3308_ADC_DIG_OFFSET(ch) + ACODEC_S_ADC_DIG_VOL_CON_R) |
---|
| 142 | +#define RK3308_ADC_DIG_CON07(ch) (RK3308_ADC_DIG_OFFSET(ch) + ACODEC_ADC_DATA_PATH) /* Removed from S */ |
---|
130 | 143 | |
---|
131 | 144 | #define RK3308_ALC_L_DIG_CON00(ch) (RK3308_ADC_DIG_OFFSET(ch) + ACODEC_ADC_PGA_AGC_L_CTL0) |
---|
132 | 145 | #define RK3308_ALC_L_DIG_CON01(ch) (RK3308_ADC_DIG_OFFSET(ch) + ACODEC_ADC_PGA_AGC_L_CTL1) |
---|
.. | .. |
---|
138 | 151 | #define RK3308_ALC_L_DIG_CON07(ch) (RK3308_ADC_DIG_OFFSET(ch) + ACODEC_ADC_PGA_AGC_L_LO_MIN) |
---|
139 | 152 | #define RK3308_ALC_L_DIG_CON08(ch) (RK3308_ADC_DIG_OFFSET(ch) + ACODEC_ADC_PGA_AGC_L_HI_MIN) |
---|
140 | 153 | #define RK3308_ALC_L_DIG_CON09(ch) (RK3308_ADC_DIG_OFFSET(ch) + ACODEC_ADC_PGA_AGC_L_CTL5) |
---|
| 154 | +#define RK3308BS_ALC_L_DIG_CON11(ch) (RK3308_ADC_DIG_OFFSET(ch) + ACODEC_S_ADC_PEAK_DET_VALUE_DEC_RATE_L) |
---|
141 | 155 | #define RK3308_ALC_L_DIG_CON12(ch) (RK3308_ADC_DIG_OFFSET(ch) + ACODEC_ADC_AGC_L_RO_GAIN) |
---|
142 | 156 | |
---|
143 | 157 | #define RK3308_ALC_R_DIG_CON00(ch) (RK3308_ADC_DIG_OFFSET(ch) + ACODEC_ADC_PGA_AGC_R_CTL0) |
---|
.. | .. |
---|
150 | 164 | #define RK3308_ALC_R_DIG_CON07(ch) (RK3308_ADC_DIG_OFFSET(ch) + ACODEC_ADC_PGA_AGC_R_LO_MIN) |
---|
151 | 165 | #define RK3308_ALC_R_DIG_CON08(ch) (RK3308_ADC_DIG_OFFSET(ch) + ACODEC_ADC_PGA_AGC_R_HI_MIN) |
---|
152 | 166 | #define RK3308_ALC_R_DIG_CON09(ch) (RK3308_ADC_DIG_OFFSET(ch) + ACODEC_ADC_PGA_AGC_R_CTL5) |
---|
| 167 | +#define RK3308BS_ALC_R_DIG_CON11(ch) (RK3308_ADC_DIG_OFFSET(ch) + ACODEC_S_ADC_PEAK_DET_VALUE_DEC_RATE_R) |
---|
153 | 168 | #define RK3308_ALC_R_DIG_CON12(ch) (RK3308_ADC_DIG_OFFSET(ch) + ACODEC_ADC_AGC_R_RO_GAIN) |
---|
154 | 169 | |
---|
155 | 170 | /* DAC DIGITAL REGISTERS */ |
---|
.. | .. |
---|
159 | 174 | #define RK3308_DAC_DIG_CON02 (RK3308_DAC_DIG_OFFSET + ACODEC_DAC_I2S_CTL1) |
---|
160 | 175 | #define RK3308_DAC_DIG_CON03 (RK3308_DAC_DIG_OFFSET + ACODEC_DAC_BIST_MODE_SEL) |
---|
161 | 176 | #define RK3308_DAC_DIG_CON04 (RK3308_DAC_DIG_OFFSET + ACODEC_DAC_DIGITAL_GAIN) |
---|
| 177 | +#define RK3308BS_DAC_DIG_CON04 (RK3308_DAC_DIG_OFFSET + ACODEC_DAC_DIGITAL_GAIN) |
---|
162 | 178 | #define RK3308_DAC_DIG_CON05 (RK3308_DAC_DIG_OFFSET + ACODEC_DAC_DATA_SEL) |
---|
| 179 | +#define RK3308BS_DAC_DIG_CON05 (RK3308_DAC_DIG_OFFSET + ACODEC_DAC_DATA_SEL) |
---|
| 180 | + |
---|
163 | 181 | #define RK3308_DAC_DIG_CON10 (RK3308_DAC_DIG_OFFSET + ACODEC_DAC_DATA_HI) |
---|
164 | 182 | #define RK3308_DAC_DIG_CON11 (RK3308_DAC_DIG_OFFSET + ACODEC_DAC_DATA_LO) |
---|
165 | | -#define RK3308_DAC_DIG_CON13 (RK3308_DAC_DIG_OFFSET + ACODEC_DAC_HPDET_DELAYTIME) |
---|
| 183 | + |
---|
| 184 | +#define RK3308_DAC_DIG_CON12 (RK3308_DAC_DIG_OFFSET + ACODEC_DAC_HPDET_DELAYTIME_HI) |
---|
| 185 | +#define RK3308_DAC_DIG_CON13 (RK3308_DAC_DIG_OFFSET + ACODEC_DAC_HPDET_DELAYTIME_LO) |
---|
166 | 186 | #define RK3308_DAC_DIG_CON14 (RK3308_DAC_DIG_OFFSET + ACODEC_DAC_HPDET_STATUS) |
---|
| 187 | + |
---|
| 188 | +#define RK3308BS_DAC_DIG_CON09 (RK3308_DAC_DIG_OFFSET + ACODEC_S_DAC_DATA_HI) |
---|
| 189 | +#define RK3308BS_DAC_DIG_CON10 (RK3308_DAC_DIG_OFFSET + ACODEC_S_DAC_DATA_LO) |
---|
| 190 | +#define RK3308BS_DAC_DIG_CON11 (RK3308_DAC_DIG_OFFSET + ACODEC_S_DAC_DELAY_TIME_DET_HI) |
---|
| 191 | +#define RK3308BS_DAC_DIG_CON12 (RK3308_DAC_DIG_OFFSET + ACODEC_S_DAC_DELAY_TIME_DET_LO) |
---|
| 192 | +#define RK3308BS_DAC_DIG_CON13 (RK3308_DAC_DIG_OFFSET + ACODEC_S_DAC_HPDET_STATUS) |
---|
| 193 | + |
---|
| 194 | +#define RK3308_CODEC_HEADPHONE_CON RK3308_DAC_DIG_CON14 |
---|
| 195 | +#define RK3308BS_CODEC_HEADPHONE_CON RK3308BS_DAC_DIG_CON13 |
---|
167 | 196 | |
---|
168 | 197 | /* ADC ANALOG REGISTERS */ |
---|
169 | 198 | /* |
---|
.. | .. |
---|
174 | 203 | * CH2: left_2(ADC5) and right_2(ADC6) |
---|
175 | 204 | * CH3: left_3(ADC7) and right_3(ADC8) |
---|
176 | 205 | */ |
---|
177 | | -#define RK3308_ADC_ANA_OFFSET(ch) ((ch & 0x3) * 0x40 + 0x340) |
---|
| 206 | +#define RK3308_ADC_ANA_OFFSET(ch) (((ch) & 0x3) * 0x40 + 0x340) |
---|
178 | 207 | |
---|
179 | 208 | #define RK3308_ADC_ANA_CON00(ch) (RK3308_ADC_ANA_OFFSET(ch) + ACODEC_ADC_ANA_MIC_CTL) |
---|
180 | 209 | #define RK3308_ADC_ANA_CON01(ch) (RK3308_ADC_ANA_OFFSET(ch) + ACODEC_ADC_ANA_MIC_GAIN) |
---|
.. | .. |
---|
185 | 214 | #define RK3308_ADC_ANA_CON06(ch) (RK3308_ADC_ANA_OFFSET(ch) + ACODEC_ADC_ANA_CTL1) |
---|
186 | 215 | #define RK3308_ADC_ANA_CON07(ch) (RK3308_ADC_ANA_OFFSET(ch) + ACODEC_ADC_ANA_CTL2) |
---|
187 | 216 | #define RK3308_ADC_ANA_CON08(ch) (RK3308_ADC_ANA_OFFSET(ch) + ACODEC_ADC_ANA_CTL3) |
---|
188 | | -#define RK3308_ADC_ANA_CON10(ch) (RK3308_ADC_ANA_OFFSET(ch) + ACODEC_ADC_ANA_CTL4) |
---|
| 217 | +#define RK3308BS_ADC_ANA_CON09(ch) (RK3308_ADC_ANA_OFFSET(ch) + ACODEC_S_ADC_ANA_CTL4) |
---|
| 218 | +#define RK3308_ADC_ANA_CON10(ch) (RK3308_ADC_ANA_OFFSET(ch) + ACODEC_ADC_ANA_CTL5) |
---|
189 | 219 | #define RK3308_ADC_ANA_CON11(ch) (RK3308_ADC_ANA_OFFSET(ch) + ACODEC_ADC_ANA_ALC_PGA) |
---|
190 | 220 | |
---|
191 | 221 | /* DAC ANALOG REGISTERS */ |
---|
.. | .. |
---|
249 | 279 | #define RK3308_ADC_I2S_TYPE_MSK (1 << 0) |
---|
250 | 280 | #define RK3308_ADC_I2S_MONO (1 << 0) |
---|
251 | 281 | #define RK3308_ADC_I2S_STEREO (0 << 0) |
---|
| 282 | +#define RK3308BS_ADC_I2S_SWAP_SFT 0 |
---|
| 283 | +#define RK3308BS_ADC_I2S_LR (0 << RK3308BS_ADC_I2S_SWAP_SFT) |
---|
| 284 | +#define RK3308BS_ADC_I2S_LL (1 << RK3308BS_ADC_I2S_SWAP_SFT) |
---|
| 285 | +#define RK3308BS_ADC_I2S_RR (2 << RK3308BS_ADC_I2S_SWAP_SFT) |
---|
| 286 | +#define RK3308BS_ADC_I2S_RL (3 << RK3308BS_ADC_I2S_SWAP_SFT) |
---|
252 | 287 | |
---|
253 | 288 | /* RK3308_ADC_DIG_CON02 - REG: 0x0008 */ |
---|
254 | 289 | #define RK3308_ADC_IO_MODE_MSK (1 << 5) |
---|
.. | .. |
---|
295 | 330 | #define RK3308_ADC_HPF_CUTOFF_245HZ (0x1 << RK3308_ADC_HPF_CUTOFF_SFT) |
---|
296 | 331 | #define RK3308_ADC_HPF_CUTOFF_20HZ (0x0 << RK3308_ADC_HPF_CUTOFF_SFT) |
---|
297 | 332 | |
---|
| 333 | +/* RK3308BS_ADC_DIG_CON05 - REG: 0x0014 */ |
---|
| 334 | +#define RK3308_ADC_DIG_VOL_CON_L_MSK 0xff |
---|
| 335 | +#define RK3308_ADC_DIG_VOL_CON_L(x) ((x) & RK3308_ADC_DIG_VOL_CON_L_MSK) |
---|
| 336 | +/* RK3308BS_ADC_DIG_CON06 - REG: 0x0018 */ |
---|
| 337 | +#define RK3308_ADC_DIG_VOL_CON_R_MSK 0xff |
---|
| 338 | +#define RK3308_ADC_DIG_VOL_CON_R(x) ((x) & RK3308_ADC_DIG_VOL_CON_R_MSK) |
---|
| 339 | +#define RK3308_ADC_DIG_VOL_0DB 0xc2 |
---|
| 340 | + |
---|
298 | 341 | /* RK3308_ADC_DIG_CON07 - REG: 0x001c */ |
---|
299 | 342 | #define RK3308_ADCL_DATA_SFT 4 |
---|
300 | | -#define RK3308_ADCL_DATA(x) (x << RK3308_ADCL_DATA_SFT) |
---|
| 343 | +#define RK3308_ADCL_DATA(x) ((x) << RK3308_ADCL_DATA_SFT) |
---|
301 | 344 | #define RK3308_ADCR_DATA_SFT 2 |
---|
302 | | -#define RK3308_ADCR_DATA(x) (x << RK3308_ADCR_DATA_SFT) |
---|
| 345 | +#define RK3308_ADCR_DATA(x) ((x) << RK3308_ADCR_DATA_SFT) |
---|
303 | 346 | #define RK3308_ADCL_DATA_SEL_ADCL (0x1 << 1) |
---|
304 | 347 | #define RK3308_ADCL_DATA_SEL_NORMAL (0x0 << 1) |
---|
305 | 348 | #define RK3308_ADCR_DATA_SEL_ADCR (0x1 << 0) |
---|
.. | .. |
---|
533 | 576 | #define RK3308_AGC_MIN_GAIN_PGA_NDB_18 (0x0 << RK3308_AGC_MIN_GAIN_PGA_SFT) |
---|
534 | 577 | |
---|
535 | 578 | /* |
---|
536 | | - * RK3308_ALC_L_DIG_CON12 - REG: 0x0068 + ch * 0xc0 |
---|
537 | | - * RK3308_ALC_R_DIG_CON12 - REG: 0x00a8 + ch * 0xc0 |
---|
| 579 | + * RK3308BS_ALC_L_DIG_CON11 - REG: 0x006c + ch * 0xc0 |
---|
| 580 | + * RK3308BS_ALC_R_DIG_CON11 - REG: 0x00ac + ch * 0xc0 |
---|
| 581 | + */ |
---|
| 582 | +#define ACODEC_S_ADC_PEAK_DET_VALUE_DEC_RATE(x) ((x) & 0x1f) |
---|
| 583 | + |
---|
| 584 | +/* |
---|
| 585 | + * RK3308_ALC_L_DIG_CON12 - REG: 0x0070 + ch * 0xc0 |
---|
| 586 | + * RK3308_ALC_R_DIG_CON12 - REG: 0x00b0 + ch * 0xc0 |
---|
538 | 587 | */ |
---|
539 | 588 | #define RK3308_AGC_GAIN_MSK 0x1f |
---|
| 589 | + |
---|
| 590 | +/* |
---|
| 591 | + * RK3308BS_ALC_L_DIG_CON12 - REG: 0x0070 + ch * 0xc0 |
---|
| 592 | + * RK3308BS_ALC_R_DIG_CON12 - REG: 0x00b0 + ch * 0xc0 |
---|
| 593 | + */ |
---|
| 594 | + |
---|
| 595 | +/* |
---|
| 596 | + * RK3308BS_ALC_L_DIG_CON13 - REG: 0x0074 + ch * 0xc0 |
---|
| 597 | + * RK3308BS_ALC_R_DIG_CON13 - REG: 0x00b4 + ch * 0xc0 |
---|
| 598 | + */ |
---|
| 599 | + |
---|
| 600 | +/* |
---|
| 601 | + * RK3308BS_ALC_L_DIG_CON14 - REG: 0x0078 + ch * 0xc0 |
---|
| 602 | + * RK3308BS_ALC_R_DIG_CON14 - REG: 0x00b8 + ch * 0xc0 |
---|
| 603 | + */ |
---|
| 604 | +#define RK3308BS_AGC_GAIN_MSK 0x1f |
---|
540 | 605 | |
---|
541 | 606 | /* RK3308_DAC_DIG_CON01 - REG: 0x0304 */ |
---|
542 | 607 | #define RK3308_DAC_I2S_LRC_POL_MSK (0x1 << 7) |
---|
.. | .. |
---|
557 | 622 | #define RK3308_DAC_I2S_LR_MSK (0x1 << 2) |
---|
558 | 623 | #define RK3308_DAC_I2S_LR_SWAP (0x1 << 2) |
---|
559 | 624 | #define RK3308_DAC_I2S_LR_NORMAL (0x0 << 2) |
---|
| 625 | +#define RK3308BS_DAC_I2S_BYPASS_MSK (0x1 << 1) |
---|
| 626 | +#define RK3308BS_DAC_I2S_BYPASS_EN (0x1 << 1) |
---|
| 627 | +#define RK3308BS_DAC_I2S_BYPASS_DIS (0x0 << 1) |
---|
560 | 628 | |
---|
561 | 629 | /* RK3308_DAC_DIG_CON02 - REG: 0x0308 */ |
---|
| 630 | +#define RK3308BS_DAC_IO_MODE_MSK (0x1 << 7) |
---|
| 631 | +#define RK3308BS_DAC_IO_MODE_MASTER (0x1 << 7) |
---|
| 632 | +#define RK3308BS_DAC_IO_MODE_SLAVE (0x0 << 7) |
---|
| 633 | +#define RK3308BS_DAC_MODE_MSK (0x1 << 6) |
---|
| 634 | +#define RK3308BS_DAC_MODE_MASTER (0x1 << 6) |
---|
| 635 | +#define RK3308BS_DAC_MODE_SLAVE (0x0 << 6) |
---|
562 | 636 | #define RK3308_DAC_IO_MODE_MSK (0x1 << 5) |
---|
563 | 637 | #define RK3308_DAC_IO_MODE_MASTER (0x1 << 5) |
---|
564 | 638 | #define RK3308_DAC_IO_MODE_SLAVE (0x0 << 5) |
---|
.. | .. |
---|
604 | 678 | #define RK3308_DAC_CIC_IF_GAIN_SFT 0 |
---|
605 | 679 | #define RK3308_DAC_CIC_IF_GAIN_MSK (0x7 << RK3308_DAC_CIC_IF_GAIN_SFT) |
---|
606 | 680 | |
---|
| 681 | +/* RK3308BS_DAC_DIG_CON04 - REG: 0x0310 */ |
---|
| 682 | +#define RK3308BS_DAC_DIG_GAIN_SFT 0 |
---|
| 683 | +#define RK3308BS_DAC_DIG_GAIN_MSK (0xff << RK3308BS_DAC_DIG_GAIN_SFT) |
---|
| 684 | +#define RK3308BS_DAC_DIG_GAIN(x) ((x) & RK3308BS_DAC_DIG_GAIN_MSK) |
---|
| 685 | +#define RK3308BS_DAC_DIG_0DB 0xed |
---|
| 686 | + |
---|
607 | 687 | /* RK3308_DAC_DIG_CON05 - REG: 0x0314 */ |
---|
608 | | -#define RK3308_DAC_L_REG_CTL_INDATA (0x1 << 2) |
---|
609 | | -#define RK3308_DAC_L_NORMAL_DATA (0x0 << 2) |
---|
610 | | -#define RK3308_DAC_R_REG_CTL_INDATA (0x1 << 1) |
---|
611 | | -#define RK3308_DAC_R_NORMAL_DATA (0x0 << 1) |
---|
| 688 | +#define RK3308_DAC_L_DATA_SEL_INPUT (0x1 << 2) |
---|
| 689 | +#define RK3308_DAC_L_DATA_SEL_NORMAL (0x0 << 2) |
---|
| 690 | +#define RK3308_DAC_R_DATA_SEL_INPUT (0x1 << 1) |
---|
| 691 | +#define RK3308_DAC_R_DATA_SEL_NORMAL (0x0 << 1) |
---|
| 692 | + |
---|
| 693 | +/* RK3308BS_DAC_DIG_CON05 - REG: 0x0314 */ |
---|
| 694 | +#define RK3308BS_DAC_L_DATA_SEL_MUTE (0x1 << 2) |
---|
| 695 | +#define RK3308BS_DAC_L_DATA_SEL_NORMAL (0x0 << 2) |
---|
| 696 | +#define RK3308BS_DAC_R_DATA_SEL_MUTE (0x1 << 1) |
---|
| 697 | +#define RK3308BS_DAC_R_DATA_SEL_NORMAL (0x0 << 1) |
---|
612 | 698 | |
---|
613 | 699 | /* RK3308_DAC_DIG_CON10 - REG: 0x0328 */ |
---|
614 | | -#define RK3308_DAC_DATA_HI4(x) (x & 0xf) /* Need to RK3308_DAC_x_REG_CTL_INDATA */ |
---|
| 700 | +#define RK3308_DAC_DATA_HI4(x) ((x) & 0xf) /* Need to RK3308_DAC_x_REG_CTL_INDATA */ |
---|
615 | 701 | |
---|
616 | 702 | /* RK3308_DAC_DIG_CON11 - REG: 0x032c */ |
---|
617 | | -#define RK3308_DAC_DATA_LO8(x) (x & 0xff) /* Need to RK3308_DAC_x_REG_CTL_INDATA */ |
---|
| 703 | +#define RK3308_DAC_DATA_LO8(x) ((x) & 0xff) /* Need to RK3308_DAC_x_REG_CTL_INDATA */ |
---|
| 704 | + |
---|
| 705 | +/* RK3308BS_DAC_DIG_CON09 - REG: 0x0324 */ |
---|
| 706 | +#define RK3308BS_DAC_DATA_HI4(x) ((x) & 0xf) /* Need to RK3308_DAC_x_REG_CTL_INDATA */ |
---|
| 707 | + |
---|
| 708 | +/* RK3308BS_DAC_DIG_CON10 - REG: 0x0328 */ |
---|
| 709 | +#define RK3308BS_DAC_DATA_LO8(x) ((x) & 0xff) /* Need to RK3308_DAC_x_REG_CTL_INDATA */ |
---|
| 710 | + |
---|
| 711 | +/* RK3308BS_DAC_DIG_CON11 - REG: 0x032c */ |
---|
| 712 | +#define RK3308BS_DAC_DELAY_TIME_DETECT_HI2(x) ((x) & 0x3) |
---|
| 713 | + |
---|
| 714 | +/* RK3308BS_DAC_DIG_CON12 - REG: 0x0330 */ |
---|
| 715 | +#define RK3308BS_DAC_DELAY_TIME_DETECT_LO8(x) ((x) & 0xff) |
---|
618 | 716 | |
---|
619 | 717 | /* RK3308_ADC_ANA_CON00 - REG: 0x0340 */ |
---|
620 | 718 | #define RK3308_ADC_CH1_CH2_MIC_ALL_MSK (0xff << 0) |
---|
.. | .. |
---|
816 | 914 | #define RK3308_ADC_MICBIAS_CURRENT_MSK (0x1 << 4) |
---|
817 | 915 | #define RK3308_ADC_MICBIAS_CURRENT_EN (0x1 << 4) |
---|
818 | 916 | #define RK3308_ADC_MICBIAS_CURRENT_DIS (0x0 << 4) |
---|
| 917 | +#define RK3308BS_ADC_MICBIAS_CURRENT_SEL(x) ((x) & 0xf) |
---|
| 918 | + |
---|
| 919 | +/* RK3308BS_ADC_ANA_CON09 - REG: 0x0364 */ |
---|
| 920 | +#define RK3308BS_ADC_MICBIAS_OPA_VBIAS(x) (((x) & 0x7) << 4) |
---|
| 921 | +#define RK3308BS_ADC_VCM_SETUP_MIN_CURRENT_EN (0x0 << 1) |
---|
| 922 | +#define RK3308BS_ADC_VCM_SETUP_MIN_CURRENT_DIS (0x0 << 0) |
---|
819 | 923 | |
---|
820 | 924 | /* RK3308_ADC_ANA_CON10 - REG: 0x0368 */ |
---|
821 | 925 | #define RK3308_ADC_REF_EN (0x1 << 7) |
---|
.. | .. |
---|
826 | 930 | * 1: Choose the current I |
---|
827 | 931 | * 0: Don't choose the current I |
---|
828 | 932 | */ |
---|
829 | | -#define RK3308_ADC_SEL_I(x) (x & 0x7f) |
---|
| 933 | +#define RK3308_ADC_SEL_I(x) ((x) & 0x7f) |
---|
830 | 934 | |
---|
831 | 935 | /* RK3308_ADC_ANA_CON11 - REG: 0x036c */ |
---|
832 | 936 | #define RK3308_ADC_ALCR_CON_GAIN_PGAR_MSK (0x1 << 1) |
---|
.. | .. |
---|
837 | 941 | #define RK3308_ADC_ALCL_CON_GAIN_PGAL_DIS (0x0 << 0) |
---|
838 | 942 | |
---|
839 | 943 | /* RK3308_DAC_ANA_CON00 - REG: 0x0440 */ |
---|
| 944 | +#define RK3308_DAC_CURRENT_SEL_SFT 4 |
---|
| 945 | +#define RK3308_DAC_CURRENT_SEL_MSK (0xf << RK3308_DAC_CURRENT_SEL_SFT) |
---|
| 946 | +#define RK3308_DAC_CURRENT_SEL(x) ((x) & RK3308_DAC_CURRENT_SEL_MSK) |
---|
840 | 947 | #define RK3308_DAC_HEADPHONE_DET_MSK (0x1 << 1) |
---|
841 | 948 | #define RK3308_DAC_HEADPHONE_DET_EN (0x1 << 1) |
---|
842 | 949 | #define RK3308_DAC_HEADPHONE_DET_DIS (0x0 << 1) |
---|
.. | .. |
---|
852 | 959 | #define RK3308_DAC_HPOUT_POP_SOUND_R_MSK (0x3 << RK3308_DAC_HPOUT_POP_SOUND_R_SFT) |
---|
853 | 960 | #define RK3308_DAC_HPOUT_POP_SOUND_R_WORK (0x2 << RK3308_DAC_HPOUT_POP_SOUND_R_SFT) |
---|
854 | 961 | #define RK3308_DAC_HPOUT_POP_SOUND_R_INIT (0x1 << RK3308_DAC_HPOUT_POP_SOUND_R_SFT) |
---|
| 962 | +#define RK3308_DAC_HPOUT_POP_SOUND_R_DIS (0x0 << RK3308_DAC_HPOUT_POP_SOUND_R_SFT) |
---|
855 | 963 | #define RK3308_DAC_BUF_REF_L_MSK (0x1 << 2) |
---|
856 | 964 | #define RK3308_DAC_BUF_REF_L_EN (0x1 << 2) |
---|
857 | 965 | #define RK3308_DAC_BUF_REF_L_DIS (0x0 << 2) |
---|
.. | .. |
---|
859 | 967 | #define RK3308_DAC_HPOUT_POP_SOUND_L_MSK (0x3 << RK3308_DAC_HPOUT_POP_SOUND_L_SFT) |
---|
860 | 968 | #define RK3308_DAC_HPOUT_POP_SOUND_L_WORK (0x2 << RK3308_DAC_HPOUT_POP_SOUND_L_SFT) |
---|
861 | 969 | #define RK3308_DAC_HPOUT_POP_SOUND_L_INIT (0x1 << RK3308_DAC_HPOUT_POP_SOUND_L_SFT) |
---|
| 970 | +#define RK3308_DAC_HPOUT_POP_SOUND_L_DIS (0x0 << RK3308_DAC_HPOUT_POP_SOUND_L_SFT) |
---|
862 | 971 | |
---|
863 | 972 | /* RK3308_DAC_ANA_CON02 - REG: 0x0448 */ |
---|
864 | 973 | #define RK3308_DAC_R_DAC_WORK (0x1 << 7) |
---|
.. | .. |
---|
991 | 1100 | /* RK3308_DAC_ANA_CON07 - REG: 0x045c */ |
---|
992 | 1101 | #define RK3308_DAC_R_HPOUT_DRV_SFT 4 |
---|
993 | 1102 | #define RK3308_DAC_R_HPOUT_DRV_MSK (0xf << RK3308_DAC_R_HPOUT_DRV_SFT) |
---|
| 1103 | +#define RK3308_DAC_R_HPOUT_DRV(x) (((x) << RK3308_DAC_R_HPOUT_DRV_SFT) & RK3308_DAC_R_HPOUT_DRV_MSK) |
---|
994 | 1104 | #define RK3308_DAC_L_HPOUT_DRV_SFT 0 |
---|
995 | 1105 | #define RK3308_DAC_L_HPOUT_DRV_MSK (0xf << RK3308_DAC_L_HPOUT_DRV_SFT) |
---|
| 1106 | +#define RK3308_DAC_L_HPOUT_DRV(x) (((x) << RK3308_DAC_L_HPOUT_DRV_SFT) & RK3308_DAC_L_HPOUT_DRV_MSK) |
---|
996 | 1107 | |
---|
997 | 1108 | /* RK3308_DAC_ANA_CON08 - REG: 0x0460 */ |
---|
998 | 1109 | #define RK3308_DAC_R_LINEOUT_DRV_SFT 4 |
---|
999 | 1110 | #define RK3308_DAC_R_LINEOUT_DRV_MSK (0xf << RK3308_DAC_R_LINEOUT_DRV_SFT) |
---|
| 1111 | +#define RK3308_DAC_R_LINEOUT_DRV(x) (((x) << RK3308_DAC_R_LINEOUT_DRV_SFT) & RK3308_DAC_R_LINEOUT_DRV_MSK) |
---|
1000 | 1112 | #define RK3308_DAC_L_LINEOUT_DRV_SFT 0 |
---|
1001 | 1113 | #define RK3308_DAC_L_LINEOUT_DRV_MSK (0xf << RK3308_DAC_L_LINEOUT_DRV_SFT) |
---|
| 1114 | +#define RK3308_DAC_L_LINEOUT_DRV(x) (((x) << RK3308_DAC_L_LINEOUT_DRV_SFT) & RK3308_DAC_L_LINEOUT_DRV_MSK) |
---|
1002 | 1115 | |
---|
1003 | 1116 | /* RK3308_DAC_ANA_CON12 - REG: 0x0470 */ |
---|
1004 | 1117 | #define RK3308_DAC_R_HPMIX_SEL_SFT 6 |
---|
.. | .. |
---|
1050 | 1163 | * 1: Choose the current I |
---|
1051 | 1164 | * 0: Don't choose the current I |
---|
1052 | 1165 | */ |
---|
1053 | | -#define RK3308_DAC_SEL_I(x) (x & 0xf) |
---|
| 1166 | +#define RK3308_DAC_SEL_I(x) ((x) & 0xf) |
---|
1054 | 1167 | |
---|
1055 | 1168 | /* RK3308_DAC_ANA_CON15 - REG: 0x047C */ |
---|
1056 | 1169 | #define RK3308_DAC_LINEOUT_POP_SOUND_R_SFT 4 |
---|