xref: /openbmc/linux/arch/m68k/include/asm/mcf8390.h (revision 064bff1c)
12c624880SGreg Ungerer /****************************************************************************/
22c624880SGreg Ungerer 
32c624880SGreg Ungerer /*
42c624880SGreg Ungerer  *	mcf8390.h -- NS8390 support for ColdFire eval boards.
52c624880SGreg Ungerer  *
62c624880SGreg Ungerer  *	(C) Copyright 1999-2000, Greg Ungerer (gerg@snapgear.com)
72c624880SGreg Ungerer  *	(C) Copyright 2000,      Lineo (www.lineo.com)
82c624880SGreg Ungerer  *	(C) Copyright 2001,      SnapGear (www.snapgear.com)
92c624880SGreg Ungerer  *
102c624880SGreg Ungerer  *      19990409 David W. Miller  Converted from m5206ne.h for 5307 eval board
112c624880SGreg Ungerer  *
122c624880SGreg Ungerer  *      Hacked support for m5206e Cadre III evaluation board
132c624880SGreg Ungerer  *      Fred Stevens (fred.stevens@pemstar.com) 13 April 1999
142c624880SGreg Ungerer  */
152c624880SGreg Ungerer 
162c624880SGreg Ungerer /****************************************************************************/
172c624880SGreg Ungerer #ifndef	mcf8390_h
182c624880SGreg Ungerer #define	mcf8390_h
192c624880SGreg Ungerer /****************************************************************************/
202c624880SGreg Ungerer 
212c624880SGreg Ungerer 
222c624880SGreg Ungerer /*
232c624880SGreg Ungerer  *	Support for NE2000 clones devices in ColdFire based boards.
242c624880SGreg Ungerer  *	Not all boards address these parts the same way, some use a
252c624880SGreg Ungerer  *	direct addressing method, others use a side-band address space
262c624880SGreg Ungerer  *	to access odd address registers, some require byte swapping
272c624880SGreg Ungerer  *	others do not.
282c624880SGreg Ungerer  */
292c624880SGreg Ungerer #define	BSWAP(w)	(((w) << 8) | ((w) >> 8))
302c624880SGreg Ungerer #define	RSWAP(w)	(w)
312c624880SGreg Ungerer 
322c624880SGreg Ungerer 
332c624880SGreg Ungerer /*
342c624880SGreg Ungerer  *	Define the basic hardware resources of NE2000 boards.
352c624880SGreg Ungerer  */
362c624880SGreg Ungerer 
372c624880SGreg Ungerer #if defined(CONFIG_ARN5206)
382c624880SGreg Ungerer #define NE2000_ADDR		0x40000300
392c624880SGreg Ungerer #define NE2000_ODDOFFSET	0x00010000
40064bff1cSGreg Ungerer #define NE2000_ADDRSIZE		0x00020000
412c624880SGreg Ungerer #define	NE2000_IRQ_VECTOR	0xf0
422c624880SGreg Ungerer #define	NE2000_IRQ_PRIORITY	2
432c624880SGreg Ungerer #define	NE2000_IRQ_LEVEL	4
442c624880SGreg Ungerer #define	NE2000_BYTE		volatile unsigned short
452c624880SGreg Ungerer #endif
462c624880SGreg Ungerer 
472c624880SGreg Ungerer #if defined(CONFIG_M5206eC3)
482c624880SGreg Ungerer #define	NE2000_ADDR		0x40000300
492c624880SGreg Ungerer #define	NE2000_ODDOFFSET	0x00010000
50064bff1cSGreg Ungerer #define	NE2000_ADDRSIZE		0x00020000
512c624880SGreg Ungerer #define	NE2000_IRQ_VECTOR	0x1c
522c624880SGreg Ungerer #define	NE2000_IRQ_PRIORITY	2
532c624880SGreg Ungerer #define	NE2000_IRQ_LEVEL	4
542c624880SGreg Ungerer #define	NE2000_BYTE		volatile unsigned short
552c624880SGreg Ungerer #endif
562c624880SGreg Ungerer 
572c624880SGreg Ungerer #if defined(CONFIG_M5206e) && defined(CONFIG_NETtel)
582c624880SGreg Ungerer #define NE2000_ADDR		0x30000300
59064bff1cSGreg Ungerer #define NE2000_ADDRSIZE		0x00001000
602c624880SGreg Ungerer #define NE2000_IRQ_VECTOR	25
612c624880SGreg Ungerer #define NE2000_IRQ_PRIORITY	1
622c624880SGreg Ungerer #define NE2000_IRQ_LEVEL	3
632c624880SGreg Ungerer #define	NE2000_BYTE		volatile unsigned char
642c624880SGreg Ungerer #endif
652c624880SGreg Ungerer 
662c624880SGreg Ungerer #if defined(CONFIG_M5307C3)
672c624880SGreg Ungerer #define NE2000_ADDR		0x40000300
682c624880SGreg Ungerer #define NE2000_ODDOFFSET	0x00010000
69064bff1cSGreg Ungerer #define NE2000_ADDRSIZE		0x00020000
702c624880SGreg Ungerer #define NE2000_IRQ_VECTOR	0x1b
712c624880SGreg Ungerer #define	NE2000_BYTE		volatile unsigned short
722c624880SGreg Ungerer #endif
732c624880SGreg Ungerer 
742c624880SGreg Ungerer #if defined(CONFIG_M5272) && defined(CONFIG_NETtel)
752c624880SGreg Ungerer #define NE2000_ADDR		0x30600300
762c624880SGreg Ungerer #define NE2000_ODDOFFSET	0x00008000
77064bff1cSGreg Ungerer #define NE2000_ADDRSIZE		0x00010000
782c624880SGreg Ungerer #define NE2000_IRQ_VECTOR	67
792c624880SGreg Ungerer #undef	BSWAP
802c624880SGreg Ungerer #define	BSWAP(w)		(w)
812c624880SGreg Ungerer #define	NE2000_BYTE		volatile unsigned short
822c624880SGreg Ungerer #undef	RSWAP
832c624880SGreg Ungerer #define	RSWAP(w)		(((w) << 8) | ((w) >> 8))
842c624880SGreg Ungerer #endif
852c624880SGreg Ungerer 
862c624880SGreg Ungerer #if defined(CONFIG_M5307) && defined(CONFIG_NETtel)
872c624880SGreg Ungerer #define NE2000_ADDR0		0x30600300
882c624880SGreg Ungerer #define NE2000_ADDR1		0x30800300
892c624880SGreg Ungerer #define NE2000_ODDOFFSET	0x00008000
90064bff1cSGreg Ungerer #define NE2000_ADDRSIZE		0x00010000
912c624880SGreg Ungerer #define NE2000_IRQ_VECTOR0	27
922c624880SGreg Ungerer #define NE2000_IRQ_VECTOR1	29
932c624880SGreg Ungerer #undef	BSWAP
942c624880SGreg Ungerer #define	BSWAP(w)		(w)
952c624880SGreg Ungerer #define	NE2000_BYTE		volatile unsigned short
962c624880SGreg Ungerer #undef	RSWAP
972c624880SGreg Ungerer #define	RSWAP(w)		(((w) << 8) | ((w) >> 8))
982c624880SGreg Ungerer #endif
992c624880SGreg Ungerer 
1002c624880SGreg Ungerer #if defined(CONFIG_M5307) && defined(CONFIG_SECUREEDGEMP3)
1012c624880SGreg Ungerer #define NE2000_ADDR		0x30600300
1022c624880SGreg Ungerer #define NE2000_ODDOFFSET	0x00008000
103064bff1cSGreg Ungerer #define NE2000_ADDRSIZE		0x00010000
1042c624880SGreg Ungerer #define NE2000_IRQ_VECTOR	27
1052c624880SGreg Ungerer #undef	BSWAP
1062c624880SGreg Ungerer #define	BSWAP(w)		(w)
1072c624880SGreg Ungerer #define	NE2000_BYTE		volatile unsigned short
1082c624880SGreg Ungerer #undef	RSWAP
1092c624880SGreg Ungerer #define	RSWAP(w)		(((w) << 8) | ((w) >> 8))
1102c624880SGreg Ungerer #endif
1112c624880SGreg Ungerer 
1122c624880SGreg Ungerer #if defined(CONFIG_ARN5307)
1132c624880SGreg Ungerer #define NE2000_ADDR		0xfe600300
1142c624880SGreg Ungerer #define NE2000_ODDOFFSET	0x00010000
115064bff1cSGreg Ungerer #define NE2000_ADDRSIZE		0x00020000
1162c624880SGreg Ungerer #define NE2000_IRQ_VECTOR	0x1b
1172c624880SGreg Ungerer #define NE2000_IRQ_PRIORITY	2
1182c624880SGreg Ungerer #define NE2000_IRQ_LEVEL	3
1192c624880SGreg Ungerer #define	NE2000_BYTE		volatile unsigned short
1202c624880SGreg Ungerer #endif
1212c624880SGreg Ungerer 
1222c624880SGreg Ungerer #if defined(CONFIG_M5407C3)
1232c624880SGreg Ungerer #define NE2000_ADDR		0x40000300
1242c624880SGreg Ungerer #define NE2000_ODDOFFSET	0x00010000
125064bff1cSGreg Ungerer #define NE2000_ADDRSIZE		0x00020000
1262c624880SGreg Ungerer #define NE2000_IRQ_VECTOR	0x1b
1272c624880SGreg Ungerer #define	NE2000_BYTE		volatile unsigned short
1282c624880SGreg Ungerer #endif
1292c624880SGreg Ungerer 
1302c624880SGreg Ungerer /****************************************************************************/
1312c624880SGreg Ungerer #endif	/* mcf8390_h */
132