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

嵌入式Linux

开发平台:

Unix_Linux

  1. /*
  2.  *  linux/include/asm-arm/arch-ebsa285/io.h
  3.  *
  4.  *  Copyright (C) 1997-1999 Russell King
  5.  *
  6.  * This program is free software; you can redistribute it and/or modify
  7.  * it under the terms of the GNU General Public License version 2 as
  8.  * published by the Free Software Foundation.
  9.  *
  10.  *  Modifications:
  11.  *   06-12-1997 RMK Created.
  12.  *   07-04-1999 RMK Major cleanup
  13.  */
  14. #ifndef __ASM_ARM_ARCH_IO_H
  15. #define __ASM_ARM_ARCH_IO_H
  16. #define IO_SPACE_LIMIT 0xffff
  17. /*
  18.  * Translation of various region addresses to virtual addresses
  19.  */
  20. #define __io(a) (PCIO_BASE + (a))
  21. #if 1
  22. #define __mem_pci(a) ((unsigned long)(a))
  23. #define __mem_isa(a) (PCIMEM_BASE + (unsigned long)(a))
  24. #else
  25. static inline unsigned long ___mem_pci(unsigned long a)
  26. {
  27. if (a <= 0xc0000000 || a >= 0xe0000000)
  28. BUG();
  29. return a;
  30. }
  31. static inline unsigned long ___mem_isa(unsigned long a)
  32. {
  33. if (a >= 16*1048576)
  34. BUG();
  35. return PCIMEM_BASE + a;
  36. }
  37. #define __mem_pci(a) ___mem_pci((unsigned long)(a))
  38. #define __mem_isa(a) ___mem_isa((unsigned long)(a))
  39. #endif
  40. /*
  41.  * Generic virtual read/write
  42.  */
  43. #define __arch_getw(a) (*(volatile unsigned short *)(a))
  44. #define __arch_putw(v,a) (*(volatile unsigned short *)(a) = (v))
  45. #define iomem_valid_addr(iomem,sz) (1)
  46. #define iomem_to_phys(iomem) (iomem)
  47. #endif