Pull ec into test branch
[linux-2.6-block.git] / include / asm-m32r / ide.h
CommitLineData
1da177e4
LT
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
1da177e4
LT
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
ad09d583
HT
27#include <asm/m32r.h>
28
1da177e4
LT
29
30#define IDE_ARCH_OBSOLETE_DEFAULTS
31
32static __inline__ int ide_default_irq(unsigned long base)
33{
34 switch (base) {
d93f7de8
HT
35#if defined(CONFIG_PLAT_M32700UT) || defined(CONFIG_PLAT_MAPPI2) \
36 || defined(CONFIG_PLAT_OPSPUT)
ad09d583
HT
37 case 0x1f0: return PLD_IRQ_CFIREQ;
38 default:
39 return 0;
40#elif defined(CONFIG_PLAT_MAPPI3)
1da177e4 41 case 0x1f0: return PLD_IRQ_CFIREQ;
ad09d583 42 case 0x170: return PLD_IRQ_IDEIREQ;
1da177e4
LT
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
58static __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 */