/***********************************************************************************************************
 * Copyright (c)  2021 - 2022, Unicmicro Co.,Ltd .
 * All rights reserved.
 * Filename    : um2002_defs.h
 * Description : um2002 Defs header file
 * Author(s)   : yanhaihua
 * version     : V1.0
 * Modify date : 2021-09-23
 ***********************************************************************************************************/
#ifndef __UM2002_DEFS_H__
#define __UM2002_DEFS_H__

#define UM2002_CMD_WRITE						0x7F
#define UM2002_CMD_READ							0x80

#define UM2002_REG_RF_FREQ0						0x00
#define UM2002_REG_RF_FREQ1						0x01
#define UM2002_REG_RF_FREQ2						0x02
#define UM2002_REG_RF_FREQ3						0x03
#define UM2002_REG_RF_CHN						0x04
#define UM2002_REG_RF_STEP0						0x05
#define UM2002_REG_RF_STEP1						0x06
#define UM2002_REG_RF_STEP2						0x07
#define UM2002_REG_RF_REF0						0x08
#define UM2002_REG_RF_REF1						0x09
#define UM2002_REG_RF_REF2						0x0A
#define UM2002_REG_RF_REF3						0x0B
#define UM2002_REG_PREAMBLE_LEN					0x0C
#define UM2002_REG_CR1							0x0D
#define UM2002_REG_CR2							0x0E
#define UM2002_REG_IR							0x10
#define UM2002_REG_BUCK_CR						0x1B
#define UM2002_REG_VLADC						0x1C
#define UM2002_REG_RF_LO_DIV					0x20
#define UM2002_REG_MODE							0x2D
#define UM2002_REG_NIRQ_SEL						0x4D
#define UM2002_REG_GPIO01_SEL					0x4E
#define UM2002_REG_RX_FIFO_RD					0x51
#define UM2002_REG_RX_FIFO_ADDR					0x52
#define UM2002_REG_TX_FIFO_WR					0x53
#define UM2002_REG_TX_FIFO_ADDR					0x55
#define UM2002_REG_COMMAND						0x60
#define UM2002_REG_SR							0x61
#define UM2002_REG_RSSI							0x64
#define UM2002_REG_PREAMBLE_VALUE				0x73
#define UM2002_REG_SYNCWORD_CR					0x74
#define UM2002_REG_SYNCWORD_ID1					0x75
#define UM2002_REG_SYNCWORD_ID2					0x76
#define UM2002_REG_SYNCWORD_ID3					0x77
#define UM2002_REG_SYNCWORD_ID4					0x78
#define UM2002_REG_SYNCWORD_ID5					0x79
#define UM2002_REG_SYNCWORD_ID6					0x7A
#define UM2002_REG_SYNCWORD_ID7					0x7B
#define UM2002_REG_SYNCWORD_ID8					0x7C
#define UM2002_REG_PAYLOAD_LEN_LOW				0x7D
#define UM2002_REG_PAYLOAD_LEN_HIGH				0x7E
#define UM2002_REG_PAGE							0x7F
#define UM2002_REG_CRC_CR						0x94
#define UM2002_REG_CRC_POLY0					0x95
#define UM2002_REG_CRC_POLY1					0x96
#define UM2002_REG_CRC_POLY2					0x97
#define UM2002_REG_CRC_POLY3					0x98
#define UM2002_REG_CRC_INIT_VAL0				0x99
#define UM2002_REG_CRC_INIT_VAL1				0x9A
#define UM2002_REG_CRC_INIT_VAL2				0x9B
#define UM2002_REG_CRC_INIT_VAL3				0x9C

#define UM2002_MASK_VKEEP				0x3F
#define UM2002_MASK_IRQ_FLAG			0xE0
#define UM2002_MASK_PACKET				0x03
#define UM2002_MASK_GPIO0				0xF0
#define UM2002_MASK_GPIO1				0x0F


#define UM2002_VAL_PAGE_LOW				0x00
#define UM2002_VAL_PAGE_HIGH			0x01

#define UM2002_VAL_FIFO_CLR				0x80


#define UM2002_VAL_CMD_IDLE				0x80
#define UM2002_VAL_CMD_TX				0x40
#define UM2002_VAL_CMD_RX				0x20
#define UM2002_VAL_CMD_STANDBY			0x05
#define UM2002_VAL_CMD_FS				0x10

#define UM2002_VAL_IRQ_CRC				0xC0

#define UM2002_VAL_CW_MODE				0x80

#define UM2002_VAL_PACKET_MODE0			0x00
#define UM2002_VAL_PACKET_MODE1			0x01
#define UM2002_VAL_PACKET_MODE2			0x02
#define UM2002_VAL_PACKET_MODE3			0x03

#define UM2002_VAL_FIFO_MODULATE_DATA	0x55

#define UM2002_VAL_RX_DIRECT_GPIO0		0xA0
#define UM2002_VAL_RX_DIRECT_GPIO1		0x0A

#endif
