/* ieee802154_cc2520_regs.h - Registers definition for TI CC2520 */

/*
 * Copyright (c) 2016 Intel Corporation.
 *
 * SPDX-License-Identifier: Apache-2.0
 */

#ifndef ZEPHYR_DRIVERS_IEEE802154_IEEE802154_CC2520_REGS_H_
#define ZEPHYR_DRIVERS_IEEE802154_IEEE802154_CC2520_REGS_H_

/* Instructions (see chapter 13) */
#define CC2520_INS_SNOP				(0x00)
#define CC2520_INS_IBUFLD			(0x02)
#define CC2520_INS_SIBUFEX			(0x03)
#define CC2520_INS_SSAMPLECCA			(0x04)
#define CC2520_INS_SRES				(0x0F)
#define CC2520_INS_MEMRD			(0x10)
#define CC2520_INS_MEMWR			(0x20)
#define CC2520_INS_RXBUF			(0x30)
#define CC2520_INS_RXBUFCP			(0x38)
#define CC2520_INS_RXBUFMOV			(0x32)
#define CC2520_INS_TXBUF			(0x3A)
#define CC2520_INS_TXBUFCP			(0x3E)
#define CC2520_INS_RANDOM			(0x3C)
#define CC2520_INS_SXOSCON			(0x40)
#define CC2520_INS_STXCAL			(0x41)
#define CC2520_INS_SRXON			(0x42)
#define CC2520_INS_STXON			(0x43)
#define CC2520_INS_STXONCCA			(0x44)
#define CC2520_INS_SRFOFF			(0x45)
#define CC2520_INS_SXOSCOFF			(0x46)
#define CC2520_INS_SFLUSHRX			(0x47)
#define CC2520_INS_SFLUSHTX			(0x48)
#define CC2520_INS_SACK				(0x49)
#define CC2520_INS_SACKPEND			(0x4A)
#define CC2520_INS_SNACK			(0x4B)
#define CC2520_INS_SRXMASKBITSET		(0x4C)
#define CC2520_INS_SRXMASKBITCLR		(0x4D)
#define CC2520_INS_RXMASKAND			(0x4E)
#define CC2520_INS_RXMASKOR			(0x4F)
#define CC2520_INS_MEMCP			(0x50)
#define CC2520_INS_MEMCPR			(0x52)
#define CC2520_INS_MEMXCP			(0x54)
#define CC2520_INS_MEMXWR			(0x56)
#define CC2520_INS_BCLR				(0x58)
#define CC2520_INS_BSET				(0x59)
#define CC2520_INS_CTR_UCTR			(0x60)
#define CC2520_INS_CBCMAC			(0x64)
#define CC2520_INS_UCBCMAC			(0x66)
#define CC2520_INS_CCM				(0x68)
#define CC2520_INS_UCCM				(0x6A)
#define CC2520_INS_ECB				(0x70)
#define CC2520_INS_ECBO				(0x72)
#define CC2520_INS_ECBX				(0x74)
#define CC2520_INS_INC				(0x78)
#define CC2520_INS_ABORT			(0x7F)
#define CC2520_INS_REGRD			(0x80)
#define CC2520_INS_REGWR			(0xC0)

/* FREG registers (see chapter 28 part 3) */
#define CC2520_FREG_FRMFILT0			(0x00)
#define FRMFILT0_FRAME_FILTER_EN		BIT(0)
#define FRMFILT0_PAN_COORDINATOR		BIT(1)
#define FRMFILT0_MAX_FRAME_VERSION(_mfv_)	(_mfv_ << 2)

#define CC2520_FREG_FRMFILT1			(0x01)
#define FRMFILT1_ACCEPT_FT_0_BEACON		BIT(3)
#define FRMFILT1_ACCEPT_FT_1_DATA		BIT(4)
#define FRMFILT1_ACCEPT_FT_2_ACK		BIT(5)
#define FRMFILT1_ACCEPT_FT_3_MAC_CMD		BIT(6)
#define FRMFILT1_ACCEPT_ALL			(FRMFILT1_ACCEPT_FT_0_BEACON | \
						 FRMFILT1_ACCEPT_FT_1_DATA | \
						 FRMFILT1_ACCEPT_FT_2_ACK | \
						 FRMFILT1_ACCEPT_FT_3_MAC_CMD)

#define CC2520_FREG_SRCMATCH			(0x02)
#define SRCMATCH_SRC_MATCH_EN			BIT(0)
#define SRCMATCH_AUTOPEND			BIT(1)
#define SRCMATCH_PEND_DATAREQ_ONLY		BIT(2)
#define SRCMATCH_DEFAULTS			(SRCMATCH_SRC_MATCH_EN | \
						 SRCMATCH_AUTOPEND | \
						 SRCMATCH_PEND_DATAREQ_ONLY)

#define CC2520_FREG_SRCSHORTEN0			(0x04)
#define CC2520_FREG_SRCSHORTEN1			(0x05)
#define CC2520_FREG_SRCSHORTEN2			(0x06)
#define CC2520_FREG_SRCEXTEN0			(0x08)
#define CC2520_FREG_SRCEXTEN1			(0x09)
#define CC2520_FREG_SRCEXTEN2			(0x0A)

#define CC2520_FREG_FRMCTRL0			(0x0C)
#define FRMCTRL0_ENERGY_SCAN			BIT(4)
#define FRMCTRL0_AUTOACK			BIT(5)
#define FRMCTRL0_AUTOCRC			BIT(6)
#define FRMCTRL0_APPEND_DATA_MODE		BIT(7)

#define CC2520_FREG_FRMCTRL1			(0x0D)
#define FRMCTRL1_SET_RXENMASK_ON_TX		BIT(0)
#define FRMCTRL1_IGNORE_TX_UNDERF		BIT(1)
#define FRMCTRL1_PENDING_OR			BIT(2)

#define CC2520_FREG_RXENABLE0			(0x0E)
#define CC2520_FREG_RXENABLE1			(0x0F)
#define CC2520_FREG_EXCFLAG0			(0x10)
#define EXCFLAG0_RF_IDLE			BIT(0)
#define EXCFLAG0_TX_FRM_DONE			BIT(1)
#define EXCFLAG0_TX_ACK_DONE			BIT(2)
#define EXCFLAG0_TX_UNDERFLOW			BIT(3)
#define EXCFLAG0_TX_OVERFLOW			BIT(4)
#define EXCFLAG0_RX_UNDERFLOW			BIT(5)
#define EXCFLAG0_RX_OVERFLOW			BIT(6)
#define EXCFLAG0_RXENABLE_ZERO			BIT(7)
#define EXCFLAG0_RESET_TX_FLAGS			((uint8_t) \
						 ~(EXCFLAG0_TX_FRM_DONE | \
						   EXCFLAG0_TX_ACK_DONE | \
						   EXCFLAG0_TX_UNDERFLOW | \
						   EXCFLAG0_TX_OVERFLOW))
#define EXCFLAG0_RESET_RX_FLAGS			((uint8_t) \
						 ~(EXCFLAG0_RX_UNDERFLOW | \
						   EXCFLAG0_RX_OVERFLOW | \
						   EXCFLAG0_RXENABLE_ZERO))

#define CC2520_FREG_EXCFLAG1			(0x11)
#define EXCFLAG1_RX_FRM_DONE			BIT(0)
#define EXCFLAG1_RX_FRM_ACCEPTED		BIT(1)
#define EXCFLAG1_SRC_MATCH_DONE			BIT(2)
#define EXCFLAG1_SRC_MATCH_FOUND		BIT(3)
#define EXCFLAG1_FIFOP				BIT(4)
#define EXCFLAG1_SFD				BIT(5)
#define EXCFLAG1_DPU_DONE_L			BIT(6)
#define EXCFLAG1_DPU_DONE_H			BIT(7)
#define EXCFLAG1_RESET_RX_FLAGS			((uint8_t) \
						 ~(EXCFLAG1_RX_FRM_DONE | \
						   EXCFLAG1_RX_FRM_ACCEPTED | \
						   EXCFLAG1_FIFOP))

#define CC2520_FREG_EXCFLAG2			(0x12)
#define EXCFLAG2_MEMADDR_ERROR			BIT(0)
#define EXCFLAG2_USAGE_ERROR			BIT(1)
#define EXCFLAG2_OPERAND_ERROR			BIT(2)
#define EXCFLAG2_SPI_ERROR			BIT(3)
#define EXCFLAG2_RF_NO_LOCK			BIT(4)
#define EXCFLAG2_RX_FRM_ABORTED			BIT(5)
#define EXCFLAG2_RFBUFMOV_TIMEOUT		BIT(6)
#define EXCFLAG2_UNUSED				BIT(7)

#define CC2520_FREG_EXMASKA0			(0x13)
#define CC2520_FREG_EXMASKA1			(0x14)
#define CC2520_FREG_EXMASKA2			(0x15)
#define CC2520_FREG_EXMASKB0			(0x18)
#define CC2520_FREG_EXMASKB1			(0x19)
#define CC2520_FREG_EXMASKB2			(0x1A)
#define CC2520_FREG_EXCBINDX0			(0x1C)
#define CC2520_FREG_EXCBINDX1			(0x1D)
#define CC2520_FREG_EXCBINDY0			(0x1E)
#define CC2520_FREG_EXCBINDY1			(0x1F)

#define CC2520_FREG_GPIOCTRL0			(0x20)
#define GPIOCTRL0_CTRL0(_ctrl_)			(_ctrl_ & 0x7F)
#define GPIOCTRL0_IN0				BIT(7)

#define CC2520_FREG_GPIOCTRL1			(0x21)
#define GPIOCTRL1_CTRL1(_ctrl_)			(_ctrl_ & 0x7F)
#define GPIOCTRL1_IN1				BIT(7)

#define CC2520_FREG_GPIOCTRL2			(0x22)
#define GPIOCTRL2_CTRL2(_ctrl_)			(_ctrl_ & 0x7F)
#define GPIOCTRL2_IN2				BIT(7)

#define CC2520_FREG_GPIOCTRL3			(0x23)
#define GPIOCTRL3_CTRL3(_ctrl_)			(_ctrl_ & 0x7F)
#define GPIOCTRL3_IN3				BIT(7)

#define CC2520_FREG_GPIOCTRL4			(0x24)
#define GPIOCTRL4_CTRL4(_ctrl_)			(_ctrl_ & 0x7F)
#define GPIOCTRL4_IN4				BIT(7)

#define CC2520_FREG_GPIOCTRL5			(0x25)
#define GPIOCTRL5_CTRL5(_ctrl_)			(_ctrl_ & 0x7F)
#define GPIOCTRL5_IN5				BIT(7)

#define CC2520_FREG_GPIOPOLARITY		(0x26)
#define GPIOPOLARITY_POLARITY0			BIT(0)
#define GPIOPOLARITY_POLARITY1			BIT(1)
#define GPIOPOLARITY_POLARITY2			BIT(2)
#define GPIOPOLARITY_POLARITY3			BIT(3)
#define GPIOPOLARITY_POLARITY4			BIT(4)
#define GPIOPOLARITY_POLARITY5			BIT(5)

#define CC2520_FREG_GPIOCTRL			(0x28)
#define GPIOCTRL_GPIO_PUE0			BIT(0)
#define GPIOCTRL_GPIO_PUE1			BIT(1)
#define GPIOCTRL_GPIO_PUE2			BIT(2)
#define GPIOCTRL_GPIO_PUE3			BIT(3)
#define GPIOCTRL_GPIO_PUE4			BIT(4)
#define GPIOCTRL_GPIO_PUE5			BIT(5)
#define GPIOCTRL_GPIO_ACTRL			BIT(6)
#define GPIOCTRL_SC				BIT(7)

#define CC2520_FREG_DPUCON			(0x2A)
#define DPUCON_RXTIMEOUT			BIT(0)

#define CC2520_FREG_DPUSTAT			(0x2C)
#define DPUSTAT_DPUL_ACTIVE			BIT(0)
#define DPUSTAT_DPUH_ACTIVE			BIT(1)
#define DPUSTAT_AUTHSTAT_L			BIT(2)
#define DPUSTAT_AUTHSTAT_H			BIT(3)

#define CC2520_FREG_FREQCTRL			(0x2E)
#define FREQCTRL_FREQ(_f_)			(_f_ & 0x7F)

#define CC2520_FREG_FREQTUNE			(0x2F)
#define FREQTUNE_XOSC32M_TUNE(_xt_)		(_xt_ & 0x07)

#define CC2520_FREG_TXPOWER			(0x30)
#define CC2520_FREG_TXCTRL			(0x31)

#define CC2520_FREG_FSMSTAT0			(0x32)
#define FSMSTAT0_CAL_RUNNING			BIT(6)
#define FSMSTAT0_CAL_DONE			BIT(7)

#define CC2520_FREG_FSMSTAT1			(0x33)
#define FSMSTAT1_RX_ACTIVE			BIT(0)
#define FSMSTAT1_TX_ACTIVE			BIT(1)
#define FSMSTAT1_LOCK_STATUS			BIT(2)
#define FSMSTAT1_CCA_SAMPLED			BIT(3)
#define FSMSTAT1_CCA				BIT(4)
#define FSMSTAT1_SFD				BIT(5)
#define FSMSTAT1_FIFOP				BIT(6)
#define FSMSTAT1_FIFO				BIT(7)

#define CC2520_FREG_FIFOPCTRL			(0x34)
#define FIFOPCTRL_FIFOP_THR(_ft_)		(_ft_ & 0x7F)

#define CC2520_FREG_FSMCTRL			(0x35)
#define FSMCTRL_RX2RX_TIME_OFF			BIT(0)
#define FSMCTRL_SLOTTED_ACK			BIT(1)

#define CC2520_FREG_CCACTRL0			(0x36)
#define CC2520_FREG_CCACTRL1			(0x37)
#define CCACTRL1_CCA_HYST(_ch_)			(_ch_ & 0x07)
#define CCACTRL1_CCA_MODE(_cm_)			((_cm_ << 3) & 0x18)

#define CC2520_FREG_RSSI			(0x38)
#define RSSI_RSSI_VALID				BIT(0)

#define CC2520_FREG_RSSISTAT			(0x39)
#define CC2520_FREG_RXFIRST			(0x3C)
#define CC2520_FREG_RXFIFOCNT			(0x3E)
#define CC2520_FREG_TXFIFOCNT			(0x3F)


/* SREG registers (see chapter 28 part 3) */
#define CC2520_SREG_CHIPID			(0x40)
#define CC2520_SREG_VERSION			(0x42)

#define CC2520_SREG_EXTCLOCK			(0x44)
#define EXTCLOCK_EXT_FREQ(_ef_)			(_ef_ & 0x1F)
#define EXTCLOCK_EXTCLOCK_EN			BIT(5)

#define CC2520_SREG_MDMCTRL0			(0x46)
#define MDMCTRL0_TX_FILTER			BIT(0)
#define MDMCTRL0_PREAMBLE_LENGTH(_pl_)		((_pl_ << 1) & 0x1E)
#define MDMCTRL0_DEMOD_AVG_MODE			BIT(5)
#define MDMCTRL0_DEM_NUM_ZEROS(_dnz_)		((_dnz_ << 6) & 0xC0)

#define CC2520_SREG_MDMCTRL1			(0x47)
#define MDMCTRL1_CORR_THR(_ct_)			(_ct_ & 0x1F)
#define MDMCTRL1_CORR_THR_SFD			BIT(5)

#define CC2520_SREG_FREQEST			(0x48)

#define CC2520_SREG_MDMTEST1			(0x49)
#define MDMTEST1_MODULATION_MODE		BIT(1)
#define MDMTEST1_RFC_SNIFF_EN			BIT(2)

#define CC2520_SREG_RXCTRL			(0x4A)
#define CC2520_SREG_FSCTRL			(0x4C)
#define CC2520_SREG_FSCAL0			(0x4E)
#define CC2520_SREG_FSCAL1			(0x4F)
#define CC2520_SREG_FSCAL2			(0x50)
#define CC2520_SREG_FSCAL3			(0x51)
#define CC2520_SREG_AGCCTRL0			(0x52)
#define CC2520_SREG_AGCCTRL1			(0x53)
#define CC2520_SREG_AGCCTRL2			(0x54)
#define CC2520_SREG_AGCCTRL3			(0x55)
#define CC2520_SREG_ADCTEST0			(0x56)
#define CC2520_SREG_ADCTEST1			(0x57)
#define CC2520_SREG_ADCTEST2			(0x58)
#define CC2520_SREG_MDMTEST0			(0x5A)
#define CC2520_SREG_DACTEST0			(0x5C)
#define CC2520_SREG_DACTEST1			(0x5D)
#define CC2520_SREG_ATEST			(0x5E)
#define CC2520_SREG_DACTEST2			(0x5F)
#define CC2520_SREG_PTEST0			(0x60)
#define CC2520_SREG_PTEST1			(0x61)
#define CC2520_SREG_DPUBIST			(0x7A)
#define CC2520_SREG_ACTBIST			(0x7C)
#define CC2520_SREG_RAMBIST			(0x7E)

/* Useful RAM addresses (see chapter 15 part 6) */
#define CC2520_MEM_SHORT_ADDR			(0x03F4)
#define CC2520_MEM_PAN_ID			(0x03F2)
#define CC2520_MEM_EXT_ADDR			(0x03EA)
#define CC2520_MEM_SRCSHORTPENDEN2		(0x03E9)
#define CC2520_MEM_SRCSHORTPENDEN1		(0x03E8)
#define CC2520_MEM_SRCSHORTPENDEN0		(0x03E7)
#define CC2520_MEM_SRCEXTPENDEN2		(0x03E6)
#define CC2520_MEM_SRCEXTPENDEN1		(0x03E5)
#define CC2520_MEM_SRCEXTPENDEN0		(0x03E4)
#define CC2520_MEM_SRCRESINDEX			(0x03E3)
#define CC2520_MEM_SRCRESMASK2			(0x03E2)
#define CC2520_MEM_SRCRESMASK1			(0x03E1)
#define CC2520_MEM_SRCRESMASK0			(0x03E0)

#define CC2520_MEM_START			(0x0200)
#define CC2520_MEM_DATA				(CC2520_MEM_START)
#define CC2520_MEM_KEY_POS			(0x90)
#define CC2520_MEM_KEY				(CC2520_MEM_START +	\
						 CC2520_MEM_KEY_POS)
#define CC2520_MEM_NONCE_POS			(0xa0)
#define CC2520_MEM_NONCE			(CC2520_MEM_START +	\
						 CC2520_MEM_NONCE_POS)

/* Default settings (see chapter 28 part 1) */
#define CC2520_TXPOWER_DEFAULT			(0x32)
#define CC2520_CCACTRL0_DEFAULT			(0xF8)
#define CC2520_MDMCTRL0_DEFAULT			(0x85)
#define CC2520_MDMCTRL1_DEFAULT			(0x14)
#define CC2520_RXCTRL_DEFAULT			(0x3F)
#define CC2520_FSCTRL_DEFAULT			(0x5A)
#define CC2520_FSCAL1_DEFAULT			(0x2B)
#define CC2520_AGCCTRL1_DEFAULT			(0x11)
#define CC2520_ADCTEST0_DEFAULT			(0x10)
#define CC2520_ADCTEST1_DEFAULT			(0x0E)
#define CC2520_ADCTEST2_DEFAULT			(0x03)

/* Status bits (see chapter 13 part 4) */
#define CC2520_STATUS_RX_ACTIVE			BIT(0)
#define CC2520_STATUS_TX_ACTIVE			BIT(1)
#define CC2520_STATUS_DPU_L_ACTIVE		BIT(2)
#define CC2520_STATUS_DPU_H_ACTIVE		BIT(3)
#define CC2520_STATUS_EXCEPTION_CHANNEL_B	BIT(4)
#define CC2520_STATUS_EXCEPTION_CHANNEL_A	BIT(5)
#define CC2520_STATUS_RSSI_VALID		BIT(6)
#define CC2520_STATUS_XOSC_STABLE_N_RUNNING	BIT(7)

#define CC2520_FCS_CRC_OK			(0x80)
#define CC2520_FCS_CORRELATION			(0x7f)

#endif /* ZEPHYR_DRIVERS_IEEE802154_IEEE802154_CC2520_REGS_H_ */
