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 #include <asm/m32r.h>
29
30
31 #define IDE_ARCH_OBSOLETE_DEFAULTS
32
33 static __inline__ int ide_default_irq(unsigned long base)
34 {
35         switch (base) {
36 #if defined(CONFIG_PLAT_M32700UT) || defined(CONFIG_PLAT_MAPPI2)
37                 case 0x1f0: return PLD_IRQ_CFIREQ;
38                 default:
39                         return 0;
40 #elif defined(CONFIG_PLAT_MAPPI3)
41                 case 0x1f0: return PLD_IRQ_CFIREQ;
42                 case 0x170: return PLD_IRQ_IDEIREQ;
43                 default:
44                         return 0;
45 #else
46                 case 0x1f0: return 14;
47                 case 0x170: return 15;
48                 case 0x1e8: return 11;
49                 case 0x168: return 10;
50                 case 0x1e0: return 8;
51                 case 0x160: return 12;
52                 default:
53                         return 0;
54 #endif
55         }
56 }
57
58 static __inline__ unsigned long ide_default_io_base(int index)
59 {
60         switch (index) {
61                 case 0: return 0x1f0;
62                 case 1: return 0x170;
63                 case 2: return 0x1e8;
64                 case 3: return 0x168;
65                 case 4: return 0x1e0;
66                 case 5: return 0x160;
67                 default:
68                         return 0;
69         }
70 }
71
72 #define IDE_ARCH_OBSOLETE_INIT
73 #define ide_default_io_ctl(base)        ((base) + 0x206) /* obsolete */
74
75 #ifdef CONFIG_BLK_DEV_IDEPCI
76 #define ide_init_default_irq(base)     (0)
77 #else
78 #define ide_init_default_irq(base)     ide_default_irq(base)
79 #endif
80
81 #include <asm-generic/ide_iops.h>
82
83 #endif /* __KERNEL__ */
84
85 #endif /* _ASM_M32R_IDE_H */