ide.h
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:1k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

  1. /*
  2.  * linux/include/asm-arm/arch-anakin/ide.h
  3.  *
  4.  * Copyright 2001 Blue Mug Inc. for Acunia N.V.
  5.  *
  6.  * 08-jun-2001: Initial clone of arch-sa1100/ide.h by Jon McClintock
  7.  *              (jonm@bluemug.com).
  8.  */
  9.  
  10. #include <asm/irq.h>
  11. #include <asm/hardware.h>
  12. /*
  13.  * Set up a hw structure for a specified data port, control port and IRQ.
  14.  * This should follow whatever the default interface uses.
  15.  */
  16. static __inline__ void
  17. ide_init_hwif_ports(hw_regs_t *hw, int data_port, int ctrl_port, int *irq)
  18. {
  19. ide_ioreg_t reg;
  20. int i;
  21. int regincr = 4;
  22. memset(hw, 0, sizeof(*hw));
  23. reg = (ide_ioreg_t)data_port;
  24. for (i = IDE_DATA_OFFSET; i <= IDE_STATUS_OFFSET; i++) {
  25. hw->io_ports[i] = reg;
  26. reg += regincr;
  27. }
  28. hw->io_ports[IDE_CONTROL_OFFSET] = (ide_ioreg_t) ctrl_port;
  29. if (irq)
  30. *irq = 0;
  31. }
  32. /*
  33.  * This registers the standard ports for this architecture with the IDE
  34.  * driver.
  35.  */
  36. static __inline__ void
  37. ide_init_default_hwifs(void)
  38. {
  39.     hw_regs_t hw;
  40.     ide_init_hwif_ports(&hw, IO_BASE + COMPACTFLASH, 
  41.      IO_BASE + COMPACTFLASH + IDE_CONTROL_OFFSET, NULL);
  42.     hw.irq = IRQ_COMPACTFLASH;
  43.     ide_register_hw(&hw, NULL);
  44. }