Newer
Older
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
#define PKT_CRC_CONFIG_SEED_0000 (0 << 7)
#define PKT_CRC_CONFIG_SEED_FFFF (1 << 7)
#define PKT_CRC_CONFIG_POLY_NONE (0 << 0)
#define PKT_CRC_CONFIG_POLY_ITU_T_CRC8 (1 << 0)
#define PKT_CRC_CONFIG_POLY_IEC_16 (2 << 0)
#define PKT_CRC_CONFIG_POLY_BAICHEVA_16 (3 << 0)
#define PKT_CRC_CONFIG_POLY_CRC_16_IBM (4 << 0)
#define PKT_CRC_CONFIG_POLY_CCITT_16 (5 << 0)
#define PKT_CRC_CONFIG_POLY_KOOPMAN (6 << 0)
#define PKT_CRC_CONFIG_POLY_IEEE_802_3 (7 << 0)
#define PKT_CRC_CONFIG_POLY_CASTAGNOLI (8 << 0)
#define PKT_CRC_CONFIG_POLY_CRC_16_DNP (9 << 0)
/* 0x1206 PKT_CONFIG1 */
#define PKT_CONFIG1_BIT_ORDER_MSBF (0 << 0)
#define PKT_CONFIG1_BIT_ORDER_LSBF (1 << 0)
#define PKT_CONFIG1_CRC_ENDIAN_LSBF (0 << 1)
#define PKT_CONFIG1_CRC_ENDIAN_MSBF (1 << 1)
#define PKT_CONFIG1_CRC_INVERT (1 << 2)
#define PKT_CONFIG1_MANCH_POL_10 (0 << 3)
#define PKT_CONFIG1_MANCH_POL_01 (1 << 3)
#define PKT_CONFIG1_4FSK_EN (1 << 5)
#define PKT_CONFIG1_PH_RX_DISABLE (1 << 6)
#define PKT_CONFIG1_PH_FIELD_SPLIT (1 << 7)
/* 0x1207 PKT_CONFIG2 */
/* Not in B1B */
/* 0x1208 PKT_LEN */
#define PKT_LEN_DST_FIELD_SHIFT 0
#define PKT_LEN_DST_FIELD_MASK (7 << PKT_LEN_DST_FIELD_SHIFT)
#define PKT_LEN_IN_FIFO (1<<3)
#define PKT_LEN_SIZE_1 (0<<4)
#define PKT_LEN_SIZE_2 (1<<4)
#define PKT_LEN_ENDIAN_LIL (0<<5)
#define PKT_LEN_ENDIAN_BIG (1<<5)
/* 0x1209 PKT_LEN_FIELD_SOURCE */
#define PKT_LEN_FIELD_SOURCE_SRC_FIELD_SHIFT 0
#define PKT_LEN_FIELD_SOURCE_SRC_FIELD_MASK (7 << PKT_LEN_DST_FIELD_SHIFT)
/* 0x120F/13/17/1B/1F PKT_FIELD_X_CONFIG */
#define PKT_FIELD_CONFIG_MANCH (1 << 0)
#define PKT_FIELD_CONFIG_WHITEN (1 << 1)
#define PKT_FIELD_CONFIG_PN_START (1 << 2)
#define PKT_FIELD_CONFIG_4FSK (1 << 4)
/* 0x1210/14/18/1C/20 PKT_FIELD_X_CRC_CONFIG */
#define PKT_FIELD_CRC_CONFIG_ENABLE (1 << 1)
#define PKT_FIELD_CRC_CONFIG_CHECK (1 << 3)
#define PKT_FIELD_CRC_CONFIG_SEND (1 << 5)
#define PKT_FIELD_CRC_CONFIG_START (1 << 7)
#define MOD_TYPE_TX_DIRECT_MODE_ASYNC (1<<7) /* Async direct mode, else sync */
#define MOD_TYPE_TX_DIRECT_MODE_GPIO_SHIFT 5
#define MOD_TYPE_TX_DIRECT_MODE_GPIO_MASK (3 << MOD_TYPE_TX_DIRECT_MODE_GPIO_SHIFT)
#define MOD_TYPE_TX_DIRECT_MODE_GPIO(n) (((n)&3) << MOD_TYPE_TX_DIRECT_MODE_GPIO_SHIFT)
#define MOD_TYPE_MOD_SOURCE_SHIFT 3
#define MOD_TYPE_MOD_SOURCE_MASK (3 << MOD_TYPE_TX_DIRECT_MODE_GPIO_SHIFT)
#define MOD_TYPE_MOD_SOURCE_PACKET (0 << MOD_TYPE_TX_DIRECT_MODE_GPIO_SHIFT)
#define MOD_TYPE_MOD_SOURCE_DIRECT (1 << MOD_TYPE_TX_DIRECT_MODE_GPIO_SHIFT)
#define MOD_TYPE_MOD_SOURCE_PSEUDO (2 << MOD_TYPE_TX_DIRECT_MODE_GPIO_SHIFT)
#define MOD_TYPE_MOD_TYPE_SHIFT 0
#define MOD_TYPE_MOD_TYPE_MASK (7 << MOD_TYPE_TX_DIRECT_MODE_GPIO_SHIFT)
#define MOD_TYPE_MOD_TYPE_CW (0 << MOD_TYPE_TX_DIRECT_MODE_GPIO_SHIFT)
#define MOD_TYPE_MOD_TYPE_OOK (1 << MOD_TYPE_TX_DIRECT_MODE_GPIO_SHIFT)
#define MOD_TYPE_MOD_TYPE_2FSK (2 << MOD_TYPE_TX_DIRECT_MODE_GPIO_SHIFT)
#define MOD_TYPE_MOD_TYPE_2GFSK (3 << MOD_TYPE_TX_DIRECT_MODE_GPIO_SHIFT)
#define MOD_TYPE_MOD_TYPE_4FSK (4 << MOD_TYPE_TX_DIRECT_MODE_GPIO_SHIFT)
#define MOD_TYPE_MOD_TYPE_4GFSK (5 << MOD_TYPE_TX_DIRECT_MODE_GPIO_SHIFT)
/* 0x2006 MODEM_TX_NCO_MODE */
#define MODEM_TX_NCO_MODE_TXOSR_SHIFT 2
#define MODEM_TX_NCO_MODE_TXOSR_MASK (3 << MODEM_TX_NCO_MODE_TXOSR_SHIFT)
#define MODEM_TX_NCO_MODE_TXOSR_10 (0 << MODEM_TX_NCO_MODE_TXOSR_SHIFT)
#define MODEM_TX_NCO_MODE_TXOSR_40 (1 << MODEM_TX_NCO_MODE_TXOSR_SHIFT) /* WARNING Yes, order is strange! */
#define MODEM_TX_NCO_MODE_TXOSR_20 (2 << MODEM_TX_NCO_MODE_TXOSR_SHIFT)
/* 0x2051 MODEM_CLKGEN_BAND */
#define MODEM_CLKGEN_BAND_SY_SEL (1<<3) /* Select high performance mode (else low power) */
#define MODEM_CLKGEN_BAND_FVCO_DIV_SHIFT 0
#define MODEM_CLKGEN_BAND_FVCO_DIV_MASK (7 << MODEM_CLKGEN_BAND_FVCO_DIV_SHIFT)
#define MODEM_CLKGEN_BAND_FVCO_DIV_4 (0 << MODEM_CLKGEN_BAND_FVCO_DIV_SHIFT) /* Output is FVCO/4. */
#define MODEM_CLKGEN_BAND_FVCO_DIV_6 (1 << MODEM_CLKGEN_BAND_FVCO_DIV_SHIFT) /* Output is FVCO/6. */
#define MODEM_CLKGEN_BAND_FVCO_DIV_8 (2 << MODEM_CLKGEN_BAND_FVCO_DIV_SHIFT) /* Output is FVCO/8. */
#define MODEM_CLKGEN_BAND_FVCO_DIV_12 (3 << MODEM_CLKGEN_BAND_FVCO_DIV_SHIFT) /* Output is FVCO/12. */
#define MODEM_CLKGEN_BAND_FVCO_DIV_16 (4 << MODEM_CLKGEN_BAND_FVCO_DIV_SHIFT) /* Output is FVCO/16. */
#define MODEM_CLKGEN_BAND_FVCO_DIV_24 (5 << MODEM_CLKGEN_BAND_FVCO_DIV_SHIFT) /* Output is FVCO/24. */
#define MODEM_CLKGEN_BAND_FVCO_DIV_24_2 (6 << MODEM_CLKGEN_BAND_FVCO_DIV_SHIFT) /* Output is FVCO/24. */
#define MODEM_CLKGEN_BAND_FVCO_DIV_24_3 (7 << MODEM_CLKGEN_BAND_FVCO_DIV_SHIFT) /* Output is FVCO/24. */
#endif /* __DRIVERS_WIRELESS_GENERIC_SI4463_H */