Contiki-NG
Toggle main menu visibility
Loading...
Searching...
No Matches
rfcore-xreg.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2012, Texas Instruments Incorporated - http://www.ti.com/
3
* All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions
7
* are met:
8
* 1. Redistributions of source code must retain the above copyright
9
* notice, this list of conditions and the following disclaimer.
10
* 2. Redistributions in binary form must reproduce the above copyright
11
* notice, this list of conditions and the following disclaimer in the
12
* documentation and/or other materials provided with the distribution.
13
*
14
* 3. Neither the name of the copyright holder nor the names of its
15
* contributors may be used to endorse or promote products derived
16
* from this software without specific prior written permission.
17
*
18
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
21
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
22
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
23
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
24
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
25
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
27
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
29
* OF THE POSSIBILITY OF SUCH DAMAGE.
30
*/
31
/**
32
* \addtogroup cc2538-rfcore
33
* @{
34
*
35
* \file
36
* Header with declarations of the RF Core XREGs.
37
*/
38
#ifndef RFCORE_XREG_H_
39
#define RFCORE_XREG_H_
40
/*---------------------------------------------------------------------------*/
41
/** \name RFCORE_FFSM register offsets
42
* @{
43
*/
44
#define RFCORE_XREG_FRMFILT0 0x40088600
/**< Frame filtering control */
45
#define RFCORE_XREG_FRMFILT1 0x40088604
/**< Frame filtering control */
46
#define RFCORE_XREG_SRCMATCH 0x40088608
/**< Source address matching */
47
#define RFCORE_XREG_SRCSHORTEN0 0x4008860C
/**< Short address matching */
48
#define RFCORE_XREG_SRCSHORTEN1 0x40088610
/**< Short address matching */
49
#define RFCORE_XREG_SRCSHORTEN2 0x40088614
/**< Short address matching */
50
#define RFCORE_XREG_SRCEXTEN0 0x40088618
/**< Extended address matching */
51
#define RFCORE_XREG_SRCEXTEN1 0x4008861C
/**< Extended address matching */
52
#define RFCORE_XREG_SRCEXTEN2 0x40088620
/**< Extended address matching */
53
#define RFCORE_XREG_FRMCTRL0 0x40088624
/**< Frame handling */
54
#define RFCORE_XREG_FRMCTRL1 0x40088628
/**< Frame handling */
55
#define RFCORE_XREG_RXENABLE 0x4008862C
/**< RX enabling */
56
#define RFCORE_XREG_RXMASKSET 0x40088630
/**< RX enabling */
57
#define RFCORE_XREG_RXMASKCLR 0x40088634
/**< RX disabling */
58
#define RFCORE_XREG_FREQTUNE 0x40088638
/**< Crystal oscillator freq tuning */
59
#define RFCORE_XREG_FREQCTRL 0x4008863C
/**< Controls the RF frequency */
60
#define RFCORE_XREG_TXPOWER 0x40088640
/**< Controls the output power */
61
#define RFCORE_XREG_TXCTRL 0x40088644
/**< Controls the TX settings */
62
#define RFCORE_XREG_FSMSTAT0 0x40088648
/**< Radio status register */
63
#define RFCORE_XREG_FSMSTAT1 0x4008864C
/**< Radio status register */
64
#define RFCORE_XREG_FIFOPCTRL 0x40088650
/**< FIFOP threshold */
65
#define RFCORE_XREG_FSMCTRL 0x40088654
/**< FSM options */
66
#define RFCORE_XREG_CCACTRL0 0x40088658
/**< CCA threshold */
67
#define RFCORE_XREG_CCACTRL1 0x4008865C
/**< Other CCA Options */
68
#define RFCORE_XREG_RSSI 0x40088660
/**< RSSI status register */
69
#define RFCORE_XREG_RSSISTAT 0x40088664
/**< RSSI valid status register */
70
#define RFCORE_XREG_RXFIRST 0x40088668
/**< First byte in RX FIFO */
71
#define RFCORE_XREG_RXFIFOCNT 0x4008866C
/**< Number of bytes in RX FIFO */
72
#define RFCORE_XREG_TXFIFOCNT 0x40088670
/**< Number of bytes in TX FIFO */
73
#define RFCORE_XREG_RXFIRST_PTR 0x40088674
/**< RX FIFO pointer */
74
#define RFCORE_XREG_RXLAST_PTR 0x40088678
/**< RX FIFO pointer */
75
#define RFCORE_XREG_RXP1_PTR 0x4008867C
/**< RX FIFO pointer */
76
#define RFCORE_XREG_RXP2_PTR 0x40088680
/**< RX FIFO pointer */
77
#define RFCORE_XREG_TXFIRST_PTR 0x40088684
/**< TX FIFO pointer */
78
#define RFCORE_XREG_TXLAST_PTR 0x40088688
/**< TX FIFO pointer */
79
#define RFCORE_XREG_RFIRQM0 0x4008868C
/**< RF interrupt masks */
80
#define RFCORE_XREG_RFIRQM1 0x40088690
/**< RF interrupt masks */
81
#define RFCORE_XREG_RFERRM 0x40088694
/**< RF error interrupt mask */
82
#define RFCORE_XREG_D18_SPARE_OPAMPMC 0x40088698
/**< Operational amp mode ctrl */
83
#define RFCORE_XREG_RFRND 0x4008869C
/**< Random data */
84
#define RFCORE_XREG_MDMCTRL0 0x400886A0
/**< Controls modem */
85
#define RFCORE_XREG_MDMCTRL1 0x400886A4
/**< Controls modem */
86
#define RFCORE_XREG_FREQEST 0x400886A8
/**< Estimated RF frequency offset */
87
#define RFCORE_XREG_RXCTRL 0x400886AC
/**< Tune receive section */
88
#define RFCORE_XREG_FSCTRL 0x400886B0
/**< Tune frequency synthesizer */
89
#define RFCORE_XREG_FSCAL1 0x400886B8
/**< Tune frequency calibration */
90
#define RFCORE_XREG_FSCAL2 0x400886BC
/**< Tune frequency calibration */
91
#define RFCORE_XREG_FSCAL3 0x400886C0
/**< Tune frequency calibration */
92
#define RFCORE_XREG_AGCCTRL0 0x400886C4
/**< AGC dynamic range control */
93
#define RFCORE_XREG_AGCCTRL1 0x400886C8
/**< AGC reference level */
94
#define RFCORE_XREG_AGCCTRL2 0x400886CC
/**< AGC gain override */
95
#define RFCORE_XREG_AGCCTRL3 0x400886D0
/**< AGC control */
96
#define RFCORE_XREG_ADCTEST0 0x400886D4
/**< ADC tuning */
97
#define RFCORE_XREG_ADCTEST1 0x400886D8
/**< ADC tuning */
98
#define RFCORE_XREG_ADCTEST2 0x400886DC
/**< ADC tuning */
99
#define RFCORE_XREG_MDMTEST0 0x400886E0
/**< Test register for modem */
100
#define RFCORE_XREG_MDMTEST1 0x400886E4
/**< Test Register for Modem */
101
#define RFCORE_XREG_DACTEST0 0x400886E8
/**< DAC override value */
102
#define RFCORE_XREG_DACTEST1 0x400886EC
/**< DAC override value */
103
#define RFCORE_XREG_DACTEST2 0x400886F0
/**< DAC test setting */
104
#define RFCORE_XREG_ATEST 0x400886F4
/**< Analog test control */
105
#define RFCORE_XREG_PTEST0 0x400886F8
/**< Override power-down register */
106
#define RFCORE_XREG_PTEST1 0x400886FC
/**< Override power-down register */
107
#define RFCORE_XREG_CSPPROG0 0x40088700
/**< CSP program */
108
#define RFCORE_XREG_CSPPROG1 0x40088704
/**< CSP program */
109
#define RFCORE_XREG_CSPPROG2 0x40088708
/**< CSP program */
110
#define RFCORE_XREG_CSPPROG3 0x4008870C
/**< CSP program */
111
#define RFCORE_XREG_CSPPROG4 0x40088710
/**< CSP program */
112
#define RFCORE_XREG_CSPPROG5 0x40088714
/**< CSP program */
113
#define RFCORE_XREG_CSPPROG6 0x40088718
/**< CSP program */
114
#define RFCORE_XREG_CSPPROG7 0x4008871C
/**< CSP program */
115
#define RFCORE_XREG_CSPPROG8 0x40088720
/**< CSP program */
116
#define RFCORE_XREG_CSPPROG9 0x40088724
/**< CSP program */
117
#define RFCORE_XREG_CSPPROG10 0x40088728
/**< CSP program */
118
#define RFCORE_XREG_CSPPROG11 0x4008872C
/**< CSP program */
119
#define RFCORE_XREG_CSPPROG12 0x40088730
/**< CSP program */
120
#define RFCORE_XREG_CSPPROG13 0x40088734
/**< CSP program */
121
#define RFCORE_XREG_CSPPROG14 0x40088738
/**< CSP program */
122
#define RFCORE_XREG_CSPPROG15 0x4008873C
/**< CSP program */
123
#define RFCORE_XREG_CSPPROG16 0x40088740
/**< CSP program */
124
#define RFCORE_XREG_CSPPROG17 0x40088744
/**< CSP program */
125
#define RFCORE_XREG_CSPPROG18 0x40088748
/**< CSP program */
126
#define RFCORE_XREG_CSPPROG19 0x4008874C
/**< CSP program */
127
#define RFCORE_XREG_CSPPROG20 0x40088750
/**< CSP program */
128
#define RFCORE_XREG_CSPPROG21 0x40088754
/**< CSP program */
129
#define RFCORE_XREG_CSPPROG22 0x40088758
/**< CSP program */
130
#define RFCORE_XREG_CSPPROG23 0x4008875C
/**< CSP program */
131
#define RFCORE_XREG_CSPCTRL 0x40088780
/**< CSP control bit */
132
#define RFCORE_XREG_CSPSTAT 0x40088784
/**< CSP status register */
133
#define RFCORE_XREG_CSPX 0x40088788
/**< CSP X data register */
134
#define RFCORE_XREG_CSPY 0x4008878C
/**< CSP Y data register */
135
#define RFCORE_XREG_CSPZ 0x40088790
/**< CSP Z data register */
136
#define RFCORE_XREG_CSPT 0x40088794
/**< CSP T data register */
137
#define RFCORE_XREG_RFC_DUTY_CYCLE 0x400887A0
/**< RX duty cycle control */
138
#define RFCORE_XREG_RFC_OBS_CTRL0 0x400887AC
/**< RF observation mux control */
139
#define RFCORE_XREG_RFC_OBS_CTRL1 0x400887B0
/**< RF observation mux control */
140
#define RFCORE_XREG_RFC_OBS_CTRL2 0x400887B4
/**< RF observation mux control */
141
#define RFCORE_XREG_TXFILTCFG 0x400887E8
/**< TX filter configuration */
142
/** @} */
143
/*---------------------------------------------------------------------------*/
144
/** \name RFCORE_XREG_FRMFILT0 register offsets
145
* @{
146
*/
147
#define RFCORE_XREG_FRMFILT0_MAX_FRAME_VERSION 0x0000000C
/**< Frame version filtering */
148
#define RFCORE_XREG_FRMFILT0_PAN_COORDINATOR 0x00000002
/**< PAN coordinator */
149
#define RFCORE_XREG_FRMFILT0_FRAME_FILTER_EN 0x00000001
/**< Enables frame filtering */
150
/** @} */
151
/*---------------------------------------------------------------------------*/
152
/** \name RFCORE_XREG_FRMFILT1 register offsets
153
* @{
154
*/
155
#define RFCORE_XREG_FRMFILT1_ACCEPT_FT_3_MAC_CMD 0x00000040
/**< MAC command frame filt */
156
#define RFCORE_XREG_FRMFILT1_ACCEPT_FT_2_ACK 0x00000020
/**< ack frame filt */
157
#define RFCORE_XREG_FRMFILT1_ACCEPT_FT_1_DATA 0x00000010
/**< data frame filt */
158
#define RFCORE_XREG_FRMFILT1_ACCEPT_FT_0_BEACON 0x00000008
/**< beacon frame filt */
159
#define RFCORE_XREG_FRMFILT1_MODIFY_FT_FILTER 0x00000006
/**< Frame type modify */
160
/** @} */
161
/*---------------------------------------------------------------------------*/
162
/** \name RFCORE_XREG_SRCMATCH register bit masks
163
* @{
164
*/
165
#define RFCORE_XREG_SRCMATCH_PEND_DATAREQ_ONLY 0x00000004
/**< AUTOPEND function */
166
#define RFCORE_XREG_SRCMATCH_AUTOPEND 0x00000002
/**< Automatic acknowledgment */
167
#define RFCORE_XREG_SRCMATCH_SRC_MATCH_EN 0x00000001
/**< Source address matching enable */
168
/** @} */
169
/*---------------------------------------------------------------------------*/
170
/** \name RFCORE_XREG_SRCSHORTEN0 register bit masks
171
* @{
172
*/
173
#define RFCORE_XREG_SRCSHORTEN0_SHORT_ADDR_EN 0x000000FF
/**< SHORT_ADDR_EN[7:0] */
174
/** @} */
175
/*---------------------------------------------------------------------------*/
176
/** \name RFCORE_XREG_SRCSHORTEN1 register bit masks
177
* @{
178
*/
179
#define RFCORE_XREG_SRCSHORTEN1_SHORT_ADDR_EN 0x000000FF
/**< SHORT_ADDR_EN[15:8] */
180
/** @} */
181
/*---------------------------------------------------------------------------*/
182
/** \name RFCORE_XREG_SRCSHORTEN2 register bit masks
183
* @{
184
*/
185
#define RFCORE_XREG_SRCSHORTEN2_SHORT_ADDR_EN 0x000000FF
/**< SHORT_ADDR_EN[23:16] */
186
/** @} */
187
/*---------------------------------------------------------------------------*/
188
/** \name RFCORE_XREG_SRCEXTEN0 register bit masks
189
* @{
190
*/
191
#define RFCORE_XREG_SRCEXTEN0_EXT_ADDR_EN 0x000000FF
/**< EXT_ADDR_EN[7:0] */
192
/** @} */
193
/*---------------------------------------------------------------------------*/
194
/** \name RFCORE_XREG_SRCEXTEN1 register bit masks
195
* @{
196
*/
197
#define RFCORE_XREG_SRCEXTEN1_EXT_ADDR_EN 0x000000FF
/**< EXT_ADDR_EN[15:8] */
198
/** @} */
199
/*---------------------------------------------------------------------------*/
200
/** \name RFCORE_XREG_SRCEXTEN2 register bit masks
201
* @{
202
*/
203
#define RFCORE_XREG_SRCEXTEN2_EXT_ADDR_EN 0x000000FF
/**< EXT_ADDR_EN[23:16] */
204
/** @} */
205
/*---------------------------------------------------------------------------*/
206
/** \name RFCORE_XREG_FRMCTRL0 register bit masks
207
* @{
208
*/
209
#define RFCORE_XREG_FRMCTRL0_APPEND_DATA_MODE 0x00000080
/**< Append data mode */
210
#define RFCORE_XREG_FRMCTRL0_AUTOCRC 0x00000040
/**< Auto CRC generation / checking */
211
#define RFCORE_XREG_FRMCTRL0_AUTOACK 0x00000020
/**< Transmit ACK frame enable */
212
#define RFCORE_XREG_FRMCTRL0_ENERGY_SCAN 0x00000010
/**< RSSI register content control */
213
#define RFCORE_XREG_FRMCTRL0_RX_MODE 0x0000000C
/**< Set RX modes */
214
#define RFCORE_XREG_FRMCTRL0_TX_MODE 0x00000003
/**< Set test modes for TX */
215
/** @} */
216
/*---------------------------------------------------------------------------*/
217
/** \name RFCORE_XREG_FRMCTRL1 register bit masks
218
* @{
219
*/
220
#define RFCORE_XREG_FRMCTRL1_PENDING_OR 0x00000004
/**< Pending data bit control */
221
#define RFCORE_XREG_FRMCTRL1_IGNORE_TX_UNDERF 0x00000002
/**< TX underflow ignore */
222
#define RFCORE_XREG_FRMCTRL1_SET_RXENMASK_ON_TX 0x00000001
/**< RXENABLE control */
223
/** @} */
224
/*---------------------------------------------------------------------------*/
225
/** \name RFCORE_XREG_RXENABLE register bit masks
226
* @{
227
*/
228
#define RFCORE_XREG_RXENABLE_RXENMASK 0x000000FF
/**< Enables the receiver. */
229
/** @} */
230
/*---------------------------------------------------------------------------*/
231
/** \name RFCORE_XREG_RXMASKSET register bit masks
232
* @{
233
*/
234
#define RFCORE_XREG_RXMASKSET_RXENMASKSET 0x000000FF
/**< Write to RXENMASK (OR) */
235
/** @} */
236
/*---------------------------------------------------------------------------*/
237
/** \name RFCORE_XREG_RXMASKCLR register bit masks
238
* @{
239
*/
240
#define RFCORE_XREG_RXMASKCLR_RXENMASKCLR 0x000000FF
/**< RXENMASK clear bits */
241
/** @} */
242
/*---------------------------------------------------------------------------*/
243
/** \name RFCORE_XREG_FREQTUNE register bit masks
244
* @{
245
*/
246
#define RFCORE_XREG_FREQTUNE_XOSC32M_TUNE 0x0000000F
/**< Tune crystal oscillator */
247
/** @} */
248
/*---------------------------------------------------------------------------*/
249
/** \name RFCORE_XREG_FREQCTRL register bit masks
250
* @{
251
*/
252
#define RFCORE_XREG_FREQCTRL_FREQ 0x0000007F
/**< Frequency control word */
253
/** @} */
254
/*---------------------------------------------------------------------------*/
255
/** \name RFCORE_XREG_TXPOWER register bit masks
256
* @{
257
*/
258
#define RFCORE_XREG_TXPOWER_PA_POWER 0x000000F0
/**< PA power control */
259
#define RFCORE_XREG_TXPOWER_PA_BIAS 0x0000000F
/**< PA bias control */
260
/** @} */
261
/*---------------------------------------------------------------------------*/
262
/** \name RFCORE_XREG_TXCTRL register bit masks
263
* @{
264
*/
265
#define RFCORE_XREG_TXCTRL_DAC_CURR 0x00000070
/**< Change the current in the DAC. */
266
#define RFCORE_XREG_TXCTRL_DAC_DC 0x0000000C
/**< Adjusts the DC level to the TX mixer */
267
#define RFCORE_XREG_TXCTRL_TXMIX_CURRENT 0x00000003
/**< TX mixer core current */
268
/** @} */
269
/*---------------------------------------------------------------------------*/
270
/** \name RFCORE_XREG_FSMSTAT0 register bit masks
271
* @{
272
*/
273
#define RFCORE_XREG_FSMSTAT0_CAL_DONE 0x00000080
/**< Calib has been performed */
274
#define RFCORE_XREG_FSMSTAT0_CAL_RUNNING 0x00000040
/**< Calib status */
275
#define RFCORE_XREG_FSMSTAT0_FSM_FFCTRL_STATE 0x0000003F
/**< FIFO and FFCTRL status */
276
/** @} */
277
/*---------------------------------------------------------------------------*/
278
/** \name RFCORE_XREG_FSMSTAT1 register bit masks
279
* @{
280
*/
281
#define RFCORE_XREG_FSMSTAT1_FIFO 0x00000080
/**< FIFO status */
282
#define RFCORE_XREG_FSMSTAT1_FIFOP 0x00000040
/**< FIFOP status */
283
#define RFCORE_XREG_FSMSTAT1_SFD 0x00000020
/**< SFD was sent/received */
284
#define RFCORE_XREG_FSMSTAT1_CCA 0x00000010
/**< Clear channel assessment */
285
#define RFCORE_XREG_FSMSTAT1_SAMPLED_CCA 0x00000008
/**< CCA sample value */
286
#define RFCORE_XREG_FSMSTAT1_LOCK_STATUS 0x00000004
/**< PLL lock status */
287
#define RFCORE_XREG_FSMSTAT1_TX_ACTIVE 0x00000002
/**< Status signal - TX states */
288
#define RFCORE_XREG_FSMSTAT1_RX_ACTIVE 0x00000001
/**< Status signal - RX states */
289
/** @} */
290
/*---------------------------------------------------------------------------*/
291
/** \name RFCORE_XREG_FIFOPCTRL register bit masks
292
* @{
293
*/
294
#define RFCORE_XREG_FIFOPCTRL_FIFOP_THR 0x0000007F
/**< FIFOP signal threshold */
295
/** @} */
296
/*---------------------------------------------------------------------------*/
297
/** \name RFCORE_XREG_FSMCTRL register bit masks
298
* @{
299
*/
300
#define RFCORE_XREG_FSMCTRL_SLOTTED_ACK 0x00000002
/**< ACK frame TX timing */
301
#define RFCORE_XREG_FSMCTRL_RX2RX_TIME_OFF 0x00000001
/**< 12-sym timeout after RX */
302
/** @} */
303
/*---------------------------------------------------------------------------*/
304
/** \name RFCORE_XREG_CCACTRL0 register bit masks
305
* @{
306
*/
307
#define RFCORE_XREG_CCACTRL0_CCA_THR 0x000000FF
/**< Clear-channel-assessment */
308
/** @} */
309
/*---------------------------------------------------------------------------*/
310
/** \name RFCORE_XREG_CCACTRL1 register bit masks
311
* @{
312
*/
313
#define RFCORE_XREG_CCACTRL1_CCA_MODE 0x00000018
/**< CCA mode */
314
#define RFCORE_XREG_CCACTRL1_CCA_HYST 0x00000007
/**< CCA hysteresis */
315
/** @} */
316
/*---------------------------------------------------------------------------*/
317
/** \name RFCORE_XREG_RSSI register bit masks
318
* @{
319
*/
320
#define RFCORE_XREG_RSSI_RSSI_VAL 0x000000FF
/**< RSSI estimate */
321
#define RFCORE_XREG_RSSI_RSSI_VAL_S 0
322
/** @} */
323
/*---------------------------------------------------------------------------*/
324
/** \name RFCORE_XREG_RSSISTAT register bit masks
325
* @{
326
*/
327
#define RFCORE_XREG_RSSISTAT_RSSI_VALID 0x00000001
/**< RSSI value is valid */
328
/** @} */
329
/*---------------------------------------------------------------------------*/
330
/** \name RFCORE_XREG_RXFIRST register bit masks
331
* @{
332
*/
333
#define RFCORE_XREG_RXFIRST_DATA 0x000000FF
/**< First byte of the RX FIFO */
334
/** @} */
335
/*---------------------------------------------------------------------------*/
336
/** \name RFCORE_XREG_RXFIFOCNT register bit masks
337
* @{
338
*/
339
#define RFCORE_XREG_RXFIFOCNT_RXFIFOCNT 0x000000FF
/**< Number of bytes in the RX FIFO */
340
/** @} */
341
/*---------------------------------------------------------------------------*/
342
/** \name RFCORE_XREG_TXFIFOCNT register bit masks
343
* @{
344
*/
345
#define RFCORE_XREG_TXFIFOCNT_TXFIFOCNT 0x000000FF
/**< Number of bytes in the TX FIFO */
346
/** @} */
347
/*---------------------------------------------------------------------------*/
348
/** \name RX FIFO pointers
349
* @{
350
*/
351
#define RFCORE_XREG_RXFIRST_PTR_RXFIRST_PTR 0x000000FF
/**< Byte 1 */
352
#define RFCORE_XREG_RXLAST_PTR_RXLAST_PTR 0x000000FF
/**< Last byte + 1 */
353
#define RFCORE_XREG_RXP1_PTR_RXP1_PTR 0x000000FF
/**< Frame 1, byte 1 */
354
#define RFCORE_XREG_RXP2_PTR_RXP2_PTR 0x000000FF
/**< Last frame, byte 1 */
355
/** @} */
356
/*---------------------------------------------------------------------------*/
357
/** \name TX FIFO pointers
358
* @{
359
*/
360
#define RFCORE_XREG_TXFIRST_PTR_TXFIRST_PTR 0x000000FF
/**< Next byte to be TXd */
361
#define RFCORE_XREG_TXLAST_PTR_TXLAST_PTR 0x000000FF
/**< Last byte + 1 */
362
/** @} */
363
/*---------------------------------------------------------------------------*/
364
/** \name RFCORE_XREG_RFIRQM0 register bit masks
365
* @{
366
*/
367
#define RFCORE_XREG_RFIRQM0_RFIRQM 0x000000FF
/**< Interrupt source bit mask */
368
#define RFCORE_XREG_RFIRQM0_RXMASKZERO 0x00000080
/**< RXENABLE gone all-zero */
369
#define RFCORE_XREG_RFIRQM0_RXPKTDONE 0x00000040
/**< Complete frame RX */
370
#define RFCORE_XREG_RFIRQM0_FRAME_ACCEPTED 0x00000020
/**< Frame has passed frame filter */
371
#define RFCORE_XREG_RFIRQM0_SRC_MATCH_FOUND 0x00000010
/**< Source match is found */
372
#define RFCORE_XREG_RFIRQM0_SRC_MATCH_DONE 0x00000008
/**< Source matching is complete */
373
#define RFCORE_XREG_RFIRQM0_FIFOP 0x00000004
/**< RX FIFO exceeded threshold */
374
#define RFCORE_XREG_RFIRQM0_SFD 0x00000002
/**< SFD TX or RX */
375
#define RFCORE_XREG_RFIRQM0_ACT_UNUSED 0x00000001
/**< Reserved */
376
/** @} */
377
/*---------------------------------------------------------------------------*/
378
/** \name RFCORE_XREG_RFIRQM1 register bit masks
379
* @{
380
*/
381
#define RFCORE_XREG_RFIRQM1_RFIRQM 0x0000003F
/**< Interrupt source bit mask */
382
#define RFCORE_XREG_RFIRQM1_CSP_WAIT 0x00000020
/**< CSP Execution continued */
383
#define RFCORE_XREG_RFIRQM1_CSP_STOP 0x00000010
/**< CSP has stopped program */
384
#define RFCORE_XREG_RFIRQM1_CSP_MANINT 0x00000008
/**< CSP Manual interrupt */
385
#define RFCORE_XREG_RFIRQM1_RFIDLE 0x00000004
/**< IDLE state entered */
386
#define RFCORE_XREG_RFIRQM1_TXDONE 0x00000002
/**< Complete frame TX finished */
387
#define RFCORE_XREG_RFIRQM1_TXACKDONE 0x00000001
/**< ACK frame TX finished */
388
/** @} */
389
/*---------------------------------------------------------------------------*/
390
/** \name RFCORE_XREG_RFERRM register bit masks
391
* @{
392
*/
393
#define RFCORE_XREG_RFERRM_RFERRM 0x0000007F
/**< RF error interrupt mask */
394
#define RFCORE_XREG_RFERRM_STROBEERR 0x00000040
/**< Strobe error */
395
#define RFCORE_XREG_RFERRM_TXUNDERF 0x00000020
/**< TX FIFO underflowed */
396
#define RFCORE_XREG_RFERRM_TXOVERF 0x00000010
/**< TX FIFO overflowed */
397
#define RFCORE_XREG_RFERRM_RXUNDERF 0x00000008
/**< RX FIFO underflowed */
398
#define RFCORE_XREG_RFERRM_RXOVERF 0x00000004
/**< RX FIFO overflowed */
399
#define RFCORE_XREG_RFERRM_RXABO 0x00000002
/**< Frame RX was aborted */
400
#define RFCORE_XREG_RFERRM_NLOCK 0x00000001
/**< Frequency synthesizer lock error */
401
/** @} */
402
/*---------------------------------------------------------------------------*/
403
/** \name RFCORE_XREG_D18_SPARE_OPAMPMC register bit masks
404
* @{
405
*/
406
#define RFCORE_XREG_D18_SPARE_OPAMPMC_MODE 0x00000003
/**< Operational amplifier mode */
407
/** @} */
408
/*---------------------------------------------------------------------------*/
409
/** \name RFCORE_XREG_RFRND register bit masks
410
* @{
411
*/
412
#define RFCORE_XREG_RFRND_QRND 0x00000002
/**< Random bit from the Q channel */
413
#define RFCORE_XREG_RFRND_IRND 0x00000001
/**< Random bit from the I channel */
414
/** @} */
415
/*---------------------------------------------------------------------------*/
416
/** \name RFCORE_XREG_MDMCTRL0 register bit masks
417
* @{
418
*/
419
#define RFCORE_XREG_MDMCTRL0_DEM_NUM_ZEROS 0x000000C0
/**< Num of zero symbols before sync word */
420
#define RFCORE_XREG_MDMCTRL0_DEMOD_AVG_MODE 0x00000020
/**< Frequency offset averaging filter */
421
#define RFCORE_XREG_MDMCTRL0_PREAMBLE_LENGTH 0x0000001E
/**< Number of preamble bytes */
422
#define RFCORE_XREG_MDMCTRL0_TX_FILTER 0x00000001
/**< TX filter type */
423
/** @} */
424
/*---------------------------------------------------------------------------*/
425
/** \name RFCORE_XREG_MDMCTRL1 register bit masks
426
* @{
427
*/
428
#define RFCORE_XREG_MDMCTRL1_CORR_THR_SFD 0x00000020
/**< SFD detection requirements */
429
#define RFCORE_XREG_MDMCTRL1_CORR_THR 0x0000001F
/**< Demodulator correlator threshold */
430
/** @} */
431
/*---------------------------------------------------------------------------*/
432
/** \name RFCORE_XREG_FREQEST register bit masks
433
* @{
434
*/
435
#define RFCORE_XREG_FREQEST_FREQEST 0x000000FF
436
/** @} */
437
/*---------------------------------------------------------------------------*/
438
/** \name RFCORE_XREG_RXCTRL register bit masks
439
* @{
440
*/
441
#define RFCORE_XREG_RXCTRL_GBIAS_LNA2_REF 0x00000030
/**< LNA2/mixer PTAT current output */
442
#define RFCORE_XREG_RXCTRL_GBIAS_LNA_REF 0x0000000C
/**< LNA PTAT current output */
443
#define RFCORE_XREG_RXCTRL_MIX_CURRENT 0x00000003
/**< Control of the output current */
444
/** @} */
445
/*---------------------------------------------------------------------------*/
446
/** \name RFCORE_XREG_FSCTRL register bit masks
447
* @{
448
*/
449
#define RFCORE_XREG_FSCTRL_PRE_CURRENT 0x000000C0
/**< Prescaler current setting */
450
#define RFCORE_XREG_FSCTRL_LODIV_BUF_CURRENT_TX 0x00000030
/**< Adjusts current in mixer and PA adjust */
451
#define RFCORE_XREG_FSCTRL_LODIV_BUF_CURRENT_RX 0x0000000C
/**< Adjusts current in mixer and PA adjust */
452
#define RFCORE_XREG_FSCTRL_LODIV_CURRENT 0x00000003
/**< Adjusts divider currents */
453
/** @} */
454
/*---------------------------------------------------------------------------*/
455
/** \name RFCORE_XREG_FSCAL1 register bit masks
456
* @{
457
*/
458
#define RFCORE_XREG_FSCAL1_VCO_CURR_CAL_OE 0x00000080
/**< Override current calibration */
459
#define RFCORE_XREG_FSCAL1_VCO_CURR_CAL 0x0000007C
/**< Calibration result */
460
#define RFCORE_XREG_FSCAL1_VCO_CURR 0x00000003
/**< Defines current in VCO core */
461
/** @} */
462
/*---------------------------------------------------------------------------*/
463
/** \name RFCORE_XREG_FSCAL2 register bit masks
464
* @{
465
*/
466
#define RFCORE_XREG_FSCAL2_VCO_CAPARR_OE 0x00000040
/**< Override the calibration result */
467
#define RFCORE_XREG_FSCAL2_VCO_CAPARR 0x0000003F
/**< VCO capacitor array setting */
468
/** @} */
469
/*---------------------------------------------------------------------------*/
470
/** \name RFCORE_XREG_FSCAL3 register bit masks
471
* @{
472
*/
473
#define RFCORE_XREG_FSCAL3_VCO_DAC_EN_OV 0x00000040
/**< VCO DAC Enable */
474
#define RFCORE_XREG_FSCAL3_VCO_VC_DAC 0x0000003C
/**< Varactor control voltage Bit vector */
475
#define RFCORE_XREG_FSCAL3_VCO_CAPARR_CAL_CTRL 0x00000003
/**< Calibration accuracy setting */
476
/** @} */
477
/*---------------------------------------------------------------------------*/
478
/** \name RFCORE_XREG_AGCCTRL0 register bit masks
479
* @{
480
*/
481
#define RFCORE_XREG_AGCCTRL0_AGC_DR_XTND_EN 0x00000040
/**< AAF attenuation adjustment */
482
#define RFCORE_XREG_AGCCTRL0_AGC_DR_XTND_THR 0x0000003F
/**< Enable extra attenuation in front end */
483
/** @} */
484
/*---------------------------------------------------------------------------*/
485
/** \name RFCORE_XREG_AGCCTRL1 register bit masks
486
* @{
487
*/
488
#define RFCORE_XREG_AGCCTRL1_AGC_REF 0x0000003F
/**< Target value for the AGC control loop */
489
/** @} */
490
/*---------------------------------------------------------------------------*/
491
/** \name RFCORE_XREG_AGCCTRL2 register bit masks
492
* @{
493
*/
494
#define RFCORE_XREG_AGCCTRL2_LNA1_CURRENT 0x000000C0
/**< Overrride value for LNA 1 */
495
#define RFCORE_XREG_AGCCTRL2_LNA2_CURRENT 0x00000038
/**< Overrride value for LNA 2 */
496
#define RFCORE_XREG_AGCCTRL2_LNA3_CURRENT 0x00000006
/**< Overrride value for LNA 3 */
497
#define RFCORE_XREG_AGCCTRL2_LNA_CURRENT_OE 0x00000001
/**< AGC LNA override */
498
/** @} */
499
/*---------------------------------------------------------------------------*/
500
/** \name RFCORE_XREG_AGCCTRL3 register bit masks
501
* @{
502
*/
503
#define RFCORE_XREG_AGCCTRL3_AGC_SETTLE_WAIT 0x00000060
/**< AGC analog gain wait */
504
#define RFCORE_XREG_AGCCTRL3_AGC_WIN_SIZE 0x00000018
/**< AGC accumulate-and-dump window size */
505
#define RFCORE_XREG_AGCCTRL3_AAF_RP 0x00000006
/**< AGC to AAF control signal override */
506
#define RFCORE_XREG_AGCCTRL3_AAF_RP_OE 0x00000001
/**< AAF control signal override */
507
/** @} */
508
/*---------------------------------------------------------------------------*/
509
/** \name RFCORE_XREG_ADCTEST0 register bit masks
510
* @{
511
*/
512
#define RFCORE_XREG_ADCTEST0_ADC_VREF_ADJ 0x000000C0
/**< Quantizer threshold control */
513
#define RFCORE_XREG_ADCTEST0_ADC_QUANT_ADJ 0x00000030
/**< Quantizer threshold control */
514
#define RFCORE_XREG_ADCTEST0_ADC_GM_ADJ 0x0000000E
/**< Gm-control for test and debug */
515
#define RFCORE_XREG_ADCTEST0_ADC_DAC2_EN 0x00000001
/**< Enables DAC2 */
516
/** @} */
517
/*---------------------------------------------------------------------------*/
518
/** \name RFCORE_XREG_ADCTEST1 register bit masks
519
* @{
520
*/
521
#define RFCORE_XREG_ADCTEST1_ADC_TEST_CTRL 0x000000F0
/**< ADC test mode selector */
522
#define RFCORE_XREG_ADCTEST1_ADC_C2_ADJ 0x0000000C
/**< ADC capacitor value adjust */
523
#define RFCORE_XREG_ADCTEST1_ADC_C3_ADJ 0x00000003
/**< ADC capacitor value adjust */
524
/** @} */
525
/*---------------------------------------------------------------------------*/
526
/** \name RFCORE_XREG_ADCTEST2 register bit masks
527
* @{
528
*/
529
#define RFCORE_XREG_ADCTEST2_ADC_TEST_MODE 0x00000060
/**< ADC data output test mode */
530
#define RFCORE_XREG_ADCTEST2_AAF_RS 0x00000018
/**< AAF series resistance control */
531
#define RFCORE_XREG_ADCTEST2_ADC_FF_ADJ 0x00000006
/**< Adjust feed forward */
532
#define RFCORE_XREG_ADCTEST2_ADC_DAC_ROT 0x00000001
/**< Control of DAC DWA scheme */
533
/** @} */
534
/*---------------------------------------------------------------------------*/
535
/** \name RFCORE_XREG_MDMTEST0 register bit masks
536
* @{
537
*/
538
#define RFCORE_XREG_MDMTEST0_TX_TONE 0x000000F0
/**< Baseband tone TX enable */
539
#define RFCORE_XREG_MDMTEST0_DC_WIN_SIZE 0x0000000C
/**< Controls the numbers of samples */
540
#define RFCORE_XREG_MDMTEST0_DC_BLOCK_MODE 0x00000003
/**< Mode of operation select */
541
/** @} */
542
/*---------------------------------------------------------------------------*/
543
/** \name RFCORE_XREG_MDMTEST1 register bit masks
544
* @{
545
*/
546
#define RFCORE_XREG_MDMTEST1_USEMIRROR_IF 0x00000020
/**< IF frequency select */
547
#define RFCORE_XREG_MDMTEST1_MOD_IF 0x00000010
/**< Modulation select */
548
#define RFCORE_XREG_MDMTEST1_RAMP_AMP 0x00000008
/**< Ramping of DAC output enable */
549
#define RFCORE_XREG_MDMTEST1_RFC_SNIFF_EN 0x00000004
/**< Packet sniffer module enable */
550
#define RFCORE_XREG_MDMTEST1_MODULATION_MODE 0x00000002
/**< RF-modulation mode */
551
#define RFCORE_XREG_MDMTEST1_LOOPBACK_EN 0x00000001
/**< Modulated data loopback enable */
552
/** @} */
553
/*---------------------------------------------------------------------------*/
554
/** \name RFCORE_XREG_DACTEST0 register bit masks
555
* @{
556
*/
557
#define RFCORE_XREG_DACTEST0_DAC_Q 0x400886FF
/**< Q-branch DAC override value */
558
/** @} */
559
/*---------------------------------------------------------------------------*/
560
/** \name RFCORE_XREG_DACTEST1 register bit masks
561
* @{
562
*/
563
#define RFCORE_XREG_DACTEST1_DAC_I 0x400886FF
/**< I-branch DAC override value */
564
/** @} */
565
/*---------------------------------------------------------------------------*/
566
/** \name RFCORE_XREG_DACTEST2 register bit masks
567
* @{
568
*/
569
#define RFCORE_XREG_DACTEST2_DAC_DEM_EN 0x00000020
/**< Dynamic element matching enable */
570
#define RFCORE_XREG_DACTEST2_DAC_CASC_CTRL 0x00000018
/**< Adjustment of output stage */
571
#define RFCORE_XREG_DACTEST2_DAC_SRC 0x00000007
/**< TX DAC data src select */
572
/** @} */
573
/*---------------------------------------------------------------------------*/
574
/** \name RFCORE_XREG_ATEST register bit masks
575
* @{
576
*/
577
#define RFCORE_XREG_ATEST_ATEST_CTRL 0x0000003F
/**< Controls the analog test mode */
578
#define RFCORE_XREG_ATEST_ATEST_CTRL_DIS 0x00000000
/**< Analog test mode: disabled */
579
#define RFCORE_XREG_ATEST_ATEST_CTRL_TEMP 0x00000001
/**< Analog test mode: enable temperature sensor */
580
/** @} */
581
/*---------------------------------------------------------------------------*/
582
/** \name RFCORE_XREG_PTEST0 register bit masks
583
* @{
584
*/
585
#define RFCORE_XREG_PTEST0_PRE_PD 0x00000080
/**< Prescaler power-down signal */
586
#define RFCORE_XREG_PTEST0_CHP_PD 0x00000040
/**< Charge pump power-down signal */
587
#define RFCORE_XREG_PTEST0_ADC_PD 0x00000020
/**< ADC power-down signal When */
588
#define RFCORE_XREG_PTEST0_DAC_PD 0x00000010
/**< DAC power-down signal When */
589
#define RFCORE_XREG_PTEST0_LNA_PD 0x0000000C
/**< Low-noise amplifier power-down */
590
#define RFCORE_XREG_PTEST0_TXMIX_PD 0x00000002
/**< Transmit mixer power-down */
591
#define RFCORE_XREG_PTEST0_AAF_PD 0x00000001
/**< Antialiasing filter power-down */
592
/** @} */
593
/*---------------------------------------------------------------------------*/
594
/** \name RFCORE_XREG_PTEST1 register bit masks
595
* @{
596
*/
597
#define RFCORE_XREG_PTEST1_PD_OVERRIDE 0x00000008
/**< Override module enabling and disabling */
598
#define RFCORE_XREG_PTEST1_PA_PD 0x00000004
/**< Power amplifier power-down signal */
599
#define RFCORE_XREG_PTEST1_VCO_PD 0x00000002
/**< VCO power-down signal */
600
#define RFCORE_XREG_PTEST1_LODIV_PD 0x00000001
/**< LO power-down signal */
601
/** @} */
602
/*---------------------------------------------------------------------------*/
603
/** \name RFCORE_XREG_CSPPROG[0:24] register bit masks
604
* @{
605
*/
606
#define RFCORE_XREG_CSPPROG_CSP_INSTR 0x000000FF
/**< Byte N of the CSP program */
607
/** @} */
608
/*---------------------------------------------------------------------------*/
609
/** \name RFCORE_XREG_CSPCTRL register bit masks
610
* @{
611
*/
612
#define RFCORE_XREG_CSPCTRL_MCU_CTRL 0x00000001
/**< CSP MCU control input */
613
/** @} */
614
/*---------------------------------------------------------------------------*/
615
/** \name RFCORE_XREG_CSPSTAT register bit masks
616
* @{
617
*/
618
#define RFCORE_XREG_CSPSTAT_CSP_RUNNING 0x00000020
/**< CSP Running / Idle */
619
#define RFCORE_XREG_CSPSTAT_CSP_PC 0x0000001F
/**< CSP program counter */
620
/** @} */
621
/*---------------------------------------------------------------------------*/
622
/** \name RFCORE_XREG_CSPX register bit masks
623
* @{
624
*/
625
#define RFCORE_XREG_CSPX_CSPX 0x000000FF
/**< CSP X data */
626
/** @} */
627
/*---------------------------------------------------------------------------*/
628
/** \name RFCORE_XREG_CSPY register bit masks
629
* @{
630
*/
631
#define RFCORE_XREG_CSPY_CSPY 0x000000FF
/**< CSP Y data */
632
/** @} */
633
/*---------------------------------------------------------------------------*/
634
/** \name RFCORE_XREG_CSPZ register bit masks
635
* @{
636
*/
637
#define RFCORE_XREG_CSPZ_CSPZ 0x000000FF
/**< CSP Z data */
638
/** @} */
639
/*---------------------------------------------------------------------------*/
640
/** \name RFCORE_XREG_CSPT register bit masks
641
* @{
642
*/
643
#define RFCORE_XREG_CSPT_CSPT 0x000000FF
/**< CSP T data */
644
/** @} */
645
/*---------------------------------------------------------------------------*/
646
/** \name RFCORE_XREG_RFC_DUTY_CYCLE register bit masks
647
* @{
648
*/
649
#define RFCORE_XREG_RFC_DUTY_CYCLE_SWD_EN 0x00000040
/**< Wire debug mode */
650
#define RFCORE_XREG_RFC_DUTY_CYCLE_DTC_DCCAL_MODE 0x00000030
/**< Periodic DC-recalibration mode */
651
#define RFCORE_XREG_RFC_DUTY_CYCLE_DUTYCYCLE_CNF 0x0000000E
/**< Defines duty cycling */
652
#define RFCORE_XREG_RFC_DUTY_CYCLE_DUTYCYCLE_EN 0x00000001
/**< Duty cycling mode enable */
653
/** @} */
654
/*---------------------------------------------------------------------------*/
655
/** \name RFCORE_XREG_RFC_OBS_CTRL[0:2] register bit masks
656
* @{
657
*/
658
#define RFCORE_XREG_RFC_OBS_CTRL0_RFC_OBS_POL0 0x00000040
/**< RFC_OBS_MUX0 XOR bit */
659
#define RFCORE_XREG_RFC_OBS_CTRL0_RFC_OBS_MUX0 0x0000003F
/**< RF Core MUX out control */
660
#define RFCORE_XREG_RFC_OBS_CTRL1_RFC_OBS_POL1 0x00000040
/**< RFC_OBS_MUX0 XOR bit */
661
#define RFCORE_XREG_RFC_OBS_CTRL1_RFC_OBS_MUX1 0x0000003F
/**< RF Core MUX out control */
662
#define RFCORE_XREG_RFC_OBS_CTRL2_RFC_OBS_POL2 0x00000040
/**< RFC_OBS_MUX0 XOR bit */
663
#define RFCORE_XREG_RFC_OBS_CTRL2_RFC_OBS_MUX2 0x0000003F
/**< RF Core MUX out control */
664
/** @} */
665
/*---------------------------------------------------------------------------*/
666
/** \name RFCORE_XREG_TXFILTCFG register bit masks
667
* @{
668
*/
669
#define RFCORE_XREG_TXFILTCFG_FC 0x0000000F
/**< Drives signal rfr_txfilt_fc */
670
/** @} */
671
672
#endif
/* RFCORE_XREG_H_ */
673
/** @} */
arch
cpu
cc2538
dev
rfcore-xreg.h
Generated on
for Contiki-NG by
1.17.0