Merge branch 'master'
[linux-2.6] / include / asm-m32r / ide.h
1 #ifndef _ASM_M32R_IDE_H
2 #define _ASM_M32R_IDE_H
3
4 /* $Id$ */
5
6 /*
7  *  linux/include/asm-m32r/ide.h
8  *
9  *  Copyright (C) 1994-1996  Linus Torvalds & authors
10  */
11
12 /*
13  *  This file contains the i386 architecture specific IDE code.
14  */
15
16 #ifdef __KERNEL__
17
18 #include <linux/config.h>
19
20 #ifndef MAX_HWIFS
21 # ifdef CONFIG_BLK_DEV_IDEPCI
22 #define MAX_HWIFS       10
23 # else
24 #define MAX_HWIFS       2
25 # endif
26 #endif
27
28 #if defined(CONFIG_PLAT_M32700UT)
29 #include <asm/irq.h>
30 #include <asm/m32700ut/m32700ut_pld.h>
31 #endif
32
33 #define IDE_ARCH_OBSOLETE_DEFAULTS
34
35 static __inline__ int ide_default_irq(unsigned long base)
36 {
37         switch (base) {
38 #if defined(CONFIG_PLAT_M32700UT) || defined(CONFIG_PLAT_MAPPI2) || defined(CONFIG_PLAT_MAPPI3)
39                 case 0x1f0: return PLD_IRQ_CFIREQ;
40                 default:
41                         return 0;
42 #else
43                 case 0x1f0: return 14;
44                 case 0x170: return 15;
45                 case 0x1e8: return 11;
46                 case 0x168: return 10;
47                 case 0x1e0: return 8;
48                 case 0x160: return 12;
49                 default:
50                         return 0;
51 #endif
52         }
53 }
54
55 static __inline__ unsigned long ide_default_io_base(int index)
56 {
57         switch (index) {
58                 case 0: return 0x1f0;
59                 case 1: return 0x170;
60                 case 2: return 0x1e8;
61                 case 3: return 0x168;
62                 case 4: return 0x1e0;
63                 case 5: return 0x160;
64                 default:
65                         return 0;
66         }
67 }
68
69 #define IDE_ARCH_OBSOLETE_INIT
70 #define ide_default_io_ctl(base)        ((base) + 0x206) /* obsolete */
71
72 #ifdef CONFIG_BLK_DEV_IDEPCI
73 #define ide_init_default_irq(base)     (0)
74 #else
75 #define ide_init_default_irq(base)     ide_default_irq(base)
76 #endif
77
78 #include <asm-generic/ide_iops.h>
79
80 #endif /* __KERNEL__ */
81
82 #endif /* _ASM_M32R_IDE_H */