📄 motcpmend.h
字号:
/* motCpmEnd.h - Motorola CPM core Ethernet interface header *//* Copyright 1996 - 1998 Wind River Systems, Inc. *//*modification history--------------------01c,28aug98,dat changed all motCmp names to motCpm.01b,29jun98,cn fixed compiler errors for CPUs other than CPU32 or PPC860.01a,22jun98,cn created. *//*This file contains definitions to support the end-style Network Driver for the Motorola CPM core Ethernet controller used in the M68EN360 and PPC800-series communications controllers. These definitions are compilerdependant, meaning that their values are based on the particular cpubeing used.*/#ifndef __INCmotCpmEndh#define __INCmotCpmEndh#ifdef __cplusplusextern "C" {#endif#if (CPU == PPC860)#include "drv/netif/if_cpm.h"#include "drv/multi/ppc860Siu.h"#else#include "drv/multi/m68360.h" /* default: use CPU32 include file */#endif /* CPU == PPC860 *//* defines *//* * the following may be redefined in the bsp to account for the actual * number of SCC devices in the system. */#ifndef MAX_SCC_CHANNELS#define MAX_SCC_CHANNELS 4 /* max SCC number for Ethernet channels */#endif /* MAX_SCC_CHANNELS */#if (CPU == PPC860)#define CPM_DPR_SCC1(baseAddr) MPC860_DPR_SCC1 (baseAddr)#define CPM_GSMR_L1(baseAddr) GSMR_L1 (baseAddr)#define CPM_CIMR_SCC4 CIMR_SCC4#define CPM_CIMR(baseAddr) CIMR (baseAddr)#define CPM_CISR(baseAddr) CISR (baseAddr)#define CPM_CPCR(baseAddr) CPCR (baseAddr)#define END_OBJ_STRING "MPC860 Power-QUICC Enhanced Network Driver"#define MOT_DEV_NAME "cpm"#define MOT_DEV_NAME_LEN 4#else /* default: use CPU32 definitions */#define SCC_ETHER_DEV SCC_DEV#define CPM_DPR_SCC1(baseAddr) M360_DPR_SCC1 (baseAddr)#define CPM_GSMR_L1(baseAddr) M360_CPM_GSMR_L1 (baseAddr)#define CPM_CIMR_SCC4 CPIC_CIXR_SCC4#define CPM_CIMR(baseAddr) M360_CPM_CIMR (baseAddr)#define CPM_CISR(baseAddr) M360_CPM_CISR (baseAddr)#define CPM_CPCR(baseAddr) M360_CPM_CR (baseAddr)#define END_OBJ_STRING "MC68EN360 QUICC Enhanced Network Driver"#define MOT_DEV_NAME "qu"#define MOT_DEV_NAME_LEN 3#endif /* CPU == PPC860 *//* bsp-specific routine to include */#if (CPU == PPC860)#define SYS_ENET_ADDR_GET(address) \if (sysCpmEnetAddrGet != NULL) \ if (sysCpmEnetAddrGet (pDrvCtrl->unit, (address)) == ERROR) \ { \ errnoSet (S_iosLib_INVALID_ETHERNET_ADDRESS); \ return (NULL); \ } #define SYS_ENET_ENABLE \if (sysCpmEnetEnable != NULL) \ if (sysCpmEnetEnable (pDrvCtrl->unit) == ERROR) \ return (ERROR); #define SYS_ENET_DISABLE \if (sysCpmEnetDisable != NULL) \ sysCpmEnetDisable (pDrvCtrl->unit); #else /* default: use CPU32 definitions */#define SYS_ENET_ADDR_GET(address) \if (sys360EnetAddrGet != NULL) \ if (sys360EnetAddrGet (pDrvCtrl->unit, (address)) == ERROR) \ { \ errnoSet (S_iosLib_INVALID_ETHERNET_ADDRESS); \ return (NULL); \ } #define SYS_ENET_ENABLE \if (sys360EnetEnable != NULL) \ if (sys360EnetEnable (pDrvCtrl->unit, pDrvCtrl->regBase) == ERROR) \ return (ERROR); #define SYS_ENET_DISABLE \if (sys360EnetDisable != NULL) \ sys360EnetDisable (pDrvCtrl->unit, pDrvCtrl->regBase); #endif /* CPU == PPC860 *//* globals */ #if (CPU == PPC860)IMPORT STATUS sysCpmEnetEnable (int unit); /* enable ctrl */IMPORT void sysCpmEnetDisable (int unit); /* disable ctrl */IMPORT STATUS sysCpmEnetAddrGet (int unit, u_char * addr); /* get enet addr */#else /* default: use CPU32 prototypes */IMPORT STATUS sys360EnetEnable (int unit, UINT32 regBase); /* enable ctrl */IMPORT void sys360EnetDisable (int unit, UINT32 regBase); /* disable ctrl */IMPORT STATUS sys360EnetAddrGet (int unit, u_char * addr); /* get enet addr */#endif /* CPU == PPC860 */#ifdef __cplusplus}#endif#endif /* __INCmotCpmEndh */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -