1*b2441318SGreg 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