Commit | Line | Data |
---|---|---|
7eaae41e | 1 | /* |
42f32c55 MF |
2 | * Audio Codec driver supporting: |
3 | * AD1835A, AD1836, AD1837A, AD1838A, AD1839A | |
7eaae41e | 4 | * |
42f32c55 | 5 | * Copyright 2009-2011 Analog Devices Inc. |
7eaae41e | 6 | * |
42f32c55 | 7 | * Licensed under the GPL-2 or later. |
7eaae41e BS |
8 | */ |
9 | ||
10 | #ifndef __AD1836_H__ | |
11 | #define __AD1836_H__ | |
12 | ||
13 | #define AD1836_DAC_CTRL1 0 | |
14 | #define AD1836_DAC_POWERDOWN 2 | |
d4d80f5e | 15 | #define AD1836_DAC_SERFMT_MASK 0xE0 |
7eaae41e BS |
16 | #define AD1836_DAC_SERFMT_PCK256 (0x4 << 5) |
17 | #define AD1836_DAC_SERFMT_PCK128 (0x5 << 5) | |
18 | #define AD1836_DAC_WORD_LEN_MASK 0x18 | |
8ca695f2 | 19 | #define AD1836_DAC_WORD_LEN_OFFSET 3 |
7eaae41e BS |
20 | |
21 | #define AD1836_DAC_CTRL2 1 | |
90bc11d1 LPC |
22 | |
23 | /* These macros are one-based. So AD183X_MUTE_LEFT(1) will return the mute bit | |
24 | * for the first ADC/DAC */ | |
25 | #define AD1836_MUTE_LEFT(x) (((x) * 2) - 2) | |
26 | #define AD1836_MUTE_RIGHT(x) (((x) * 2) - 1) | |
27 | ||
28 | #define AD1836_DAC_L_VOL(x) ((x) * 2) | |
29 | #define AD1836_DAC_R_VOL(x) (1 + ((x) * 2)) | |
7eaae41e BS |
30 | |
31 | #define AD1836_ADC_CTRL1 12 | |
32 | #define AD1836_ADC_POWERDOWN 7 | |
33 | #define AD1836_ADC_HIGHPASS_FILTER 8 | |
34 | ||
35 | #define AD1836_ADC_CTRL2 13 | |
7eaae41e | 36 | #define AD1836_ADC_WORD_LEN_MASK 0x30 |
72531c94 | 37 | #define AD1836_ADC_WORD_OFFSET 4 |
d4d80f5e | 38 | #define AD1836_ADC_SERFMT_MASK (7 << 6) |
7eaae41e BS |
39 | #define AD1836_ADC_SERFMT_PCK256 (0x4 << 6) |
40 | #define AD1836_ADC_SERFMT_PCK128 (0x5 << 6) | |
84549d23 | 41 | #define AD1836_ADC_AUX (0x6 << 6) |
7eaae41e BS |
42 | |
43 | #define AD1836_ADC_CTRL3 14 | |
44 | ||
45 | #define AD1836_NUM_REGS 16 | |
46 | ||
8ca695f2 LPC |
47 | #define AD1836_WORD_LEN_24 0x0 |
48 | #define AD1836_WORD_LEN_20 0x1 | |
49 | #define AD1836_WORD_LEN_16 0x2 | |
50 | ||
7eaae41e | 51 | #endif |