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