1/****************************************************************************/ 2 3/* 4 * nettel.h -- Lineo (formerly Moreton Bay) NETtel support. 5 * 6 * (C) Copyright 1999-2000, Moreton Bay (www.moretonbay.com) 7 * (C) Copyright 2000-2001, Lineo Inc. (www.lineo.com) 8 * (C) Copyright 2001-2002, SnapGear Inc., (www.snapgear.com) 9 */ 10 11/****************************************************************************/ 12#ifndef nettel_h 13#define nettel_h 14/****************************************************************************/ 15 16 17/****************************************************************************/ 18#ifdef CONFIG_NETtel 19/****************************************************************************/ 20 21#ifdef CONFIG_COLDFIRE 22#include <asm/coldfire.h> 23#include <asm/mcfsim.h> 24#endif 25 26/*---------------------------------------------------------------------------*/ 27#if defined(CONFIG_M5307) 28/* 29 * NETtel/5307 based hardware first. DTR/DCD lines are wired to 30 * GPIO lines. Most of the LED's are driver through a latch 31 * connected to CS2. 32 */ 33#define MCFPP_DCD1 0x0001 34#define MCFPP_DCD0 0x0002 35#define MCFPP_DTR1 0x0004 36#define MCFPP_DTR0 0x0008 37 38#define NETtel_LEDADDR 0x30400000 39 40#ifndef __ASSEMBLY__ 41 42extern volatile unsigned short ppdata; 43 44/* 45 * These functions defined to give quasi generic access to the 46 * PPIO bits used for DTR/DCD. 47 */ 48static __inline__ unsigned int mcf_getppdata(void) 49{ 50 volatile unsigned short *pp; 51 pp = (volatile unsigned short *) (MCF_MBAR + MCFSIM_PADAT); 52 return((unsigned int) *pp); 53} 54 55static __inline__ void mcf_setppdata(unsigned int mask, unsigned int bits) 56{ 57 volatile unsigned short *pp; 58 pp = (volatile unsigned short *) (MCF_MBAR + MCFSIM_PADAT); 59 ppdata = (ppdata & ~mask) | bits; 60 *pp = ppdata; 61} 62#endif 63 64/*---------------------------------------------------------------------------*/ 65#elif defined(CONFIG_M5206e) 66/* 67 * NETtel/5206e based hardware has leds on latch on CS3. 68 * No support modem for lines?? 69 */ 70#define NETtel_LEDADDR 0x50000000 71 72/*---------------------------------------------------------------------------*/ 73#elif defined(CONFIG_M5272) 74/* 75 * NETtel/5272 based hardware. DTR/DCD lines are wired to GPB lines. 76 */ 77#define MCFPP_DCD0 0x0080 78#define MCFPP_DCD1 0x0000 /* Port 1 no DCD support */ 79#define MCFPP_DTR0 0x0040 80#define MCFPP_DTR1 0x0000 /* Port 1 no DTR support */ 81 82#ifndef __ASSEMBLY__ 83/* 84 * These functions defined to give quasi generic access to the 85 * PPIO bits used for DTR/DCD. 86 */ 87static __inline__ unsigned int mcf_getppdata(void) 88{ 89 volatile unsigned short *pp; 90 pp = (volatile unsigned short *) (MCF_MBAR + MCFSIM_PBDAT); 91 return((unsigned int) *pp); 92} 93 94static __inline__ void mcf_setppdata(unsigned int mask, unsigned int bits) 95{ 96 volatile unsigned short *pp; 97 pp = (volatile unsigned short *) (MCF_MBAR + MCFSIM_PBDAT); 98 *pp = (*pp & ~mask) | bits; 99} 100#endif 101 102#endif 103/*---------------------------------------------------------------------------*/ 104 105/****************************************************************************/ 106#endif /* CONFIG_NETtel */ 107/****************************************************************************/ 108#endif /* nettel_h */ 109