/* ieee802154_mcr20a_regs.h - Registers definition for NXP MCR20A */ /* * Copyright (c) 2017 PHYTEC Messtechnik GmbH * * SPDX-License-Identifier: Apache-2.0 * * This file is based on MCR20reg.h, it was modified to meet the * coding style and restructured to make it easier to read. * Additional identifiers was inserted (_MASK and _SHIFT endings), * which are used in the macros for the bit field manipulation. * * This file are derived from material that is * Copyright (c) 2015, Freescale Semiconductor, Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * o Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * * o Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * o Neither the name of Freescale Semiconductor, Inc. nor the names of its * contributors may be used to endorse or promote products derived from this * software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ #ifndef __IEEE802154_MCR20A_REGS_H__ #define __IEEE802154_MCR20A_REGS_H__ #define MCR20A_REG_READ (BIT(7)) #define MCR20A_BUF_READ (BIT(7) | BIT(6)) #define MCR20A_BUF_BYTE_READ (BIT(7) | BIT(6) | BIT(5)) #define MCR20A_REG_WRITE (0) #define MCR20A_BUF_WRITE (BIT(6)) #define MCR20A_BUF_BYTE_WRITE (BIT(6) | BIT(5)) #define MCR20A_IRQSTS1 (0x0) #define MCR20A_IRQSTS2 (0x1) #define MCR20A_IRQSTS3 (0x2) #define MCR20A_PHY_CTRL1 (0x3) #define MCR20A_PHY_CTRL2 (0x4) #define MCR20A_PHY_CTRL3 (0x5) #define MCR20A_RX_FRM_LEN (0x6) #define MCR20A_PHY_CTRL4 (0x7) #define MCR20A_SRC_CTRL (0x8) #define MCR20A_SRC_ADDRS_SUM_LSB (0x9) #define MCR20A_SRC_ADDRS_SUM_MSB (0xa) #define MCR20A_CCA1_ED_FNL (0xb) #define MCR20A_EVENT_TIMER_LSB (0xc) #define MCR20A_EVENT_TIMER_MSB (0xd) #define MCR20A_EVENT_TIMER_USB (0xe) #define MCR20A_TIMESTAMP_LSB (0xf) #define MCR20A_TIMESTAMP_MSB (0x10) #define MCR20A_TIMESTAMP_USB (0x11) #define MCR20A_T3CMP_LSB (0x12) #define MCR20A_T3CMP_MSB (0x13) #define MCR20A_T3CMP_USB (0x14) #define MCR20A_T2PRIMECMP_LSB (0x15) #define MCR20A_T2PRIMECMP_MSB (0x16) #define MCR20A_T1CMP_LSB (0x17) #define MCR20A_T1CMP_MSB (0x18) #define MCR20A_T1CMP_USB (0x19) #define MCR20A_T2CMP_LSB (0x1a) #define MCR20A_T2CMP_MSB (0x1b) #define MCR20A_T2CMP_USB (0x1c) #define MCR20A_T4CMP_LSB (0x1d) #define MCR20A_T4CMP_MSB (0x1e) #define MCR20A_T4CMP_USB (0x1f) #define MCR20A_PLL_INT0 (0x20) #define MCR20A_PLL_FRAC0_LSB (0x21) #define MCR20A_PLL_FRAC0_MSB (0x22) #define MCR20A_PA_PWR (0x23) #define MCR20A_SEQ_STATE (0x24) #define MCR20A_LQI_VALUE (0x25) #define MCR20A_RSSI_CCA_CNT (0x26) /* ---------------- (0x27) */ #define MCR20A_ASM_CTRL1 (0x28) #define MCR20A_ASM_CTRL2 (0x29) #define MCR20A_ASM_DATA_0 (0x2a) #define MCR20A_ASM_DATA_1 (0x2b) #define MCR20A_ASM_DATA_2 (0x2c) #define MCR20A_ASM_DATA_3 (0x2d) #define MCR20A_ASM_DATA_4 (0x2e) #define MCR20A_ASM_DATA_5 (0x2f) #define MCR20A_ASM_DATA_6 (0x30) #define MCR20A_ASM_DATA_7 (0x31) #define MCR20A_ASM_DATA_8 (0x32) #define MCR20A_ASM_DATA_9 (0x33) #define MCR20A_ASM_DATA_A (0x34) #define MCR20A_ASM_DATA_B (0x35) #define MCR20A_ASM_DATA_C (0x36) #define MCR20A_ASM_DATA_D (0x37) #define MCR20A_ASM_DATA_E (0x38) #define MCR20A_ASM_DATA_F (0x39) /* ---------------- (0x3a) */ #define MCR20A_OVERWRITE_VER (0x3b) #define MCR20A_CLK_OUT_CTRL (0x3c) #define MCR20A_PWR_MODES (0x3d) #define MCR20A_IAR_INDEX (0x3e) #define MCR20A_IAR_DATA (0x3f) #define MCR20A_IRQSTS1_RX_FRM_PEND BIT(7) #define MCR20A_IRQSTS1_PLL_UNLOCK_IRQ BIT(6) #define MCR20A_IRQSTS1_FILTERFAIL_IRQ BIT(5) #define MCR20A_IRQSTS1_RXWTRMRKIRQ BIT(4) #define MCR20A_IRQSTS1_CCAIRQ BIT(3) #define MCR20A_IRQSTS1_RXIRQ BIT(2) #define MCR20A_IRQSTS1_TXIRQ BIT(1) #define MCR20A_IRQSTS1_SEQIRQ BIT(0) #define MCR20A_IRQSTS1_IRQ_MASK (0x7f) #define MCR20A_IRQSTS2_CRCVALID BIT(7) #define MCR20A_IRQSTS2_CCA BIT(6) #define MCR20A_IRQSTS2_SRCADDR BIT(5) #define MCR20A_IRQSTS2_PI BIT(4) #define MCR20A_IRQSTS2_TMRSTATUS BIT(3) #define MCR20A_IRQSTS2_ASM_IRQ BIT(2) #define MCR20A_IRQSTS2_PB_ERR_IRQ BIT(1) #define MCR20A_IRQSTS2_WAKE_IRQ BIT(0) #define MCR20A_IRQSTS2_IRQ_MASK (0x7) #define MCR20A_IRQSTS3_TMR4MSK BIT(7) #define MCR20A_IRQSTS3_TMR3MSK BIT(6) #define MCR20A_IRQSTS3_TMR2MSK BIT(5) #define MCR20A_IRQSTS3_TMR1MSK BIT(4) #define MCR20A_IRQSTS3_TMR_MASK (0xf0) #define MCR20A_IRQSTS3_TMR4IRQ BIT(3) #define MCR20A_IRQSTS3_TMR3IRQ BIT(2) #define MCR20A_IRQSTS3_TMR2IRQ BIT(1) #define MCR20A_IRQSTS3_TMR1IRQ BIT(0) #define MCR20A_IRQSTS3_IRQ_MASK (0xf) #define MCR20A_IRQSTS3_IRQ_SHIFT (0) #define MCR20A_PHY_CTRL1_TMRTRIGEN BIT(7) #define MCR20A_PHY_CTRL1_SLOTTED BIT(6) #define MCR20A_PHY_CTRL1_CCABFRTX BIT(5) #define MCR20A_PHY_CTRL1_RXACKRQD BIT(4) #define MCR20A_PHY_CTRL1_AUTOACK BIT(3) #define MCR20A_PHY_CTRL1_XCVSEQ_MASK (0x7) #define MCR20A_PHY_CTRL1_XCVSEQ_SHIFT (0) #define MCR20A_XCVSEQ_IDLE (0) #define MCR20A_XCVSEQ_RECEIVE (1) #define MCR20A_XCVSEQ_TX (2) #define MCR20A_XCVSEQ_CCA (3) #define MCR20A_XCVSEQ_TX_RX (4) #define MCR20A_XCVSEQ_CONTINUOUS_CCA (5) #define MCR20A_PHY_CTRL2_CRC_MSK BIT(7) #define MCR20A_PHY_CTRL2_PLL_UNLOCK_MSK BIT(6) #define MCR20A_PHY_CTRL2_FILTERFAIL_MSK BIT(5) #define MCR20A_PHY_CTRL2_RX_WMRK_MSK BIT(4) #define MCR20A_PHY_CTRL2_CCAMSK BIT(3) #define MCR20A_PHY_CTRL2_RXMSK BIT(2) #define MCR20A_PHY_CTRL2_TXMSK BIT(1) #define MCR20A_PHY_CTRL2_SEQMSK BIT(0) #define MCR20A_PHY_CTRL3_TMR4CMP_EN BIT(7) #define MCR20A_PHY_CTRL3_TMR3CMP_EN BIT(6) #define MCR20A_PHY_CTRL3_TMR2CMP_EN BIT(5) #define MCR20A_PHY_CTRL3_TMR1CMP_EN BIT(4) #define MCR20A_PHY_CTRL3_ASM_MSK BIT(2) #define MCR20A_PHY_CTRL3_PB_ERR_MSK BIT(1) #define MCR20A_PHY_CTRL3_WAKE_MSK BIT(0) #define MCR20A_RX_FRM_LENGTH_MASK (0x7f) #define MCR20A_PHY_CTRL4_TRCV_MSK BIT(7) #define MCR20A_PHY_CTRL4_TC3TMOUT BIT(6) #define MCR20A_PHY_CTRL4_PANCORDNTR0 BIT(5) #define MCR20A_PHY_CTRL4_CCATYPE_MASK (0x18) #define MCR20A_PHY_CTRL4_CCATYPE_SHIFT (3) #define MCR20A_PHY_CTRL4_TMRLOAD BIT(2) #define MCR20A_PHY_CTRL4_PROMISCUOUS BIT(1) #define MCR20A_PHY_CTRL4_TC2PRIME_EN BIT(0) #define MCR20A_SRC_CTRL_INDEX_MASK (0xf0) #define MCR20A_SRC_CTRL_INDEX_SHIFT (4) #define MCR20A_SRC_CTRL_ACK_FRM_PND BIT(3) #define MCR20A_SRC_CTRL_SRCADDR_EN BIT(2) #define MCR20A_SRC_CTRL_INDEX_EN BIT(1) #define MCR20A_SRC_CTRL_INDEX_DISABLE BIT(0) #define MCR20A_PLL_INT0_VAL_MASK (0x1f) #define MCR20A_PLL_INT0_VAL_SHIFT (0) #define MCR20A_PA_PWR_VAL_MASK (0x1f) #define MCR20A_PA_PWR_VAL_SHIFT (0) #define MCR20A_SEQ_STATE_MASK (0x1f) #define MCR20A_ASM_CTRL1_CLEAR BIT(7) #define MCR20A_ASM_CTRL1_START BIT(6) #define MCR20A_ASM_CTRL1_SELFTST BIT(5) #define MCR20A_ASM_CTRL1_CTR BIT(4) #define MCR20A_ASM_CTRL1_CBC BIT(3) #define MCR20A_ASM_CTRL1_AES BIT(2) #define MCR20A_ASM_CTRL1_LOAD_MAC BIT(1) #define MCR20A_ASM_CTRL2_DATA_REG_TYPE_SELECT_MASK (0x7) #define MCR20A_ASM_CTRL2_DATA_REG_TYPE_SELECT_SHIFT (5) #define MCR20A_ASM_CTRL2_TSTPAS BIT(1) #define MCR20A_CLK_OUT_EXTEND BIT(7) #define MCR20A_CLK_OUT_HIZ BIT(6) #define MCR20A_CLK_OUT_SR BIT(5) #define MCR20A_CLK_OUT_DS BIT(4) #define MCR20A_CLK_OUT_EN BIT(3) #define MCR20A_CLK_OUT_DIV_MASK (0x07) #define MCR20A_CLK_OUT_DIV_SHIFT (0) #define MCR20A_PWR_MODES_XTAL_READY BIT(5) #define MCR20A_PWR_MODES_XTALEN BIT(4) #define MCR20A_PWR_MODES_ASM_CLK_EN BIT(3) #define MCR20A_PWR_MODES_AUTODOZE BIT(1) #define MCR20A_PWR_MODES_PMC_MODE BIT(0) #define MCR20A_PART_ID (0x00) #define MCR20A_XTAL_TRIM (0x01) #define MCR20A_PMC_LP_TRIM (0x02) #define MCR20A_MACPANID0_LSB (0x03) #define MCR20A_MACPANID0_MSB (0x04) #define MCR20A_MACSHORTADDRS0_LSB (0x05) #define MCR20A_MACSHORTADDRS0_MSB (0x06) #define MCR20A_MACLONGADDRS0_0 (0x07) #define MCR20A_MACLONGADDRS0_1 (0x08) #define MCR20A_MACLONGADDRS0_2 (0x09) #define MCR20A_MACLONGADDRS0_3 (0x0a) #define MCR20A_MACLONGADDRS0_4 (0x0b) #define MCR20A_MACLONGADDRS0_5 (0x0c) #define MCR20A_MACLONGADDRS0_6 (0x0d) #define MCR20A_MACLONGADDRS0_7 (0x0e) #define MCR20A_RX_FRAME_FILTER (0x0f) #define MCR20A_PLL_INT1 (0x10) #define MCR20A_PLL_FRAC1_LSB (0x11) #define MCR20A_PLL_FRAC1_MSB (0x12) #define MCR20A_MACPANID1_LSB (0x13) #define MCR20A_MACPANID1_MSB (0x14) #define MCR20A_MACSHORTADDRS1_LSB (0x15) #define MCR20A_MACSHORTADDRS1_MSB (0x16) #define MCR20A_MACLONGADDRS1_0 (0x17) #define MCR20A_MACLONGADDRS1_1 (0x18) #define MCR20A_MACLONGADDRS1_2 (0x19) #define MCR20A_MACLONGADDRS1_3 (0x1a) #define MCR20A_MACLONGADDRS1_4 (0x1b) #define MCR20A_MACLONGADDRS1_5 (0x1c) #define MCR20A_MACLONGADDRS1_6 (0x1d) #define MCR20A_MACLONGADDRS1_7 (0x1e) #define MCR20A_DUAL_PAN_CTRL (0x1f) #define MCR20A_DUAL_PAN_DWELL (0x20) #define MCR20A_DUAL_PAN_STS (0x21) #define MCR20A_CCA1_THRESH (0x22) #define MCR20A_CCA1_ED_OFFSET_COMP (0x23) #define MCR20A_LQI_OFFSET_COMP (0x24) #define MCR20A_CCA_CTRL (0x25) #define MCR20A_CCA2_CORR_PEAKS (0x26) #define MCR20A_CCA2_THRESH (0x27) #define MCR20A_TMR_PRESCALE (0x28) /* ---------------- (0x29) */ #define MCR20A_GPIO_DATA (0x2a) #define MCR20A_GPIO_DIR (0x2b) #define MCR20A_GPIO_PUL_EN (0x2c) #define MCR20A_GPIO_SEL (0x2d) #define MCR20A_GPIO_DS (0x2e) /* ---------------- (0x2f) */ #define MCR20A_ANT_PAD_CTRL (0x30) #define MCR20A_MISC_PAD_CTRL (0x31) #define MCR20A_BSM_CTRL (0x32) /* ---------------- (0x33) */ #define MCR20A_RNG (0x34) #define MCR20A_RX_BYTE_COUNT (0x35) #define MCR20A_RX_WTR_MARK (0x36) #define MCR20A_SOFT_RESET (0x37) #define MCR20A_TXDELAY (0x38) #define MCR20A_ACKDELAY (0x39) #define MCR20A_SEQ_MGR_CTRL (0x3a) #define MCR20A_SEQ_MGR_STS (0x3b) #define MCR20A_SEQ_T_STS (0x3c) #define MCR20A_ABORT_STS (0x3d) #define MCR20A_CCCA_BUSY_CNT (0x3e) #define MCR20A_SRC_ADDR_CHECKSUM1 (0x3f) #define MCR20A_SRC_ADDR_CHECKSUM2 (0x40) #define MCR20A_SRC_TBL_VALID1 (0x41) #define MCR20A_SRC_TBL_VALID2 (0x42) #define MCR20A_FILTERFAIL_CODE1 (0x43) #define MCR20A_FILTERFAIL_CODE2 (0x44) #define MCR20A_SLOT_PRELOAD (0x45) /* ---------------- (0x46) */ #define MCR20A_CORR_VT (0x47) #define MCR20A_SYNC_CTRL (0x48) #define MCR20A_PN_LSB_0 (0x49) #define MCR20A_PN_LSB_1 (0x4a) #define MCR20A_PN_MSB_0 (0x4b) #define MCR20A_PN_MSB_1 (0x4c) #define MCR20A_CORR_NVAL (0x4d) #define MCR20A_TX_MODE_CTRL (0x4e) #define MCR20A_SNF_THR (0x4f) #define MCR20A_FAD_THR (0x50) #define MCR20A_ANT_AGC_CTRL (0x51) #define MCR20A_AGC_THR1 (0x52) #define MCR20A_AGC_THR2 (0x53) #define MCR20A_AGC_HYS (0x54) #define MCR20A_AFC (0x55) #define MCR20A_LPPS_CTRL (0x56) /* ---------------- (0x57) */ #define MCR20A_PHY_STS (0x58) #define MCR20A_RX_MAX_CORR (0x59) #define MCR20A_RX_MAX_PREAMBLE (0x5a) #define MCR20A_RSSI (0x5b) /* ---------------- (0x5c) */ /* ---------------- (0x5d) */ #define MCR20A_PLL_DIG_CTRL (0x5e) #define MCR20A_VCO_CAL (0x5f) #define MCR20A_VCO_BEST_DIFF (0x60) #define MCR20A_VCO_BIAS (0x61) #define MCR20A_KMOD_CTRL (0x62) #define MCR20A_KMOD_CAL (0x63) #define MCR20A_PA_CAL (0x64) #define MCR20A_PA_PWRCAL (0x65) #define MCR20A_ATT_RSSI1 (0x66) #define MCR20A_ATT_RSSI2 (0x67) #define MCR20A_RSSI_OFFSET (0x68) #define MCR20A_RSSI_SLOPE (0x69) #define MCR20A_RSSI_CAL1 (0x6a) #define MCR20A_RSSI_CAL2 (0x6b) /* ---------------- (0x6c) */ /* ---------------- (0x6d) */ #define MCR20A_XTAL_CTRL (0x6e) #define MCR20A_XTAL_COMP_MIN (0x6f) #define MCR20A_XTAL_COMP_MAX (0x70) #define MCR20A_XTAL_GM (0x71) /* ---------------- (0x72) */ /* ---------------- (0x73) */ #define MCR20A_LNA_TUNE (0x74) #define MCR20A_LNA_AGCGAIN (0x75) /* ---------------- (0x76) */ /* ---------------- (0x77) */ #define MCR20A_CHF_PMA_GAIN (0x78) #define MCR20A_CHF_IBUF (0x79) #define MCR20A_CHF_QBUF (0x7a) #define MCR20A_CHF_IRIN (0x7b) #define MCR20A_CHF_QRIN (0x7c) #define MCR20A_CHF_IL (0x7d) #define MCR20A_CHF_QL (0x7e) #define MCR20A_CHF_CC1 (0x7f) #define MCR20A_CHF_CCL (0x80) #define MCR20A_CHF_CC2 (0x81) #define MCR20A_CHF_IROUT (0x82) #define MCR20A_CHF_QROUT (0x83) /* ---------------- (0x84) */ /* ---------------- (0x85) */ #define MCR20A_RSSI_CTRL (0x86) /* ---------------- (0x87) */ /* ---------------- (0x88) */ #define MCR20A_PA_BIAS (0x89) #define MCR20A_PA_TUNING (0x8a) /* ---------------- (0x8b) */ /* ---------------- (0x8c) */ #define MCR20A_PMC_HP_TRIM (0x8d) #define MCR20A_VREGA_TRIM (0x8e) /* ---------------- (0x8f) */ /* ---------------- (0x90) */ #define MCR20A_VCO_CTRL1 (0x91) #define MCR20A_VCO_CTRL2 (0x92) /* ---------------- (0x93) */ /* ---------------- (0x94) */ #define MCR20A_ANA_SPARE_OUT1 (0x95) #define MCR20A_ANA_SPARE_OUT2 (0x96) #define MCR20A_ANA_SPARE_IN (0x97) #define MCR20A_MISCELLANEOUS (0x98) /* ---------------- (0x99) */ #define MCR20A_SEQ_MGR_OVRD0 (0x9a) #define MCR20A_SEQ_MGR_OVRD1 (0x9b) #define MCR20A_SEQ_MGR_OVRD2 (0x9c) #define MCR20A_SEQ_MGR_OVRD3 (0x9d) #define MCR20A_SEQ_MGR_OVRD4 (0x9e) #define MCR20A_SEQ_MGR_OVRD5 (0x9f) #define MCR20A_SEQ_MGR_OVRD6 (0xa0) #define MCR20A_SEQ_MGR_OVRD7 (0xa1) /* ---------------- (0xa2) */ #define MCR20A_TESTMODE_CTRL (0xa3) #define MCR20A_DTM_CTRL1 (0xa4) #define MCR20A_DTM_CTRL2 (0xa5) #define MCR20A_ATM_CTRL1 (0xa6) #define MCR20A_ATM_CTRL2 (0xa7) #define MCR20A_ATM_CTRL3 (0xa8) /* ---------------- (0xa9) */ #define MCR20A_LIM_FE_TEST_CTRL (0xaa) #define MCR20A_CHF_TEST_CTRL (0xab) #define MCR20A_VCO_TEST_CTRL (0xac) #define MCR20A_PLL_TEST_CTRL (0xad) #define MCR20A_PA_TEST_CTRL (0xae) #define MCR20A_PMC_TEST_CTRL (0xaf) #define MCR20A_SCAN_DTM_PROTECT_1 (0xfe) #define MCR20A_SCAN_DTM_PROTECT_0 (0xff) #define MCR20A_RX_FRAME_FILTER_FRM_VER_MASK (0xc0) #define MCR20A_RX_FRAME_FILTER_FRM_VER_SHIFT (6) #define MCR20A_RX_FRAME_FILTER_ACTIVE_PROMISCUOUS BIT(5) #define MCR20A_RX_FRAME_FILTER_NS_FT BIT(4) #define MCR20A_RX_FRAME_FILTER_CMD_FT BIT(3) #define MCR20A_RX_FRAME_FILTER_ACK_FT BIT(2) #define MCR20A_RX_FRAME_FILTER_DATA_FT BIT(1) #define MCR20A_RX_FRAME_FILTER_BEACON_FT BIT(0) #define MCR20A_PLL_INT1_MASK (0x1f) #define MCR20A_DUAL_PAN_CTRL_DUAL_PAN_SAM_LVL_MASK (0xf0) #define MCR20A_DUAL_PAN_CTRL_DUAL_PAN_SAM_LVL_SHIFT (4) #define MCR20A_DUAL_PAN_CTRL_CURRENT_NETWORK BIT(3) #define MCR20A_DUAL_PAN_CTRL_PANCORDNTR1 BIT(2) #define MCR20A_DUAL_PAN_CTRL_DUAL_PAN_AUTO BIT(1) #define MCR20A_DUAL_PAN_CTRL_ACTIVE_NETWORK BIT(0) #define MCR20A_DUAL_PAN_STS_RECD_ON_PAN1 BIT(7) #define MCR20A_DUAL_PAN_STS_RECD_ON_PAN0 BIT(6) #define MCR20A_DUAL_PAN_STS_DUAL_PAN_REMAIN_MASK (0x3f) #define MCR20A_CCA_CTRL_AGC_FRZ_EN BIT(6) #define MCR20A_CCA_CTRL_CONT_RSSI_EN BIT(5) #define MCR20A_CCA_CTRL_QI_RSSI_NOT_CORR BIT(4) #define MCR20A_CCA_CTRL_CCA3_AND_NOT_OR BIT(3) #define MCR20A_CCA_CTRL_OWER_COMP_EN_LQI BIT(2) #define MCR20A_CCA_CTRL_OWER_COMP_EN_ED BIT(1) #define MCR20A_CCA_CTRL_OWER_COMP_EN_CCA1 BIT(0) #define MCR20A_CCA2_CORR_PEAKS_CCA2_MIN_NUM_CORR_TH_MASK (0x70) #define MCR20A_CCA2_CORR_PEAKS_CCA2_MIN_NUM_CORR_TH_SHIFT (4) #define MCR20A_CCA2_CORR_PEAKS_CCA2_NUM_CORR_PEAKS_MASK (0x0f) #define MCR20A_TMR_PRESCALE_VAL_MASK (0x7) #define MCR20A_TMR_PRESCALE_VAL_SHIFT (0) #define MCR20A_TIMEBASE_500000HZ (2) #define MCR20A_TIMEBASE_250000HZ (3) #define MCR20A_TIMEBASE_125000HZ (4) #define MCR20A_TIMEBASE_62500HZ (5) #define MCR20A_TIMEBASE_31250HZ (6) #define MCR20A_TIMEBASE_15625HZ (7) #define MCR20A_GPIO_DATA8 BIT(7) #define MCR20A_GPIO_DATA7 BIT(6) #define MCR20A_GPIO_DATA6 BIT(5) #define MCR20A_GPIO_DATA5 BIT(4) #define MCR20A_GPIO_DATA4 BIT(3) #define MCR20A_GPIO_DATA3 BIT(2) #define MCR20A_GPIO_DATA2 BIT(1) #define MCR20A_GPIO_DATA1 BIT(0) #define MCR20A_GPIO_DIR8 BIT(7) #define MCR20A_GPIO_DIR7 BIT(6) #define MCR20A_GPIO_DIR6 BIT(5) #define MCR20A_GPIO_DIR5 BIT(4) #define MCR20A_GPIO_DIR4 BIT(3) #define MCR20A_GPIO_DIR3 BIT(2) #define MCR20A_GPIO_DIR2 BIT(1) #define MCR20A_GPIO_DIR1 BIT(0) #define MCR20A_GPIO_PUL_EN8 BIT(7) #define MCR20A_GPIO_PUL_EN7 BIT(6) #define MCR20A_GPIO_PUL_EN6 BIT(5) #define MCR20A_GPIO_PUL_EN5 BIT(4) #define MCR20A_GPIO_PUL_EN4 BIT(3) #define MCR20A_GPIO_PUL_EN3 BIT(2) #define MCR20A_GPIO_PUL_EN2 BIT(1) #define MCR20A_GPIO_PUL_EN1 BIT(0) #define MCR20A_GPIO_PUL_SEL8 BIT(7) #define MCR20A_GPIO_PUL_SEL7 BIT(6) #define MCR20A_GPIO_PUL_SEL6 BIT(5) #define MCR20A_GPIO_PUL_SEL5 BIT(4) #define MCR20A_GPIO_PUL_SEL4 BIT(3) #define MCR20A_GPIO_PUL_SEL3 BIT(2) #define MCR20A_GPIO_PUL_SEL2 BIT(1) #define MCR20A_GPIO_PUL_SEL1 BIT(0) #define MCR20A_GPIO_DS8 BIT(7) #define MCR20A_GPIO_DS7 BIT(6) #define MCR20A_GPIO_DS6 BIT(5) #define MCR20A_GPIO_DS5 BIT(4) #define MCR20A_GPIO_DS4 BIT(3) #define MCR20A_GPIO_DS3 BIT(2) #define MCR20A_GPIO_DS2 BIT(1) #define MCR20A_GPIO_DS1 BIT(0) #define MCR20A_ANT_PAD_CTRL_ANTX_POL3 BIT(7) #define MCR20A_ANT_PAD_CTRL_ANTX_POL2 BIT(6) #define MCR20A_ANT_PAD_CTRL_ANTX_POL1 BIT(5) #define MCR20A_ANT_PAD_CTRL_ANTX_POL0 BIT(4) #define MCR20A_ANT_PAD_CTRL_ANTX_CTRLMODE BIT(3) #define MCR20A_ANT_PAD_CTRL_ANTX_HZ BIT(2) #define MCR20A_ANT_PAD_CTRL_ANTX_EN_MASK (0x03) #define MCR20A_ANT_PAD_CTRL_ANTX_EN_SHIFT (0) #define MCR20A_MISC_PAD_CTRL_MISO_HIZ_EN BIT(3) #define MCR20A_MISC_PAD_CTRL_IRQ_B_OD BIT(2) #define MCR20A_MISC_PAD_CTRL_NON_GPIO_DS BIT(1) #define MCR20A_MISC_PAD_CTRL_ANTX_CURR BIT(0) #define MCR20A_ANT_AGC_CTRL_SNF_EN BIT(7) #define MCR20A_ANT_AGC_CTRL_AGC_EN BIT(6) #define MCR20A_ANT_AGC_CTRL_AGC_LEVEL_MASK (0x30) #define MCR20A_ANT_AGC_CTRL_AGC_LEVEL_SHIFT (4) #define MCR20A_ANT_AGC_CTRL_ANTX BIT(1) #define MCR20A_ANT_AGC_CTRL_AD_EN BIT(0) #define MCR20A_LPPS_BUFMIX_EN BIT(4) #define MCR20A_LPPS_LIM_EN BIT(3) #define MCR20A_LPPS_RSSI_EN BIT(2) #define MCR20A_LPPS_LNA_EN BIT(1) #define MCR20A_LPPS_CTRL_LPPS_EN BIT(0) /* Undocumented part copied from MCR20reg.h */ #define MCR20A_SOFT_RESET_SOG_RST BIT(7) #define MCR20A_SOFT_RESET_REGS_RST BIT(4) #define MCR20A_SOFT_RESET_PLL_RST BIT(3) #define MCR20A_SOFT_RESET_TX_RST BIT(2) #define MCR20A_SOFT_RESET_RX_RST BIT(1) #define MCR20A_SOFT_RESET_SEQ_MGR_RST BIT(0) #define MCR20A_SEQ_MGR_CTRL_SEQ_STATE_CTRL_MASK (0x3) #define MCR20A_SEQ_MGR_CTRL_SEQ_STATE_CTRL_SHIFT (6) #define MCR20A_SEQ_MGR_CTRL_NO_RX_RECYCLE BIT(5) #define MCR20A_SEQ_MGR_CTRL_LATCH_PREAMBLE BIT(4) #define MCR20A_SEQ_MGR_CTRL_EVENT_TMR_DO_NOT_LATCH BIT(3) #define MCR20A_SEQ_MGR_CTRL_CLR_NEW_SEQ_INHIBIT BIT(2) #define MCR20A_SEQ_MGR_CTRL_PSM_LOCK_DIS BIT(1) #define MCR20A_SEQ_MGR_CTRL_PLL_ABORT_OVRD BIT(0) #define MCR20A_SEQ_MGR_STS_TMR2_SEQ_TRIG_ARMED BIT(7) #define MCR20A_SEQ_MGR_STS_RX_MODE BIT(6) #define MCR20A_SEQ_MGR_STS_RX_TIMEOUT_PENDING BIT(5) #define MCR20A_SEQ_MGR_STS_NEW_SEQ_INHIBIT BIT(4) #define MCR20A_SEQ_MGR_STS_SEQ_IDLE BIT(3) #define MCR20A_SEQ_MGR_STS_XCVSEQ_ACTUAL_MASK (0x7) #define MCR20A_SEQ_MGR_STS_XCVSEQ_ACTUAL_SHIFT (0) #define MCR20A_ABORT_STS_PLL_ABORTED BIT(2) #define MCR20A_ABORT_STS_TC3_ABORTED BIT(1) #define MCR20A_ABORT_STS_SW_ABORTED BIT(0) #define MCR20A_PHY_STS_PLL_UNLOCK BIT(7) #define MCR20A_PHY_STS_PLL_LOCK_ERR BIT(6) #define MCR20A_PHY_STS_PLL_LOCK BIT(5) #define MCR20A_PHY_STS_CRCVALID BIT(3) #define MCR20A_PHY_STS_FILTERFAIL_FLAG_SEL BIT(2) #define MCR20A_PHY_STS_SFD_DET BIT(1) #define MCR20A_PHY_STS_PREAMBLE_DET BIT(0) #define MCR20A_TESTMODE_CTRL_HOT_ANT BIT(4) #define MCR20A_TESTMODE_CTRL_IDEAL_RSSI_EN BIT(3) #define MCR20A_TESTMODE_CTRL_IDEAL_PFC_EN BIT(2) #define MCR20A_TESTMODE_CTRL_CONTINUOUS_EN BIT(1) #define MCR20A_TESTMODE_CTRL_FPGA_EN BIT(0) #define MCR20A_DTM_CTRL1_ATM_LOCKED BIT(7) #define MCR20A_DTM_CTRL1_DTM_EN BIT(6) #define MCR20A_DTM_CTRL1_PAGE5 BIT(5) #define MCR20A_DTM_CTRL1_PAGE4 BIT(4) #define MCR20A_DTM_CTRL1_PAGE3 BIT(3) #define MCR20A_DTM_CTRL1_PAGE2 BIT(2) #define MCR20A_DTM_CTRL1_PAGE1 BIT(1) #define MCR20A_DTM_CTRL1_PAGE0 BIT(0) #define MCR20A_TX_MODE_CTRL_TX_INV BIT(4) #define MCR20A_TX_MODE_CTRL_BT_EN BIT(3) #define MCR20A_TX_MODE_CTRL_DTS2 BIT(2) #define MCR20A_TX_MODE_CTRL_DTS1 BIT(1) #define MCR20A_TX_MODE_CTRL_DTS0 BIT(0) #define MCR20A_TX_MODE_CTRL_DTS_MASK (7) #endif /* __IEEE802154_MCR20A_REGS_H__ */