19#ifndef AT86RF215_REGISTERS_H
20#define AT86RF215_REGISTERS_H
23#include "vendor/at86rf215.h"
260 .RG_OFDMPHRTX = 0x30C,
261 .RG_OFDMPHRRX = 0x30D,
268 .RG_OQPSKPHRTX = 0x314,
269 .RG_OQPSKPHRRX = 0x315,
283 .RG_MACPID0F0 = 0x32D,
284 .RG_MACPID1F0 = 0x32E,
285 .RG_MACSHA0F0 = 0x32F,
286 .RG_MACSHA1F0 = 0x330,
287 .RG_MACPID0F1 = 0x331,
288 .RG_MACPID1F1 = 0x332,
289 .RG_MACSHA0F1 = 0x333,
290 .RG_MACSHA1F1 = 0x334,
291 .RG_MACPID0F2 = 0x335,
292 .RG_MACPID1F2 = 0x336,
293 .RG_MACSHA0F2 = 0x337,
294 .RG_MACSHA1F2 = 0x338,
295 .RG_MACPID0F3 = 0x339,
296 .RG_MACPID1F3 = 0x33A,
297 .RG_MACSHA0F3 = 0x33B,
298 .RG_MACSHA1F3 = 0x33C,
301 .RG_AMAACKPD = 0x342,
302 .RG_AMAACKTL = 0x343,
303 .RG_AMAACKTH = 0x344,
310 .RG_FSKSFD0L = 0x366,
311 .RG_FSKSFD0H = 0x367,
312 .RG_FSKSFD1L = 0x368,
313 .RG_FSKSFD1H = 0x369,
314 .RG_FSKPHRTX = 0x36A,
315 .RG_FSKPHRRX = 0x36B,
317 .RG_FSKRPCONT = 0x36D,
318 .RG_FSKRPCOFFT = 0x36E,
319 .RG_FSKRRXFLL = 0x370,
320 .RG_FSKRRXFLH = 0x371,
359 .RG_OFDMPHRTX = 0x40C,
360 .RG_OFDMPHRRX = 0x40D,
367 .RG_OQPSKPHRTX = 0x414,
368 .RG_OQPSKPHRRX = 0x415,
382 .RG_MACPID0F0 = 0x42D,
383 .RG_MACPID1F0 = 0x42E,
384 .RG_MACSHA0F0 = 0x42F,
385 .RG_MACSHA1F0 = 0x430,
386 .RG_MACPID0F1 = 0x431,
387 .RG_MACPID1F1 = 0x432,
388 .RG_MACSHA0F1 = 0x433,
389 .RG_MACSHA1F1 = 0x434,
390 .RG_MACPID0F2 = 0x435,
391 .RG_MACPID1F2 = 0x436,
392 .RG_MACSHA0F2 = 0x437,
393 .RG_MACSHA1F2 = 0x438,
394 .RG_MACPID0F3 = 0x439,
395 .RG_MACPID1F3 = 0x43A,
396 .RG_MACSHA0F3 = 0x43B,
397 .RG_MACSHA1F3 = 0x43C,
400 .RG_AMAACKPD = 0x442,
401 .RG_AMAACKTL = 0x443,
402 .RG_AMAACKTH = 0x444,
409 .RG_FSKSFD0L = 0x466,
410 .RG_FSKSFD0H = 0x467,
411 .RG_FSKSFD1L = 0x468,
412 .RG_FSKSFD1H = 0x469,
413 .RG_FSKPHRTX = 0x46A,
414 .RG_FSKPHRRX = 0x46B,
416 .RG_FSKRPCONT = 0x46D,
417 .RG_FSKRPCOFFT = 0x46E,
418 .RG_FSKRRXFLL = 0x470,
419 .RG_FSKRRXFLH = 0x471,
441#define AT86RF215_PN (0x34)
442#define AT86RF215IQ_PN (0x35)
443#define AT86RF215M_PN (0x36)
450#define FLAG_WRITE 0x8000
451#define FLAG_READ 0x0000
458#define CMD_RF_NOP 0x0
459#define CMD_RF_SLEEP 0x1
460#define CMD_RF_TRXOFF 0x2
461#define CMD_RF_TXPREP 0x3
464#define CMD_RF_RESET 0x7
472#define RF_STATE_TRXOFF 0x2
473#define RF_STATE_TXPREP 0x3
474#define RF_STATE_TX 0x4
475#define RF_STATE_RX 0x5
476#define RF_STATE_TRANSITION 0x6
477#define RF_STATE_RESET 0x7
481#define CCF0_24G_OFFSET 1500000U
487#define RF_SR_4000K 0x1
488#define RF_SR_2000K 0x2
489#define RF_SR_1333K 0x3
490#define RF_SR_1000K 0x4
491#define RF_SR_800K 0x5
492#define RF_SR_666K 0x6
493#define RF_SR_500K 0x8
494#define RF_SR_400K 0xA
500#define RF_RCUT_FS_BY_8 (0x0 << RXDFE_RCUT_SHIFT)
502#define RF_RCUT_FS_BY_5P3 (0x1 << RXDFE_RCUT_SHIFT)
504#define RF_RCUT_FS_BY_4 (0x2 << RXDFE_RCUT_SHIFT)
506#define RF_RCUT_FS_BY_2P6 (0x3 << RXDFE_RCUT_SHIFT)
508#define RF_RCUT_FS_BY_2 (0x4 << RXDFE_RCUT_SHIFT)
513#define RF_DTB_2_US 0x0
514#define RF_DTB_8_US 0x1
515#define RF_DTB_32_US 0x2
516#define RF_DTB_128_US 0x3
520#define BB_MCS_BPSK_REP4 0
522#define BB_MCS_BPSK_REP2 1
524#define BB_MCS_QPSK_REP2 2
526#define BB_MCS_QPSK_1BY2 3
528#define BB_MCS_QPSK_3BY4 4
530#define BB_MCS_16QAM_1BY2 5
532#define BB_MCS_16QAM_3BY4 6
535#define RXM_MR_OQPSK 0x0
537#define RXM_LEGACY_OQPSK 0x1
539#define RXM_BOTH_OQPSK 0x2
541#define RXM_DISABLE 0x3
544#define FSK_MORD_2SFK (0 << FSKC0_MORD_SHIFT)
546#define FSK_MORD_4SFK (1 << FSKC0_MORD_SHIFT)
552#define FSK_MIDX_3_BY_8 (0 << FSKC0_MIDX_SHIFT)
553#define FSK_MIDX_4_BY_8 (1 << FSKC0_MIDX_SHIFT)
554#define FSK_MIDX_6_BY_8 (2 << FSKC0_MIDX_SHIFT)
555#define FSK_MIDX_8_BY_8 (3 << FSKC0_MIDX_SHIFT)
556#define FSK_MIDX_10_BY_8 (4 << FSKC0_MIDX_SHIFT)
557#define FSK_MIDX_12_BY_8 (5 << FSKC0_MIDX_SHIFT)
558#define FSK_MIDX_14_BY_8 (6 << FSKC0_MIDX_SHIFT)
559#define FSK_MIDX_16_BY_8 (7 << FSKC0_MIDX_SHIFT)
566#define FSK_MIDXS_SCALE_7_BY_8 (0 << FSKC0_MIDXS_SHIFT)
567#define FSK_MIDXS_SCALE_8_BY_8 (1 << FSKC0_MIDXS_SHIFT)
568#define FSK_MIDXS_SCALE_9_BY_8 (2 << FSKC0_MIDXS_SHIFT)
569#define FSK_MIDXS_SCALE_10_BY_8 (3 << FSKC0_MIDXS_SHIFT)
576#define FSK_BT_05 (0 << FSKC0_BT_SHIFT)
577#define FSK_BT_10 (1 << FSKC0_BT_SHIFT)
578#define FSK_BT_15 (2 << FSKC0_BT_SHIFT)
579#define FSK_BT_20 (3 << FSKC0_BT_SHIFT)
586#define FSK_SRATE_50K 0x0
587#define FSK_SRATE_100K 0x1
588#define FSK_SRATE_150K 0x2
589#define FSK_SRATE_200K 0x3
590#define FSK_SRATE_300K 0x4
591#define FSK_SRATE_400K 0x5
598#define FSK_CHANNEL_SPACING_200K 0x0
599#define FSK_CHANNEL_SPACING_400K 0x1
606#define FSKC3_SFDT(n) (((n) << FSKC3_SFDT_SHIFT) & FSKC3_SFDT_MASK)
609#define FSKC3_PDT(n) (((n) << FSKC3_PDT_SHIFT) & FSKC3_PDT_MASK)
Base Band Controller registers.
uint16_t RG_FSKPHRTX
see datasheet
uint16_t RG_FSKSFD1H
see datasheet
uint16_t RG_OQPSKPHRRX
see datasheet
uint16_t RG_FBLH
see datasheet
uint16_t RG_MACPID1F3
see datasheet
uint16_t RG_RXFLL
see datasheet
uint16_t RG_FBTXE
see datasheet
uint16_t RG_AFFVM
see datasheet
uint16_t RG_MACSHA1F2
see datasheet
uint16_t RG_FBRXS
see datasheet
uint16_t RG_FBRXE
see datasheet
uint16_t RG_FSKRPCONT
see datasheet
uint16_t RG_OQPSKC1
see datasheet
uint16_t RG_MACEA6
see datasheet
uint16_t RG_FSKRRXFLH
see datasheet
uint16_t RG_AMAACKPD
see datasheet
uint16_t RG_FSKSFD1L
see datasheet
uint16_t RG_OFDMSW
see datasheet
uint16_t RG_MACEA3
see datasheet
uint16_t RG_MACSHA1F1
see datasheet
uint16_t RG_IRQM
see datasheet
uint16_t RG_FBLIH
see datasheet
uint16_t RG_FSKPE2
see datasheet
uint16_t RG_PMUVAL
see datasheet
uint16_t RG_PS
see datasheet
uint16_t RG_PC
see datasheet
uint16_t RG_MACPID0F0
see datasheet
uint16_t RG_PMUQF
see datasheet
uint16_t RG_AMAACKTH
see datasheet
uint16_t RG_FBTXS
see datasheet
uint16_t RG_MACSHA0F0
see datasheet
uint16_t RG_MACSHA1F0
see datasheet
uint16_t RG_CNT3
see datasheet
uint16_t RG_FSKC0
see datasheet
uint16_t RG_MACEA5
see datasheet
uint16_t RG_TXFLL
see datasheet
uint16_t RG_FSKC1
see datasheet
uint16_t RG_AFC0
see datasheet
uint16_t RG_CNT0
see datasheet
uint16_t RG_MACEA0
see datasheet
uint16_t RG_MACPID0F2
see datasheet
uint16_t RG_FSKSFD0H
see datasheet
uint16_t RG_FSKRPCOFFT
see datasheet
uint16_t RG_CNT1
see datasheet
uint16_t RG_AFC1
see datasheet
uint16_t RG_FBLIL
see datasheet
uint16_t RG_OFDMC
see datasheet
uint16_t RG_MACPID0F1
see datasheet
uint16_t RG_OFDMPHRRX
see datasheet
uint16_t RG_MACEA7
see datasheet
uint16_t RG_MACEA1
see datasheet
uint16_t RG_MACEA4
see datasheet
uint16_t RG_CNTC
see datasheet
uint16_t RG_FSKSFD0L
see datasheet
uint16_t RG_FSKC4
see datasheet
uint16_t RG_FBLL
see datasheet
uint16_t RG_AFFTM
see datasheet
uint16_t RG_CNT2
see datasheet
uint16_t RG_MACSHA0F3
see datasheet
uint16_t RG_PMUQ
see datasheet
uint16_t RG_FSKDM
see datasheet
uint16_t RG_AMAACKTL
see datasheet
uint16_t RG_PMUC
see datasheet
uint16_t RG_FSKC3
see datasheet
uint16_t RG_MACSHA1F3
see datasheet
uint16_t RG_MACEA2
see datasheet
uint16_t RG_FSKPHRRX
see datasheet
uint16_t RG_TXFLH
see datasheet
uint16_t RG_PMUI
see datasheet
uint16_t RG_RXFLH
see datasheet
uint16_t RG_FSKPLL
see datasheet
uint16_t RG_FSKC2
see datasheet
uint16_t RG_OQPSKC0
see datasheet
uint16_t RG_AFS
see datasheet
uint16_t RG_IRQS
see datasheet
uint16_t RG_FSKRRXFLL
see datasheet
uint16_t RG_AMEDT
see datasheet
uint16_t RG_OQPSKPHRTX
see datasheet
uint16_t RG_FSKPE1
see datasheet
uint16_t RG_OQPSKC2
see datasheet
uint16_t RG_OQPSKC3
see datasheet
uint16_t RG_MACPID1F2
see datasheet
uint16_t RG_AMCS
see datasheet
uint16_t RG_FSKRPC
see datasheet
uint16_t RG_MACPID0F3
see datasheet
uint16_t RG_OFDMPHRTX
see datasheet
uint16_t RG_MACSHA0F2
see datasheet
uint16_t RG_MACSHA0F1
see datasheet
uint16_t RG_MACPID1F1
see datasheet
uint16_t RG_FSKPE0
see datasheet
uint16_t RG_MACPID1F0
see datasheet
Radio Frontend registers.
uint16_t RG_IRQM
see datasheet
uint16_t RG_CNM
see datasheet
uint16_t RG_STATE
see datasheet
uint16_t RG_CCF0H
see datasheet
uint16_t RG_RNDV
see datasheet
uint16_t RG_RSSI
see datasheet
uint16_t RG_PAC
see datasheet
uint16_t RG_IRQS
see datasheet
uint16_t RG_AUXS
see datasheet
uint16_t RG_EDV
see datasheet
uint16_t RG_RXDFE
see datasheet
uint16_t RG_PADFE
see datasheet
uint16_t RG_TXDACI
see datasheet
uint16_t RG_CMD
see datasheet
uint16_t RG_CNL
see datasheet
uint16_t RG_TXDFE
see datasheet
uint16_t RG_TXDACQ
see datasheet
uint16_t RG_TXCUTC
see datasheet
uint16_t RG_TXCI
see datasheet
uint16_t RG_EDC
see datasheet
uint16_t RG_TXCQ
see datasheet
uint16_t RG_AGCS
see datasheet
uint16_t RG_CCF0L
see datasheet
uint16_t RG_PLLCF
see datasheet
uint16_t RG_CS
see datasheet
uint16_t RG_PLL
see datasheet
uint16_t RG_RXBWC
see datasheet
uint16_t RG_AGCC
see datasheet
uint16_t RG_EDD
see datasheet