📄 io_sprt.h
字号:
/* =============================================================================
*
* $RCSfile: io_sprt.h,v $
*
* Description:
* Core SMSC driver
*
* Last modified $Date: 2004/12/08 18:09:44 $
*
* Last modified by $Author: sgollako $
*
* $Revision: 1.2 $
*
* $Source: /home/cvs/repository/TCPIP_SRC/blackfin/drivers/lan91c111/io_sprt.h,v $
*
*============================================================================*/
#ifndef __io_sprt_h__
#define __io_sprt_h__
#include <ccblkfn.h>
// *(unsigned char*)addr = (unsigned)value;
inline void _outp(unsigned int addr, unsigned char value)
{
unsigned char volatile *paddr = (unsigned char volatile *)addr;
*paddr = value;
csync();
/*
asm("B[%0] = %1; CSYNC;"
:
: "p" (addr), "D" (value)
: );
*/
}
// *(unsigned short*)addr = (unsigned)value;
inline void _outpw(unsigned int addr, unsigned short value)
{
unsigned short volatile *paddr = (unsigned short volatile *)addr;
*paddr = value;
csync();
/*
asm("W[%0] = %1; CSYNC;"
:
: "p" (addr), "H" (value)
:);
*/
}
// *(unsigned int*)addr = (unsigned)value;
inline void _outpd(unsigned int addr, unsigned int value)
{
unsigned int volatile *paddr = (unsigned int volatile *)addr;
*paddr = value;
csync();
/*
asm("[%0] = %1; CSYNC;"
:
: "p" (addr), "D" (value)
:);
*/
}
// returns (*(unsigned char*) addr);
inline char _inp(unsigned int addr)
{
volatile unsigned char rval;
unsigned char volatile *paddr = (unsigned char volatile *)addr;
rval = *paddr;
return rval;
/*
unsigned char rval;
asm("%0 = B [%1] (Z);"
: "=D" (rval)
: "p" (addr)
:);
return rval;
*/
}
// returns (*(unsigned short*) addr);
inline short _inpw(unsigned int addr)
{
volatile unsigned short rval;
unsigned short volatile *paddr = (unsigned short volatile *)addr;
rval = *paddr;
return rval;
/*
unsigned short rval;
asm("%0 = W [%1];"
: "=H" (rval)
: "p" (addr)
:);
return rval;
*/
}
// returns (*(unsigned int*) addr);
inline int _inpd(unsigned int addr)
{
volatile int rval;
unsigned int volatile *paddr = (unsigned int volatile *)addr;
rval = *paddr;
return rval;
/*
unsigned int rval;
asm("%0 = [%1];"
: "=D" (rval)
: "p" (addr)
:);
return rval;
*/
}
// *(unsigned int*)addr = (unsigned)value;
inline void _ch_clk(unsigned int addr, unsigned int value)
{
unsigned int volatile *paddr = (unsigned int volatile *)addr;
*paddr = value;
ssync();
/*
asm("[%0] = %1; SSYNC; nop; nop; nop;"
:
: "p" (addr), "D" (value)
:);
*/
}
#endif // __io_sprt_h__
/*=============================================================================
* FOOT NOTES :
*
* FN#1 :
* ----------------------------------------------------------------------------
*
* $Log: io_sprt.h,v $
* Revision 1.2 2004/12/08 18:09:44 sgollako
* Unused old structures deleted.
*
* Revision 1.1.1.1 2004/11/23 21:36:56 sgollako
* TCP/IP sources with lwIP sources
*
* Revision 1.1.1.1 2004/05/11 17:23:18 sgollako
* lwIP port on Blackfin family of processors
*
*
*
*============================================================================*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -