1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- /*
- * (C) Copyright 2003
- * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
- *
- * This file is based on code
- * (C) Copyright Motorola, Inc., 2000
- *
- * MPC8220 dma header file
- */
- #ifndef __MPC8220_DMA_H
- #define __MPC8220_DMA_H
- #include <common.h>
- #include <mpc8220.h>
- /* Task number assignment */
- #define FEC_RECV_TASK_NO 0
- #define FEC_XMIT_TASK_NO 1
- /*---------------------------------------------------------------------
- * Stuff for Ethernet Tx/Rx tasks
- *---------------------------------------------------------------------
- */
- /* Layout of Ethernet controller Parameter SRAM area:
- * ----------------------------------------------------------------
- * 0x00: TBD_BASE, base address of TX BD ring
- * 0x04: TBD_NEXT, address of next TX BD to be processed
- * 0x08: RBD_BASE, base address of RX BD ring
- * 0x0C: RBD_NEXT, address of next RX BD to be processed
- * ---------------------------------------------------------------
- * ALL PARAMETERS ARE ALL LONGWORDS (FOUR BYTES EACH).
- */
- /* base address of SRAM area to store parameters used by Ethernet tasks */
- #define FEC_PARAM_BASE (MMAP_SRAM + 0x5b00)
- /* base address of SRAM area for buffer descriptors */
- #define FEC_BD_BASE (MMAP_SRAM + 0x5b20)
- /*---------------------------------------------------------------------
- * common shortcuts used by driver C code
- *---------------------------------------------------------------------
- */
- /* Disable SmartDMA task */
- #define DMA_TASK_DISABLE(tasknum) \
- { \
- volatile ushort *tcr = (ushort *)(MMAP_DMA + 0x0000001c + 2 * tasknum); \
- *tcr = (*tcr) & (~0x8000); \
- }
- /* Enable SmartDMA task */
- #define DMA_TASK_ENABLE(tasknum) \
- { \
- volatile ushort *tcr = (ushort *) (MMAP_DMA + 0x0000001c + 2 * tasknum);\
- *tcr = (*tcr) | 0x8000; \
- }
- /* Clear interrupt pending bits */
- #define DMA_CLEAR_IEVENT(tasknum) \
- { \
- struct mpc8220_dma *dma = (struct mpc8220_dma *)MMAP_DMA; \
- dma->IntPend = (1 << tasknum); \
- }
- #endif /* __MPC8220_DMA_H */
|