blob: f7aa96970d180c7389a272ea0b8b583ca1ca8325 [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
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
Hirokazu Takataad09d582005-11-28 13:44:00 -080028#include <asm/m32r.h>
29
Linus Torvalds1da177e2005-04-16 15:20:36 -070030
31#define IDE_ARCH_OBSOLETE_DEFAULTS
32
33static __inline__ int ide_default_irq(unsigned long base)
34{
35 switch (base) {
Hirokazu Takataad09d582005-11-28 13:44:00 -080036#if defined(CONFIG_PLAT_M32700UT) || defined(CONFIG_PLAT_MAPPI2)
Linus Torvalds1da177e2005-04-16 15:20:36 -070037 case 0x1f0: return PLD_IRQ_CFIREQ;
38 default:
39 return 0;
Hirokazu Takataad09d582005-11-28 13:44:00 -080040#elif defined(CONFIG_PLAT_MAPPI3)
41 case 0x1f0: return PLD_IRQ_CFIREQ;
42 case 0x170: return PLD_IRQ_IDEIREQ;
43 default:
44 return 0;
Linus Torvalds1da177e2005-04-16 15:20:36 -070045#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 */