Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-only */
0002 /*
0003  * Driver for NXP MCR20A 802.15.4 Wireless-PAN Networking controller
0004  *
0005  * Copyright (C) 2018 Xue Liu <liuxuenetmail@gmail.com>
0006  */
0007 #ifndef _MCR20A_H
0008 #define _MCR20A_H
0009 
0010 /* Direct Accress Register */
0011 #define DAR_IRQ_STS1        0x00
0012 #define DAR_IRQ_STS2        0x01
0013 #define DAR_IRQ_STS3        0x02
0014 #define DAR_PHY_CTRL1       0x03
0015 #define DAR_PHY_CTRL2       0x04
0016 #define DAR_PHY_CTRL3       0x05
0017 #define DAR_RX_FRM_LEN      0x06
0018 #define DAR_PHY_CTRL4       0x07
0019 #define DAR_SRC_CTRL        0x08
0020 #define DAR_SRC_ADDRS_SUM_LSB   0x09
0021 #define DAR_SRC_ADDRS_SUM_MSB   0x0A
0022 #define DAR_CCA1_ED_FNL     0x0B
0023 #define DAR_EVENT_TMR_LSB   0x0C
0024 #define DAR_EVENT_TMR_MSB   0x0D
0025 #define DAR_EVENT_TMR_USB   0x0E
0026 #define DAR_TIMESTAMP_LSB   0x0F
0027 #define DAR_TIMESTAMP_MSB   0x10
0028 #define DAR_TIMESTAMP_USB   0x11
0029 #define DAR_T3CMP_LSB       0x12
0030 #define DAR_T3CMP_MSB       0x13
0031 #define DAR_T3CMP_USB       0x14
0032 #define DAR_T2PRIMECMP_LSB  0x15
0033 #define DAR_T2PRIMECMP_MSB  0x16
0034 #define DAR_T1CMP_LSB       0x17
0035 #define DAR_T1CMP_MSB       0x18
0036 #define DAR_T1CMP_USB       0x19
0037 #define DAR_T2CMP_LSB       0x1A
0038 #define DAR_T2CMP_MSB       0x1B
0039 #define DAR_T2CMP_USB       0x1C
0040 #define DAR_T4CMP_LSB       0x1D
0041 #define DAR_T4CMP_MSB       0x1E
0042 #define DAR_T4CMP_USB       0x1F
0043 #define DAR_PLL_INT0        0x20
0044 #define DAR_PLL_FRAC0_LSB   0x21
0045 #define DAR_PLL_FRAC0_MSB   0x22
0046 #define DAR_PA_PWR      0x23
0047 #define DAR_SEQ_STATE       0x24
0048 #define DAR_LQI_VALUE       0x25
0049 #define DAR_RSSI_CCA_CONT   0x26
0050 /*------------------            0x27 */
0051 #define DAR_ASM_CTRL1       0x28
0052 #define DAR_ASM_CTRL2       0x29
0053 #define DAR_ASM_DATA_0      0x2A
0054 #define DAR_ASM_DATA_1      0x2B
0055 #define DAR_ASM_DATA_2      0x2C
0056 #define DAR_ASM_DATA_3      0x2D
0057 #define DAR_ASM_DATA_4      0x2E
0058 #define DAR_ASM_DATA_5      0x2F
0059 #define DAR_ASM_DATA_6      0x30
0060 #define DAR_ASM_DATA_7      0x31
0061 #define DAR_ASM_DATA_8      0x32
0062 #define DAR_ASM_DATA_9      0x33
0063 #define DAR_ASM_DATA_A      0x34
0064 #define DAR_ASM_DATA_B      0x35
0065 #define DAR_ASM_DATA_C      0x36
0066 #define DAR_ASM_DATA_D      0x37
0067 #define DAR_ASM_DATA_E      0x38
0068 #define DAR_ASM_DATA_F      0x39
0069 /*-----------------------       0x3A */
0070 #define DAR_OVERWRITE_VER   0x3B
0071 #define DAR_CLK_OUT_CTRL    0x3C
0072 #define DAR_PWR_MODES       0x3D
0073 #define IAR_INDEX       0x3E
0074 #define IAR_DATA        0x3F
0075 
0076 /* Indirect Resgister Memory */
0077 #define IAR_PART_ID     0x00
0078 #define IAR_XTAL_TRIM       0x01
0079 #define IAR_PMC_LP_TRIM     0x02
0080 #define IAR_MACPANID0_LSB   0x03
0081 #define IAR_MACPANID0_MSB   0x04
0082 #define IAR_MACSHORTADDRS0_LSB  0x05
0083 #define IAR_MACSHORTADDRS0_MSB  0x06
0084 #define IAR_MACLONGADDRS0_0 0x07
0085 #define IAR_MACLONGADDRS0_8 0x08
0086 #define IAR_MACLONGADDRS0_16    0x09
0087 #define IAR_MACLONGADDRS0_24    0x0A
0088 #define IAR_MACLONGADDRS0_32    0x0B
0089 #define IAR_MACLONGADDRS0_40    0x0C
0090 #define IAR_MACLONGADDRS0_48    0x0D
0091 #define IAR_MACLONGADDRS0_56    0x0E
0092 #define IAR_RX_FRAME_FILTER 0x0F
0093 #define IAR_PLL_INT1        0x10
0094 #define IAR_PLL_FRAC1_LSB   0x11
0095 #define IAR_PLL_FRAC1_MSB   0x12
0096 #define IAR_MACPANID1_LSB   0x13
0097 #define IAR_MACPANID1_MSB   0x14
0098 #define IAR_MACSHORTADDRS1_LSB  0x15
0099 #define IAR_MACSHORTADDRS1_MSB  0x16
0100 #define IAR_MACLONGADDRS1_0 0x17
0101 #define IAR_MACLONGADDRS1_8 0x18
0102 #define IAR_MACLONGADDRS1_16    0x19
0103 #define IAR_MACLONGADDRS1_24    0x1A
0104 #define IAR_MACLONGADDRS1_32    0x1B
0105 #define IAR_MACLONGADDRS1_40    0x1C
0106 #define IAR_MACLONGADDRS1_48    0x1D
0107 #define IAR_MACLONGADDRS1_56    0x1E
0108 #define IAR_DUAL_PAN_CTRL   0x1F
0109 #define IAR_DUAL_PAN_DWELL  0x20
0110 #define IAR_DUAL_PAN_STS    0x21
0111 #define IAR_CCA1_THRESH     0x22
0112 #define IAR_CCA1_ED_OFFSET_COMP 0x23
0113 #define IAR_LQI_OFFSET_COMP 0x24
0114 #define IAR_CCA_CTRL        0x25
0115 #define IAR_CCA2_CORR_PEAKS 0x26
0116 #define IAR_CCA2_CORR_THRESH    0x27
0117 #define IAR_TMR_PRESCALE    0x28
0118 /*--------------------          0x29 */
0119 #define IAR_GPIO_DATA       0x2A
0120 #define IAR_GPIO_DIR        0x2B
0121 #define IAR_GPIO_PUL_EN     0x2C
0122 #define IAR_GPIO_PUL_SEL    0x2D
0123 #define IAR_GPIO_DS     0x2E
0124 /*------------------            0x2F */
0125 #define IAR_ANT_PAD_CTRL    0x30
0126 #define IAR_MISC_PAD_CTRL   0x31
0127 #define IAR_BSM_CTRL        0x32
0128 /*-------------------           0x33 */
0129 #define IAR_RNG         0x34
0130 #define IAR_RX_BYTE_COUNT   0x35
0131 #define IAR_RX_WTR_MARK     0x36
0132 #define IAR_SOFT_RESET      0x37
0133 #define IAR_TXDELAY     0x38
0134 #define IAR_ACKDELAY        0x39
0135 #define IAR_SEQ_MGR_CTRL    0x3A
0136 #define IAR_SEQ_MGR_STS     0x3B
0137 #define IAR_SEQ_T_STS       0x3C
0138 #define IAR_ABORT_STS       0x3D
0139 #define IAR_CCCA_BUSY_CNT   0x3E
0140 #define IAR_SRC_ADDR_CHECKSUM1  0x3F
0141 #define IAR_SRC_ADDR_CHECKSUM2  0x40
0142 #define IAR_SRC_TBL_VALID1  0x41
0143 #define IAR_SRC_TBL_VALID2  0x42
0144 #define IAR_FILTERFAIL_CODE1    0x43
0145 #define IAR_FILTERFAIL_CODE2    0x44
0146 #define IAR_SLOT_PRELOAD    0x45
0147 /*--------------------          0x46 */
0148 #define IAR_CORR_VT     0x47
0149 #define IAR_SYNC_CTRL       0x48
0150 #define IAR_PN_LSB_0        0x49
0151 #define IAR_PN_LSB_1        0x4A
0152 #define IAR_PN_MSB_0        0x4B
0153 #define IAR_PN_MSB_1        0x4C
0154 #define IAR_CORR_NVAL       0x4D
0155 #define IAR_TX_MODE_CTRL    0x4E
0156 #define IAR_SNF_THR     0x4F
0157 #define IAR_FAD_THR     0x50
0158 #define IAR_ANT_AGC_CTRL    0x51
0159 #define IAR_AGC_THR1        0x52
0160 #define IAR_AGC_THR2        0x53
0161 #define IAR_AGC_HYS     0x54
0162 #define IAR_AFC         0x55
0163 /*-------------------           0x56 */
0164 /*-------------------           0x57 */
0165 #define IAR_PHY_STS     0x58
0166 #define IAR_RX_MAX_CORR     0x59
0167 #define IAR_RX_MAX_PREAMBLE 0x5A
0168 #define IAR_RSSI        0x5B
0169 /*-------------------           0x5C */
0170 /*-------------------           0x5D */
0171 #define IAR_PLL_DIG_CTRL    0x5E
0172 #define IAR_VCO_CAL     0x5F
0173 #define IAR_VCO_BEST_DIFF   0x60
0174 #define IAR_VCO_BIAS        0x61
0175 #define IAR_KMOD_CTRL       0x62
0176 #define IAR_KMOD_CAL        0x63
0177 #define IAR_PA_CAL      0x64
0178 #define IAR_PA_PWRCAL       0x65
0179 #define IAR_ATT_RSSI1       0x66
0180 #define IAR_ATT_RSSI2       0x67
0181 #define IAR_RSSI_OFFSET     0x68
0182 #define IAR_RSSI_SLOPE      0x69
0183 #define IAR_RSSI_CAL1       0x6A
0184 #define IAR_RSSI_CAL2       0x6B
0185 /*-------------------           0x6C */
0186 /*-------------------           0x6D */
0187 #define IAR_XTAL_CTRL       0x6E
0188 #define IAR_XTAL_COMP_MIN   0x6F
0189 #define IAR_XTAL_COMP_MAX   0x70
0190 #define IAR_XTAL_GM     0x71
0191 /*-------------------           0x72 */
0192 /*-------------------           0x73 */
0193 #define IAR_LNA_TUNE        0x74
0194 #define IAR_LNA_AGCGAIN     0x75
0195 /*-------------------           0x76 */
0196 /*-------------------           0x77 */
0197 #define IAR_CHF_PMA_GAIN    0x78
0198 #define IAR_CHF_IBUF        0x79
0199 #define IAR_CHF_QBUF        0x7A
0200 #define IAR_CHF_IRIN        0x7B
0201 #define IAR_CHF_QRIN        0x7C
0202 #define IAR_CHF_IL      0x7D
0203 #define IAR_CHF_QL      0x7E
0204 #define IAR_CHF_CC1     0x7F
0205 #define IAR_CHF_CCL     0x80
0206 #define IAR_CHF_CC2     0x81
0207 #define IAR_CHF_IROUT       0x82
0208 #define IAR_CHF_QROUT       0x83
0209 /*-------------------           0x84 */
0210 /*-------------------           0x85 */
0211 #define IAR_RSSI_CTRL       0x86
0212 /*-------------------           0x87 */
0213 /*-------------------           0x88 */
0214 #define IAR_PA_BIAS     0x89
0215 #define IAR_PA_TUNING       0x8A
0216 /*-------------------           0x8B */
0217 /*-------------------           0x8C */
0218 #define IAR_PMC_HP_TRIM     0x8D
0219 #define IAR_VREGA_TRIM      0x8E
0220 /*-------------------           0x8F */
0221 /*-------------------           0x90 */
0222 #define IAR_VCO_CTRL1       0x91
0223 #define IAR_VCO_CTRL2       0x92
0224 /*-------------------           0x93 */
0225 /*-------------------           0x94 */
0226 #define IAR_ANA_SPARE_OUT1  0x95
0227 #define IAR_ANA_SPARE_OUT2  0x96
0228 #define IAR_ANA_SPARE_IN    0x97
0229 #define IAR_MISCELLANEOUS   0x98
0230 /*-------------------           0x99 */
0231 #define IAR_SEQ_MGR_OVRD0   0x9A
0232 #define IAR_SEQ_MGR_OVRD1   0x9B
0233 #define IAR_SEQ_MGR_OVRD2   0x9C
0234 #define IAR_SEQ_MGR_OVRD3   0x9D
0235 #define IAR_SEQ_MGR_OVRD4   0x9E
0236 #define IAR_SEQ_MGR_OVRD5   0x9F
0237 #define IAR_SEQ_MGR_OVRD6   0xA0
0238 #define IAR_SEQ_MGR_OVRD7   0xA1
0239 /*-------------------           0xA2 */
0240 #define IAR_TESTMODE_CTRL   0xA3
0241 #define IAR_DTM_CTRL1       0xA4
0242 #define IAR_DTM_CTRL2       0xA5
0243 #define IAR_ATM_CTRL1       0xA6
0244 #define IAR_ATM_CTRL2       0xA7
0245 #define IAR_ATM_CTRL3       0xA8
0246 /*-------------------           0xA9 */
0247 #define IAR_LIM_FE_TEST_CTRL    0xAA
0248 #define IAR_CHF_TEST_CTRL   0xAB
0249 #define IAR_VCO_TEST_CTRL   0xAC
0250 #define IAR_PLL_TEST_CTRL   0xAD
0251 #define IAR_PA_TEST_CTRL    0xAE
0252 #define IAR_PMC_TEST_CTRL   0xAF
0253 #define IAR_SCAN_DTM_PROTECT_1  0xFE
0254 #define IAR_SCAN_DTM_PROTECT_0  0xFF
0255 
0256 /* IRQSTS1 bits */
0257 #define DAR_IRQSTS1_RX_FRM_PEND     BIT(7)
0258 #define DAR_IRQSTS1_PLL_UNLOCK_IRQ  BIT(6)
0259 #define DAR_IRQSTS1_FILTERFAIL_IRQ  BIT(5)
0260 #define DAR_IRQSTS1_RXWTRMRKIRQ     BIT(4)
0261 #define DAR_IRQSTS1_CCAIRQ      BIT(3)
0262 #define DAR_IRQSTS1_RXIRQ       BIT(2)
0263 #define DAR_IRQSTS1_TXIRQ       BIT(1)
0264 #define DAR_IRQSTS1_SEQIRQ      BIT(0)
0265 
0266 /* IRQSTS2 bits */
0267 #define DAR_IRQSTS2_CRCVALID        BIT(7)
0268 #define DAR_IRQSTS2_CCA         BIT(6)
0269 #define DAR_IRQSTS2_SRCADDR     BIT(5)
0270 #define DAR_IRQSTS2_PI          BIT(4)
0271 #define DAR_IRQSTS2_TMRSTATUS       BIT(3)
0272 #define DAR_IRQSTS2_ASM_IRQ     BIT(2)
0273 #define DAR_IRQSTS2_PB_ERR_IRQ      BIT(1)
0274 #define DAR_IRQSTS2_WAKE_IRQ        BIT(0)
0275 
0276 /* IRQSTS3 bits */
0277 #define DAR_IRQSTS3_TMR4MSK     BIT(7)
0278 #define DAR_IRQSTS3_TMR3MSK     BIT(6)
0279 #define DAR_IRQSTS3_TMR2MSK     BIT(5)
0280 #define DAR_IRQSTS3_TMR1MSK     BIT(4)
0281 #define DAR_IRQSTS3_TMR4IRQ     BIT(3)
0282 #define DAR_IRQSTS3_TMR3IRQ     BIT(2)
0283 #define DAR_IRQSTS3_TMR2IRQ     BIT(1)
0284 #define DAR_IRQSTS3_TMR1IRQ     BIT(0)
0285 
0286 /* PHY_CTRL1 bits */
0287 #define DAR_PHY_CTRL1_TMRTRIGEN     BIT(7)
0288 #define DAR_PHY_CTRL1_SLOTTED       BIT(6)
0289 #define DAR_PHY_CTRL1_CCABFRTX      BIT(5)
0290 #define DAR_PHY_CTRL1_CCABFRTX_SHIFT    5
0291 #define DAR_PHY_CTRL1_RXACKRQD      BIT(4)
0292 #define DAR_PHY_CTRL1_AUTOACK       BIT(3)
0293 #define DAR_PHY_CTRL1_XCVSEQ_MASK   0x07
0294 
0295 /* PHY_CTRL2 bits */
0296 #define DAR_PHY_CTRL2_CRC_MSK       BIT(7)
0297 #define DAR_PHY_CTRL2_PLL_UNLOCK_MSK    BIT(6)
0298 #define DAR_PHY_CTRL2_FILTERFAIL_MSK    BIT(5)
0299 #define DAR_PHY_CTRL2_RX_WMRK_MSK   BIT(4)
0300 #define DAR_PHY_CTRL2_CCAMSK        BIT(3)
0301 #define DAR_PHY_CTRL2_RXMSK     BIT(2)
0302 #define DAR_PHY_CTRL2_TXMSK     BIT(1)
0303 #define DAR_PHY_CTRL2_SEQMSK        BIT(0)
0304 
0305 /* PHY_CTRL3 bits */
0306 #define DAR_PHY_CTRL3_TMR4CMP_EN    BIT(7)
0307 #define DAR_PHY_CTRL3_TMR3CMP_EN    BIT(6)
0308 #define DAR_PHY_CTRL3_TMR2CMP_EN    BIT(5)
0309 #define DAR_PHY_CTRL3_TMR1CMP_EN    BIT(4)
0310 #define DAR_PHY_CTRL3_ASM_MSK       BIT(2)
0311 #define DAR_PHY_CTRL3_PB_ERR_MSK    BIT(1)
0312 #define DAR_PHY_CTRL3_WAKE_MSK      BIT(0)
0313 
0314 /* RX_FRM_LEN bits */
0315 #define DAR_RX_FRAME_LENGTH_MASK    (0x7F)
0316 
0317 /* PHY_CTRL4 bits */
0318 #define DAR_PHY_CTRL4_TRCV_MSK      BIT(7)
0319 #define DAR_PHY_CTRL4_TC3TMOUT      BIT(6)
0320 #define DAR_PHY_CTRL4_PANCORDNTR0   BIT(5)
0321 #define DAR_PHY_CTRL4_CCATYPE       (3)
0322 #define DAR_PHY_CTRL4_CCATYPE_SHIFT (3)
0323 #define DAR_PHY_CTRL4_CCATYPE_MASK  (0x18)
0324 #define DAR_PHY_CTRL4_TMRLOAD       BIT(2)
0325 #define DAR_PHY_CTRL4_PROMISCUOUS   BIT(1)
0326 #define DAR_PHY_CTRL4_TC2PRIME_EN   BIT(0)
0327 
0328 /* SRC_CTRL bits */
0329 #define DAR_SRC_CTRL_INDEX      (0x0F)
0330 #define DAR_SRC_CTRL_INDEX_SHIFT    (4)
0331 #define DAR_SRC_CTRL_ACK_FRM_PND    BIT(3)
0332 #define DAR_SRC_CTRL_SRCADDR_EN     BIT(2)
0333 #define DAR_SRC_CTRL_INDEX_EN       BIT(1)
0334 #define DAR_SRC_CTRL_INDEX_DISABLE  BIT(0)
0335 
0336 /* DAR_ASM_CTRL1 bits */
0337 #define DAR_ASM_CTRL1_CLEAR     BIT(7)
0338 #define DAR_ASM_CTRL1_START     BIT(6)
0339 #define DAR_ASM_CTRL1_SELFTST       BIT(5)
0340 #define DAR_ASM_CTRL1_CTR       BIT(4)
0341 #define DAR_ASM_CTRL1_CBC       BIT(3)
0342 #define DAR_ASM_CTRL1_AES       BIT(2)
0343 #define DAR_ASM_CTRL1_LOAD_MAC      BIT(1)
0344 
0345 /* DAR_ASM_CTRL2 bits */
0346 #define DAR_ASM_CTRL2_DATA_REG_TYPE_SEL     (7)
0347 #define DAR_ASM_CTRL2_DATA_REG_TYPE_SEL_SHIFT   (5)
0348 #define DAR_ASM_CTRL2_TSTPAS            BIT(1)
0349 
0350 /* DAR_CLK_OUT_CTRL bits */
0351 #define DAR_CLK_OUT_CTRL_EXTEND     BIT(7)
0352 #define DAR_CLK_OUT_CTRL_HIZ        BIT(6)
0353 #define DAR_CLK_OUT_CTRL_SR     BIT(5)
0354 #define DAR_CLK_OUT_CTRL_DS     BIT(4)
0355 #define DAR_CLK_OUT_CTRL_EN     BIT(3)
0356 #define DAR_CLK_OUT_CTRL_DIV        (7)
0357 
0358 /* DAR_PWR_MODES bits */
0359 #define DAR_PWR_MODES_XTAL_READY    BIT(5)
0360 #define DAR_PWR_MODES_XTALEN        BIT(4)
0361 #define DAR_PWR_MODES_ASM_CLK_EN    BIT(3)
0362 #define DAR_PWR_MODES_AUTODOZE      BIT(1)
0363 #define DAR_PWR_MODES_PMC_MODE      BIT(0)
0364 
0365 /* RX_FRAME_FILTER bits */
0366 #define IAR_RX_FRAME_FLT_FRM_VER        (0xC0)
0367 #define IAR_RX_FRAME_FLT_FRM_VER_SHIFT      (6)
0368 #define IAR_RX_FRAME_FLT_ACTIVE_PROMISCUOUS BIT(5)
0369 #define IAR_RX_FRAME_FLT_NS_FT          BIT(4)
0370 #define IAR_RX_FRAME_FLT_CMD_FT         BIT(3)
0371 #define IAR_RX_FRAME_FLT_ACK_FT         BIT(2)
0372 #define IAR_RX_FRAME_FLT_DATA_FT        BIT(1)
0373 #define IAR_RX_FRAME_FLT_BEACON_FT      BIT(0)
0374 
0375 /* DUAL_PAN_CTRL bits */
0376 #define IAR_DUAL_PAN_CTRL_DUAL_PAN_SAM_LVL_MSK  (0xF0)
0377 #define IAR_DUAL_PAN_CTRL_DUAL_PAN_SAM_LVL_SHIFT    (4)
0378 #define IAR_DUAL_PAN_CTRL_CURRENT_NETWORK   BIT(3)
0379 #define IAR_DUAL_PAN_CTRL_PANCORDNTR1       BIT(2)
0380 #define IAR_DUAL_PAN_CTRL_DUAL_PAN_AUTO     BIT(1)
0381 #define IAR_DUAL_PAN_CTRL_ACTIVE_NETWORK    BIT(0)
0382 
0383 /* DUAL_PAN_STS bits */
0384 #define IAR_DUAL_PAN_STS_RECD_ON_PAN1       BIT(7)
0385 #define IAR_DUAL_PAN_STS_RECD_ON_PAN0       BIT(6)
0386 #define IAR_DUAL_PAN_STS_DUAL_PAN_REMAIN    (0x3F)
0387 
0388 /* CCA_CTRL bits */
0389 #define IAR_CCA_CTRL_AGC_FRZ_EN         BIT(6)
0390 #define IAR_CCA_CTRL_CONT_RSSI_EN       BIT(5)
0391 #define IAR_CCA_CTRL_LQI_RSSI_NOT_CORR  BIT(4)
0392 #define IAR_CCA_CTRL_CCA3_AND_NOT_OR    BIT(3)
0393 #define IAR_CCA_CTRL_POWER_COMP_EN_LQI  BIT(2)
0394 #define IAR_CCA_CTRL_POWER_COMP_EN_ED   BIT(1)
0395 #define IAR_CCA_CTRL_POWER_COMP_EN_CCA1 BIT(0)
0396 
0397 /* ANT_PAD_CTRL bits */
0398 #define IAR_ANT_PAD_CTRL_ANTX_POL   (0x0F)
0399 #define IAR_ANT_PAD_CTRL_ANTX_POL_SHIFT (4)
0400 #define IAR_ANT_PAD_CTRL_ANTX_CTRLMODE  BIT(3)
0401 #define IAR_ANT_PAD_CTRL_ANTX_HZ    BIT(2)
0402 #define IAR_ANT_PAD_CTRL_ANTX_EN    (3)
0403 
0404 /* MISC_PAD_CTRL bits */
0405 #define IAR_MISC_PAD_CTRL_MISO_HIZ_EN   BIT(3)
0406 #define IAR_MISC_PAD_CTRL_IRQ_B_OD  BIT(2)
0407 #define IAR_MISC_PAD_CTRL_NON_GPIO_DS   BIT(1)
0408 #define IAR_MISC_PAD_CTRL_ANTX_CURR (1)
0409 
0410 /* ANT_AGC_CTRL bits */
0411 #define IAR_ANT_AGC_CTRL_FAD_EN_SHIFT   (0)
0412 #define IAR_ANT_AGC_CTRL_FAD_EN_MASK    (1)
0413 #define IAR_ANT_AGC_CTRL_ANTX_SHIFT (1)
0414 #define IAR_ANT_AGC_CTRL_ANTX_MASK  BIT(AR_ANT_AGC_CTRL_ANTX_SHIFT)
0415 
0416 /* BSM_CTRL bits */
0417 #define BSM_CTRL_BSM_EN     (1)
0418 
0419 /* SOFT_RESET bits */
0420 #define IAR_SOFT_RESET_SOG_RST      BIT(7)
0421 #define IAR_SOFT_RESET_REGS_RST     BIT(4)
0422 #define IAR_SOFT_RESET_PLL_RST      BIT(3)
0423 #define IAR_SOFT_RESET_TX_RST       BIT(2)
0424 #define IAR_SOFT_RESET_RX_RST       BIT(1)
0425 #define IAR_SOFT_RESET_SEQ_MGR_RST  BIT(0)
0426 
0427 /* SEQ_MGR_CTRL bits */
0428 #define IAR_SEQ_MGR_CTRL_SEQ_STATE_CTRL     (3)
0429 #define IAR_SEQ_MGR_CTRL_SEQ_STATE_CTRL_SHIFT   (6)
0430 #define IAR_SEQ_MGR_CTRL_NO_RX_RECYCLE      BIT(5)
0431 #define IAR_SEQ_MGR_CTRL_LATCH_PREAMBLE     BIT(4)
0432 #define IAR_SEQ_MGR_CTRL_EVENT_TMR_DO_NOT_LATCH BIT(3)
0433 #define IAR_SEQ_MGR_CTRL_CLR_NEW_SEQ_INHIBIT    BIT(2)
0434 #define IAR_SEQ_MGR_CTRL_PSM_LOCK_DIS       BIT(1)
0435 #define IAR_SEQ_MGR_CTRL_PLL_ABORT_OVRD     BIT(0)
0436 
0437 /* SEQ_MGR_STS bits */
0438 #define IAR_SEQ_MGR_STS_TMR2_SEQ_TRIG_ARMED BIT(7)
0439 #define IAR_SEQ_MGR_STS_RX_MODE         BIT(6)
0440 #define IAR_SEQ_MGR_STS_RX_TIMEOUT_PENDING  BIT(5)
0441 #define IAR_SEQ_MGR_STS_NEW_SEQ_INHIBIT     BIT(4)
0442 #define IAR_SEQ_MGR_STS_SEQ_IDLE        BIT(3)
0443 #define IAR_SEQ_MGR_STS_XCVSEQ_ACTUAL       (7)
0444 
0445 /* ABORT_STS bits */
0446 #define IAR_ABORT_STS_PLL_ABORTED   BIT(2)
0447 #define IAR_ABORT_STS_TC3_ABORTED   BIT(1)
0448 #define IAR_ABORT_STS_SW_ABORTED    BIT(0)
0449 
0450 /* IAR_FILTERFAIL_CODE2 bits */
0451 #define IAR_FILTERFAIL_CODE2_PAN_SEL    BIT(7)
0452 #define IAR_FILTERFAIL_CODE2_9_8    (3)
0453 
0454 /* PHY_STS bits */
0455 #define IAR_PHY_STS_PLL_UNLOCK      BIT(7)
0456 #define IAR_PHY_STS_PLL_LOCK_ERR    BIT(6)
0457 #define IAR_PHY_STS_PLL_LOCK        BIT(5)
0458 #define IAR_PHY_STS_CRCVALID        BIT(3)
0459 #define IAR_PHY_STS_FILTERFAIL_FLAG_SEL BIT(2)
0460 #define IAR_PHY_STS_SFD_DET     BIT(1)
0461 #define IAR_PHY_STS_PREAMBLE_DET    BIT(0)
0462 
0463 /* TESTMODE_CTRL bits */
0464 #define IAR_TEST_MODE_CTRL_HOT_ANT      BIT(4)
0465 #define IAR_TEST_MODE_CTRL_IDEAL_RSSI_EN    BIT(3)
0466 #define IAR_TEST_MODE_CTRL_IDEAL_PFC_EN     BIT(2)
0467 #define IAR_TEST_MODE_CTRL_CONTINUOUS_EN    BIT(1)
0468 #define IAR_TEST_MODE_CTRL_FPGA_EN      BIT(0)
0469 
0470 /* DTM_CTRL1 bits */
0471 #define IAR_DTM_CTRL1_ATM_LOCKED    BIT(7)
0472 #define IAR_DTM_CTRL1_DTM_EN        BIT(6)
0473 #define IAR_DTM_CTRL1_PAGE5     BIT(5)
0474 #define IAR_DTM_CTRL1_PAGE4     BIT(4)
0475 #define IAR_DTM_CTRL1_PAGE3     BIT(3)
0476 #define IAR_DTM_CTRL1_PAGE2     BIT(2)
0477 #define IAR_DTM_CTRL1_PAGE1     BIT(1)
0478 #define IAR_DTM_CTRL1_PAGE0     BIT(0)
0479 
0480 /* TX_MODE_CTRL */
0481 #define IAR_TX_MODE_CTRL_TX_INV     BIT(4)
0482 #define IAR_TX_MODE_CTRL_BT_EN      BIT(3)
0483 #define IAR_TX_MODE_CTRL_DTS2       BIT(2)
0484 #define IAR_TX_MODE_CTRL_DTS1       BIT(1)
0485 #define IAR_TX_MODE_CTRL_DTS0       BIT(0)
0486 
0487 #define TX_MODE_CTRL_DTS_MASK   (7)
0488 
0489 #endif /* _MCR20A_H */