Loading...
Searching...
No Matches
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
10#pragma once
11
25
26#include "at86rf2xx.h"
27
28#ifdef __cplusplus
29extern "C" {
30#endif
31
36#define AT86RF212B_PARTNUM (0x07)
37#define AT86RF231_PARTNUM (0x03)
38#define AT86RF232_PARTNUM (0x0a)
39#define AT86RF233_PARTNUM (0x0b)
40#define AT86RFA1_PARTNUM (0x83)
41#define AT86RFR2_PARTNUM (0x94)
43
48#ifdef MODULE_AT86RF212B
49#define AT86RF2XX_PARTNUM AT86RF212B_PARTNUM
50#elif MODULE_AT86RF232
51#define AT86RF2XX_PARTNUM AT86RF232_PARTNUM
52#elif MODULE_AT86RF233
53#define AT86RF2XX_PARTNUM AT86RF233_PARTNUM
54#elif MODULE_AT86RFA1
55#define AT86RF2XX_PARTNUM AT86RFA1_PARTNUM
56#elif MODULE_AT86RFR2
57#define AT86RF2XX_PARTNUM AT86RFR2_PARTNUM
58#else /* MODULE_AT86RF231 as default device */
59#define AT86RF2XX_PARTNUM AT86RF231_PARTNUM
60#endif
62
63/*
64 * memory-mapped transceiver
65 */
66#if defined(MODULE_AT86RFA1) || defined(MODULE_AT86RFR2)
67
68#include <avr/io.h>
69
74#define AT86RF2XX_REG__TRX_STATUS (&TRX_STATUS)
75#define AT86RF2XX_REG__TRX_STATE (&TRX_STATE)
76#define AT86RF2XX_REG__TRX_CTRL_0 (&TRX_CTRL_0)
77#define AT86RF2XX_REG__TRX_CTRL_1 (&TRX_CTRL_1)
78#define AT86RF2XX_REG__PHY_TX_PWR (&PHY_TX_PWR)
79#define AT86RF2XX_REG__PHY_RSSI (&PHY_RSSI)
80#define AT86RF2XX_REG__PHY_ED_LEVEL (&PHY_ED_LEVEL)
81#define AT86RF2XX_REG__PHY_CC_CCA (&PHY_CC_CCA)
82#define AT86RF2XX_REG__CCA_THRES (&CCA_THRES)
83#define AT86RF2XX_REG__RX_CTRL (&RX_CTRL)
84#define AT86RF2XX_REG__SFD_VALUE (&SFD_VALUE)
85#define AT86RF2XX_REG__TRX_CTRL_2 (&TRX_CTRL_2)
86#define AT86RF2XX_REG__TRX_RPC (&TRX_RPC)
87#define AT86RF2XX_REG__ANT_DIV (&ANT_DIV)
88#define AT86RF2XX_REG__IRQ_MASK (&IRQ_MASK)
89#ifdef IRQ_MASK1
90#define AT86RF2XX_REG__IRQ_MASK1 (&IRQ_MASK1)
91#endif
92#define AT86RF2XX_REG__IRQ_STATUS (&IRQ_STATUS)
93#define AT86RF2XX_REG__IRQ_STATUS1 (&IRQ_STATUS1)
94#define AT86RF2XX_REG__VREG_CTRL (&VREG_CTRL)
95#define AT86RF2XX_REG__BATMON (&BATMON)
96#define AT86RF2XX_REG__XOSC_CTRL (&XOSC_CTRL)
97#define AT86RF2XX_REG__CC_CTRL_0 (&CC_CTRL_0)
98#define AT86RF2XX_REG__CC_CTRL_1 (&CC_CTRL_1)
99#define AT86RF2XX_REG__RX_SYN (&RX_SYN)
100#define AT86RF2XX_REG__XAH_CTRL_1 (&XAH_CTRL_1)
101#define AT86RF2XX_REG__FTN_CTRL (&FTN_CTRL)
102#define AT86RF2XX_REG__PLL_CF (&PLL_CF)
103#define AT86RF2XX_REG__PLL_DCU (&PLL_DCU)
104#define AT86RF2XX_REG__PART_NUM (&PART_NUM)
105#define AT86RF2XX_REG__VERSION_NUM (&VERSION_NUM)
106#define AT86RF2XX_REG__MAN_ID_0 (&MAN_ID_0)
107#define AT86RF2XX_REG__MAN_ID_1 (&MAN_ID_1)
108#define AT86RF2XX_REG__SHORT_ADDR_0 (&SHORT_ADDR_0)
109#define AT86RF2XX_REG__SHORT_ADDR_1 (&SHORT_ADDR_1)
110#define AT86RF2XX_REG__PAN_ID_0 (&PAN_ID_0)
111#define AT86RF2XX_REG__PAN_ID_1 (&PAN_ID_1)
112#define AT86RF2XX_REG__IEEE_ADDR_0 (&IEEE_ADDR_0)
113#define AT86RF2XX_REG__IEEE_ADDR_1 (&IEEE_ADDR_1)
114#define AT86RF2XX_REG__IEEE_ADDR_2 (&IEEE_ADDR_2)
115#define AT86RF2XX_REG__IEEE_ADDR_3 (&IEEE_ADDR_3)
116#define AT86RF2XX_REG__IEEE_ADDR_4 (&IEEE_ADDR_4)
117#define AT86RF2XX_REG__IEEE_ADDR_5 (&IEEE_ADDR_5)
118#define AT86RF2XX_REG__IEEE_ADDR_6 (&IEEE_ADDR_6)
119#define AT86RF2XX_REG__IEEE_ADDR_7 (&IEEE_ADDR_7)
120#define AT86RF2XX_REG__XAH_CTRL_0 (&XAH_CTRL_0)
121#define AT86RF2XX_REG__CSMA_SEED_0 (&CSMA_SEED_0)
122#define AT86RF2XX_REG__CSMA_SEED_1 (&CSMA_SEED_1)
123#define AT86RF2XX_REG__CSMA_BE (&CSMA_BE)
124#define AT86RF2XX_REG__TST_CTRL_DIGI (&TST_CTRL_DIGI)
125#define AT86RF2XX_REG__TRXFBST (&TRXFBST)
126#define AT86RF2XX_REG__TRXFBEND (&TRXFBEND)
127#define AT86RF2XX_REG__TRXPR (&TRXPR)
129
134#define AT86RF2XX_TRX_CTRL_0_MASK__PMU_EN (0x40)
135#define AT86RF2XX_TRX_CTRL_0_MASK__PMU_START (0x20)
136#define AT86RF2XX_TRX_CTRL_0_MASK__PMU_IF_INV (0x10)
138
143#define AT86RF2XX_TRX_CTRL_1_MASK__PA_EXT_EN (0x80)
144#define AT86RF2XX_TRX_CTRL_1_MASK__IRQ_2_EXT_EN (0x40)
145#define AT86RF2XX_TRX_CTRL_1_MASK__TX_AUTO_CRC_ON (0x20)
146#define AT86RF2XX_TRX_CTRL_1_MASK__PLL_TX_FLT (0x10)
148
153#define AT86RF2XX_TRX_CTRL_2_MASK__RX_SAFE_MODE (0x80)
154#define AT86RF2XX_TRX_CTRL_2_MASK__OQPSK_DATA_RATE (0x03)
156
161#define AT86RF2XX_IRQ_STATUS_MASK__AWAKE (0x80)
162#define AT86RF2XX_IRQ_STATUS_MASK__TX_END (0x40)
163#define AT86RF2XX_IRQ_STATUS_MASK__AMI (0x20)
164#define AT86RF2XX_IRQ_STATUS_MASK__CCA_ED_DONE (0x10)
165#define AT86RF2XX_IRQ_STATUS_MASK__RX_END (0x08)
166#define AT86RF2XX_IRQ_STATUS_MASK__RX_START (0x04)
167#define AT86RF2XX_IRQ_STATUS_MASK__PLL_UNLOCK (0x02)
168#define AT86RF2XX_IRQ_STATUS_MASK__PLL_LOCK (0x01)
169
170/* Map TX_END and RX_END to TRX_END to be compatible to SPI Devices */
171#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)
184
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)
200
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)
259
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)
283
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)
296
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)
310
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)
324
325#endif /* END external spi transceiver */
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)
350
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)
373
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)
384
389#define AT86RF2XX_CCA_THRES_MASK__CCA_ED_THRES (0x0F)
390
391#define AT86RF2XX_CCA_THRES_MASK__RSVD_HI_NIBBLE (0xC0)
393
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)
413
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)
422
427#define AT86RF2XX_XOSC_CTRL__XTAL_MODE_CRYSTAL (0xF0)
428#define AT86RF2XX_XOSC_CTRL__XTAL_MODE_EXTERNAL (0xF0)
430
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)
439
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)
452
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)
461
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)
471
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
488
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)
498
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
510
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
524
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)
536
540#define AT86RF2XX_TRX_RPC_MASK__RX_RPC__SMART_IDLE \
541 (AT86RF2XX_TRX_RPC_MASK__RX_RPC_EN \
542 | AT86RF2XX_TRX_RPC_MASK__PDT_RPC_EN \
543 | AT86RF2XX_TRX_RPC_MASK__PLL_RPC_EN \
544 | AT86RF2XX_TRX_RPC_MASK__XAH_TX_RPC_EN \
545 | AT86RF2XX_TRX_RPC_MASK__IPAN_RPC_EN)
546
547#ifdef __cplusplus
548}
549#endif
550
Interface definition for AT86RF2xx based drivers.