| /******************************************************************************* |
| Copyright (C) Marvell International Ltd. and its affiliates |
| |
| This software file (the "File") is owned and distributed by Marvell |
| International Ltd. and/or its affiliates ("Marvell") under the following |
| alternative licensing terms. Once you have made an election to distribute the |
| File under one of the following license alternatives, please (i) delete this |
| introductory statement regarding license alternatives, (ii) delete the two |
| license alternatives that you have not elected to use and (iii) preserve the |
| Marvell copyright notice above. |
| |
| ******************************************************************************** |
| Marvell Commercial License Option |
| |
| If you received this File from Marvell and you have entered into a commercial |
| license agreement (a "Commercial License") with Marvell, the File is licensed |
| to you under the terms of the applicable Commercial License. |
| |
| ******************************************************************************** |
| Marvell GPL License Option |
| |
| If you received this File from Marvell, you may opt to use, redistribute and/or |
| modify this File in accordance with the terms and conditions of the General |
| Public License Version 2, June 1991 (the "GPL License"), a copy of which is |
| available along with the File in the license.txt file or by writing to the Free |
| Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 or |
| on the worldwide web at http://www.gnu.org/licenses/gpl.txt. |
| |
| THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE IMPLIED |
| WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY |
| DISCLAIMED. The GPL License provides additional details about this warranty |
| disclaimer. |
| ******************************************************************************** |
| Marvell BSD License Option |
| |
| If you received this File from Marvell, you may opt to use, redistribute and/or |
| modify this File under the following licensing terms. |
| Redistribution and use in source and binary forms, with or without modification, |
| are permitted provided that the following conditions are met: |
| |
| * Redistributions of source code must retain the above copyright notice, |
| this list of conditions and the following disclaimer. |
| |
| * 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. |
| |
| * Neither the name of Marvell 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 OWNER 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 __INCmvCommUnitRegsh |
| #define __INCmvCommUnitRegsh |
| |
| #include "mvSysTdmConfig.h" |
| |
| /****************************************************************/ |
| /* Time Division Multiplexing Interrupt Controller */ |
| /****************************************************************/ |
| #define COMM_UNIT_TOP_CAUSE_REG (MV_COMM_UNIT_REGS_BASE + 0x8C00) |
| #define TDM_CAUSE_REG (MV_COMM_UNIT_REGS_BASE + 0x8C40) |
| #define COMM_UNIT_TOP_MASK_REG (MV_COMM_UNIT_REGS_BASE + 0x8C80) |
| #define VOICE_PERIODICAL_INT_CONTROL_REG (MV_COMM_UNIT_REGS_BASE + 0x8C90) |
| #define TDM_MASK_REG (MV_COMM_UNIT_REGS_BASE + 0x8CC0) |
| |
| /* COMM_UNIT_TOP_CAUSE_REG bits */ |
| #define TDM_SUM_INT_OFFS 6 |
| #define TDM_SUM_INT_MASK (1 << TDM_SUM_INT_OFFS) |
| #define MCSC_SUM_INT_OFFS 28 |
| #define MCSC_SUM_INT_MASK (1 << MCSC_SUM_INT_OFFS) |
| |
| /* TDM_CAUSE_REG bits */ |
| #define FLEX_TDM_RX_INT_OFFS 2 |
| #define FLEX_TDM_RX_INT_MASK (1 << FLEXTDM_RX_INT_OFFS) |
| #define FLEX_TDM_RX_SYNC_LOSS_OFFS 3 |
| #define FLEX_TDM_RX_SYNC_LOSS_MASK (1 << FLEX_TDM_RX_SYNC_LOSS_OFFS) |
| #define FLEX_TDM_TX_INT_OFFS 6 |
| #define FLEX_TDM_TX_INT_MASK (1 << FLEXTDM_TX_INT_OFFS) |
| #define FLEX_TDM_TX_SYNC_LOSS_OFFS 7 |
| #define FLEX_TDM_TX_SYNC_LOSS_MASK (1 << FLEX_TDM_TX_SYNC_LOSS_OFFS) |
| #define RX_VOICE_INT_PULSE_OFFS 8 |
| #define RX_VOICE_INT_PULSE_MASK (1 << RX_VOICE_INT_PULSE_OFFS) |
| #define TX_VOICE_INT_PULSE_OFFS 9 |
| #define TX_VOICE_INT_PULSE_MASK (1 << TX_VOICE_INT_PULSE_OFFS) |
| #define EXT_INT_SLIC0_OFFS 10 |
| #define EXT_INT_SLIC0_MASK (1 << EXT_INT_SLIC0_OFFS) |
| #define EXT_INT_SLIC1_OFFS 11 |
| #define EXT_INT_SLIC1_MASK (1 << EXT_INT_SLIC1_OFFS) |
| #define EXT_INT_SLIC2_OFFS 12 |
| #define EXT_INT_SLIC2_MASK (1 << EXT_INT_SLIC2_OFFS) |
| #define EXT_INT_SLIC3_OFFS 13 |
| #define EXT_INT_SLIC3_MASK (1 << EXT_INT_SLIC3_OFFS) |
| #define EXT_INT_SLIC4_OFFS 14 |
| #define EXT_INT_SLIC4_MASK (1 << EXT_INT_SLIC4_OFFS) |
| #define EXT_INT_SLIC5_OFFS 15 |
| #define EXT_INT_SLIC5_MASK (1 << EXT_INT_SLIC5_OFFS) |
| #define EXT_INT_SLIC6_OFFS 16 |
| #define EXT_INT_SLIC6_MASK (1 << EXT_INT_SLIC6_OFFS) |
| #define EXT_INT_SLIC7_OFFS 17 |
| #define EXT_INT_SLIC7_MASK (1 << EXT_INT_SLIC7_OFFS) |
| #define COMM_UNIT_PAR_ERR_SUM_OFFS 18 |
| #define COMM_UNIT_PAR_ERR_SUM_MASK (1 << COMM_UNIT_PAR_ERR_SUM_OFFS) |
| #define TDM_RX_PAR_ERR_SUM_OFFS 19 |
| #define TDM_RX_PAR_ERR_SUM_MASK (1 << TDM_RX_PAR_ERR_SUM_OFFS) |
| #define TDM_TX_PAR_ERR_SUM_OFFS 20 |
| #define TDM_TX_PAR_ERR_SUM_MASK (1 << TDM_TX_PAR_ERR_SUM_OFFS) |
| #define MCSC_PAR_ERR_SUM_OFFS 21 |
| #define MCSC_PAR_ERR_SUM_MASK (1 << MCSC_PAR_ERR_SUM_OFFS) |
| #define MCDMA_PAR_ERR_SUM_OFFS 22 |
| #define MCDMA_PAR_ERR_SUM_MASK (1 << MCDMA_PAR_ERR_SUM_OFFS) |
| |
| /* VOICE_PERIODICAL_INT_CONTROL_REG bits */ |
| #define RX_VOICE_INT_CNT_REF_OFFS 0 |
| #define RX_VOICE_INT_CNT_REF_MASK (0xff << RX_VOICE_INT_CNT_REF_OFFS) |
| #define TX_VOICE_INT_CNT_REF_OFFS 8 |
| #define TX_VOICE_INT_CNT_REF_MASK (0xff << TX_VOICE_INT_CNT_REF_OFFS) |
| #define RX_FIRST_DELAY_REF_OFFS 16 |
| #define RX_FIRST_DELAY_REF_MASK (0xff << RX_FIRST_DELAY_REF_OFFS) |
| #define TX_FIRST_DELAY_REF_OFFS 24 |
| #define TX_FIRST_DELAY_REF_MASK (0xff << TX_FIRST_DELAY_REF_OFFS) |
| |
| /************************************************/ |
| /* Multi-Channel Serial Controller(MCSC) */ |
| /************************************************/ |
| #define MCSC_CHx_COMM_EXEC_STAT_REG(ch) (MV_COMM_UNIT_REGS_BASE + (ch<<2)) |
| #define MCSC_CHx_RECEIVE_CONFIG_REG(ch) ((MV_COMM_UNIT_REGS_BASE + 0x400) + (ch<<2)) |
| #define MCSC_CHx_TRANSMIT_CONFIG_REG(ch) ((MV_COMM_UNIT_REGS_BASE + 0x1800) + (ch<<2)) |
| #define MCSC_GLOBAL_CONFIG_REG (MV_COMM_UNIT_REGS_BASE + 0x2800) |
| #define MCSC_GLOBAL_INT_CAUSE_REG (MV_COMM_UNIT_REGS_BASE + 0x2804) |
| #define MCSC_EXTENDED_INT_CAUSE_REG (MV_COMM_UNIT_REGS_BASE + 0x2808) |
| #define MCSC_GLOBAL_INT_MASK_REG (MV_COMM_UNIT_REGS_BASE + 0x280C) |
| #define MCSC_EXTENDED_INT_MASK_REG (MV_COMM_UNIT_REGS_BASE + 0x2810) |
| #define MCSC_TX_CHANNEL_BALANCING_MASK_REG (MV_COMM_UNIT_REGS_BASE + 0x284C) |
| #define MCSC_RX_CHANNEL_BALANCING_MASK_REG (MV_COMM_UNIT_REGS_BASE + 0x2850) |
| |
| /* MCSC_CHx_COMM_EXEC_STAT_REG bits */ |
| #define MCSC_ABR_E_STAT_OFFS 25 |
| #define MCSC_ABR_E_STAT_MASK (1 << MCSC_ABR_E_STAT_OFFS) |
| #define MCSC_EH_E_STAT_OFFS 26 |
| #define MCSC_EH_E_STAT_MASK (1 << MCSC_EH_E_STAT_OFFS) |
| |
| /* MCSC_RECEIVE_CONFIG_REG(MRCRx) bits */ |
| #define MRCRx_ABORT_OFFS 21 |
| #define MRCRx_ABORT_MASK (1 << MRCRx_ABORT_OFFS) |
| #define MRCRx_ENTER_HUNT_OFFS 22 |
| #define MRCRx_ENTER_HUNT_MASK (1 << MRCRx_ENTER_HUNT_OFFS) |
| #define MRCRx_ER_OFFS 27 |
| #define MRCRx_ER_MASK (1 << MRCRx_ER_OFFS) |
| #define MRCRx_RRVD_OFFS 30 |
| #define MRCRx_RRVD_MASK (1 << MRCRx_RRVD_OFFS) |
| #define MRCRx_MODE_OFFS 31 |
| #define MRCRx_MODE_MASK (1 << MRCRx_MODE_OFFS) |
| |
| /* MCSC_TRANSMIT_CONFIG_REG(MTCRx) bits */ |
| #define MTCRx_ET_OFFS 27 |
| #define MTCRx_ET_MASK (1 << MTCRx_ET_OFFS) |
| #define MTCRx_TRVD_OFFS 30 |
| #define MTCRx_TRVD_MASK (1 << MTCRx_TRVD_OFFS) |
| #define MTCRx_MODE_OFFS 31 |
| #define MTCRx_MODE_MASK (1 << MTCRx_MODE_OFFS) |
| |
| /* MCSC_GLOBAL_CONFIG_REG bits */ |
| #define MCSC_GLOBAL_CONFIG_RCBD_OFFS 19 |
| #define MCSC_GLOBAL_CONFIG_RCBD_MASK (1 << MCSC_GLOBAL_CONFIG_RCBD_OFFS) |
| #define MCSC_GLOBAL_CONFIG_TCBD_OFFS 20 |
| #define MCSC_GLOBAL_CONFIG_TCBD_MASK (1 << MCSC_GLOBAL_CONFIG_TCBD_OFFS) |
| #define MCSC_GLOBAL_CONFIG_MAI_OFFS 21 |
| #define MCSC_GLOBAL_CONFIG_MAI_MASK (1 << MCSC_GLOBAL_CONFIG_MAI_OFFS) |
| #define MCSC_GLOBAL_CONFIG_LMD_OFFS 22 |
| #define MCSC_GLOBAL_CONFIG_LMD_MASK (1 << MCSC_GLOBAL_CONFIG_LMD_OFFS) |
| #define MCSC_GLOBAL_CONFIG_ARBM_OFFS 29 |
| #define MCSC_GLOBAL_CONFIG_ARBM_MASK (1 << MCSC_GLOBAL_CONFIG_ARBM_OFFS) |
| #define MCSC_GLOBAL_CONFIG_RXEN_OFFS 30 |
| #define MCSC_GLOBAL_CONFIG_RXEN_MASK (1 << MCSC_GLOBAL_CONFIG_RXEN_OFFS) |
| #define MCSC_GLOBAL_CONFIG_TXEN_OFFS 31 |
| #define MCSC_GLOBAL_CONFIG_TXEN_MASK (1 << MCSC_GLOBAL_CONFIG_TXEN_OFFS) |
| |
| /* MCSC_GLOBAL_INT_CAUSE_REG */ |
| #define MCSC_GLOBAL_INT_CAUSE_RXOR_OFFS 0 |
| #define MCSC_GLOBAL_INT_CAUSE_RXOR_MASK (1 << MCSC_GLOBAL_INT_CAUSE_RXOR_OFFS) |
| #define MCSC_GLOBAL_INT_CAUSE_TXUR_OFFS 8 |
| #define MCSC_GLOBAL_INT_CAUSE_TXUR_MASK (1 << MCSC_GLOBAL_INT_CAUSE_TXUR_OFFS) |
| #define MCSC_GLOBAL_INT_CAUSE_TXOR_OFFS 16 |
| #define MCSC_GLOBAL_INT_CAUSE_TXOR_MASK (1 << MCSC_GLOBAL_INT_CAUSE_TXOR_OFFS) |
| #define MCSC_GLOBAL_INT_CAUSE_RXBOR_OFFS 24 |
| #define MCSC_GLOBAL_INT_CAUSE_RXBOR_MASK (1 << MCSC_GLOBAL_INT_CAUSE_RXBOR_OFFS) |
| #define MCSC_GLOBAL_INT_CAUSE_INIT_DONE_OFFS 25 |
| #define MCSC_GLOBAL_INT_CAUSE_INIT_DONE_MASK (1 << MCSC_GLOBAL_INT_CAUSE_INIT_DONE_OFFS) |
| #define MCSC_GLOBAL_INT_CAUSE_IQOR_OFFS 26 |
| #define MCSC_GLOBAL_INT_CAUSE_IQOR_MASK (1 << MCSC_GLOBAL_INT_CAUSE_IQOR_OFFS) |
| #define MCSC_GLOBAL_INT_CAUSE_IQNE_OFFS 27 |
| #define MCSC_GLOBAL_INT_CAUSE_IQNE_MASK (1 << MCSC_GLOBAL_INT_CAUSE_IQNE_OFFS) |
| #define MCSC_GLOBAL_INT_CAUSE_MDIL_OFFS 28 |
| #define MCSC_GLOBAL_INT_CAUSE_MDIL_MASK (1 << MCSC_GLOBAL_INT_CAUSE_MDIL_OFFS) |
| #define MCSC_GLOBAL_INT_CAUSE_MGIS_OFFS 30 |
| #define MCSC_GLOBAL_INT_CAUSE_MGIS_MASK (1 << MCSC_GLOBAL_INT_CAUSE_MGIS_OFFS) |
| |
| /************************************************/ |
| /* Multi-Channel DMA(MCDMA) */ |
| /************************************************/ |
| #define MCDMA_RECEIVE_CONTROL_REG(ch) ((MV_COMM_UNIT_REGS_BASE + 0x3000) + (ch<<2)) |
| #define MCDMA_RECEIVE_FIFO_MGMT_LL_REG(ch) ((MV_COMM_UNIT_REGS_BASE + 0x3C00) + (ch<<2)) |
| #define MCDMA_CURRENT_RECEIVE_DESC_PTR_REG(ch) ((MV_COMM_UNIT_REGS_BASE + 0x4000) + (ch<<2)) |
| #define MCDMA_GLOBAL_CONTROL_REG (MV_COMM_UNIT_REGS_BASE + 0x4400) |
| #define RX_SERVICE_QUEUE_ARBITER_WEIGHT_REG (MV_COMM_UNIT_REGS_BASE + 0x4408) |
| #define MCDMA_TRANSMIT_CONTROL_REG(ch) ((MV_COMM_UNIT_REGS_BASE + 0x5000) + (ch<<2)) |
| #define MCDMA_TRANSMIT_FIFO_MGMT_LL_REG(ch) ((MV_COMM_UNIT_REGS_BASE + 0x5C00) + (ch<<2)) |
| #define MCDMA_CURRENT_TRANSMIT_DESC_PTR_REG(ch) ((MV_COMM_UNIT_REGS_BASE + 0x7000) + (ch<<2)) |
| #define TX_SERVICE_QUEUE_ARBITER_WEIGHT_REG (MV_COMM_UNIT_REGS_BASE + 0x7408) |
| |
| /* MCDMA_RECEIVE_CONTROL_REG bits */ |
| #define MCDMA_RBSZ_OFFS 0 |
| #define MCDMA_RBSZ_MASK (0x3 << MCDMA_RBSZ_OFFS) |
| #define MCDMA_RBSZ_8BYTE 0 |
| #define MCDMA_RBSZ_16BYTE 0x1 |
| #define MCDMA_RBSZ_32BYTE 0x2 |
| #define MCDMA_RBSZ_64BYTE 0x3 |
| |
| #define MCDMA_BLMR_OFFS 2 |
| #define MCDMA_BLMR_MASK (1 << MCDMA_BLMR_OFFS) |
| #define MCDMA_ERD_OFFS 6 |
| #define MCDMA_ERD_MASK (1 << MCDMA_ERD_OFFS) |
| |
| /* MCDMA_GLOBAL_CONTROL_REG bits */ |
| #define MCDMA_RID_OFFS 1 |
| #define MCDMA_RID_MASK (1 << MCDMA_RID_OFFS) |
| |
| /* RX_SERVICE_QUEUE_ARBITER_WEIGHT_REG bits */ |
| #define MCDMA_RSQW_OFFS 24 |
| #define MCDMA_RSQW_MASK (0x1f << MCDMA_RSQW_OFFS) |
| |
| /* TX_SERVICE_QUEUE_ARBITER_WEIGHT_REG bits */ |
| #define MCDMA_TSQW_OFFS 24 |
| #define MCDMA_TSQW_MASK (0x1f << MCDMA_TSQW_OFFS) |
| |
| /* MCDMA_TRANSMIT_CONTROL_REG bits */ |
| #define MCDMA_FSIZE_OFFS 0 |
| #define MCDMA_FSIZE_MASK (0xff << MCDMA_FSIZE_OFFS) |
| #define MCDMA_FSIZE_1BLK 0x1 |
| #define MCDMA_TBSZ_OFFS 8 |
| #define MCDMA_TBSZ_MASK (0x3 << MCDMA_TBSZ_OFFS) |
| #define MCDMA_TBSZ_8BYTE (0x0 << MCDMA_TBSZ_OFFS) |
| #define MCDMA_TBSZ_16BYTE (0x1 << MCDMA_TBSZ_OFFS) |
| #define MCDMA_TBSZ_32BYTE (0x2 << MCDMA_TBSZ_OFFS) |
| |
| #define MCDMA_BLMT_OFFS 10 |
| #define MCDMA_BLMT_MASK (1 << MCDMA_BLMT_OFFS) |
| #define MCDMA_NDUR_OFFS 12 |
| #define MCDMA_NDUR_MASK (1 << MCDMA_NDUR_OFFS) |
| #define MCDMA_TPC_OFFS 13 |
| #define MCDMA_TPC_MASK (1 << MCDMA_TPC_OFFS) |
| #define MCDMA_URPM_OFFS 14 |
| #define MCDMA_URPM_MASK (1 << MCDMA_URPM_OFFS) |
| #define MCDMA_STD_OFFS 15 |
| #define MCDMA_STD_MASK (1 << MCDMA_STD_OFFS) |
| #define MCDMA_AT_OFFS 16 |
| #define MCDMA_AT_MASK (1 << MCDMA_AT_OFFS) |
| #define MCDMA_TXD_OFFS 17 |
| #define MCDMA_TXD_MASK (1 << MCDMA_TXD_OFFS) |
| |
| /************************************************/ |
| /* Time Division Multiplexing(TDM) */ |
| /************************************************/ |
| #define FLEX_TDM_TDPR_REG(entry) ((MV_COMM_UNIT_REGS_BASE + 0x8000) + (entry<<2)) |
| #define FLEX_TDM_RDPR_REG(entry) ((MV_COMM_UNIT_REGS_BASE + 0x8400) + (entry<<2)) |
| #define FLEX_TDM_TRANSMIT_READ_PTR_REG (MV_COMM_UNIT_REGS_BASE + 0x8800) |
| #define FLEX_TDM_RECEIVE_READ_PTR_REG (MV_COMM_UNIT_REGS_BASE + 0x8804) |
| #define FLEX_TDM_CONFIG_REG (MV_COMM_UNIT_REGS_BASE + 0x8808) |
| #define TDM_CLK_AND_SYNC_CONTROL_REG (MV_COMM_UNIT_REGS_BASE + 0x881C) |
| #define TDM_CLK_DIVIDER_CONTROL_REG (MV_COMM_UNIT_REGS_BASE + 0x8820) |
| #define TDM_RESV_CLK_DIVIDER_CONTROL_REG (MV_COMM_UNIT_REGS_BASE + 0x8824) |
| #define TDM_DATA_DELAY_AND_CLK_CTRL_REG (MV_COMM_UNIT_REGS_BASE + 0x8CD0) |
| #define TDM_PLUS_MINUS_DELAY_CTRL_FSYNC_OUT_REG (MV_COMM_UNIT_REGS_BASE + 0x8CD4) |
| #define TDM_PLUS_MINUS_DELAY_CTRL_FSYNC_IN_REG (MV_COMM_UNIT_REGS_BASE + 0x8CD8) |
| |
| /* TDM_CLK_AND_SYNC_CONTROL_REG bits */ |
| #define TDM_TX_FSYNC_OUT_ENABLE_OFFS 0 |
| #define TDM_TX_FSYNC_OUT_ENABLE_MASK (1 << TDM_TX_FSYNC_OUT_ENABLE_OFFS) |
| #define TDM_RX_FSYNC_OUT_ENABLE_OFFS 1 |
| #define TDM_RX_FSYNC_OUT_ENABLE_MASK (1 << TDM_RX_FSYNC_OUT_ENABLE_OFFS) |
| #define TDM_TX_CLK_OUT_ENABLE_OFFS 2 |
| #define TDM_TX_CLK_OUT_ENABLE_MASK (1 << TDM_TX_CLK_OUT_ENABLE_OFFS) |
| #define TDM_RX_CLK_OUT_ENABLE_OFFS 3 |
| #define TDM_RX_CLK_OUT_ENABLE_MASK (1 << TDM_RX_CLK_OUT_ENABLE_OFFS) |
| #define TDM_TX_REFCLK_DIVIDER_OFFS 4 |
| #define TDM_TX_REFCLK_DIVIDER_MASK (0xff << TDM_TX_REFCLK_DIVIDER_OFFS) |
| #define TDM_TX_REFCLK_DIVIDER_2MHZ BIT7 |
| #define TDM_TX_REFCLK_DIVIDER_4MHZ BIT8 |
| #define TDM_TX_REFCLK_DIVIDER_8MHZ BIT9 |
| #define TDM_RX_REFCLK_DIVIDER_OFFS 12 |
| #define TDM_RX_REFCLK_DIVIDER_MASK (0xff << TDM_RX_REFCLK_DIVIDER_OFFS) |
| #define TDM_RX_REFCLK_DIVIDER_2MHZ BIT15 |
| #define TDM_RX_REFCLK_DIVIDER_4MHZ BIT16 |
| #define TDM_RX_REFCLK_DIVIDER_8MHZ BIT17 |
| #define TDM_FSYNC_INVERT_OFFS 19 |
| #define TDM_FSYNC_INVERT_DISABLE (0 << TDM_FSYNC_INVERT_OFFS) |
| #define TDM_FSYNC_INVERT_ENABLE (1 << TDM_FSYNC_INVERT_OFFS) |
| #define TDM_REFCLK_DIVIDER_BYPASS_OFFS 20 |
| #define TDM_REFCLK_DIVIDER_BYPASS_MASK (3 << TDM_REFCLK_DIVIDER_BYPASS_OFFS) |
| #define TDM_OUT_CLK_SRC_CTRL_OFFS 24 |
| #define TDM_OUT_CLK_SRC_CTRL_BEFORE_DIV (0 << TDM_OUT_CLK_SRC_CTRL_OFFS) |
| #define TDM_OUT_CLK_SRC_CTRL_AFTER_DIV (1 << TDM_OUT_CLK_SRC_CTRL_OFFS) |
| #define TDM_PROG_TDM_SLIC_RESET_OFFS 31 |
| #define TDM_PROG_TDM_SLIC_RESET_MASK (1 << TDM_PROG_TDM_SLIC_RESET_OFFS) |
| |
| /* TDM_RX_CLK_DIVIDER_CONTROL_REG bits */ |
| #define TDM_RX_FIXED_DIV_ENABLE_OFFS 31 |
| #define TDM_RX_FIXED_DIV_ENABLE_MASK (1 << TDM_RX_FIXED_DIV_ENABLE_OFFS) |
| |
| /* TDM_TX_CLK_DIVIDER_CONTROL_REG bits */ |
| #define TDM_TX_FIXED_DIV_ENABLE_OFFS 31 |
| #define TDM_TX_FIXED_DIV_ENABLE_MASK (1 << TDM_TX_FIXED_DIV_ENABLE_OFFS) |
| |
| /* FLEX_TDM_CONFIG_REG bits */ |
| #define TDM_RR2HALF_OFFS 15 |
| #define TDM_RR2HALF_MASK (1 << TDM_RR2HALF_OFFS) |
| #define TDM_TR2HALF_OFFS 16 |
| #define TDM_TR2HALF_MASK (1 << TDM_TR2HALF_OFFS) |
| #define TDM_SE_OFFS 20 |
| #define TDM_SE_MASK (1 << TDM_SE_OFFS) |
| #define TDM_COMMON_RX_TX_OFFS 23 |
| #define TDM_COMMON_RX_TX_MASK (1 << TDM_COMMON_RX_TX_OFFS) |
| #define TSD_OFFS 25 |
| #define TSD_MASK (0x3 << TSD_OFFS) |
| #define TSD_NO_DELAY (0 << TSD_OFFS) |
| #define TSD_1BIT_DELAY (1 << TSD_OFFS) |
| #define TSD_2BIT_DELAY (2 << TSD_OFFS) |
| #define TSD_3BIT_DELAY (3 << TSD_OFFS) |
| #define RSD_OFFS 27 |
| #define RSD_MASK (0x3 << RSD_OFFS) |
| #define RSD_NO_DELAY (0 << RSD_OFFS) |
| #define RSD_1BIT_DELAY (1 << RSD_OFFS) |
| #define RSD_2BIT_DELAY (2 << RSD_OFFS) |
| #define RSD_3BIT_DELAY (3 << RSD_OFFS) |
| #define TDM_TEN_OFFS 31 |
| #define TDM_TEN_MASK (1 << TDM_TEN_OFFS) |
| |
| /* TDM_DATA_DELAY_AND_CLK_CTRL_REG bits */ |
| #define TX_CLK_OUT_ENABLE_OFFS 0 |
| #define TX_CLK_OUT_ENABLE_MASK (1 << TX_CLK_OUT_ENABLE_OFFS) |
| #define RX_CLK_OUT_ENABLE_OFFS 1 |
| #define RX_CLK_OUT_ENABLE_MASK (1 << RX_CLK_OUT_ENABLE_OFFS) |
| #define FIXED_POINT_RX_SYNC_OFFS 2 |
| #define FIXED_POINT_RX_SYNC_MASK (1 << FIXED_POINT_RX_SYNC_OFFS) |
| #define TX_DELAY_HOTBIT_OFFS 4 |
| #define TX_NO_DELAY (0 << TX_DELAY_HOTBIT_OFFS) |
| #define TX_1BIT_DELAY (1 << TX_DELAY_HOTBIT_OFFS) |
| #define TX_2BIT_DELAY (2 << TX_DELAY_HOTBIT_OFFS) |
| #define TX_3BIT_DELAY (4 << TX_DELAY_HOTBIT_OFFS) |
| #define TX_4BIT_DELAY (8 << TX_DELAY_HOTBIT_OFFS) |
| #define RX_DELAY_HOTBIT_OFFS 8 |
| #define RX_NO_DELAY (0 << RX_DELAY_HOTBIT_OFFS) |
| #define RX_1BIT_DELAY (1 << RX_DELAY_HOTBIT_OFFS) |
| #define RX_2BIT_DELAY (2 << RX_DELAY_HOTBIT_OFFS) |
| #define RX_3BIT_DELAY (4 << RX_DELAY_HOTBIT_OFFS) |
| #define RX_4BIT_DELAY (8 << RX_DELAY_HOTBIT_OFFS) |
| |
| /* TDM_PLUS_MINUS_DELAY_CTRL_FSYNC_OUT_REG bits */ |
| #define TX_SYNC_DELAY_OUT_OFFS 0 |
| #define TX_SYNC_DELAY_OUT_PLUS_MINUS_OFFS 14 |
| #define TX_SYNC_DELAY_OUT_PLUS (0 << TX_SYNC_DELAY_OUT_PLUS_MINUS_OFFS) |
| #define TX_SYNC_DELAY_OUT_MINUS (1 << TX_SYNC_DELAY_OUT_PLUS_MINUS_OFFS) |
| #define TX_SYNC_DELAY_OUT_RESTART_CALC_OFFS 15 |
| #define TX_SYNC_DELAY_OUT_RESTART_CALC_MASK (1 << TX_SYNC_DELAY_OUT_RESTART_CALC_OFFS) |
| #define RX_SYNC_DELAY_OUT_OFFS 16 |
| #define RX_SYNC_DELAY_OUT_PLUS_MINUS_OFFS 30 |
| #define RX_SYNC_DELAY_OUT_PLUS (0 << RX_SYNC_DELAY_OUT_PLUS_MINUS_OFFS) |
| #define RX_SYNC_DELAY_OUT_MINUS (1 << RX_SYNC_DELAY_OUT_PLUS_MINUS_OFFS) |
| #define RX_SYNC_DELAY_OUT_RESTART_CALC_OFFS 31 |
| #define RX_SYNC_DELAY_OUT_RESTART_CALC_MASK (1 << RX_SYNC_DELAY_OUT_RESTART_CALC_OFFS) |
| |
| /* TDM_PLUS_MINUS_DELAY_CTRL_FSYNC_IN_REG bits */ |
| #define TX_SYNC_DELAY_IN_OFFS 0 |
| #define TX_SYNC_DELAY_IN_PLUS_MINUS_OFFS 14 |
| #define TX_SYNC_DELAY_IN_PLUS (0 << TX_SYNC_DELAY_IN_PLUS_MINUS_OFFS) |
| #define TX_SYNC_DELAY_IN_MINUS (1 << TX_SYNC_DELAY_IN_PLUS_MINUS_OFFS) |
| #define TX_SYNC_DELAY_IN_RESTART_CALC_OFFS 15 |
| #define TX_SYNC_DELAY_IN_RESTART_CALC_MASK (1 << TX_SYNC_DELAY_IN_RESTART_CALC_OFFS) |
| #define RX_SYNC_DELAY_IN_OFFS 16 |
| #define RX_SYNC_DELAY_IN_PLUS_MINUS_OFFS 30 |
| #define RX_SYNC_DELAY_IN_PLUS (0 << RX_SYNC_DELAY_IN_PLUS_MINUS_OFFS) |
| #define RX_SYNC_DELAY_IN_MINUS (1 << RX_SYNC_DELAY_IN_PLUS_MINUS_OFFS) |
| #define RX_SYNC_DELAY_IN_RESTART_CALC_OFFS 31 |
| #define RX_SYNC_DELAY_IN_RESTART_CALC_MASK (1 << RX_SYNC_DELAY_IN_RESTART_CALC_OFFS) |
| |
| /************************************************/ |
| /* Shared Bus to Crossbar Bridge */ |
| /************************************************/ |
| #define COMM_UNIT_MBUS_MAX_WIN 12 |
| |
| #define COMM_UNIT_WIN_CTRL_REG(win) ((MV_COMM_UNIT_REGS_BASE + 0x8A00) + (win<<3)) |
| #define COMM_UNIT_WIN_SIZE_REG(win) ((MV_COMM_UNIT_REGS_BASE + 0x8A04) + (win<<3)) |
| #define COMM_UNIT_WIN_ENABLE_REG(win) ((MV_COMM_UNIT_REGS_BASE + 0x8B04) + (win<<2)) |
| #define COMM_UNIT_OVERRIDE_WIN_CONTROL_REG (MV_COMM_UNIT_REGS_BASE + 0x8A7C) |
| #define TIME_OUT_COUNTER_REG (MV_COMM_UNIT_REGS_BASE + 0x8ADC) |
| #define COMM_UNIT_WINDOWS_ACCESS_PROTECT_REG (MV_COMM_UNIT_REGS_BASE + 0x8B00) |
| |
| /* COMM_UNIT_WIN_CTRL_REG bits */ |
| #define COMM_UNIT_WIN_TARGET_OFFS 0 |
| #define COMM_UNIT_WIN_TARGET_MASK (0xf << COMM_UNIT_WIN_TARGET_OFFS) |
| #define COMM_UNIT_WIN_ATTRIB_OFFS 8 |
| #define COMM_UNIT_WIN_ATTRIB_MASK (0xff << COMM_UNIT_WIN_ATTRIB_OFFS) |
| #define COMM_UNIT_WIN_BASE_OFFS 16 |
| #define COMM_UNIT_WIN_BASE_MASK (0xffff << COMM_UNIT_WIN_BASE_OFFS) |
| |
| /* COMM_UNIT_WIN_SIZE_REG bits */ |
| #define COMM_UNIT_WIN_SIZE_OFFS 16 |
| #define COMM_UNIT_WIN_SIZE_MASK (0xffff << COMM_UNIT_WIN_SIZE_OFFS) |
| |
| /* COMM_UNIT_WIN_ENABLE_REG bits */ |
| #define COMM_UNIT_WIN_ENABLE_OFFS 0 |
| #define COMM_UNIT_WIN_ENABLE_MASK (0xff << COMM_UNIT_WIN_CX_ENABLE_OFFS) |
| #define COMM_UNIT_WIN_CX_ENABLE_OFFS 0 |
| #define COMM_UNIT_WIN_CX_ENABLE_MASK (0x1 << COMM_UNIT_WIN_CX_ENABLE_OFFS) |
| #define COMM_UNIT_WIN_MCDMA_ENABLE_OFFS 3 |
| #define COMM_UNIT_WIN_MCDMA_ENABLE_MASK (0x1 << COMM_UNIT_WIN_MCDMA_ENABLE_OFFS) |
| #define COMM_UNIT_WIN_MCSC_ENABLE_OFFS 4 |
| #define COMM_UNIT_WIN_MCSC_ENABLE_MASK (0x1 << COMM_UNIT_WIN_MCSC_ENABLE_OFFS) |
| #define COMM_UNIT_WIN_TDM_ENABLE_OFFS 5 |
| #define COMM_UNIT_WIN_TDM_ENABLE_MASK (0x1 << COMM_UNIT_WIN_TDM_ENABLE_OFFS) |
| #define COMM_UNIT_WIN_CX_REGFILE_ENABLE_OFFS 7 |
| #define COMM_UNIT_WIN_CX_REGFILE_ENABLE_MASK (0x1 << COMM_UNIT_WIN_CX_REGFILE_ENABLE_OFFS) |
| |
| /* TIME_OUT_COUNTER_REG bits */ |
| #define TIME_OUT_THRESHOLD_COUNT_OFFS 16 |
| #define TIME_OUT_THRESHOLD_COUNT_MASK (0xffff << TIME_OUT_THRESHOLD_COUNT_OFFS) |
| |
| /* COMM_UNIT_WINDOWS_ACCESS_PROTECT_REG bits */ |
| #define COMM_UNIT_WIN_PROTECT_OFFS(win) (win << 1) |
| #define COMM_UNIT_WIN_PROTECT_MASK(win) (0x3 << COMM_UNIT_WIN_PROTECT_OFFS(win)) |
| |
| #define MV_COMM_UNIT_WIN_SIZE_ALIGN _64K |
| |
| #endif /*__INCmvCommUnitRegsh*/ |
| |