misc_regs.h 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. /*
  2. * arch/arm/mach-spear6xx/include/mach/misc_regs.h
  3. *
  4. * Miscellaneous registers definitions for SPEAr6xx machine family
  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_MISC_REGS_H
  14. #define __MACH_MISC_REGS_H
  15. #include <mach/spear.h>
  16. #define MISC_BASE VA_SPEAR6XX_ICM3_MISC_REG_BASE
  17. #define SOC_CFG_CTR ((unsigned int *)(MISC_BASE + 0x000))
  18. #define DIAG_CFG_CTR ((unsigned int *)(MISC_BASE + 0x004))
  19. #define PLL1_CTR ((unsigned int *)(MISC_BASE + 0x008))
  20. #define PLL1_FRQ ((unsigned int *)(MISC_BASE + 0x00C))
  21. #define PLL1_MOD ((unsigned int *)(MISC_BASE + 0x010))
  22. #define PLL2_CTR ((unsigned int *)(MISC_BASE + 0x014))
  23. /* PLL_CTR register masks */
  24. #define PLL_ENABLE 2
  25. #define PLL_MODE_SHIFT 4
  26. #define PLL_MODE_MASK 0x3
  27. #define PLL_MODE_NORMAL 0
  28. #define PLL_MODE_FRACTION 1
  29. #define PLL_MODE_DITH_DSB 2
  30. #define PLL_MODE_DITH_SSB 3
  31. #define PLL2_FRQ ((unsigned int *)(MISC_BASE + 0x018))
  32. /* PLL FRQ register masks */
  33. #define PLL_DIV_N_SHIFT 0
  34. #define PLL_DIV_N_MASK 0xFF
  35. #define PLL_DIV_P_SHIFT 8
  36. #define PLL_DIV_P_MASK 0x7
  37. #define PLL_NORM_FDBK_M_SHIFT 24
  38. #define PLL_NORM_FDBK_M_MASK 0xFF
  39. #define PLL_DITH_FDBK_M_SHIFT 16
  40. #define PLL_DITH_FDBK_M_MASK 0xFFFF
  41. #define PLL2_MOD ((unsigned int *)(MISC_BASE + 0x01C))
  42. #define PLL_CLK_CFG ((unsigned int *)(MISC_BASE + 0x020))
  43. #define CORE_CLK_CFG ((unsigned int *)(MISC_BASE + 0x024))
  44. /* CORE CLK CFG register masks */
  45. #define PLL_HCLK_RATIO_SHIFT 10
  46. #define PLL_HCLK_RATIO_MASK 0x3
  47. #define HCLK_PCLK_RATIO_SHIFT 8
  48. #define HCLK_PCLK_RATIO_MASK 0x3
  49. #define PERIP_CLK_CFG ((unsigned int *)(MISC_BASE + 0x028))
  50. /* PERIP_CLK_CFG register masks */
  51. #define CLCD_CLK_SHIFT 2
  52. #define CLCD_CLK_MASK 0x3
  53. #define UART_CLK_SHIFT 4
  54. #define UART_CLK_MASK 0x1
  55. #define FIRDA_CLK_SHIFT 5
  56. #define FIRDA_CLK_MASK 0x3
  57. #define GPT0_CLK_SHIFT 8
  58. #define GPT1_CLK_SHIFT 10
  59. #define GPT2_CLK_SHIFT 11
  60. #define GPT3_CLK_SHIFT 12
  61. #define GPT_CLK_MASK 0x1
  62. #define AUX_CLK_PLL3_MASK 0
  63. #define AUX_CLK_PLL1_MASK 1
  64. #define PERIP1_CLK_ENB ((unsigned int *)(MISC_BASE + 0x02C))
  65. /* PERIP1_CLK_ENB register masks */
  66. #define UART0_CLK_ENB 3
  67. #define UART1_CLK_ENB 4
  68. #define SSP0_CLK_ENB 5
  69. #define SSP1_CLK_ENB 6
  70. #define I2C_CLK_ENB 7
  71. #define JPEG_CLK_ENB 8
  72. #define FSMC_CLK_ENB 9
  73. #define FIRDA_CLK_ENB 10
  74. #define GPT2_CLK_ENB 11
  75. #define GPT3_CLK_ENB 12
  76. #define GPIO2_CLK_ENB 13
  77. #define SSP2_CLK_ENB 14
  78. #define ADC_CLK_ENB 15
  79. #define GPT1_CLK_ENB 11
  80. #define RTC_CLK_ENB 17
  81. #define GPIO1_CLK_ENB 18
  82. #define DMA_CLK_ENB 19
  83. #define SMI_CLK_ENB 21
  84. #define CLCD_CLK_ENB 22
  85. #define GMAC_CLK_ENB 23
  86. #define USBD_CLK_ENB 24
  87. #define USBH0_CLK_ENB 25
  88. #define USBH1_CLK_ENB 26
  89. #define SOC_CORE_ID ((unsigned int *)(MISC_BASE + 0x030))
  90. #define RAS_CLK_ENB ((unsigned int *)(MISC_BASE + 0x034))
  91. #define PERIP1_SOF_RST ((unsigned int *)(MISC_BASE + 0x038))
  92. /* PERIP1_SOF_RST register masks */
  93. #define JPEG_SOF_RST 8
  94. #define SOC_USER_ID ((unsigned int *)(MISC_BASE + 0x03C))
  95. #define RAS_SOF_RST ((unsigned int *)(MISC_BASE + 0x040))
  96. #define PRSC1_CLK_CFG ((unsigned int *)(MISC_BASE + 0x044))
  97. #define PRSC2_CLK_CFG ((unsigned int *)(MISC_BASE + 0x048))
  98. #define PRSC3_CLK_CFG ((unsigned int *)(MISC_BASE + 0x04C))
  99. /* gpt synthesizer register masks */
  100. #define GPT_MSCALE_SHIFT 0
  101. #define GPT_MSCALE_MASK 0xFFF
  102. #define GPT_NSCALE_SHIFT 12
  103. #define GPT_NSCALE_MASK 0xF
  104. #define AMEM_CLK_CFG ((unsigned int *)(MISC_BASE + 0x050))
  105. #define EXPI_CLK_CFG ((unsigned int *)(MISC_BASE + 0x054))
  106. #define CLCD_CLK_SYNT ((unsigned int *)(MISC_BASE + 0x05C))
  107. #define FIRDA_CLK_SYNT ((unsigned int *)(MISC_BASE + 0x060))
  108. #define UART_CLK_SYNT ((unsigned int *)(MISC_BASE + 0x064))
  109. #define GMAC_CLK_SYNT ((unsigned int *)(MISC_BASE + 0x068))
  110. #define RAS1_CLK_SYNT ((unsigned int *)(MISC_BASE + 0x06C))
  111. #define RAS2_CLK_SYNT ((unsigned int *)(MISC_BASE + 0x070))
  112. #define RAS3_CLK_SYNT ((unsigned int *)(MISC_BASE + 0x074))
  113. #define RAS4_CLK_SYNT ((unsigned int *)(MISC_BASE + 0x078))
  114. /* aux clk synthesiser register masks for irda to ras4 */
  115. #define AUX_EQ_SEL_SHIFT 30
  116. #define AUX_EQ_SEL_MASK 1
  117. #define AUX_EQ1_SEL 0
  118. #define AUX_EQ2_SEL 1
  119. #define AUX_XSCALE_SHIFT 16
  120. #define AUX_XSCALE_MASK 0xFFF
  121. #define AUX_YSCALE_SHIFT 0
  122. #define AUX_YSCALE_MASK 0xFFF
  123. #define ICM1_ARB_CFG ((unsigned int *)(MISC_BASE + 0x07C))
  124. #define ICM2_ARB_CFG ((unsigned int *)(MISC_BASE + 0x080))
  125. #define ICM3_ARB_CFG ((unsigned int *)(MISC_BASE + 0x084))
  126. #define ICM4_ARB_CFG ((unsigned int *)(MISC_BASE + 0x088))
  127. #define ICM5_ARB_CFG ((unsigned int *)(MISC_BASE + 0x08C))
  128. #define ICM6_ARB_CFG ((unsigned int *)(MISC_BASE + 0x090))
  129. #define ICM7_ARB_CFG ((unsigned int *)(MISC_BASE + 0x094))
  130. #define ICM8_ARB_CFG ((unsigned int *)(MISC_BASE + 0x098))
  131. #define ICM9_ARB_CFG ((unsigned int *)(MISC_BASE + 0x09C))
  132. #define DMA_CHN_CFG ((unsigned int *)(MISC_BASE + 0x0A0))
  133. #define USB2_PHY_CFG ((unsigned int *)(MISC_BASE + 0x0A4))
  134. #define GMAC_CFG_CTR ((unsigned int *)(MISC_BASE + 0x0A8))
  135. #define EXPI_CFG_CTR ((unsigned int *)(MISC_BASE + 0x0AC))
  136. #define PRC1_LOCK_CTR ((unsigned int *)(MISC_BASE + 0x0C0))
  137. #define PRC2_LOCK_CTR ((unsigned int *)(MISC_BASE + 0x0C4))
  138. #define PRC3_LOCK_CTR ((unsigned int *)(MISC_BASE + 0x0C8))
  139. #define PRC4_LOCK_CTR ((unsigned int *)(MISC_BASE + 0x0CC))
  140. #define PRC1_IRQ_CTR ((unsigned int *)(MISC_BASE + 0x0D0))
  141. #define PRC2_IRQ_CTR ((unsigned int *)(MISC_BASE + 0x0D4))
  142. #define PRC3_IRQ_CTR ((unsigned int *)(MISC_BASE + 0x0D8))
  143. #define PRC4_IRQ_CTR ((unsigned int *)(MISC_BASE + 0x0DC))
  144. #define PWRDOWN_CFG_CTR ((unsigned int *)(MISC_BASE + 0x0E0))
  145. #define COMPSSTL_1V8_CFG ((unsigned int *)(MISC_BASE + 0x0E4))
  146. #define COMPSSTL_2V5_CFG ((unsigned int *)(MISC_BASE + 0x0E8))
  147. #define COMPCOR_3V3_CFG ((unsigned int *)(MISC_BASE + 0x0EC))
  148. #define SSTLPAD_CFG_CTR ((unsigned int *)(MISC_BASE + 0x0F0))
  149. #define BIST1_CFG_CTR ((unsigned int *)(MISC_BASE + 0x0F4))
  150. #define BIST2_CFG_CTR ((unsigned int *)(MISC_BASE + 0x0F8))
  151. #define BIST3_CFG_CTR ((unsigned int *)(MISC_BASE + 0x0FC))
  152. #define BIST4_CFG_CTR ((unsigned int *)(MISC_BASE + 0x100))
  153. #define BIST5_CFG_CTR ((unsigned int *)(MISC_BASE + 0x104))
  154. #define BIST1_STS_RES ((unsigned int *)(MISC_BASE + 0x108))
  155. #define BIST2_STS_RES ((unsigned int *)(MISC_BASE + 0x10C))
  156. #define BIST3_STS_RES ((unsigned int *)(MISC_BASE + 0x110))
  157. #define BIST4_STS_RES ((unsigned int *)(MISC_BASE + 0x114))
  158. #define BIST5_STS_RES ((unsigned int *)(MISC_BASE + 0x118))
  159. #define SYSERR_CFG_CTR ((unsigned int *)(MISC_BASE + 0x11C))
  160. #endif /* __MACH_MISC_REGS_H */