/****************************************************************************** * * Author: Xilinx, Inc. * * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation; either version 2 of the License, or (at your * option) any later version. * * * XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS" AS A * COURTESY TO YOU. BY PROVIDING THIS DESIGN, CODE, OR INFORMATION AS * ONE POSSIBLE IMPLEMENTATION OF THIS FEATURE, APPLICATION OR STANDARD, * XILINX IS MAKING NO REPRESENTATION THAT THIS IMPLEMENTATION IS FREE * FROM ANY CLAIMS OF INFRINGEMENT, AND YOU ARE RESPONSIBLE FOR OBTAINING * ANY THIRD PARTY RIGHTS YOU MAY REQUIRE FOR YOUR IMPLEMENTATION. * XILINX EXPRESSLY DISCLAIMS ANY WARRANTY WHATSOEVER WITH RESPECT TO * THE ADEQUACY OF THE IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO ANY * WARRANTIES OR REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE FROM * CLAIMS OF INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE. * * * Xilinx hardware products are not intended for use in life support * appliances, devices, or systems. Use in such applications is * expressly prohibited. * * * (c) Copyright 2002-2004 Xilinx Inc. * All rights reserved. * * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 675 Mass Ave, Cambridge, MA 02139, USA. * * FILENAME: * * xdma_channel_i.h * * DESCRIPTION: * * This file contains data which is shared internal data for the DMA channel * component. It is also shared with the buffer descriptor component which is * very tightly coupled with the DMA channel component. * * NOTES: * * The last buffer descriptor constants must be located here to prevent a * circular dependency between the DMA channel component and the buffer * descriptor component. * ******************************************************************************/ #ifndef XDMA_CHANNEL_I_H /* prevent circular inclusions */ #define XDMA_CHANNEL_I_H /* by using protection macros */ /***************************** Include Files *********************************/ #include "xbasic_types.h" #include "xstatus.h" #include "xversion.h" /************************** Constant Definitions *****************************/ #define XDC_DMA_CHANNEL_V1_00_A "1.00a" /* the following constant provides access to the bit fields of the DMA control * register (DMACR) which must be shared between the DMA channel component * and the buffer descriptor component */ #define XDC_CONTROL_LAST_BD_MASK 0x02000000UL /* last buffer descriptor */ /* the following constant provides access to the bit fields of the DMA status * register (DMASR) which must be shared between the DMA channel component * and the buffer descriptor component */ #define XDC_STATUS_LAST_BD_MASK 0x10000000UL /* last buffer descriptor */ /* the following constants provide access to each of the registers of a DMA * channel */ #define XDC_RST_REG_OFFSET 0 /* reset register */ #define XDC_MI_REG_OFFSET 0 /* module information register */ #define XDC_DMAC_REG_OFFSET 4 /* DMA control register */ #define XDC_SA_REG_OFFSET 8 /* source address register */ #define XDC_DA_REG_OFFSET 12 /* destination address register */ #define XDC_LEN_REG_OFFSET 16 /* length register */ #define XDC_DMAS_REG_OFFSET 20 /* DMA status register */ #define XDC_BDA_REG_OFFSET 24 /* buffer descriptor address register */ #define XDC_SWCR_REG_OFFSET 28 /* software control register */ #define XDC_UPC_REG_OFFSET 32 /* unserviced packet count register */ #define XDC_PCT_REG_OFFSET 36 /* packet count threshold register */ #define XDC_PWB_REG_OFFSET 40 /* packet wait bound register */ #define XDC_IS_REG_OFFSET 44 /* interrupt status register */ #define XDC_IE_REG_OFFSET 48 /* interrupt enable register */ /* the following constant is written to the reset register to reset the * DMA channel */ #define XDC_RESET_MASK 0x0000000AUL /**************************** Type Definitions *******************************/ /***************** Macros (Inline Functions) Definitions *********************/ /************************** Function Prototypes ******************************/ #endif /* end of protection macro */