mirror of
https://github.com/torvalds/linux.git
synced 2024-11-13 23:51:39 +00:00
110 lines
3.1 KiB
C
110 lines
3.1 KiB
C
|
/****************************************************************************/
|
||
|
|
||
|
/*
|
||
|
* nettel.h -- Lineo (formerly Moreton Bay) NETtel support.
|
||
|
*
|
||
|
* (C) Copyright 1999-2000, Moreton Bay (www.moretonbay.com)
|
||
|
* (C) Copyright 2000-2001, Lineo Inc. (www.lineo.com)
|
||
|
* (C) Copyright 2001-2002, SnapGear Inc., (www.snapgear.com)
|
||
|
*/
|
||
|
|
||
|
/****************************************************************************/
|
||
|
#ifndef nettel_h
|
||
|
#define nettel_h
|
||
|
/****************************************************************************/
|
||
|
|
||
|
#include <linux/config.h>
|
||
|
|
||
|
/****************************************************************************/
|
||
|
#ifdef CONFIG_NETtel
|
||
|
/****************************************************************************/
|
||
|
|
||
|
#ifdef CONFIG_COLDFIRE
|
||
|
#include <asm/coldfire.h>
|
||
|
#include <asm/mcfsim.h>
|
||
|
#endif
|
||
|
|
||
|
/*---------------------------------------------------------------------------*/
|
||
|
#if defined(CONFIG_M5307)
|
||
|
/*
|
||
|
* NETtel/5307 based hardware first. DTR/DCD lines are wired to
|
||
|
* GPIO lines. Most of the LED's are driver through a latch
|
||
|
* connected to CS2.
|
||
|
*/
|
||
|
#define MCFPP_DCD1 0x0001
|
||
|
#define MCFPP_DCD0 0x0002
|
||
|
#define MCFPP_DTR1 0x0004
|
||
|
#define MCFPP_DTR0 0x0008
|
||
|
|
||
|
#define NETtel_LEDADDR 0x30400000
|
||
|
|
||
|
#ifndef __ASSEMBLY__
|
||
|
|
||
|
extern volatile unsigned short ppdata;
|
||
|
|
||
|
/*
|
||
|
* These functions defined to give quasi generic access to the
|
||
|
* PPIO bits used for DTR/DCD.
|
||
|
*/
|
||
|
static __inline__ unsigned int mcf_getppdata(void)
|
||
|
{
|
||
|
volatile unsigned short *pp;
|
||
|
pp = (volatile unsigned short *) (MCF_MBAR + MCFSIM_PADAT);
|
||
|
return((unsigned int) *pp);
|
||
|
}
|
||
|
|
||
|
static __inline__ void mcf_setppdata(unsigned int mask, unsigned int bits)
|
||
|
{
|
||
|
volatile unsigned short *pp;
|
||
|
pp = (volatile unsigned short *) (MCF_MBAR + MCFSIM_PADAT);
|
||
|
ppdata = (ppdata & ~mask) | bits;
|
||
|
*pp = ppdata;
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
/*---------------------------------------------------------------------------*/
|
||
|
#elif defined(CONFIG_M5206e)
|
||
|
/*
|
||
|
* NETtel/5206e based hardware has leds on latch on CS3.
|
||
|
* No support modem for lines??
|
||
|
*/
|
||
|
#define NETtel_LEDADDR 0x50000000
|
||
|
|
||
|
/*---------------------------------------------------------------------------*/
|
||
|
#elif defined(CONFIG_M5272)
|
||
|
/*
|
||
|
* NETtel/5272 based hardware. DTR/DCD lines are wired to GPB lines.
|
||
|
*/
|
||
|
#define MCFPP_DCD0 0x0080
|
||
|
#define MCFPP_DCD1 0x0000 /* Port 1 no DCD support */
|
||
|
#define MCFPP_DTR0 0x0040
|
||
|
#define MCFPP_DTR1 0x0000 /* Port 1 no DTR support */
|
||
|
|
||
|
#ifndef __ASSEMBLY__
|
||
|
/*
|
||
|
* These functions defined to give quasi generic access to the
|
||
|
* PPIO bits used for DTR/DCD.
|
||
|
*/
|
||
|
static __inline__ unsigned int mcf_getppdata(void)
|
||
|
{
|
||
|
volatile unsigned short *pp;
|
||
|
pp = (volatile unsigned short *) (MCF_MBAR + MCFSIM_PBDAT);
|
||
|
return((unsigned int) *pp);
|
||
|
}
|
||
|
|
||
|
static __inline__ void mcf_setppdata(unsigned int mask, unsigned int bits)
|
||
|
{
|
||
|
volatile unsigned short *pp;
|
||
|
pp = (volatile unsigned short *) (MCF_MBAR + MCFSIM_PBDAT);
|
||
|
*pp = (*pp & ~mask) | bits;
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
#endif
|
||
|
/*---------------------------------------------------------------------------*/
|
||
|
|
||
|
/****************************************************************************/
|
||
|
#endif /* CONFIG_NETtel */
|
||
|
/****************************************************************************/
|
||
|
#endif /* nettel_h */
|