at v2.6.15 85 lines 1.6 kB view raw
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#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 28#include <asm/m32r.h> 29 30 31#define IDE_ARCH_OBSOLETE_DEFAULTS 32 33static __inline__ int ide_default_irq(unsigned long base) 34{ 35 switch (base) { 36#if defined(CONFIG_PLAT_M32700UT) || defined(CONFIG_PLAT_MAPPI2) 37 case 0x1f0: return PLD_IRQ_CFIREQ; 38 default: 39 return 0; 40#elif defined(CONFIG_PLAT_MAPPI3) 41 case 0x1f0: return PLD_IRQ_CFIREQ; 42 case 0x170: return PLD_IRQ_IDEIREQ; 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 */