hardware.h 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  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 <linux/config.h>
  20. #include <asm/mach-types.h>
  21. /*
  22. * Define CONFIG_CPU_MONAHANS in case some CPU of the PXA3xx family is selected.
  23. * PXA300/310/320 all have distinct register mappings in some cases, that's why
  24. * the exact CPU has to be selected. CONFIG_CPU_MONAHANS is a helper for common
  25. * drivers and compatibility glue with old source then.
  26. */
  27. #ifndef CONFIG_CPU_MONAHANS
  28. #if defined(CONFIG_CPU_PXA300) || \
  29. defined(CONFIG_CPU_PXA310) || \
  30. defined(CONFIG_CPU_PXA320)
  31. #define CONFIG_CPU_MONAHANS
  32. #endif
  33. #endif
  34. /*
  35. * These are statically mapped PCMCIA IO space for designs using it as a
  36. * generic IO bus, typically with ISA parts, hardwired IDE interfaces, etc.
  37. * The actual PCMCIA code is mapping required IO region at run time.
  38. */
  39. #define PCMCIA_IO_0_BASE 0xf6000000
  40. #define PCMCIA_IO_1_BASE 0xf7000000
  41. /*
  42. * We requires absolute addresses.
  43. */
  44. #define PCIO_BASE 0
  45. /*
  46. * Workarounds for at least 2 errata so far require this.
  47. * The mapping is set in mach-pxa/generic.c.
  48. */
  49. #define UNCACHED_PHYS_0 0xff000000
  50. #define UNCACHED_ADDR UNCACHED_PHYS_0
  51. /*
  52. * Intel PXA internal I/O mappings:
  53. *
  54. * 0x40000000 - 0x41ffffff <--> 0xf8000000 - 0xf9ffffff
  55. * 0x44000000 - 0x45ffffff <--> 0xfa000000 - 0xfbffffff
  56. * 0x48000000 - 0x49ffffff <--> 0xfc000000 - 0xfdffffff
  57. */
  58. #include "pxa-regs.h"
  59. #ifndef __ASSEMBLY__
  60. /*
  61. * GPIO edge detection for IRQs:
  62. * IRQs are generated on Falling-Edge, Rising-Edge, or both.
  63. * This must be called *before* the corresponding IRQ is registered.
  64. * Use this instead of directly setting GRER/GFER.
  65. */
  66. #define GPIO_FALLING_EDGE 1
  67. #define GPIO_RISING_EDGE 2
  68. #define GPIO_BOTH_EDGES 3
  69. #endif
  70. /*
  71. * Implementation specifics
  72. */
  73. #ifdef CONFIG_ARCH_LUBBOCK
  74. #include "lubbock.h"
  75. #endif
  76. #ifdef CONFIG_ARCH_PXA_IDP
  77. #include "idp.h"
  78. #endif
  79. #ifdef CONFIG_ARCH_PXA_CERF
  80. #include "cerf.h"
  81. #endif
  82. #ifdef CONFIG_ARCH_CSB226
  83. #include "csb226.h"
  84. #endif
  85. #ifdef CONFIG_ARCH_INNOKOM
  86. #include "innokom.h"
  87. #endif
  88. #ifdef CONFIG_ARCH_PLEB
  89. #include "pleb.h"
  90. #endif
  91. #endif /* _ASM_ARCH_HARDWARE_H */