hardware.h 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. /*
  2. * linux/include/asm-arm/arch-pxa/hardware.h
  3. *
  4. * Author: Nicolas Pitre
  5. * Created: Jun 15, 2001
  6. * Copyright: MontaVista Software Inc.
  7. *
  8. * This program is free software; you can redistribute it and/or modify
  9. * it under the terms of the GNU General Public License version 2 as
  10. * published by the Free Software Foundation.
  11. *
  12. * Note: This file was taken from linux-2.4.19-rmk4-pxa1
  13. *
  14. * - 2003/01/20 implementation specifics activated
  15. * Robert Schwebel <r.schwebel@pengutronix.de>
  16. */
  17. #ifndef __ASM_ARCH_HARDWARE_H
  18. #define __ASM_ARCH_HARDWARE_H
  19. #include <asm/mach-types.h>
  20. /*
  21. * Define CONFIG_CPU_MONAHANS in case some CPU of the PXA3xx family is selected.
  22. * PXA300/310/320 all have distinct register mappings in some cases, that's why
  23. * the exact CPU has to be selected. CONFIG_CPU_MONAHANS is a helper for common
  24. * drivers and compatibility glue with old source then.
  25. */
  26. #ifndef CONFIG_CPU_MONAHANS
  27. #if defined(CONFIG_CPU_PXA300) || \
  28. defined(CONFIG_CPU_PXA310) || \
  29. defined(CONFIG_CPU_PXA320)
  30. #define CONFIG_CPU_MONAHANS
  31. #endif
  32. #endif
  33. /*
  34. * These are statically mapped PCMCIA IO space for designs using it as a
  35. * generic IO bus, typically with ISA parts, hardwired IDE interfaces, etc.
  36. * The actual PCMCIA code is mapping required IO region at run time.
  37. */
  38. #define PCMCIA_IO_0_BASE 0xf6000000
  39. #define PCMCIA_IO_1_BASE 0xf7000000
  40. /*
  41. * We requires absolute addresses.
  42. */
  43. #define PCIO_BASE 0
  44. /*
  45. * Workarounds for at least 2 errata so far require this.
  46. * The mapping is set in mach-pxa/generic.c.
  47. */
  48. #define UNCACHED_PHYS_0 0xff000000
  49. #define UNCACHED_ADDR UNCACHED_PHYS_0
  50. /*
  51. * Intel PXA internal I/O mappings:
  52. *
  53. * 0x40000000 - 0x41ffffff <--> 0xf8000000 - 0xf9ffffff
  54. * 0x44000000 - 0x45ffffff <--> 0xfa000000 - 0xfbffffff
  55. * 0x48000000 - 0x49ffffff <--> 0xfc000000 - 0xfdffffff
  56. */
  57. #include "pxa-regs.h"
  58. #ifndef __ASSEMBLY__
  59. /*
  60. * GPIO edge detection for IRQs:
  61. * IRQs are generated on Falling-Edge, Rising-Edge, or both.
  62. * This must be called *before* the corresponding IRQ is registered.
  63. * Use this instead of directly setting GRER/GFER.
  64. */
  65. #define GPIO_FALLING_EDGE 1
  66. #define GPIO_RISING_EDGE 2
  67. #define GPIO_BOTH_EDGES 3
  68. #endif
  69. /*
  70. * Implementation specifics
  71. */
  72. #ifdef CONFIG_ARCH_LUBBOCK
  73. #include "lubbock.h"
  74. #endif
  75. #ifdef CONFIG_ARCH_PXA_IDP
  76. #include "idp.h"
  77. #endif
  78. #ifdef CONFIG_ARCH_PXA_CERF
  79. #include "cerf.h"
  80. #endif
  81. #ifdef CONFIG_ARCH_CSB226
  82. #include "csb226.h"
  83. #endif
  84. #ifdef CONFIG_ARCH_INNOKOM
  85. #include "innokom.h"
  86. #endif
  87. #ifdef CONFIG_ARCH_PLEB
  88. #include "pleb.h"
  89. #endif
  90. #endif /* _ASM_ARCH_HARDWARE_H */