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