/drivers/staging/westbridge/astoria/include/linux/westbridge/cyasregs.h

https://bitbucket.org/slukk/jb-tsm-kernel-4.2 · C Header · 201 lines · 150 code · 31 blank · 20 comment · 0 complexity · 96844602bbd1325a4b6aa0523d8e2080 MD5 · raw file

  1. /* Cypress West Bridge API header file (cyasregs.h)
  2. ## ===========================
  3. ## Copyright (C) 2010 Cypress Semiconductor
  4. ##
  5. ## This program is free software; you can redistribute it and/or
  6. ## modify it under the terms of the GNU General Public License
  7. ## as published by the Free Software Foundation; either version 2
  8. ## of the License, or (at your option) any later version.
  9. ##
  10. ## This program is distributed in the hope that it will be useful,
  11. ## but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. ## GNU General Public License for more details.
  14. ##
  15. ## You should have received a copy of the GNU General Public License
  16. ## along with this program; if not, write to the Free Software
  17. ## Foundation, Inc., 51 Franklin Street
  18. ## Fifth Floor, Boston, MA 02110-1301, USA.
  19. ## ===========================
  20. */
  21. #ifndef _INCLUDED_CYASREG_H_
  22. #define _INCLUDED_CYASREG_H_
  23. #if !defined(__doxygen__)
  24. #define CY_AS_MEM_CM_WB_CFG_ID (0x80)
  25. #define CY_AS_MEM_CM_WB_CFG_ID_VER_MASK (0x000F)
  26. #define CY_AS_MEM_CM_WB_CFG_ID_HDID_MASK (0xFFF0)
  27. #define CY_AS_MEM_CM_WB_CFG_ID_HDID_ANTIOCH_VALUE (0xA100)
  28. #define CY_AS_MEM_CM_WB_CFG_ID_HDID_ASTORIA_FPGA_VALUE (0x6800)
  29. #define CY_AS_MEM_CM_WB_CFG_ID_HDID_ASTORIA_VALUE (0xA200)
  30. #define CY_AS_MEM_RST_CTRL_REG (0x81)
  31. #define CY_AS_MEM_RST_CTRL_REG_HARD (0x0003)
  32. #define CY_AS_MEM_RST_CTRL_REG_SOFT (0x0001)
  33. #define CY_AS_MEM_RST_RSTCMPT (0x0004)
  34. #define CY_AS_MEM_P0_ENDIAN (0x82)
  35. #define CY_AS_LITTLE_ENDIAN (0x0000)
  36. #define CY_AS_BIG_ENDIAN (0x0101)
  37. #define CY_AS_MEM_P0_VM_SET (0x83)
  38. #define CY_AS_MEM_P0_VM_SET_VMTYPE_MASK (0x0007)
  39. #define CY_AS_MEM_P0_VM_SET_VMTYPE_RAM (0x0005)
  40. #define CY_AS_MEM_P0_VM_SET_VMTYPE_SRAM (0x0007)
  41. #define CY_AS_MEM_P0_VM_SET_VMTYPE_VMWIDTH (0x0008)
  42. #define CY_AS_MEM_P0_VM_SET_VMTYPE_FLOWCTRL (0x0010)
  43. #define CY_AS_MEM_P0_VM_SET_IFMODE (0x0020)
  44. #define CY_AS_MEM_P0_VM_SET_CFGMODE (0x0040)
  45. #define CY_AS_MEM_P0_VM_SET_DACKEOB (0x0080)
  46. #define CY_AS_MEM_P0_VM_SET_OVERRIDE (0x0100)
  47. #define CY_AS_MEM_P0_VM_SET_INTOVERD (0x0200)
  48. #define CY_AS_MEM_P0_VM_SET_DRQOVERD (0x0400)
  49. #define CY_AS_MEM_P0_VM_SET_DRQPOL (0x0800)
  50. #define CY_AS_MEM_P0_VM_SET_DACKPOL (0x1000)
  51. #define CY_AS_MEM_P0_NV_SET (0x84)
  52. #define CY_AS_MEM_P0_NV_SET_WPSWEN (0x0001)
  53. #define CY_AS_MEM_P0_NV_SET_WPPOLAR (0x0002)
  54. #define CY_AS_MEM_PMU_UPDATE (0x85)
  55. #define CY_AS_MEM_PMU_UPDATE_UVALID (0x0001)
  56. #define CY_AS_MEM_PMU_UPDATE_USBUPDATE (0x0002)
  57. #define CY_AS_MEM_PMU_UPDATE_SDIOUPDATE (0x0004)
  58. #define CY_AS_MEM_P0_INTR_REG (0x90)
  59. #define CY_AS_MEM_P0_INTR_REG_MCUINT (0x0020)
  60. #define CY_AS_MEM_P0_INTR_REG_DRQINT (0x0800)
  61. #define CY_AS_MEM_P0_INTR_REG_MBINT (0x1000)
  62. #define CY_AS_MEM_P0_INTR_REG_PMINT (0x2000)
  63. #define CY_AS_MEM_P0_INTR_REG_PLLLOCKINT (0x4000)
  64. #define CY_AS_MEM_P0_INT_MASK_REG (0x91)
  65. #define CY_AS_MEM_P0_INT_MASK_REG_MMCUINT (0x0020)
  66. #define CY_AS_MEM_P0_INT_MASK_REG_MDRQINT (0x0800)
  67. #define CY_AS_MEM_P0_INT_MASK_REG_MMBINT (0x1000)
  68. #define CY_AS_MEM_P0_INT_MASK_REG_MPMINT (0x2000)
  69. #define CY_AS_MEM_P0_INT_MASK_REG_MPLLLOCKINT (0x4000)
  70. #define CY_AS_MEM_MCU_MB_STAT (0x92)
  71. #define CY_AS_MEM_P0_MCU_MBNOTRD (0x0001)
  72. #define CY_AS_MEM_P0_MCU_STAT (0x94)
  73. #define CY_AS_MEM_P0_MCU_STAT_CARDINS (0x0001)
  74. #define CY_AS_MEM_P0_MCU_STAT_CARDREM (0x0002)
  75. #define CY_AS_MEM_PWR_MAGT_STAT (0x95)
  76. #define CY_AS_MEM_PWR_MAGT_STAT_WAKEUP (0x0001)
  77. #define CY_AS_MEM_P0_RSE_ALLOCATE (0x98)
  78. #define CY_AS_MEM_P0_RSE_ALLOCATE_SDIOAVI (0x0001)
  79. #define CY_AS_MEM_P0_RSE_ALLOCATE_SDIOALLO (0x0002)
  80. #define CY_AS_MEM_P0_RSE_ALLOCATE_NANDAVI (0x0004)
  81. #define CY_AS_MEM_P0_RSE_ALLOCATE_NANDALLO (0x0008)
  82. #define CY_AS_MEM_P0_RSE_ALLOCATE_USBAVI (0x0010)
  83. #define CY_AS_MEM_P0_RSE_ALLOCATE_USBALLO (0x0020)
  84. #define CY_AS_MEM_P0_RSE_MASK (0x9A)
  85. #define CY_AS_MEM_P0_RSE_MASK_MSDIOBUS_RW (0x0003)
  86. #define CY_AS_MEM_P0_RSE_MASK_MNANDBUS_RW (0x00C0)
  87. #define CY_AS_MEM_P0_RSE_MASK_MUSBBUS_RW (0x0030)
  88. #define CY_AS_MEM_P0_DRQ (0xA0)
  89. #define CY_AS_MEM_P0_DRQ_EP2DRQ (0x0004)
  90. #define CY_AS_MEM_P0_DRQ_EP3DRQ (0x0008)
  91. #define CY_AS_MEM_P0_DRQ_EP4DRQ (0x0010)
  92. #define CY_AS_MEM_P0_DRQ_EP5DRQ (0x0020)
  93. #define CY_AS_MEM_P0_DRQ_EP6DRQ (0x0040)
  94. #define CY_AS_MEM_P0_DRQ_EP7DRQ (0x0080)
  95. #define CY_AS_MEM_P0_DRQ_EP8DRQ (0x0100)
  96. #define CY_AS_MEM_P0_DRQ_EP9DRQ (0x0200)
  97. #define CY_AS_MEM_P0_DRQ_EP10DRQ (0x0400)
  98. #define CY_AS_MEM_P0_DRQ_EP11DRQ (0x0800)
  99. #define CY_AS_MEM_P0_DRQ_EP12DRQ (0x1000)
  100. #define CY_AS_MEM_P0_DRQ_EP13DRQ (0x2000)
  101. #define CY_AS_MEM_P0_DRQ_EP14DRQ (0x4000)
  102. #define CY_AS_MEM_P0_DRQ_EP15DRQ (0x8000)
  103. #define CY_AS_MEM_P0_DRQ_MASK (0xA1)
  104. #define CY_AS_MEM_P0_DRQ_MASK_MEP2DRQ (0x0004)
  105. #define CY_AS_MEM_P0_DRQ_MASK_MEP3DRQ (0x0008)
  106. #define CY_AS_MEM_P0_DRQ_MASK_MEP4DRQ (0x0010)
  107. #define CY_AS_MEM_P0_DRQ_MASK_MEP5DRQ (0x0020)
  108. #define CY_AS_MEM_P0_DRQ_MASK_MEP6DRQ (0x0040)
  109. #define CY_AS_MEM_P0_DRQ_MASK_MEP7DRQ (0x0080)
  110. #define CY_AS_MEM_P0_DRQ_MASK_MEP8DRQ (0x0100)
  111. #define CY_AS_MEM_P0_DRQ_MASK_MEP9DRQ (0x0200)
  112. #define CY_AS_MEM_P0_DRQ_MASK_MEP10DRQ (0x0400)
  113. #define CY_AS_MEM_P0_DRQ_MASK_MEP11DRQ (0x0800)
  114. #define CY_AS_MEM_P0_DRQ_MASK_MEP12DRQ (0x1000)
  115. #define CY_AS_MEM_P0_DRQ_MASK_MEP13DRQ (0x2000)
  116. #define CY_AS_MEM_P0_DRQ_MASK_MEP14DRQ (0x4000)
  117. #define CY_AS_MEM_P0_DRQ_MASK_MEP15DRQ (0x8000)
  118. #define CY_AS_MEM_P0_EP2_DMA_REG (0xA2)
  119. #define CY_AS_MEM_P0_E_pn_DMA_REG_COUNT_MASK (0x7FF)
  120. #define CY_AS_MEM_P0_E_pn_DMA_REG_DMAVAL (1 << 12)
  121. #define CY_AS_MEM_P0_EP3_DMA_REG (0xA3)
  122. #define CY_AS_MEM_P0_EP4_DMA_REG (0xA4)
  123. #define CY_AS_MEM_P0_EP5_DMA_REG (0xA5)
  124. #define CY_AS_MEM_P0_EP6_DMA_REG (0xA6)
  125. #define CY_AS_MEM_P0_EP7_DMA_REG (0xA7)
  126. #define CY_AS_MEM_P0_EP8_DMA_REG (0xA8)
  127. #define CY_AS_MEM_P0_EP9_DMA_REG (0xA9)
  128. #define CY_AS_MEM_P0_EP10_DMA_REG (0xAA)
  129. #define CY_AS_MEM_P0_EP11_DMA_REG (0xAB)
  130. #define CY_AS_MEM_P0_EP12_DMA_REG (0xAC)
  131. #define CY_AS_MEM_P0_EP13_DMA_REG (0xAD)
  132. #define CY_AS_MEM_P0_EP14_DMA_REG (0xAE)
  133. #define CY_AS_MEM_P0_EP15_DMA_REG (0xAF)
  134. #define CY_AS_MEM_IROS_SLB_DATARET (0xC0)
  135. #define CY_AS_MEM_IROS_IO_CFG (0xC1)
  136. #define CY_AS_MEM_IROS_IO_CFG_GPIODRVST_MASK (0x0003)
  137. #define CY_AS_MEM_IROS_IO_CFG_GPIOSLEW_MASK (0x0004)
  138. #define CY_AS_MEM_IROS_IO_CFG_PPIODRVST_MASK (0x0018)
  139. #define CY_AS_MEM_IROS_IO_CFG_PPIOSLEW_MASK (0x0020)
  140. #define CY_AS_MEM_IROS_IO_CFG_SSIODRVST_MASK (0x0300)
  141. #define CY_AS_MEM_IROS_IO_CFG_SSIOSLEW_MASK (0x0400)
  142. #define CY_AS_MEM_IROS_IO_CFG_SNIODRVST_MASK (0x1800)
  143. #define CY_AS_MEM_IROS_IO_CFG_SNIOSLEW_MASK (0x2000)
  144. #define CY_AS_MEM_IROS_PLL_CFG (0xC2)
  145. #define CY_AS_MEM_IROS_PXB_DATARET (0xC3)
  146. #define CY_AS_MEM_PLL_LOCK_LOSS_STAT (0xC4)
  147. #define CY_AS_MEM_PLL_LOCK_LOSS_STAT_PLLSTAT (0x0800)
  148. #define CY_AS_MEM_IROS_SLEEP_CFG (0xC5)
  149. #define CY_AS_MEM_PNAND_CFG (0xDA)
  150. #define CY_AS_MEM_PNAND_CFG_IOWIDTH_MASK (0x0001)
  151. #define CY_AS_MEM_PNAND_CFG_IOWIDTH_8BIT (0x0000)
  152. #define CY_AS_MEM_PNAND_CFG_IOWIDTH_16BIT (0x0001)
  153. #define CY_AS_MEM_PNAND_CFG_BLKTYPE_MASK (0x0002)
  154. #define CY_AS_MEM_PNAND_CFG_BLKTYPE_SMALL (0x0002)
  155. #define CY_AS_MEM_PNAND_CFG_BLKTYPE_LARGE (0x0000)
  156. #define CY_AS_MEM_PNAND_CFG_EPABYTE_POS (4)
  157. #define CY_AS_MEM_PNAND_CFG_EPABYTE_MASK (0x0030)
  158. #define CY_AS_MEM_PNAND_CFG_EPABIT_POS (6)
  159. #define CY_AS_MEM_PNAND_CFG_EPABIT_MASK (0x00C0)
  160. #define CY_AS_MEM_PNAND_CFG_LNAEN_MASK (0x0100)
  161. #define CY_AS_MEM_P0_MAILBOX0 (0xF0)
  162. #define CY_AS_MEM_P0_MAILBOX1 (0xF1)
  163. #define CY_AS_MEM_P0_MAILBOX2 (0xF2)
  164. #define CY_AS_MEM_P0_MAILBOX3 (0xF3)
  165. #define CY_AS_MEM_MCU_MAILBOX0 (0xF8)
  166. #define CY_AS_MEM_MCU_MAILBOX1 (0xF9)
  167. #define CY_AS_MEM_MCU_MAILBOX2 (0xFA)
  168. #define CY_AS_MEM_MCU_MAILBOX3 (0xFB)
  169. #endif /* !defined(__doxygen__) */
  170. #endif /* _INCLUDED_CYASREG_H_ */