⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sdma.h.svn-base

📁 u-boot for S3c2443 processor
💻 SVN-BASE
字号:
/* * (C) Copyright 2003 * Wolfgang Denk, DENX Software Engineering, wd@denx.de. * * This file is based on code * (C) Copyright Motorola, Inc., 2000 * * odin smartdma header file */#ifndef __MPC5XXX_SDMA_H#define __MPC5XXX_SDMA_H#include <common.h>#include <mpc5xxx.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 ring0x04: TBD_NEXT, address of next TX BD to be processed0x08: RBD_BASE, base address of RX BD ring0x0C: 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		(MPC5XXX_SRAM + 0x0800)/* base address of SRAM area for buffer descriptors */#define FEC_BD_BASE		(MPC5XXX_SRAM + 0x0820)/*---------------------------------------------------------------------*//* common shortcuts  used  by driver C code                            *//*---------------------------------------------------------------------*//* Disable SmartDMA task */#define SDMA_TASK_DISABLE(tasknum)                     \{                                                      \    volatile ushort *tcr = (ushort *)(MPC5XXX_SDMA + 0x0000001c + 2 * tasknum); \    *tcr = (*tcr) & (~0x8000);                         \}/* Enable SmartDMA task */#define SDMA_TASK_ENABLE(tasknum)                      \{                                                      \    volatile ushort *tcr = (ushort *) (MPC5XXX_SDMA + 0x0000001c + 2 * tasknum); \    *tcr = (*tcr)  | 0x8000;                           \}/* Enable interrupt */#define SDMA_INT_ENABLE(tasknum)                       \{                                                      \    struct mpc5xxx_sdma *sdma = (struct mpc5xxx_sdma *)MPC5XXX_SDMA; \    sdma->IntMask &= ~(1 << tasknum);                  \}/* Disable interrupt */#define SDMA_INT_DISABLE(tasknum)   \{                                                      \    struct mpc5xxx_sdma *sdma = (struct mpc5xxx_sdma *)MPC5XXX_SDMA; \    sdma->IntMask |= (1 << tasknum);                   \}/* Clear interrupt pending bits */#define SDMA_CLEAR_IEVENT(tasknum)  \{                                                      \    struct mpc5xxx_sdma *sdma = (struct mpc5xxx_sdma *)MPC5XXX_SDMA; \    sdma->IntPend = (1 << tasknum);                    \}/* get interupt pending bit of a task */#define SDMA_GET_PENDINGBIT(tasknum)                   \	((*(vu_long *)(MPC5XXX_SDMA + 0x14)) & (1<<(tasknum)))/* get interupt mask bit of a task */#define SDMA_GET_MASKBIT(tasknum)                      \	((*(vu_long *)(MPC5XXX_SDMA + 0x18)) & (1<<(tasknum)))#endif	/* __MPC5XXX_SDMA_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -