~ubuntu-branches/ubuntu/trusty/gnuradio/trusty

« back to all changes in this revision

Viewing changes to usrp/host/lib/legacy/ad9862.h

  • Committer: Bazaar Package Importer
  • Author(s): Kamal Mostafa
  • Date: 2010-03-13 07:46:01 UTC
  • mfrom: (2.1.2 sid)
  • Revision ID: james.westby@ubuntu.com-20100313074601-zjsa893a87bozyh7
Tags: 3.2.2.dfsg-1ubuntu1
* Fix build for Ubuntu lucid (LP: #260406)
  - add binary package dep for libusrp0, libusrp2-0: adduser
  - debian/rules clean: remove pre-built Qt moc files

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* -*- c++ -*- */
 
2
/*
 
3
 * Copyright 2004 Free Software Foundation, Inc.
 
4
 * 
 
5
 * This file is part of GNU Radio
 
6
 * 
 
7
 * GNU Radio is free software; you can redistribute it and/or modify
 
8
 * it under the terms of the GNU General Public License as published by
 
9
 * the Free Software Foundation; either version 3, or (at your option)
 
10
 * any later version.
 
11
 * 
 
12
 * GNU Radio is distributed in the hope that it will be useful,
 
13
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
14
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
15
 * GNU General Public License for more details.
 
16
 * 
 
17
 * You should have received a copy of the GNU General Public License
 
18
 * along with GNU Radio; see the file COPYING.  If not, write to
 
19
 * the Free Software Foundation, Inc., 51 Franklin Street,
 
20
 * Boston, MA 02110-1301, USA.
 
21
 */
 
22
 
 
23
#ifndef INCLUDED_AD9862_H
 
24
#define INCLUDED_AD9862_H
 
25
 
 
26
/*
 
27
 * Analog Devices AD9862 registers and some fields
 
28
 */
 
29
 
 
30
#define BEGIN_AD9862    namespace ad9862 {
 
31
#define END_AD962       }
 
32
#define DEF static const int
 
33
 
 
34
BEGIN_AD9862;
 
35
 
 
36
DEF REG_GENERAL         =  0;
 
37
DEF REG_RX_PWR_DN       =  1;
 
38
DEF     RX_PWR_DN_VREF_DIFF             = (1 << 7);
 
39
DEF     RX_PWR_DN_VREF                  = (1 << 6);
 
40
DEF     RX_PWR_DN_RX_DIGIGAL            = (1 << 5);
 
41
DEF     RX_PWR_DN_RX_B                  = (1 << 4);
 
42
DEF     RX_PWR_DN_RX_A                  = (1 << 3);
 
43
DEF     RX_PWR_DN_BUF_B                 = (1 << 2);
 
44
DEF     RX_PWR_DN_BUF_A                 = (1 << 1);
 
45
DEF     RX_PWR_DN_ALL                   = (1 << 0);
 
46
 
 
47
DEF REG_RX_A            =  2;   // bypass input buffer / RxPGA
 
48
DEF REG_RX_B            =  3;   // pypass input buffer / RxPGA
 
49
DEF     RX_X_BYPASS_INPUT_BUFFER        = (1 << 7);
 
50
 
 
51
DEF REG_RX_MISC         =  4;
 
52
DEF     RX_MISC_HS_DUTY_CYCLE           = (1 << 2);
 
53
DEF     RX_MISC_SHARED_REF              = (1 << 1);
 
54
DEF     RX_MISC_CLK_DUTY                = (1 << 0);
 
55
 
 
56
DEF REG_RX_IF           =  5;
 
57
DEF     RX_IF_THREE_STATE               = (1 << 4);
 
58
DEF     RX_IF_USE_CLKOUT1               = (0 << 3);     
 
59
DEF     RX_IF_USE_CLKOUT2               = (1 << 3);     // aka Rx Retime
 
60
DEF     RX_IF_2S_COMP                   = (1 << 2);
 
61
DEF     RX_IF_INV_RX_SYNC               = (1 << 1);
 
62
DEF     RX_IF_MUX_OUT                   = (1 << 0);
 
63
 
 
64
DEF REG_RX_DIGITAL      =  6;
 
65
DEF     RX_DIGITAL_2_CHAN               = (1 << 3);
 
66
DEF     RX_DIGITAL_KEEP_MINUS_VE        = (1 << 2);
 
67
DEF     RX_DIGITAL_HILBERT              = (1 << 1);
 
68
DEF     RX_DIGITAL_DECIMATE             = (1 << 0);
 
69
 
 
70
DEF REG_RESERVED_7      =  7;
 
71
 
 
72
DEF REG_TX_PWR_DN       =  8;
 
73
DEF     TX_PWR_DN_ALT_TIMING_MODE       = (1 << 5);
 
74
DEF     TX_PWR_DN_TX_OFF_ENABLE         = (1 << 4);
 
75
DEF     TX_PWR_DN_TX_DIGITAL            = (1 << 3);
 
76
DEF     TX_PWR_DN_TX_ANALOG_B           = 0x4;
 
77
DEF     TX_PWR_DN_TX_ANALOG_A           = 0x2;
 
78
DEF     TX_PWR_DN_TX_ANALOG_BOTH        = 0x7;
 
79
 
 
80
DEF REG_RESERVED_9      =  9;
 
81
 
 
82
DEF REG_TX_A_OFFSET_LO  = 10;
 
83
DEF REG_TX_A_OFFSET_HI  = 11;
 
84
DEF REG_TX_B_OFFSET_LO  = 12;
 
85
DEF REG_TX_B_OFFSET_HI  = 13;
 
86
 
 
87
DEF REG_TX_A_GAIN       = 14;   // fine trim for matching
 
88
DEF REG_TX_B_GAIN       = 15;   // fine trim for matching
 
89
DEF     TX_X_GAIN_COARSE_FULL           = (3 << 6);
 
90
DEF     TX_X_GAIN_COARSE_1_HALF         = (1 << 6);
 
91
DEF     TX_X_GAIN_COARSE_1_ELEVENTH     = (0 << 6);
 
92
 
 
93
DEF REG_TX_PGA          = 16;   // 20 dB continuous gain in 0.1 dB steps
 
94
                                // 0x00 = min gain (-20 dB)
 
95
                                // 0xff = max gain (  0 dB)
 
96
 
 
97
DEF REG_TX_MISC         = 17;
 
98
DEF     TX_MISC_SLAVE_ENABLE            = (1 << 1);
 
99
DEF     TX_MISC_TX_PGA_FAST             = (1 << 0);
 
100
 
 
101
DEF REG_TX_IF           = 18;
 
102
DEF     TX_IF_USE_CLKOUT2               = (0 << 6);
 
103
DEF     TX_IF_USE_CLKOUT1               = (1 << 6);     // aka Tx Retime
 
104
DEF     TX_IF_I_FIRST                   = (0 << 5);
 
105
DEF     TX_IF_Q_FIRST                   = (1 << 5);
 
106
DEF     TX_IF_INV_TX_SYNC               = (1 << 4);
 
107
DEF     TX_IF_2S_COMP                   = (1 << 3);
 
108
DEF     TX_IF_INVERSE_SAMPLE            = (1 << 2);
 
109
DEF     TX_IF_TWO_EDGES                 = (1 << 1);
 
110
DEF     TX_IF_INTERLEAVED               = (1 << 0);
 
111
 
 
112
DEF REG_TX_DIGITAL      = 19;
 
113
DEF     TX_DIGITAL_2_DATA_PATHS         = (1 << 4);
 
114
DEF     TX_DIGITAL_KEEP_NEGATIVE        = (1 << 3);
 
115
DEF     TX_DIGITAL_HILBERT              = (1 << 2);
 
116
DEF     TX_DIGITAL_INTERPOLATE_NONE     = 0x0;
 
117
DEF     TX_DIGITAL_INTERPOLATE_2X       = 0x1;
 
118
DEF     TX_DIGITAL_INTERPOLATE_4X       = 0x2;
 
119
 
 
120
DEF REG_TX_MODULATOR    = 20;
 
121
DEF     TX_MODULATOR_NEG_FINE_TUNE      = (1 << 5);
 
122
DEF     TX_MODULATOR_DISABLE_NCO        = (0 << 4);
 
123
DEF     TX_MODULATOR_ENABLE_NCO         = (1 << 4);     // aka Fine Mode
 
124
DEF     TX_MODULATOR_REAL_MIX_MODE      = (1 << 3);
 
125
DEF     TX_MODULATOR_NEG_COARSE_TUNE    = (1 << 2);
 
126
DEF     TX_MODULATOR_COARSE_MODULATION_NONE     = 0x0;
 
127
DEF     TX_MODULATOR_COARSE_MODULATION_F_OVER_4 = 0x1;
 
128
DEF     TX_MODULATOR_COARSE_MODULATION_F_OVER_8 = 0x2;
 
129
DEF     TX_MODULATOR_CM_MASK                    = 0x7;
 
130
 
 
131
 
 
132
DEF REG_TX_NCO_FTW_7_0  = 21;
 
133
DEF REG_TX_NCO_FTW_15_8 = 22;
 
134
DEF REG_TX_NCO_FTW_23_16= 23;
 
135
 
 
136
DEF REG_DLL             = 24;
 
137
DEF     DLL_DISABLE_INTERNAL_XTAL_OSC   = (1 << 6);     // aka Input Clock Ctrl
 
138
DEF     DLL_ADC_DIV2                    = (1 << 5);
 
139
DEF     DLL_MULT_1X                     = (0 << 3);
 
140
DEF     DLL_MULT_2X                     = (1 << 3);
 
141
DEF     DLL_MULT_4X                     = (2 << 3);
 
142
DEF     DLL_PWR_DN                      = (1 << 2);
 
143
// undefined bit                        = (1 << 1);
 
144
DEF     DLL_FAST                        = (1 << 0);
 
145
 
 
146
DEF REG_CLKOUT          = 25;
 
147
DEF     CLKOUT2_EQ_DLL                  = (0 << 6);
 
148
DEF     CLKOUT2_EQ_DLL_OVER_2           = (1 << 6);
 
149
DEF     CLKOUT2_EQ_DLL_OVER_4           = (2 << 6);
 
150
DEF     CLKOUT2_EQ_DLL_OVER_8           = (3 << 6);
 
151
DEF     CLKOUT_INVERT_CLKOUT2           = (1 << 5);
 
152
DEF     CLKOUT_DISABLE_CLKOUT2          = (1 << 4);
 
153
// undefined bit                        = (1 << 3);
 
154
// undefined bit                        = (1 << 2);
 
155
DEF     CLKOUT_INVERT_CLKOUT1           = (1 << 1);
 
156
DEF     CLKOUT_DISABLE_CLKOUT1          = (1 << 0);
 
157
 
 
158
DEF REG_AUX_ADC_A2_LO   = 26;
 
159
DEF REG_AUX_ADC_A2_HI   = 27;
 
160
DEF REG_AUX_ADC_A1_LO   = 28;
 
161
DEF REG_AUX_ADC_A1_HI   = 29;
 
162
DEF REG_AUX_ADC_B2_LO   = 30;
 
163
DEF REG_AUX_ADC_B2_HI   = 31;
 
164
DEF REG_AUX_ADC_B1_LO   = 32;
 
165
DEF REG_AUX_ADC_B1_HI   = 33;
 
166
 
 
167
DEF REG_AUX_ADC_CTRL    = 34;
 
168
DEF     AUX_ADC_CTRL_AUX_SPI            = (1 << 7);
 
169
DEF     AUX_ADC_CTRL_SELBNOTA           = (1 << 6);
 
170
DEF     AUX_ADC_CTRL_REFSEL_B           = (1 << 5);
 
171
DEF     AUX_ADC_CTRL_SELECT_B2          = (0 << 4);
 
172
DEF     AUX_ADC_CTRL_SELECT_B1          = (1 << 4);
 
173
DEF     AUX_ADC_CTRL_START_B            = (1 << 3);
 
174
DEF     AUX_ADC_CTRL_REFSEL_A           = (1 << 2);
 
175
DEF     AUX_ADC_CTRL_SELECT_A2          = (0 << 1);
 
176
DEF     AUX_ADC_CTRL_SELECT_A1          = (1 << 1);
 
177
DEF     AUX_ADC_CTRL_START_A            = (1 << 0);
 
178
 
 
179
DEF REG_AUX_ADC_CLK     = 35;
 
180
DEF     AUX_ADC_CLK_CLK_OVER_4          = (1 << 0);
 
181
 
 
182
DEF REG_AUX_DAC_A       = 36;
 
183
DEF REG_AUX_DAC_B       = 37;
 
184
DEF REG_AUX_DAC_C       = 38;
 
185
 
 
186
DEF REG_AUX_DAC_UPDATE  = 39;
 
187
DEF     AUX_DAC_UPDATE_SLAVE_ENABLE     = (1 << 7);
 
188
DEF     AUX_DAC_UPDATE_C                = (1 << 2);
 
189
DEF     AUX_DAC_UPDATE_B                = (1 << 1);
 
190
DEF     AUX_DAC_UPDATE_A                = (1 << 0);
 
191
 
 
192
DEF REG_AUX_DAC_PWR_DN  = 40;
 
193
DEF     AUX_DAC_PWR_DN_C                = (1 << 2);
 
194
DEF     AUX_DAC_PWR_DN_B                = (1 << 1);
 
195
DEF     AUX_DAC_PWR_DN_A                = (1 << 0);
 
196
 
 
197
DEF REG_AUX_DAC_CTRL    = 41;
 
198
DEF     AUX_DAC_CTRL_INV_C              = (1 << 4);
 
199
DEF     AUX_DAC_CTRL_INV_B              = (1 << 2);
 
200
DEF     AUX_DAC_CTRL_INV_A              = (1 << 0);
 
201
 
 
202
DEF REG_SIGDELT_LO      = 42;
 
203
DEF REG_SIGDELT_HI      = 43;
 
204
 
 
205
// 44 to 48 reserved
 
206
 
 
207
DEF REG_ADC_LOW_PWR_LO  = 49;
 
208
DEF REG_ADC_LOW_PWR_HI  = 50;
 
209
 
 
210
// 51 to 62 reserved
 
211
 
 
212
DEF REG_CHIP_ID         = 63;
 
213
 
 
214
 
 
215
END_AD962;
 
216
 
 
217
#undef DEF
 
218
#undef BEGIN_AD9862
 
219
#undef END_AD962
 
220
 
 
221
#endif /* INCLUDED_AD9862_H */