This commit was manufactured by cvs2svn to create branch 'vserver'.
[linux-2.6.git] / include / asm-h8300 / edosk2674 / machine-depend.h
1 /* EDOSK2674 board depend header */
2
3 /* TIMER rate define */
4 #ifdef H8300_TIMER_DEFINE
5 #define H8300_TIMER_COUNT_DATA 33000*10/8192
6 #define H8300_TIMER_FREQ 33000*1000/8192
7 #endif
8
9 /* EDOSK-2674R SMSC Network Controler Target Depend impliments */
10 #ifdef H8300_SMSC_DEFINE
11
12 #define SMSC_BASE 0xf80000
13 #define SMSC_IRQ 16
14
15 /* sorry quick hack */
16 #if defined(outw)
17 # undef outw
18 #endif
19 #define outw(d,a) edosk2674_smsc_outw(d,(volatile unsigned short *)(a))
20 #if defined(inw)
21 # undef inw
22 #endif
23 #define inw(a) edosk2674_smsc_inw((volatile unsigned short *)(a))
24 #if defined(outsw)
25 # undef outsw
26 #endif
27 #define outsw(a,p,l) edosk2674_smsc_outsw((volatile unsigned short *)(a),p,l)
28 #if defined(insw)
29 # undef insw
30 #endif
31 #define insw(a,p,l) edosk2674_smsc_insw((volatile unsigned short *)(a),p,l)
32
33 static inline void edosk2674_smsc_outw(
34         unsigned short d,
35         volatile unsigned short *a
36         )
37 {
38         *a = (d >> 8) | (d << 8);
39 }
40
41 static inline unsigned short edosk2674_smsc_inw(
42         volatile unsigned short *a
43         )
44 {
45         unsigned short d;
46         d = *a;
47         return (d >> 8) | (d << 8);
48 }
49
50 static inline void edosk2674_smsc_outsw(
51         volatile unsigned short *a,
52         unsigned short *p,
53         unsigned long l
54         )
55 {
56         for (; l != 0; --l, p++)
57                 *a = *p;
58 }
59
60 static inline void edosk2674_smsc_insw(
61         volatile unsigned short *a,
62         unsigned short *p,
63         unsigned long l
64         )
65 {
66         for (; l != 0; --l, p++)
67                 *p = *a;
68 }
69
70 #endif