spear.h 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. /*
  2. * arch/arm/mach-spear3xx/include/mach/spear.h
  3. *
  4. * SPEAr3xx Machine family specific definition
  5. *
  6. * Copyright (C) 2009 ST Microelectronics
  7. * Viresh Kumar<viresh.kumar@st.com>
  8. *
  9. * This file is licensed under the terms of the GNU General Public
  10. * License version 2. This program is licensed "as is" without any
  11. * warranty of any kind, whether express or implied.
  12. */
  13. #ifndef __MACH_SPEAR3XX_H
  14. #define __MACH_SPEAR3XX_H
  15. #include <mach/hardware.h>
  16. #include <mach/spear300.h>
  17. #include <mach/spear310.h>
  18. #include <mach/spear320.h>
  19. #define SPEAR3XX_ML_SDRAM_BASE 0x00000000
  20. #define SPEAR3XX_ML_SDRAM_SIZE 0x40000000
  21. #define SPEAR3XX_ICM9_BASE 0xC0000000
  22. #define SPEAR3XX_ICM9_SIZE 0x10000000
  23. /* ICM1 - Low speed connection */
  24. #define SPEAR3XX_ICM1_2_BASE 0xD0000000
  25. #define SPEAR3XX_ICM1_2_SIZE 0x10000000
  26. #define SPEAR3XX_ICM1_UART_BASE 0xD0000000
  27. #define VA_SPEAR3XX_ICM1_UART_BASE IO_ADDRESS(SPEAR3XX_ICM1_UART_BASE)
  28. #define SPEAR3XX_ICM1_UART_SIZE 0x00080000
  29. #define SPEAR3XX_ICM1_ADC_BASE 0xD0080000
  30. #define SPEAR3XX_ICM1_ADC_SIZE 0x00080000
  31. #define SPEAR3XX_ICM1_SSP_BASE 0xD0100000
  32. #define SPEAR3XX_ICM1_SSP_SIZE 0x00080000
  33. #define SPEAR3XX_ICM1_I2C_BASE 0xD0180000
  34. #define SPEAR3XX_ICM1_I2C_SIZE 0x00080000
  35. #define SPEAR3XX_ICM1_JPEG_BASE 0xD0800000
  36. #define SPEAR3XX_ICM1_JPEG_SIZE 0x00800000
  37. #define SPEAR3XX_ICM1_IRDA_BASE 0xD1000000
  38. #define SPEAR3XX_ICM1_IRDA_SIZE 0x00080000
  39. #define SPEAR3XX_ICM1_SRAM_BASE 0xD2800000
  40. #define SPEAR3XX_ICM1_SRAM_SIZE 0x05800000
  41. /* ICM2 - Application Subsystem */
  42. #define SPEAR3XX_ICM2_HWACCEL0_BASE 0xD8800000
  43. #define SPEAR3XX_ICM2_HWACCEL0_SIZE 0x00800000
  44. #define SPEAR3XX_ICM2_HWACCEL1_BASE 0xD9000000
  45. #define SPEAR3XX_ICM2_HWACCEL1_SIZE 0x00800000
  46. /* ICM4 - High Speed Connection */
  47. #define SPEAR3XX_ICM4_BASE 0xE0000000
  48. #define SPEAR3XX_ICM4_SIZE 0x08000000
  49. #define SPEAR3XX_ICM4_MII_BASE 0xE0800000
  50. #define SPEAR3XX_ICM4_MII_SIZE 0x00800000
  51. #define SPEAR3XX_ICM4_USBD_FIFO_BASE 0xE1000000
  52. #define SPEAR3XX_ICM4_USBD_FIFO_SIZE 0x00100000
  53. #define SPEAR3XX_ICM4_USBD_CSR_BASE 0xE1100000
  54. #define SPEAR3XX_ICM4_USBD_CSR_SIZE 0x00100000
  55. #define SPEAR3XX_ICM4_USBD_PLDT_BASE 0xE1200000
  56. #define SPEAR3XX_ICM4_USBD_PLDT_SIZE 0x00100000
  57. #define SPEAR3XX_ICM4_USB_EHCI0_1_BASE 0xE1800000
  58. #define SPEAR3XX_ICM4_USB_EHCI0_1_SIZE 0x00100000
  59. #define SPEAR3XX_ICM4_USB_OHCI0_BASE 0xE1900000
  60. #define SPEAR3XX_ICM4_USB_OHCI0_SIZE 0x00100000
  61. #define SPEAR3XX_ICM4_USB_OHCI1_BASE 0xE2100000
  62. #define SPEAR3XX_ICM4_USB_OHCI1_SIZE 0x00100000
  63. #define SPEAR3XX_ICM4_USB_ARB_BASE 0xE2800000
  64. #define SPEAR3XX_ICM4_USB_ARB_SIZE 0x00010000
  65. /* ML1 - Multi Layer CPU Subsystem */
  66. #define SPEAR3XX_ICM3_ML1_2_BASE 0xF0000000
  67. #define SPEAR3XX_ICM3_ML1_2_SIZE 0x0F000000
  68. #define SPEAR3XX_ML1_TMR_BASE 0xF0000000
  69. #define SPEAR3XX_ML1_TMR_SIZE 0x00100000
  70. #define SPEAR3XX_ML1_VIC_BASE 0xF1100000
  71. #define VA_SPEAR3XX_ML1_VIC_BASE IO_ADDRESS(SPEAR3XX_ML1_VIC_BASE)
  72. #define SPEAR3XX_ML1_VIC_SIZE 0x00100000
  73. /* ICM3 - Basic Subsystem */
  74. #define SPEAR3XX_ICM3_SMEM_BASE 0xF8000000
  75. #define SPEAR3XX_ICM3_SMEM_SIZE 0x04000000
  76. #define SPEAR3XX_ICM3_SMI_CTRL_BASE 0xFC000000
  77. #define SPEAR3XX_ICM3_SMI_CTRL_SIZE 0x00200000
  78. #define SPEAR3XX_ICM3_DMA_BASE 0xFC400000
  79. #define SPEAR3XX_ICM3_DMA_SIZE 0x00200000
  80. #define SPEAR3XX_ICM3_SDRAM_CTRL_BASE 0xFC600000
  81. #define SPEAR3XX_ICM3_SDRAM_CTRL_SIZE 0x00200000
  82. #define SPEAR3XX_ICM3_TMR0_BASE 0xFC800000
  83. #define SPEAR3XX_ICM3_TMR0_SIZE 0x00080000
  84. #define SPEAR3XX_ICM3_WDT_BASE 0xFC880000
  85. #define SPEAR3XX_ICM3_WDT_SIZE 0x00080000
  86. #define SPEAR3XX_ICM3_RTC_BASE 0xFC900000
  87. #define SPEAR3XX_ICM3_RTC_SIZE 0x00080000
  88. #define SPEAR3XX_ICM3_GPIO_BASE 0xFC980000
  89. #define SPEAR3XX_ICM3_GPIO_SIZE 0x00080000
  90. #define SPEAR3XX_ICM3_SYS_CTRL_BASE 0xFCA00000
  91. #define VA_SPEAR3XX_ICM3_SYS_CTRL_BASE IO_ADDRESS(SPEAR3XX_ICM3_SYS_CTRL_BASE)
  92. #define SPEAR3XX_ICM3_SYS_CTRL_SIZE 0x00080000
  93. #define SPEAR3XX_ICM3_MISC_REG_BASE 0xFCA80000
  94. #define VA_SPEAR3XX_ICM3_MISC_REG_BASE IO_ADDRESS(SPEAR3XX_ICM3_MISC_REG_BASE)
  95. #define SPEAR3XX_ICM3_MISC_REG_SIZE 0x00080000
  96. #define SPEAR3XX_ICM3_TMR1_BASE 0xFCB00000
  97. #define SPEAR3XX_ICM3_TMR1_SIZE 0x00080000
  98. /* Debug uart for linux, will be used for debug and uncompress messages */
  99. #define SPEAR_DBG_UART_BASE SPEAR3XX_ICM1_UART_BASE
  100. #define VA_SPEAR_DBG_UART_BASE VA_SPEAR3XX_ICM1_UART_BASE
  101. /* Sysctl base for spear platform */
  102. #define SPEAR_SYS_CTRL_BASE SPEAR3XX_ICM3_SYS_CTRL_BASE
  103. #define VA_SPEAR_SYS_CTRL_BASE VA_SPEAR3XX_ICM3_SYS_CTRL_BASE
  104. #endif /* __MACH_SPEAR3XX_H */