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