| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | /****************************************************************************/ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*
 | 
					
						
							|  |  |  |  *	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
 | 
					
						
							|  |  |  | /****************************************************************************/ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /****************************************************************************/ | 
					
						
							|  |  |  | #ifdef CONFIG_NETtel
 | 
					
						
							|  |  |  | /****************************************************************************/ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifdef CONFIG_COLDFIRE
 | 
					
						
							|  |  |  | #include <asm/coldfire.h>
 | 
					
						
							|  |  |  | #include <asm/mcfsim.h>
 | 
					
						
							| 
									
										
										
										
											2012-09-14 16:36:08 +10:00
										 |  |  | #include <asm/io.h>
 | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | #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; | 
					
						
							| 
									
										
										
										
											2009-06-19 18:11:12 -07:00
										 |  |  | 	pp = (volatile unsigned short *) MCFSIM_PADAT; | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 	return((unsigned int) *pp); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static __inline__ void mcf_setppdata(unsigned int mask, unsigned int bits) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	volatile unsigned short *pp; | 
					
						
							| 
									
										
										
										
											2009-06-19 18:11:12 -07:00
										 |  |  | 	pp = (volatile unsigned short *) MCFSIM_PADAT; | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 	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) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2012-09-14 16:36:08 +10:00
										 |  |  | 	return readw(MCFSIM_PBDAT); | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static __inline__ void mcf_setppdata(unsigned int mask, unsigned int bits) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2012-09-14 16:36:08 +10:00
										 |  |  | 	write((readw(MCFSIM_PBDAT) & ~mask) | bits, MCFSIM_PBDAT); | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | } | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | /*---------------------------------------------------------------------------*/ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /****************************************************************************/ | 
					
						
							|  |  |  | #endif /* CONFIG_NETtel */
 | 
					
						
							|  |  |  | /****************************************************************************/ | 
					
						
							|  |  |  | #endif	/* nettel_h */
 |