at86rf2xx_registers.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2013 Alaeddine Weslati <alaeddine.weslati@inria.fr>
3  * Copyright (C) 2015 Freie Universität Berlin
4  *
5  * This file is subject to the terms and conditions of the GNU Lesser
6  * General Public License v2.1. See the file LICENSE in the top level
7  * directory for more details.
8  */
9 
24 #ifndef AT86RF2XX_REGISTERS_H
25 #define AT86RF2XX_REGISTERS_H
26 
27 #include "at86rf2xx.h"
28 
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32 
37 #define AT86RF212B_PARTNUM (0x07)
38 #define AT86RF231_PARTNUM (0x03)
39 #define AT86RF232_PARTNUM (0x0a)
40 #define AT86RF233_PARTNUM (0x0b)
41 #define AT86RFA1_PARTNUM (0x83)
42 #define AT86RFR2_PARTNUM (0x94)
43 
49 #ifdef MODULE_AT86RF212B
50 #define AT86RF2XX_PARTNUM AT86RF212B_PARTNUM
51 #elif MODULE_AT86RF232
52 #define AT86RF2XX_PARTNUM AT86RF232_PARTNUM
53 #elif MODULE_AT86RF233
54 #define AT86RF2XX_PARTNUM AT86RF233_PARTNUM
55 #elif MODULE_AT86RFA1
56 #define AT86RF2XX_PARTNUM AT86RFA1_PARTNUM
57 #elif MODULE_AT86RFR2
58 #define AT86RF2XX_PARTNUM AT86RFR2_PARTNUM
59 #else /* MODULE_AT86RF231 as default device */
60 #define AT86RF2XX_PARTNUM AT86RF231_PARTNUM
61 #endif
62 
64 /*
65  * memory-mapped transceiver
66  */
67 #if defined(MODULE_AT86RFA1) || defined(MODULE_AT86RFR2)
68 
69 #include <avr/io.h>
70 
75 #define AT86RF2XX_REG__TRX_STATUS (&TRX_STATUS)
76 #define AT86RF2XX_REG__TRX_STATE (&TRX_STATE)
77 #define AT86RF2XX_REG__TRX_CTRL_0 (&TRX_CTRL_0)
78 #define AT86RF2XX_REG__TRX_CTRL_1 (&TRX_CTRL_1)
79 #define AT86RF2XX_REG__PHY_TX_PWR (&PHY_TX_PWR)
80 #define AT86RF2XX_REG__PHY_RSSI (&PHY_RSSI)
81 #define AT86RF2XX_REG__PHY_ED_LEVEL (&PHY_ED_LEVEL)
82 #define AT86RF2XX_REG__PHY_CC_CCA (&PHY_CC_CCA)
83 #define AT86RF2XX_REG__CCA_THRES (&CCA_THRES)
84 #define AT86RF2XX_REG__RX_CTRL (&RX_CTRL)
85 #define AT86RF2XX_REG__SFD_VALUE (&SFD_VALUE)
86 #define AT86RF2XX_REG__TRX_CTRL_2 (&TRX_CTRL_2)
87 #define AT86RF2XX_REG__TRX_RPC (&TRX_RPC)
88 #define AT86RF2XX_REG__ANT_DIV (&ANT_DIV)
89 #define AT86RF2XX_REG__IRQ_MASK (&IRQ_MASK)
90 #ifdef IRQ_MASK1
91 #define AT86RF2XX_REG__IRQ_MASK1 (&IRQ_MASK1)
92 #endif
93 #define AT86RF2XX_REG__IRQ_STATUS (&IRQ_STATUS)
94 #define AT86RF2XX_REG__IRQ_STATUS1 (&IRQ_STATUS1)
95 #define AT86RF2XX_REG__VREG_CTRL (&VREG_CTRL)
96 #define AT86RF2XX_REG__BATMON (&BATMON)
97 #define AT86RF2XX_REG__XOSC_CTRL (&XOSC_CTRL)
98 #define AT86RF2XX_REG__CC_CTRL_0 (&CC_CTRL_0)
99 #define AT86RF2XX_REG__CC_CTRL_1 (&CC_CTRL_1)
100 #define AT86RF2XX_REG__RX_SYN (&RX_SYN)
101 #define AT86RF2XX_REG__XAH_CTRL_1 (&XAH_CTRL_1)
102 #define AT86RF2XX_REG__FTN_CTRL (&FTN_CTRL)
103 #define AT86RF2XX_REG__PLL_CF (&PLL_CF)
104 #define AT86RF2XX_REG__PLL_DCU (&PLL_DCU)
105 #define AT86RF2XX_REG__PART_NUM (&PART_NUM)
106 #define AT86RF2XX_REG__VERSION_NUM (&VERSION_NUM)
107 #define AT86RF2XX_REG__MAN_ID_0 (&MAN_ID_0)
108 #define AT86RF2XX_REG__MAN_ID_1 (&MAN_ID_1)
109 #define AT86RF2XX_REG__SHORT_ADDR_0 (&SHORT_ADDR_0)
110 #define AT86RF2XX_REG__SHORT_ADDR_1 (&SHORT_ADDR_1)
111 #define AT86RF2XX_REG__PAN_ID_0 (&PAN_ID_0)
112 #define AT86RF2XX_REG__PAN_ID_1 (&PAN_ID_1)
113 #define AT86RF2XX_REG__IEEE_ADDR_0 (&IEEE_ADDR_0)
114 #define AT86RF2XX_REG__IEEE_ADDR_1 (&IEEE_ADDR_1)
115 #define AT86RF2XX_REG__IEEE_ADDR_2 (&IEEE_ADDR_2)
116 #define AT86RF2XX_REG__IEEE_ADDR_3 (&IEEE_ADDR_3)
117 #define AT86RF2XX_REG__IEEE_ADDR_4 (&IEEE_ADDR_4)
118 #define AT86RF2XX_REG__IEEE_ADDR_5 (&IEEE_ADDR_5)
119 #define AT86RF2XX_REG__IEEE_ADDR_6 (&IEEE_ADDR_6)
120 #define AT86RF2XX_REG__IEEE_ADDR_7 (&IEEE_ADDR_7)
121 #define AT86RF2XX_REG__XAH_CTRL_0 (&XAH_CTRL_0)
122 #define AT86RF2XX_REG__CSMA_SEED_0 (&CSMA_SEED_0)
123 #define AT86RF2XX_REG__CSMA_SEED_1 (&CSMA_SEED_1)
124 #define AT86RF2XX_REG__CSMA_BE (&CSMA_BE)
125 #define AT86RF2XX_REG__TST_CTRL_DIGI (&TST_CTRL_DIGI)
126 #define AT86RF2XX_REG__TRXFBST (&TRXFBST)
127 #define AT86RF2XX_REG__TRXFBEND (&TRXFBEND)
128 #define AT86RF2XX_REG__TRXPR (&TRXPR)
129 
135 #define AT86RF2XX_TRX_CTRL_0_MASK__PMU_EN (0x40)
136 #define AT86RF2XX_TRX_CTRL_0_MASK__PMU_START (0x20)
137 #define AT86RF2XX_TRX_CTRL_0_MASK__PMU_IF_INV (0x10)
138 
144 #define AT86RF2XX_TRX_CTRL_1_MASK__PA_EXT_EN (0x80)
145 #define AT86RF2XX_TRX_CTRL_1_MASK__IRQ_2_EXT_EN (0x40)
146 #define AT86RF2XX_TRX_CTRL_1_MASK__TX_AUTO_CRC_ON (0x20)
147 #define AT86RF2XX_TRX_CTRL_1_MASK__PLL_TX_FLT (0x10)
148 
154 #define AT86RF2XX_TRX_CTRL_2_MASK__RX_SAFE_MODE (0x80)
155 #define AT86RF2XX_TRX_CTRL_2_MASK__OQPSK_DATA_RATE (0x03)
156 
162 #define AT86RF2XX_IRQ_STATUS_MASK__AWAKE (0x80)
163 #define AT86RF2XX_IRQ_STATUS_MASK__TX_END (0x40)
164 #define AT86RF2XX_IRQ_STATUS_MASK__AMI (0x20)
165 #define AT86RF2XX_IRQ_STATUS_MASK__CCA_ED_DONE (0x10)
166 #define AT86RF2XX_IRQ_STATUS_MASK__RX_END (0x08)
167 #define AT86RF2XX_IRQ_STATUS_MASK__RX_START (0x04)
168 #define AT86RF2XX_IRQ_STATUS_MASK__PLL_UNLOCK (0x02)
169 #define AT86RF2XX_IRQ_STATUS_MASK__PLL_LOCK (0x01)
170 
171 /* Map TX_END and RX_END to TRX_END to be compatible to SPI Devices */
172 #define AT86RF2XX_IRQ_STATUS_MASK__TRX_END (0x48)
173 
178 #define AT86RF2XX_IRQ_STATUS_MASK1__TX_START (0x01)
179 #define AT86RF2XX_IRQ_STATUS_MASK1__MAF_0_AMI (0x02)
180 #define AT86RF2XX_IRQ_STATUS_MASK1__MAF_1_AMI (0x04)
181 #define AT86RF2XX_IRQ_STATUS_MASK1__MAF_2_AMI (0x08)
182 #define AT86RF2XX_IRQ_STATUS_MASK1__MAF_3_AMI (0x10)
183 
185 #else
186 /*
187  * SPI based transceiver
188  */
189 
194 #define AT86RF2XX_ACCESS_REG (0x80)
195 #define AT86RF2XX_ACCESS_FB (0x20)
196 #define AT86RF2XX_ACCESS_SRAM (0x00)
197 #define AT86RF2XX_ACCESS_READ (0x00)
198 #define AT86RF2XX_ACCESS_WRITE (0x40)
199 
205 #define AT86RF2XX_REG__TRX_STATUS (0x01)
206 #define AT86RF2XX_REG__TRX_STATE (0x02)
207 #define AT86RF2XX_REG__TRX_CTRL_0 (0x03)
208 #define AT86RF2XX_REG__TRX_CTRL_1 (0x04)
209 #define AT86RF2XX_REG__PHY_TX_PWR (0x05)
210 #define AT86RF2XX_REG__PHY_RSSI (0x06)
211 #define AT86RF2XX_REG__PHY_ED_LEVEL (0x07)
212 #define AT86RF2XX_REG__PHY_CC_CCA (0x08)
213 #define AT86RF2XX_REG__CCA_THRES (0x09)
214 #define AT86RF2XX_REG__RX_CTRL (0x0A)
215 #define AT86RF2XX_REG__SFD_VALUE (0x0B)
216 #define AT86RF2XX_REG__TRX_CTRL_2 (0x0C)
217 #define AT86RF2XX_REG__ANT_DIV (0x0D)
218 #define AT86RF2XX_REG__IRQ_MASK (0x0E)
219 #define AT86RF2XX_REG__IRQ_STATUS (0x0F)
220 #define AT86RF2XX_REG__VREG_CTRL (0x10)
221 #define AT86RF2XX_REG__BATMON (0x11)
222 #define AT86RF2XX_REG__XOSC_CTRL (0x12)
223 #define AT86RF2XX_REG__CC_CTRL_1 (0x14)
224 #define AT86RF2XX_REG__RX_SYN (0x15)
225 #ifdef MODULE_AT86RF212B
226 #define AT86RF2XX_REG__RF_CTRL_0 (0x16)
227 #elif defined(MODULE_AT86RF233)
228 #define AT86RF2XX_REG__TRX_RPC (0x16)
229 #endif
230 #define AT86RF2XX_REG__XAH_CTRL_1 (0x17)
231 #define AT86RF2XX_REG__FTN_CTRL (0x18)
232 #if AT86RF2XX_HAVE_RETRIES
233 #define AT86RF2XX_REG__XAH_CTRL_2 (0x19)
234 #endif
235 #define AT86RF2XX_REG__PLL_CF (0x1A)
236 #define AT86RF2XX_REG__PLL_DCU (0x1B)
237 #define AT86RF2XX_REG__PART_NUM (0x1C)
238 #define AT86RF2XX_REG__VERSION_NUM (0x1D)
239 #define AT86RF2XX_REG__MAN_ID_0 (0x1E)
240 #define AT86RF2XX_REG__MAN_ID_1 (0x1F)
241 #define AT86RF2XX_REG__SHORT_ADDR_0 (0x20)
242 #define AT86RF2XX_REG__SHORT_ADDR_1 (0x21)
243 #define AT86RF2XX_REG__PAN_ID_0 (0x22)
244 #define AT86RF2XX_REG__PAN_ID_1 (0x23)
245 #define AT86RF2XX_REG__IEEE_ADDR_0 (0x24)
246 #define AT86RF2XX_REG__IEEE_ADDR_1 (0x25)
247 #define AT86RF2XX_REG__IEEE_ADDR_2 (0x26)
248 #define AT86RF2XX_REG__IEEE_ADDR_3 (0x27)
249 #define AT86RF2XX_REG__IEEE_ADDR_4 (0x28)
250 #define AT86RF2XX_REG__IEEE_ADDR_5 (0x29)
251 #define AT86RF2XX_REG__IEEE_ADDR_6 (0x2A)
252 #define AT86RF2XX_REG__IEEE_ADDR_7 (0x2B)
253 #define AT86RF2XX_REG__XAH_CTRL_0 (0x2C)
254 #define AT86RF2XX_REG__CSMA_SEED_0 (0x2D)
255 #define AT86RF2XX_REG__CSMA_SEED_1 (0x2E)
256 #define AT86RF2XX_REG__CSMA_BE (0x2F)
257 #define AT86RF2XX_REG__TST_CTRL_DIGI (0x36)
258 
264 #define AT86RF2XX_TRX_CTRL_0_MASK__PAD_IO (0xC0)
265 #define AT86RF2XX_TRX_CTRL_0_MASK__PAD_IO_CLKM (0x30)
266 #define AT86RF2XX_TRX_CTRL_0_MASK__CLKM_SHA_SEL (0x08)
267 #define AT86RF2XX_TRX_CTRL_0_MASK__CLKM_CTRL (0x07)
268 
269 #define AT86RF2XX_TRX_CTRL_0_DEFAULT__PAD_IO (0x00)
270 #define AT86RF2XX_TRX_CTRL_0_DEFAULT__PAD_IO_CLKM (0x10)
271 #define AT86RF2XX_TRX_CTRL_0_DEFAULT__CLKM_SHA_SEL (0x08)
272 #define AT86RF2XX_TRX_CTRL_0_DEFAULT__CLKM_CTRL (0x01)
273 
274 #define AT86RF2XX_TRX_CTRL_0_CLKM_CTRL__OFF (0x00)
275 #define AT86RF2XX_TRX_CTRL_0_CLKM_CTRL__1MHz (0x01)
276 #define AT86RF2XX_TRX_CTRL_0_CLKM_CTRL__2MHz (0x02)
277 #define AT86RF2XX_TRX_CTRL_0_CLKM_CTRL__4MHz (0x03)
278 #define AT86RF2XX_TRX_CTRL_0_CLKM_CTRL__8MHz (0x04)
279 #define AT86RF2XX_TRX_CTRL_0_CLKM_CTRL__16MHz (0x05)
280 #define AT86RF2XX_TRX_CTRL_0_CLKM_CTRL__250kHz (0x06)
281 #define AT86RF2XX_TRX_CTRL_0_CLKM_CTRL__62_5kHz (0x07)
282 
288 #define AT86RF2XX_TRX_CTRL_1_MASK__PA_EXT_EN (0x80)
289 #define AT86RF2XX_TRX_CTRL_1_MASK__IRQ_2_EXT_EN (0x40)
290 #define AT86RF2XX_TRX_CTRL_1_MASK__TX_AUTO_CRC_ON (0x20)
291 #define AT86RF2XX_TRX_CTRL_1_MASK__RX_BL_CTRL (0x10)
292 #define AT86RF2XX_TRX_CTRL_1_MASK__SPI_CMD_MODE (0x0C)
293 #define AT86RF2XX_TRX_CTRL_1_MASK__IRQ_MASK_MODE (0x02)
294 #define AT86RF2XX_TRX_CTRL_1_MASK__IRQ_POLARITY (0x01)
295 
301 #define AT86RF2XX_TRX_CTRL_2_MASK__RX_SAFE_MODE (0x80)
302 #define AT86RF2XX_TRX_CTRL_2_MASK__FREQ_MODE (0x3F)
303 #define AT86RF2XX_TRX_CTRL_2_MASK__TRX_OFF_AVDD_EN (0x40)
304 #define AT86RF2XX_TRX_CTRL_2_MASK__OQPSK_SCRAM_EN (0x20)
305 #define AT86RF2XX_TRX_CTRL_2_MASK__ALT_SPECTRUM (0x10)
306 #define AT86RF2XX_TRX_CTRL_2_MASK__BPSK_OQPSK (0x08)
307 #define AT86RF2XX_TRX_CTRL_2_MASK__SUB_MODE (0x04)
308 #define AT86RF2XX_TRX_CTRL_2_MASK__OQPSK_DATA_RATE (0x03)
309 
315 #define AT86RF2XX_IRQ_STATUS_MASK__BAT_LOW (0x80)
316 #define AT86RF2XX_IRQ_STATUS_MASK__TRX_UR (0x40)
317 #define AT86RF2XX_IRQ_STATUS_MASK__AMI (0x20)
318 #define AT86RF2XX_IRQ_STATUS_MASK__CCA_ED_DONE (0x10)
319 #define AT86RF2XX_IRQ_STATUS_MASK__TRX_END (0x08)
320 #define AT86RF2XX_IRQ_STATUS_MASK__RX_START (0x04)
321 #define AT86RF2XX_IRQ_STATUS_MASK__PLL_UNLOCK (0x02)
322 #define AT86RF2XX_IRQ_STATUS_MASK__PLL_LOCK (0x01)
323 
325 #endif /* END external spi transceiver */
326 
330 #define AT86RF2XX_TRX_STATUS_MASK__CCA_DONE (0x80)
331 #define AT86RF2XX_TRX_STATUS_MASK__CCA_STATUS (0x40)
332 #define AT86RF2XX_TRX_STATUS_MASK__TRX_STATUS (0x1F)
333 
334 #define AT86RF2XX_TRX_STATUS__P_ON (0x00)
335 #define AT86RF2XX_TRX_STATUS__BUSY_RX (0x01)
336 #define AT86RF2XX_TRX_STATUS__BUSY_TX (0x02)
337 #define AT86RF2XX_TRX_STATUS__RX_ON (0x06)
338 #define AT86RF2XX_TRX_STATUS__TRX_OFF (0x08)
339 #define AT86RF2XX_TRX_STATUS__PLL_ON (0x09)
340 #define AT86RF2XX_TRX_STATUS__SLEEP (0x0F)
341 #define AT86RF2XX_TRX_STATUS__BUSY_RX_AACK (0x11)
342 #define AT86RF2XX_TRX_STATUS__BUSY_TX_ARET (0x12)
343 #define AT86RF2XX_TRX_STATUS__RX_AACK_ON (0x16)
344 #define AT86RF2XX_TRX_STATUS__TX_ARET_ON (0x19)
345 #define AT86RF2XX_TRX_STATUS__RX_ON_NOCLK (0x1C)
346 #define AT86RF2XX_TRX_STATUS__RX_AACK_ON_NOCLK (0x1D)
347 #define AT86RF2XX_TRX_STATUS__BUSY_RX_AACK_NOCLK (0x1E)
348 #define AT86RF2XX_TRX_STATUS__STATE_TRANSITION_IN_PROGRESS (0x1F)
349 
355 #define AT86RF2XX_TRX_STATE_MASK__TRAC (0xe0)
356 
357 #define AT86RF2XX_TRX_STATE__NOP (0x00)
358 #define AT86RF2XX_TRX_STATE__TX_START (0x02)
359 #define AT86RF2XX_TRX_STATE__FORCE_TRX_OFF (0x03)
360 #define AT86RF2XX_TRX_STATE__FORCE_PLL_ON (0x04)
361 #define AT86RF2XX_TRX_STATE__RX_ON (0x06)
362 #define AT86RF2XX_TRX_STATE__TRX_OFF (0x08)
363 #define AT86RF2XX_TRX_STATE__PLL_ON (0x09)
364 #define AT86RF2XX_TRX_STATE__RX_AACK_ON (0x16)
365 #define AT86RF2XX_TRX_STATE__TX_ARET_ON (0x19)
366 #define AT86RF2XX_TRX_STATE__TRAC_SUCCESS (0x00)
367 #define AT86RF2XX_TRX_STATE__TRAC_SUCCESS_DATA_PENDING (0x20)
368 #define AT86RF2XX_TRX_STATE__TRAC_SUCCESS_WAIT_FOR_ACK (0x40)
369 #define AT86RF2XX_TRX_STATE__TRAC_CHANNEL_ACCESS_FAILURE (0x60)
370 #define AT86RF2XX_TRX_STATE__TRAC_NO_ACK (0xa0)
371 #define AT86RF2XX_TRX_STATE__TRAC_INVALID (0xe0)
372 
378 #define AT86RF2XX_PHY_CC_CCA_MASK__CCA_REQUEST (0x80)
379 #define AT86RF2XX_PHY_CC_CCA_MASK__CCA_MODE (0x60)
380 #define AT86RF2XX_PHY_CC_CCA_MASK__CHANNEL (0x1F)
381 
382 #define AT86RF2XX_PHY_CC_CCA_DEFAULT__CCA_MODE (0x20)
383 
389 #define AT86RF2XX_CCA_THRES_MASK__CCA_ED_THRES (0x0F)
390 
391 #define AT86RF2XX_CCA_THRES_MASK__RSVD_HI_NIBBLE (0xC0)
392 
398 #ifdef MODULE_AT86RF212B
399 #define AT86RF2XX_PHY_TX_PWR_MASK__PA_BOOST (0x80)
400 #define AT86RF2XX_PHY_TX_PWR_MASK__GC_PA (0x60)
401 #define AT86RF2XX_PHY_TX_PWR_MASK__TX_PWR (0x1F)
402 #elif MODULE_AT86RF231
403 #define AT86RF2XX_PHY_TX_PWR_MASK__PA_BUF_LT (0xC0)
404 #define AT86RF2XX_PHY_TX_PWR_MASK__PA_LT (0x30)
405 #define AT86RF2XX_PHY_TX_PWR_MASK__TX_PWR (0x0F)
406 #else
407 #define AT86RF2XX_PHY_TX_PWR_MASK__TX_PWR (0x0F)
408 #endif
409 #define AT86RF2XX_PHY_TX_PWR_DEFAULT__PA_BUF_LT (0xC0)
410 #define AT86RF2XX_PHY_TX_PWR_DEFAULT__PA_LT (0x00)
411 #define AT86RF2XX_PHY_TX_PWR_DEFAULT__TX_PWR (0x00)
412 
418 #define AT86RF2XX_PHY_RSSI_MASK__RX_CRC_VALID (0x80)
419 #define AT86RF2XX_PHY_RSSI_MASK__RND_VALUE (0x60)
420 #define AT86RF2XX_PHY_RSSI_MASK__RSSI (0x1F)
421 
427 #define AT86RF2XX_XOSC_CTRL__XTAL_MODE_CRYSTAL (0xF0)
428 #define AT86RF2XX_XOSC_CTRL__XTAL_MODE_EXTERNAL (0xF0)
429 
435 #define AT86RF2XX_RX_SYN__RX_PDT_DIS (0x80)
436 #define AT86RF2XX_RX_SYN__RX_OVERRIDE (0x70)
437 #define AT86RF2XX_RX_SYN__RX_PDT_LEVEL (0x0F)
438 
444 #define AT86RF2XX_TIMING__VCC_TO_P_ON (330)
445 #define AT86RF2XX_TIMING__SLEEP_TO_TRX_OFF (380)
446 #define AT86RF2XX_TIMING__TRX_OFF_TO_PLL_ON (110)
447 #define AT86RF2XX_TIMING__TRX_OFF_TO_RX_ON (110)
448 #define AT86RF2XX_TIMING__PLL_ON_TO_BUSY_TX (16)
449 #define AT86RF2XX_TIMING__RESET (100)
450 #define AT86RF2XX_TIMING__RESET_TO_TRX_OFF (37)
451 
457 #define AT86RF2XX_XAH_CTRL_0__MAX_FRAME_RETRIES (0xF0)
458 #define AT86RF2XX_XAH_CTRL_0__MAX_CSMA_RETRIES (0x0E)
459 #define AT86RF2XX_XAH_CTRL_0__SLOTTED_OPERATION (0x01)
460 
466 #define AT86RF2XX_XAH_CTRL_1__AACK_FLTR_RES_FT (0x20)
467 #define AT86RF2XX_XAH_CTRL_1__AACK_UPLD_RES_FT (0x10)
468 #define AT86RF2XX_XAH_CTRL_1__AACK_ACK_TIME (0x04)
469 #define AT86RF2XX_XAH_CTRL_1__AACK_PROM_MODE (0x02)
470 
481 #if AT86RF2XX_HAVE_RETRIES
482 #define AT86RF2XX_XAH_CTRL_2__ARET_FRAME_RETRIES_MASK (0xF0)
483 #define AT86RF2XX_XAH_CTRL_2__ARET_FRAME_RETRIES_OFFSET (4)
484 #define AT86RF2XX_XAH_CTRL_2__ARET_CSMA_RETRIES_MASK (0x0E)
485 #define AT86RF2XX_XAH_CTRL_2__ARET_CSMA_RETRIES_OFFSET (1)
486 #endif
487 
493 #define AT86RF2XX_CSMA_SEED_1__AACK_SET_PD (0x20)
494 #define AT86RF2XX_CSMA_SEED_1__AACK_DIS_ACK (0x10)
495 #define AT86RF2XX_CSMA_SEED_1__AACK_I_AM_COORD (0x08)
496 #define AT86RF2XX_CSMA_SEED_1__CSMA_SEED_1 (0x07)
497 
503 #if defined(MODULE_AT86RFA1) || defined(MODULE_AT86RFR2)
504 #define AT86RF2XX_TRXPR_ATBE (0x08)
505 #define AT86RF2XX_TRXPR_TRXTST (0x04)
506 #define AT86RF2XX_TRXPR_SLPTR (0x02)
507 #define AT86RF2XX_TRXPR_TRXRST (0x01)
508 #endif
509 
515 #ifdef MODULE_AT86RF212B
516 #define AT86RF2XX_RF_CTRL_0_MASK__PA_LT (0xC0)
517 #define AT86RF2XX_RF_CTRL_0_MASK__GC_TX_OFFS (0x03)
518 
519 #define AT86RF2XX_RF_CTRL_0_GC_TX_OFFS__0DB (0x01)
520 #define AT86RF2XX_RF_CTRL_0_GC_TX_OFFS__1DB (0x02)
521 #define AT86RF2XX_RF_CTRL_0_GC_TX_OFFS__2DB (0x03)
522 #endif
523 
529 #define AT86RF2XX_TRX_RPC_MASK__RX_RPC_CTRL_MAXPWR (0xC0)
530 #define AT86RF2XX_TRX_RPC_MASK__RX_RPC_EN (0x20)
531 #define AT86RF2XX_TRX_RPC_MASK__PDT_RPC_EN (0x10)
532 #define AT86RF2XX_TRX_RPC_MASK__PLL_RPC_EN (0x08)
533 #define AT86RF2XX_TRX_RPC_MASK__XAH_TX_RPC_EN (0x04)
534 #define AT86RF2XX_TRX_RPC_MASK__IPAN_RPC_EN (0x02)
535 
536 #ifdef __cplusplus
537 }
538 #endif
539 
540 #endif /* AT86RF2XX_REGISTERS_H */
541 
at86rf2xx.h
Interface definition for AT86RF2xx based drivers.