blob: 219a0f74eff316e525e464c4c9c75f8f73040846 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#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
Linus Torvalds1da177e2005-04-16 15:20:36 -070018
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
Hirokazu Takataad09d582005-11-28 13:44:00 -080027#include <asm/m32r.h>
28
Linus Torvalds1da177e2005-04-16 15:20:36 -070029
30#define IDE_ARCH_OBSOLETE_DEFAULTS
31
32static __inline__ int ide_default_irq(unsigned long base)
33{
34 switch (base) {
Hirokazu Takataad09d582005-11-28 13:44:00 -080035#if defined(CONFIG_PLAT_M32700UT) || defined(CONFIG_PLAT_MAPPI2)
Linus Torvalds1da177e2005-04-16 15:20:36 -070036 case 0x1f0: return PLD_IRQ_CFIREQ;
37 default:
38 return 0;
Hirokazu Takataad09d582005-11-28 13:44:00 -080039#elif defined(CONFIG_PLAT_MAPPI3)
40 case 0x1f0: return PLD_IRQ_CFIREQ;
41 case 0x170: return PLD_IRQ_IDEIREQ;
42 default:
43 return 0;
Linus Torvalds1da177e2005-04-16 15:20:36 -070044#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
57static __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 */