Loading...
Searching...
No Matches
at86rf2xx_registers.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2013 Alaeddine Weslati <alaeddine.weslati@inria.fr>
3 * SPDX-FileCopyrightText: 2015 Freie Universität Berlin
4 * SPDX-License-Identifier: LGPL-2.1-only
5 */
6
7#pragma once
8
22
23#include "at86rf2xx.h"
24
25#ifdef __cplusplus
26extern "C" {
27#endif
28
33#define AT86RF212B_PARTNUM (0x07)
34#define AT86RF231_PARTNUM (0x03)
35#define AT86RF232_PARTNUM (0x0a)
36#define AT86RF233_PARTNUM (0x0b)
37#define AT86RFA1_PARTNUM (0x83)
38#define AT86RFR2_PARTNUM (0x94)
40
45#ifdef MODULE_AT86RF212B
46# define AT86RF2XX_PARTNUM AT86RF212B_PARTNUM
47#elif MODULE_AT86RF232
48# define AT86RF2XX_PARTNUM AT86RF232_PARTNUM
49#elif MODULE_AT86RF233
50# define AT86RF2XX_PARTNUM AT86RF233_PARTNUM
51#elif MODULE_AT86RFA1
52# define AT86RF2XX_PARTNUM AT86RFA1_PARTNUM
53#elif MODULE_AT86RFR2
54# define AT86RF2XX_PARTNUM AT86RFR2_PARTNUM
55#else /* MODULE_AT86RF231 as default device */
56# define AT86RF2XX_PARTNUM AT86RF231_PARTNUM
57#endif
59
60/*
61 * memory-mapped transceiver
62 */
63#if defined(MODULE_AT86RFA1) || defined(MODULE_AT86RFR2)
64
65# include <avr/io.h>
66
71# define AT86RF2XX_REG__TRX_STATUS (&TRX_STATUS)
72# define AT86RF2XX_REG__TRX_STATE (&TRX_STATE)
73# define AT86RF2XX_REG__TRX_CTRL_0 (&TRX_CTRL_0)
74# define AT86RF2XX_REG__TRX_CTRL_1 (&TRX_CTRL_1)
75# define AT86RF2XX_REG__PHY_TX_PWR (&PHY_TX_PWR)
76# define AT86RF2XX_REG__PHY_RSSI (&PHY_RSSI)
77# define AT86RF2XX_REG__PHY_ED_LEVEL (&PHY_ED_LEVEL)
78# define AT86RF2XX_REG__PHY_CC_CCA (&PHY_CC_CCA)
79# define AT86RF2XX_REG__CCA_THRES (&CCA_THRES)
80# define AT86RF2XX_REG__RX_CTRL (&RX_CTRL)
81# define AT86RF2XX_REG__SFD_VALUE (&SFD_VALUE)
82# define AT86RF2XX_REG__TRX_CTRL_2 (&TRX_CTRL_2)
83# define AT86RF2XX_REG__TRX_RPC (&TRX_RPC)
84# define AT86RF2XX_REG__ANT_DIV (&ANT_DIV)
85# define AT86RF2XX_REG__IRQ_MASK (&IRQ_MASK)
86# ifdef IRQ_MASK1
87# define AT86RF2XX_REG__IRQ_MASK1 (&IRQ_MASK1)
88# endif
89# define AT86RF2XX_REG__IRQ_STATUS (&IRQ_STATUS)
90# define AT86RF2XX_REG__IRQ_STATUS1 (&IRQ_STATUS1)
91# define AT86RF2XX_REG__VREG_CTRL (&VREG_CTRL)
92# define AT86RF2XX_REG__BATMON (&BATMON)
93# define AT86RF2XX_REG__XOSC_CTRL (&XOSC_CTRL)
94# define AT86RF2XX_REG__CC_CTRL_0 (&CC_CTRL_0)
95# define AT86RF2XX_REG__CC_CTRL_1 (&CC_CTRL_1)
96# define AT86RF2XX_REG__RX_SYN (&RX_SYN)
97# define AT86RF2XX_REG__XAH_CTRL_1 (&XAH_CTRL_1)
98# define AT86RF2XX_REG__FTN_CTRL (&FTN_CTRL)
99# define AT86RF2XX_REG__PLL_CF (&PLL_CF)
100# define AT86RF2XX_REG__PLL_DCU (&PLL_DCU)
101# define AT86RF2XX_REG__PART_NUM (&PART_NUM)
102# define AT86RF2XX_REG__VERSION_NUM (&VERSION_NUM)
103# define AT86RF2XX_REG__MAN_ID_0 (&MAN_ID_0)
104# define AT86RF2XX_REG__MAN_ID_1 (&MAN_ID_1)
105# define AT86RF2XX_REG__SHORT_ADDR_0 (&SHORT_ADDR_0)
106# define AT86RF2XX_REG__SHORT_ADDR_1 (&SHORT_ADDR_1)
107# define AT86RF2XX_REG__PAN_ID_0 (&PAN_ID_0)
108# define AT86RF2XX_REG__PAN_ID_1 (&PAN_ID_1)
109# define AT86RF2XX_REG__IEEE_ADDR_0 (&IEEE_ADDR_0)
110# define AT86RF2XX_REG__IEEE_ADDR_1 (&IEEE_ADDR_1)
111# define AT86RF2XX_REG__IEEE_ADDR_2 (&IEEE_ADDR_2)
112# define AT86RF2XX_REG__IEEE_ADDR_3 (&IEEE_ADDR_3)
113# define AT86RF2XX_REG__IEEE_ADDR_4 (&IEEE_ADDR_4)
114# define AT86RF2XX_REG__IEEE_ADDR_5 (&IEEE_ADDR_5)
115# define AT86RF2XX_REG__IEEE_ADDR_6 (&IEEE_ADDR_6)
116# define AT86RF2XX_REG__IEEE_ADDR_7 (&IEEE_ADDR_7)
117# define AT86RF2XX_REG__XAH_CTRL_0 (&XAH_CTRL_0)
118# define AT86RF2XX_REG__CSMA_SEED_0 (&CSMA_SEED_0)
119# define AT86RF2XX_REG__CSMA_SEED_1 (&CSMA_SEED_1)
120# define AT86RF2XX_REG__CSMA_BE (&CSMA_BE)
121# define AT86RF2XX_REG__TST_CTRL_DIGI (&TST_CTRL_DIGI)
122# define AT86RF2XX_REG__TRXFBST (&TRXFBST)
123# define AT86RF2XX_REG__TRXFBEND (&TRXFBEND)
124# define AT86RF2XX_REG__TRXPR (&TRXPR)
126
131# define AT86RF2XX_TRX_CTRL_0_MASK__PMU_EN (0x40)
132# define AT86RF2XX_TRX_CTRL_0_MASK__PMU_START (0x20)
133# define AT86RF2XX_TRX_CTRL_0_MASK__PMU_IF_INV (0x10)
135
140# define AT86RF2XX_TRX_CTRL_1_MASK__PA_EXT_EN (0x80)
141# define AT86RF2XX_TRX_CTRL_1_MASK__IRQ_2_EXT_EN (0x40)
142# define AT86RF2XX_TRX_CTRL_1_MASK__TX_AUTO_CRC_ON (0x20)
143# define AT86RF2XX_TRX_CTRL_1_MASK__PLL_TX_FLT (0x10)
145
150# define AT86RF2XX_TRX_CTRL_2_MASK__RX_SAFE_MODE (0x80)
151# define AT86RF2XX_TRX_CTRL_2_MASK__OQPSK_DATA_RATE (0x03)
153
158# define AT86RF2XX_IRQ_STATUS_MASK__AWAKE (0x80)
159# define AT86RF2XX_IRQ_STATUS_MASK__TX_END (0x40)
160# define AT86RF2XX_IRQ_STATUS_MASK__AMI (0x20)
161# define AT86RF2XX_IRQ_STATUS_MASK__CCA_ED_DONE (0x10)
162# define AT86RF2XX_IRQ_STATUS_MASK__RX_END (0x08)
163# define AT86RF2XX_IRQ_STATUS_MASK__RX_START (0x04)
164# define AT86RF2XX_IRQ_STATUS_MASK__PLL_UNLOCK (0x02)
165# define AT86RF2XX_IRQ_STATUS_MASK__PLL_LOCK (0x01)
166
167/* Map TX_END and RX_END to TRX_END to be compatible to SPI Devices */
168# define AT86RF2XX_IRQ_STATUS_MASK__TRX_END (0x48)
170
175# define AT86RF2XX_IRQ_STATUS_MASK1__TX_START (0x01)
176# define AT86RF2XX_IRQ_STATUS_MASK1__MAF_0_AMI (0x02)
177# define AT86RF2XX_IRQ_STATUS_MASK1__MAF_1_AMI (0x04)
178# define AT86RF2XX_IRQ_STATUS_MASK1__MAF_2_AMI (0x08)
179# define AT86RF2XX_IRQ_STATUS_MASK1__MAF_3_AMI (0x10)
181
182#else
183/*
184 * SPI based transceiver
185 */
186
191# define AT86RF2XX_ACCESS_REG (0x80)
192# define AT86RF2XX_ACCESS_FB (0x20)
193# define AT86RF2XX_ACCESS_SRAM (0x00)
194# define AT86RF2XX_ACCESS_READ (0x00)
195# define AT86RF2XX_ACCESS_WRITE (0x40)
197
202# define AT86RF2XX_REG__TRX_STATUS (0x01)
203# define AT86RF2XX_REG__TRX_STATE (0x02)
204# define AT86RF2XX_REG__TRX_CTRL_0 (0x03)
205# define AT86RF2XX_REG__TRX_CTRL_1 (0x04)
206# define AT86RF2XX_REG__PHY_TX_PWR (0x05)
207# define AT86RF2XX_REG__PHY_RSSI (0x06)
208# define AT86RF2XX_REG__PHY_ED_LEVEL (0x07)
209# define AT86RF2XX_REG__PHY_CC_CCA (0x08)
210# define AT86RF2XX_REG__CCA_THRES (0x09)
211# define AT86RF2XX_REG__RX_CTRL (0x0A)
212# define AT86RF2XX_REG__SFD_VALUE (0x0B)
213# define AT86RF2XX_REG__TRX_CTRL_2 (0x0C)
214# define AT86RF2XX_REG__ANT_DIV (0x0D)
215# define AT86RF2XX_REG__IRQ_MASK (0x0E)
216# define AT86RF2XX_REG__IRQ_STATUS (0x0F)
217# define AT86RF2XX_REG__VREG_CTRL (0x10)
218# define AT86RF2XX_REG__BATMON (0x11)
219# define AT86RF2XX_REG__XOSC_CTRL (0x12)
220# define AT86RF2XX_REG__CC_CTRL_1 (0x14)
221# define AT86RF2XX_REG__RX_SYN (0x15)
222# ifdef MODULE_AT86RF212B
223# define AT86RF2XX_REG__RF_CTRL_0 (0x16)
224# elif defined(MODULE_AT86RF233)
225# define AT86RF2XX_REG__TRX_RPC (0x16)
226# endif
227# define AT86RF2XX_REG__XAH_CTRL_1 (0x17)
228# define AT86RF2XX_REG__FTN_CTRL (0x18)
229# if AT86RF2XX_HAVE_RETRIES
230# define AT86RF2XX_REG__XAH_CTRL_2 (0x19)
231# endif
232# define AT86RF2XX_REG__PLL_CF (0x1A)
233# define AT86RF2XX_REG__PLL_DCU (0x1B)
234# define AT86RF2XX_REG__PART_NUM (0x1C)
235# define AT86RF2XX_REG__VERSION_NUM (0x1D)
236# define AT86RF2XX_REG__MAN_ID_0 (0x1E)
237# define AT86RF2XX_REG__MAN_ID_1 (0x1F)
238# define AT86RF2XX_REG__SHORT_ADDR_0 (0x20)
239# define AT86RF2XX_REG__SHORT_ADDR_1 (0x21)
240# define AT86RF2XX_REG__PAN_ID_0 (0x22)
241# define AT86RF2XX_REG__PAN_ID_1 (0x23)
242# define AT86RF2XX_REG__IEEE_ADDR_0 (0x24)
243# define AT86RF2XX_REG__IEEE_ADDR_1 (0x25)
244# define AT86RF2XX_REG__IEEE_ADDR_2 (0x26)
245# define AT86RF2XX_REG__IEEE_ADDR_3 (0x27)
246# define AT86RF2XX_REG__IEEE_ADDR_4 (0x28)
247# define AT86RF2XX_REG__IEEE_ADDR_5 (0x29)
248# define AT86RF2XX_REG__IEEE_ADDR_6 (0x2A)
249# define AT86RF2XX_REG__IEEE_ADDR_7 (0x2B)
250# define AT86RF2XX_REG__XAH_CTRL_0 (0x2C)
251# define AT86RF2XX_REG__CSMA_SEED_0 (0x2D)
252# define AT86RF2XX_REG__CSMA_SEED_1 (0x2E)
253# define AT86RF2XX_REG__CSMA_BE (0x2F)
254# define AT86RF2XX_REG__TST_CTRL_DIGI (0x36)
256
261# define AT86RF2XX_TRX_CTRL_0_MASK__PAD_IO (0xC0)
262# define AT86RF2XX_TRX_CTRL_0_MASK__PAD_IO_CLKM (0x30)
263# define AT86RF2XX_TRX_CTRL_0_MASK__CLKM_SHA_SEL (0x08)
264# define AT86RF2XX_TRX_CTRL_0_MASK__CLKM_CTRL (0x07)
265
266# define AT86RF2XX_TRX_CTRL_0_DEFAULT__PAD_IO (0x00)
267# define AT86RF2XX_TRX_CTRL_0_DEFAULT__PAD_IO_CLKM (0x10)
268# define AT86RF2XX_TRX_CTRL_0_DEFAULT__CLKM_SHA_SEL (0x08)
269# define AT86RF2XX_TRX_CTRL_0_DEFAULT__CLKM_CTRL (0x01)
270
271# define AT86RF2XX_TRX_CTRL_0_CLKM_CTRL__OFF (0x00)
272# define AT86RF2XX_TRX_CTRL_0_CLKM_CTRL__1MHz (0x01)
273# define AT86RF2XX_TRX_CTRL_0_CLKM_CTRL__2MHz (0x02)
274# define AT86RF2XX_TRX_CTRL_0_CLKM_CTRL__4MHz (0x03)
275# define AT86RF2XX_TRX_CTRL_0_CLKM_CTRL__8MHz (0x04)
276# define AT86RF2XX_TRX_CTRL_0_CLKM_CTRL__16MHz (0x05)
277# define AT86RF2XX_TRX_CTRL_0_CLKM_CTRL__250kHz (0x06)
278# define AT86RF2XX_TRX_CTRL_0_CLKM_CTRL__62_5kHz (0x07)
280
285# define AT86RF2XX_TRX_CTRL_1_MASK__PA_EXT_EN (0x80)
286# define AT86RF2XX_TRX_CTRL_1_MASK__IRQ_2_EXT_EN (0x40)
287# define AT86RF2XX_TRX_CTRL_1_MASK__TX_AUTO_CRC_ON (0x20)
288# define AT86RF2XX_TRX_CTRL_1_MASK__RX_BL_CTRL (0x10)
289# define AT86RF2XX_TRX_CTRL_1_MASK__SPI_CMD_MODE (0x0C)
290# define AT86RF2XX_TRX_CTRL_1_MASK__IRQ_MASK_MODE (0x02)
291# define AT86RF2XX_TRX_CTRL_1_MASK__IRQ_POLARITY (0x01)
293
298# define AT86RF2XX_TRX_CTRL_2_MASK__RX_SAFE_MODE (0x80)
299# define AT86RF2XX_TRX_CTRL_2_MASK__FREQ_MODE (0x3F)
300# define AT86RF2XX_TRX_CTRL_2_MASK__TRX_OFF_AVDD_EN (0x40)
301# define AT86RF2XX_TRX_CTRL_2_MASK__OQPSK_SCRAM_EN (0x20)
302# define AT86RF2XX_TRX_CTRL_2_MASK__ALT_SPECTRUM (0x10)
303# define AT86RF2XX_TRX_CTRL_2_MASK__BPSK_OQPSK (0x08)
304# define AT86RF2XX_TRX_CTRL_2_MASK__SUB_MODE (0x04)
305# define AT86RF2XX_TRX_CTRL_2_MASK__OQPSK_DATA_RATE (0x03)
307
312# define AT86RF2XX_IRQ_STATUS_MASK__BAT_LOW (0x80)
313# define AT86RF2XX_IRQ_STATUS_MASK__TRX_UR (0x40)
314# define AT86RF2XX_IRQ_STATUS_MASK__AMI (0x20)
315# define AT86RF2XX_IRQ_STATUS_MASK__CCA_ED_DONE (0x10)
316# define AT86RF2XX_IRQ_STATUS_MASK__TRX_END (0x08)
317# define AT86RF2XX_IRQ_STATUS_MASK__RX_START (0x04)
318# define AT86RF2XX_IRQ_STATUS_MASK__PLL_UNLOCK (0x02)
319# define AT86RF2XX_IRQ_STATUS_MASK__PLL_LOCK (0x01)
321
322#endif /* END external spi transceiver */
327#define AT86RF2XX_TRX_STATUS_MASK__CCA_DONE (0x80)
328#define AT86RF2XX_TRX_STATUS_MASK__CCA_STATUS (0x40)
329#define AT86RF2XX_TRX_STATUS_MASK__TRX_STATUS (0x1F)
330
331#define AT86RF2XX_TRX_STATUS__P_ON (0x00)
332#define AT86RF2XX_TRX_STATUS__BUSY_RX (0x01)
333#define AT86RF2XX_TRX_STATUS__BUSY_TX (0x02)
334#define AT86RF2XX_TRX_STATUS__RX_ON (0x06)
335#define AT86RF2XX_TRX_STATUS__TRX_OFF (0x08)
336#define AT86RF2XX_TRX_STATUS__PLL_ON (0x09)
337#define AT86RF2XX_TRX_STATUS__SLEEP (0x0F)
338#define AT86RF2XX_TRX_STATUS__BUSY_RX_AACK (0x11)
339#define AT86RF2XX_TRX_STATUS__BUSY_TX_ARET (0x12)
340#define AT86RF2XX_TRX_STATUS__RX_AACK_ON (0x16)
341#define AT86RF2XX_TRX_STATUS__TX_ARET_ON (0x19)
342#define AT86RF2XX_TRX_STATUS__RX_ON_NOCLK (0x1C)
343#define AT86RF2XX_TRX_STATUS__RX_AACK_ON_NOCLK (0x1D)
344#define AT86RF2XX_TRX_STATUS__BUSY_RX_AACK_NOCLK (0x1E)
345#define AT86RF2XX_TRX_STATUS__STATE_TRANSITION_IN_PROGRESS (0x1F)
347
352#define AT86RF2XX_TRX_STATE_MASK__TRAC (0xe0)
353
354#define AT86RF2XX_TRX_STATE__NOP (0x00)
355#define AT86RF2XX_TRX_STATE__TX_START (0x02)
356#define AT86RF2XX_TRX_STATE__FORCE_TRX_OFF (0x03)
357#define AT86RF2XX_TRX_STATE__FORCE_PLL_ON (0x04)
358#define AT86RF2XX_TRX_STATE__RX_ON (0x06)
359#define AT86RF2XX_TRX_STATE__TRX_OFF (0x08)
360#define AT86RF2XX_TRX_STATE__PLL_ON (0x09)
361#define AT86RF2XX_TRX_STATE__RX_AACK_ON (0x16)
362#define AT86RF2XX_TRX_STATE__TX_ARET_ON (0x19)
363#define AT86RF2XX_TRX_STATE__TRAC_SUCCESS (0x00)
364#define AT86RF2XX_TRX_STATE__TRAC_SUCCESS_DATA_PENDING (0x20)
365#define AT86RF2XX_TRX_STATE__TRAC_SUCCESS_WAIT_FOR_ACK (0x40)
366#define AT86RF2XX_TRX_STATE__TRAC_CHANNEL_ACCESS_FAILURE (0x60)
367#define AT86RF2XX_TRX_STATE__TRAC_NO_ACK (0xa0)
368#define AT86RF2XX_TRX_STATE__TRAC_INVALID (0xe0)
370
375#define AT86RF2XX_PHY_CC_CCA_MASK__CCA_REQUEST (0x80)
376#define AT86RF2XX_PHY_CC_CCA_MASK__CCA_MODE (0x60)
377#define AT86RF2XX_PHY_CC_CCA_MASK__CHANNEL (0x1F)
378
379#define AT86RF2XX_PHY_CC_CCA_DEFAULT__CCA_MODE (0x20)
381
386#define AT86RF2XX_CCA_THRES_MASK__CCA_ED_THRES (0x0F)
387
388#define AT86RF2XX_CCA_THRES_MASK__RSVD_HI_NIBBLE (0xC0)
390
395#ifdef MODULE_AT86RF212B
396# define AT86RF2XX_PHY_TX_PWR_MASK__PA_BOOST (0x80)
397# define AT86RF2XX_PHY_TX_PWR_MASK__GC_PA (0x60)
398# define AT86RF2XX_PHY_TX_PWR_MASK__TX_PWR (0x1F)
399#elif MODULE_AT86RF231
400# define AT86RF2XX_PHY_TX_PWR_MASK__PA_BUF_LT (0xC0)
401# define AT86RF2XX_PHY_TX_PWR_MASK__PA_LT (0x30)
402# define AT86RF2XX_PHY_TX_PWR_MASK__TX_PWR (0x0F)
403#else
404# define AT86RF2XX_PHY_TX_PWR_MASK__TX_PWR (0x0F)
405#endif
406#define AT86RF2XX_PHY_TX_PWR_DEFAULT__PA_BUF_LT (0xC0)
407#define AT86RF2XX_PHY_TX_PWR_DEFAULT__PA_LT (0x00)
408#define AT86RF2XX_PHY_TX_PWR_DEFAULT__TX_PWR (0x00)
410
415#define AT86RF2XX_PHY_RSSI_MASK__RX_CRC_VALID (0x80)
416#define AT86RF2XX_PHY_RSSI_MASK__RND_VALUE (0x60)
417#define AT86RF2XX_PHY_RSSI_MASK__RSSI (0x1F)
419
424#define AT86RF2XX_XOSC_CTRL__XTAL_MODE_CRYSTAL (0xF0)
425#define AT86RF2XX_XOSC_CTRL__XTAL_MODE_EXTERNAL (0xF0)
427
432#define AT86RF2XX_RX_SYN__RX_PDT_DIS (0x80)
433#define AT86RF2XX_RX_SYN__RX_OVERRIDE (0x70)
434#define AT86RF2XX_RX_SYN__RX_PDT_LEVEL (0x0F)
436
441#define AT86RF2XX_TIMING__VCC_TO_P_ON (330)
442#define AT86RF2XX_TIMING__SLEEP_TO_TRX_OFF (380)
443#define AT86RF2XX_TIMING__TRX_OFF_TO_PLL_ON (110)
444#define AT86RF2XX_TIMING__TRX_OFF_TO_RX_ON (110)
445#define AT86RF2XX_TIMING__PLL_ON_TO_BUSY_TX (16)
446#define AT86RF2XX_TIMING__RESET (100)
447#define AT86RF2XX_TIMING__RESET_TO_TRX_OFF (37)
449
454#define AT86RF2XX_XAH_CTRL_0__MAX_FRAME_RETRIES (0xF0)
455#define AT86RF2XX_XAH_CTRL_0__MAX_CSMA_RETRIES (0x0E)
456#define AT86RF2XX_XAH_CTRL_0__SLOTTED_OPERATION (0x01)
458
463#define AT86RF2XX_XAH_CTRL_1__AACK_FLTR_RES_FT (0x20)
464#define AT86RF2XX_XAH_CTRL_1__AACK_UPLD_RES_FT (0x10)
465#define AT86RF2XX_XAH_CTRL_1__AACK_ACK_TIME (0x04)
466#define AT86RF2XX_XAH_CTRL_1__AACK_PROM_MODE (0x02)
468
478#if AT86RF2XX_HAVE_RETRIES
479# define AT86RF2XX_XAH_CTRL_2__ARET_FRAME_RETRIES_MASK (0xF0)
480# define AT86RF2XX_XAH_CTRL_2__ARET_FRAME_RETRIES_OFFSET (4)
481# define AT86RF2XX_XAH_CTRL_2__ARET_CSMA_RETRIES_MASK (0x0E)
482# define AT86RF2XX_XAH_CTRL_2__ARET_CSMA_RETRIES_OFFSET (1)
483#endif
485
490#define AT86RF2XX_CSMA_SEED_1__AACK_SET_PD (0x20)
491#define AT86RF2XX_CSMA_SEED_1__AACK_DIS_ACK (0x10)
492#define AT86RF2XX_CSMA_SEED_1__AACK_I_AM_COORD (0x08)
493#define AT86RF2XX_CSMA_SEED_1__CSMA_SEED_1 (0x07)
495
500#if defined(MODULE_AT86RFA1) || defined(MODULE_AT86RFR2)
501# define AT86RF2XX_TRXPR_ATBE (0x08)
502# define AT86RF2XX_TRXPR_TRXTST (0x04)
503# define AT86RF2XX_TRXPR_SLPTR (0x02)
504# define AT86RF2XX_TRXPR_TRXRST (0x01)
505#endif
507
512#ifdef MODULE_AT86RF212B
513# define AT86RF2XX_RF_CTRL_0_MASK__PA_LT (0xC0)
514# define AT86RF2XX_RF_CTRL_0_MASK__GC_TX_OFFS (0x03)
515
516# define AT86RF2XX_RF_CTRL_0_GC_TX_OFFS__0DB (0x01)
517# define AT86RF2XX_RF_CTRL_0_GC_TX_OFFS__1DB (0x02)
518# define AT86RF2XX_RF_CTRL_0_GC_TX_OFFS__2DB (0x03)
519#endif
521
526#define AT86RF2XX_TRX_RPC_MASK__RX_RPC_CTRL_MAXPWR (0xC0)
527#define AT86RF2XX_TRX_RPC_MASK__RX_RPC_EN (0x20)
528#define AT86RF2XX_TRX_RPC_MASK__PDT_RPC_EN (0x10)
529#define AT86RF2XX_TRX_RPC_MASK__PLL_RPC_EN (0x08)
530#define AT86RF2XX_TRX_RPC_MASK__XAH_TX_RPC_EN (0x04)
531#define AT86RF2XX_TRX_RPC_MASK__IPAN_RPC_EN (0x02)
533
537#define AT86RF2XX_TRX_RPC_MASK__RX_RPC__SMART_IDLE \
538 (AT86RF2XX_TRX_RPC_MASK__RX_RPC_EN \
539 | AT86RF2XX_TRX_RPC_MASK__PDT_RPC_EN \
540 | AT86RF2XX_TRX_RPC_MASK__PLL_RPC_EN \
541 | AT86RF2XX_TRX_RPC_MASK__XAH_TX_RPC_EN \
542 | AT86RF2XX_TRX_RPC_MASK__IPAN_RPC_EN)
543
544#ifdef __cplusplus
545}
546#endif
547
Interface definition for AT86RF2xx based drivers.