1/* 2 * ARM/ARM26 default IDE host driver 3 * 4 * Copyright (C) 2004 Bartlomiej Zolnierkiewicz 5 * Based on code by: Russell King, Ian Molton and Alexander Schulz. 6 * 7 * May be copied or modified under the terms of the GNU General Public License. 8 */ 9 10#include <linux/kernel.h> 11#include <linux/init.h> 12#include <linux/ide.h> 13 14#include <asm/mach-types.h> 15#include <asm/irq.h> 16 17#ifdef CONFIG_ARM26 18# define IDE_ARM_HOST (machine_is_a5k()) 19#else 20# define IDE_ARM_HOST (1) 21#endif 22 23#ifdef CONFIG_ARCH_CLPS7500 24# include <asm/arch/hardware.h> 25# 26# define IDE_ARM_IO (ISASLOT_IO + 0x1f0) 27# define IDE_ARM_IRQ IRQ_ISA_14 28#else 29# define IDE_ARM_IO 0x1f0 30# define IDE_ARM_IRQ IRQ_HARDDISK 31#endif 32 33void __init ide_arm_init(void) 34{ 35 if (IDE_ARM_HOST) { 36 hw_regs_t hw; 37 38 memset(&hw, 0, sizeof(hw)); 39 ide_std_init_ports(&hw, IDE_ARM_IO, IDE_ARM_IO + 0x206); 40 hw.irq = IDE_ARM_IRQ; 41 ide_register_hw(&hw, 1, NULL); 42 } 43} 44