| /****************************************************************************** |
| * |
| * 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 */ |