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