1 /* H8MAX board depend header */
3 /* TIMER rate define */
4 #ifdef H8300_TIMER_DEFINE
5 #define H8300_TIMER_COUNT_DATA 25000*10/8192
6 #define H8300_TIMER_FREQ 25000*1000/8192
9 /* H8MAX RTL8019AS Config */
10 #ifdef H8300_NE_DEFINE
12 #define NE2000_ADDR 0x800600
14 #define NE2000_IRQ_VECTOR (12 + NE2000_IRQ)
15 #define NE2000_BYTE volatile unsigned short
17 /* sorry quick hack */
21 #define outb(d,a) h8max_outb((d),(a) - NE2000_ADDR)
25 #define inb(a) h8max_inb((a) - NE2000_ADDR)
29 #define outb_p(d,a) h8max_outb((d),(a) - NE2000_ADDR)
33 #define inb_p(a) h8max_inb((a) - NE2000_ADDR)
37 #define outsw(a,p,l) h8max_outsw((a) - NE2000_ADDR,(unsigned short *)p,l)
41 #define insw(a,p,l) h8max_insw((a) - NE2000_ADDR,(unsigned short *)p,l)
45 #define outsb(a,p,l) h8max_outsb((a) - NE2000_ADDR,(unsigned char *)p,l)
49 #define insb(a,p,l) h8max_insb((a) - NE2000_ADDR,(unsigned char *)p,l)
51 #define H8300_INIT_NE() \
54 h8max_outb(0x49, ioaddr + EN0_DCFG); \
55 SA_prom[14] = SA_prom[15] = 0x57;\
58 static inline void h8max_outb(unsigned char d,unsigned char a)
60 *(unsigned short *)(NE2000_ADDR + (a << 1)) = d;
63 static inline unsigned char h8max_inb(unsigned char a)
65 return *(unsigned char *)(NE2000_ADDR + (a << 1) +1);
68 static inline void h8max_outsw(unsigned char a,unsigned short *p,unsigned long l)
71 for (; l != 0; --l, p++) {
72 d = (((*p) >> 8) & 0xff) | ((*p) << 8);
73 *(unsigned short *)(NE2000_ADDR + (a << 1)) = d;
77 static inline void h8max_insw(unsigned char a,unsigned short *p,unsigned long l)
80 for (; l != 0; --l, p++) {
81 d = *(unsigned short *)(NE2000_ADDR + (a << 1));
82 *p = (d << 8)|((d >> 8) & 0xff);
86 static inline void h8max_outsb(unsigned char a,unsigned char *p,unsigned long l)
88 for (; l != 0; --l, p++) {
89 *(unsigned short *)(NE2000_ADDR + (a << 1)) = *p;
93 static inline void h8max_insb(unsigned char a,unsigned char *p,unsigned long l)
95 for (; l != 0; --l, p++) {
96 *p = *((unsigned char *)(NE2000_ADDR + (a << 1))+1);