mirror of
https://github.com/torvalds/linux.git
synced 2024-11-14 08:02:07 +00:00
m68knommu: remove un-used mcfsmc.h
Remove the un-used mcfsmc.h. All ColdFire platforms that use SMC ethernet devices are platform enabled to use the smc91x driver. Signed-off-by: Greg Ungerer <gerg@uclinux.org>
This commit is contained in:
parent
fa6667fe0f
commit
f606aee2e0
@ -1,187 +0,0 @@
|
||||
/****************************************************************************/
|
||||
|
||||
/*
|
||||
* mcfsmc.h -- SMC ethernet support for ColdFire environments.
|
||||
*
|
||||
* (C) Copyright 1999-2002, Greg Ungerer (gerg@snapgear.com)
|
||||
* (C) Copyright 2000, Lineo Inc. (www.lineo.com)
|
||||
*/
|
||||
|
||||
/****************************************************************************/
|
||||
#ifndef mcfsmc_h
|
||||
#define mcfsmc_h
|
||||
/****************************************************************************/
|
||||
|
||||
/*
|
||||
* None of the current ColdFire targets that use the SMC91x111
|
||||
* allow 8 bit accesses. So this code is 16bit access only.
|
||||
*/
|
||||
|
||||
|
||||
#undef outb
|
||||
#undef inb
|
||||
#undef outw
|
||||
#undef outwd
|
||||
#undef inw
|
||||
#undef outl
|
||||
#undef inl
|
||||
|
||||
#undef outsb
|
||||
#undef outsw
|
||||
#undef outsl
|
||||
#undef insb
|
||||
#undef insw
|
||||
#undef insl
|
||||
|
||||
/*
|
||||
* Re-defines for ColdFire environment... The SMC part is
|
||||
* mapped into memory space, so remap the PC-style in/out
|
||||
* routines to handle that.
|
||||
*/
|
||||
#define outb smc_outb
|
||||
#define inb smc_inb
|
||||
#define outw smc_outw
|
||||
#define outwd smc_outwd
|
||||
#define inw smc_inw
|
||||
#define outl smc_outl
|
||||
#define inl smc_inl
|
||||
|
||||
#define outsb smc_outsb
|
||||
#define outsw smc_outsw
|
||||
#define outsl smc_outsl
|
||||
#define insb smc_insb
|
||||
#define insw smc_insw
|
||||
#define insl smc_insl
|
||||
|
||||
|
||||
static inline int smc_inb(unsigned int addr)
|
||||
{
|
||||
register unsigned short w;
|
||||
w = *((volatile unsigned short *) (addr & ~0x1));
|
||||
return(((addr & 0x1) ? w : (w >> 8)) & 0xff);
|
||||
}
|
||||
|
||||
static inline void smc_outw(unsigned int val, unsigned int addr)
|
||||
{
|
||||
*((volatile unsigned short *) addr) = (val << 8) | (val >> 8);
|
||||
}
|
||||
|
||||
static inline int smc_inw(unsigned int addr)
|
||||
{
|
||||
register unsigned short w;
|
||||
w = *((volatile unsigned short *) addr);
|
||||
return(((w << 8) | (w >> 8)) & 0xffff);
|
||||
}
|
||||
|
||||
static inline void smc_outl(unsigned long val, unsigned int addr)
|
||||
{
|
||||
*((volatile unsigned long *) addr) =
|
||||
((val << 8) & 0xff000000) | ((val >> 8) & 0x00ff0000) |
|
||||
((val << 8) & 0x0000ff00) | ((val >> 8) & 0x000000ff);
|
||||
}
|
||||
|
||||
static inline void smc_outwd(unsigned int val, unsigned int addr)
|
||||
{
|
||||
*((volatile unsigned short *) addr) = val;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* The rep* functions are used to feed the data port with
|
||||
* raw data. So we do not byte swap them when copying.
|
||||
*/
|
||||
|
||||
static inline void smc_insb(unsigned int addr, void *vbuf, int unsigned long len)
|
||||
{
|
||||
volatile unsigned short *rp;
|
||||
unsigned short *buf, *ebuf;
|
||||
|
||||
buf = (unsigned short *) vbuf;
|
||||
rp = (volatile unsigned short *) addr;
|
||||
|
||||
/* Copy as words for as long as possible */
|
||||
for (ebuf = buf + (len >> 1); (buf < ebuf); )
|
||||
*buf++ = *rp;
|
||||
|
||||
/* Lastly, handle left over byte */
|
||||
if (len & 0x1)
|
||||
*((unsigned char *) buf) = (*rp >> 8) & 0xff;
|
||||
}
|
||||
|
||||
static inline void smc_insw(unsigned int addr, void *vbuf, unsigned long len)
|
||||
{
|
||||
volatile unsigned short *rp;
|
||||
unsigned short *buf, *ebuf;
|
||||
|
||||
buf = (unsigned short *) vbuf;
|
||||
rp = (volatile unsigned short *) addr;
|
||||
for (ebuf = buf + len; (buf < ebuf); )
|
||||
*buf++ = *rp;
|
||||
}
|
||||
|
||||
static inline void smc_insl(unsigned int addr, void *vbuf, unsigned long len)
|
||||
{
|
||||
volatile unsigned long *rp;
|
||||
unsigned long *buf, *ebuf;
|
||||
|
||||
buf = (unsigned long *) vbuf;
|
||||
rp = (volatile unsigned long *) addr;
|
||||
for (ebuf = buf + len; (buf < ebuf); )
|
||||
*buf++ = *rp;
|
||||
}
|
||||
|
||||
static inline void smc_outsw(unsigned int addr, const void *vbuf, unsigned long len)
|
||||
{
|
||||
volatile unsigned short *rp;
|
||||
unsigned short *buf, *ebuf;
|
||||
|
||||
buf = (unsigned short *) vbuf;
|
||||
rp = (volatile unsigned short *) addr;
|
||||
for (ebuf = buf + len; (buf < ebuf); )
|
||||
*rp = *buf++;
|
||||
}
|
||||
|
||||
static inline void smc_outsl(unsigned int addr, void *vbuf, unsigned long len)
|
||||
{
|
||||
volatile unsigned long *rp;
|
||||
unsigned long *buf, *ebuf;
|
||||
|
||||
buf = (unsigned long *) vbuf;
|
||||
rp = (volatile unsigned long *) addr;
|
||||
for (ebuf = buf + len; (buf < ebuf); )
|
||||
*rp = *buf++;
|
||||
}
|
||||
|
||||
|
||||
#ifdef CONFIG_NETtel
|
||||
/*
|
||||
* Re-map the address space of at least one of the SMC ethernet
|
||||
* parts. Both parts power up decoding the same address, so we
|
||||
* need to move one of them first, before doing enything else.
|
||||
*
|
||||
* We also increase the number of wait states for this part by one.
|
||||
*/
|
||||
|
||||
void smc_remap(unsigned int ioaddr)
|
||||
{
|
||||
static int once = 0;
|
||||
extern unsigned short ppdata;
|
||||
if (once++ == 0) {
|
||||
*((volatile unsigned short *)MCFSIM_PADDR) = 0x00ec;
|
||||
ppdata |= 0x0080;
|
||||
*((volatile unsigned short *)MCFSIM_PADAT) = ppdata;
|
||||
outw(0x0001, ioaddr + BANK_SELECT);
|
||||
outw(0x0001, ioaddr + BANK_SELECT);
|
||||
outw(0x0067, ioaddr + BASE);
|
||||
|
||||
ppdata &= ~0x0080;
|
||||
*((volatile unsigned short *)MCFSIM_PADAT) = ppdata;
|
||||
}
|
||||
|
||||
*((volatile unsigned short *)(MCF_MBAR+MCFSIM_CSCR3)) = 0x1180;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/****************************************************************************/
|
||||
#endif /* mcfsmc_h */
|
Loading…
Reference in New Issue
Block a user