IxNpeMicrocode.h 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296
  1. /**
  2. * @date April 18, 2005
  3. *
  4. * @brief IXP400 NPE Microcode Image file
  5. *
  6. * This file was generated by the IxNpeDlImageGen tool.
  7. * It contains a NPE microcode image suitable for use
  8. * with the NPE Downloader (IxNpeDl) component in the
  9. * IXP400 Access Driver software library.
  10. *
  11. * @par
  12. * IXP400 SW Release version 2.0
  13. *
  14. * -- Copyright Notice --
  15. *
  16. * @par
  17. * Copyright 2001-2005, Intel Corporation.
  18. * All rights reserved.
  19. *
  20. * @par
  21. * Redistribution and use in source and binary forms, with or without
  22. * modification, are permitted provided that the following conditions
  23. * are met:
  24. * 1. Redistributions of source code must retain the above copyright
  25. * notice, this list of conditions and the following disclaimer.
  26. * 2. Redistributions in binary form must reproduce the above copyright
  27. * notice, this list of conditions and the following disclaimer in the
  28. * documentation and/or other materials provided with the distribution.
  29. * 3. Neither the name of the Intel Corporation nor the names of its contributors
  30. * may be used to endorse or promote products derived from this software
  31. * without specific prior written permission.
  32. *
  33. * @par
  34. * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
  35. * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  36. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  37. * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
  38. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  39. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  40. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  41. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  42. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  43. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  44. * SUCH DAMAGE.
  45. *
  46. * @par
  47. * -- End of Copyright Notice --
  48. */
  49. /**
  50. * @defgroup IxNpeMicrocode IXP400 NPE Microcode Image Library
  51. *
  52. * @brief Library containing a set of NPE firmware images, for use
  53. * with NPE Downloader s/w component
  54. *
  55. * @{
  56. */
  57. /**
  58. * @def IX_NPE_IMAGE_INCLUDE
  59. *
  60. * @brief Wrap the following Image identifiers with "#if IX_NPE_IMAGE_INCLUDE ... #endif" to include the image in the library
  61. */
  62. #define IX_NPE_IMAGE_INCLUDE 1
  63. /**
  64. * @def IX_NPE_IMAGE_OMIT
  65. *
  66. * @brief Wrap the following Image identifiers with "#if IX_NPE_IMAGE_OMIT ... #endif" to OMIT the image from the library
  67. */
  68. #define IX_NPE_IMAGE_OMIT 0
  69. #if IX_NPE_IMAGE_INCLUDE
  70. /**
  71. * @def IX_NPEDL_NPEIMAGE_NPEA_HSS0
  72. *
  73. * @brief NPE Image Id for NPE-A with HSS-0 Only feature. It supports 32 channelized and 4 packetized.
  74. */
  75. #define IX_NPEDL_NPEIMAGE_NPEA_HSS0 0x00010000
  76. #endif
  77. #if IX_NPE_IMAGE_INCLUDE
  78. /**
  79. * @def IX_NPEDL_NPEIMAGE_NPEA_HSS0_ATM_SPHY_1_PORT
  80. *
  81. * @brief NPE Image Id for NPE-A with HSS-0 and ATM feature. For HSS, it supports 16/32 channelized and 4/0 packetized. For ATM, it supports AAL5, AAL0 and OAM for UTOPIA SPHY, 1 logical port, 32 VCs. It also has Fast Path support.
  82. */
  83. #define IX_NPEDL_NPEIMAGE_NPEA_HSS0_ATM_SPHY_1_PORT 0x00020000
  84. #endif
  85. #if IX_NPE_IMAGE_INCLUDE
  86. /**
  87. * @def IX_NPEDL_NPEIMAGE_NPEA_HSS0_ATM_MPHY_1_PORT
  88. *
  89. * @brief NPE Image Id for NPE-A with HSS-0 and ATM feature. For HSS, it supports 16/32 channelized and 4/0 packetized. For ATM, it supports AAL5, AAL0 and OAM for UTOPIA MPHY, 1 logical port, 32 VCs. It also has Fast Path support.
  90. */
  91. #define IX_NPEDL_NPEIMAGE_NPEA_HSS0_ATM_MPHY_1_PORT 0x00030000
  92. #endif
  93. #if IX_NPE_IMAGE_INCLUDE
  94. /**
  95. * @def IX_NPEDL_NPEIMAGE_NPEA_ATM_MPHY_12_PORT
  96. *
  97. * @brief NPE Image Id for NPE-A with ATM-Only feature. It supports AAL5, AAL0 and OAM for UTOPIA MPHY, 12 logical ports, 32 VCs. It also has Fast Path support.
  98. */
  99. #define IX_NPEDL_NPEIMAGE_NPEA_ATM_MPHY_12_PORT 0x00040000
  100. #endif
  101. #if IX_NPE_IMAGE_INCLUDE
  102. /**
  103. * @def IX_NPEDL_NPEIMAGE_NPEA_DMA
  104. *
  105. * @brief NPE Image Id for NPE-A with DMA-Only feature.
  106. */
  107. #define IX_NPEDL_NPEIMAGE_NPEA_DMA 0x00150100
  108. #endif
  109. #if IX_NPE_IMAGE_INCLUDE
  110. /**
  111. * @def IX_NPEDL_NPEIMAGE_NPEA_HSS_2_PORT
  112. *
  113. * @brief NPE Image Id for NPE-A with HSS-0 and HSS-1 feature. Each HSS port supports 32 channelized and 4 packetized.
  114. */
  115. #define IX_NPEDL_NPEIMAGE_NPEA_HSS_2_PORT 0x00090000
  116. #endif
  117. #if IX_NPE_IMAGE_INCLUDE
  118. /**
  119. * @def IX_NPEDL_NPEIMAGE_NPEA_ETH
  120. *
  121. * @brief NPE Image Id for NPE-A with Basic Ethernet Rx/Tx which includes: MAC_FILTERING, MAC_LEARNING, SPANNING_TREE, FIREWALL
  122. */
  123. #define IX_NPEDL_NPEIMAGE_NPEA_ETH 0x10800200
  124. #endif
  125. #if IX_NPE_IMAGE_INCLUDE
  126. /**
  127. * @def IX_NPEDL_NPEIMAGE_NPEA_ETH_LEARN_FILTER_SPAN_FIREWALL
  128. *
  129. * @brief NPE Image Id for NPE-A with Basic Ethernet Rx/Tx which includes: MAC_FILTERING, MAC_LEARNING, SPANNING_TREE, FIREWALL
  130. */
  131. #define IX_NPEDL_NPEIMAGE_NPEA_ETH_LEARN_FILTER_SPAN_FIREWALL 0x10800200
  132. #endif
  133. #if IX_NPE_IMAGE_INCLUDE
  134. /**
  135. * @def IX_NPEDL_NPEIMAGE_NPEA_ETH_LEARN_FILTER_SPAN_FIREWALL_VLAN_QOS
  136. *
  137. * @brief NPE Image Id for NPE-A with Ethernet Rx/Tx which includes: MAC_FILTERING, MAC_LEARNING, SPANNING_TREE, FIREWALL, VLAN_QOS
  138. */
  139. #define IX_NPEDL_NPEIMAGE_NPEA_ETH_LEARN_FILTER_SPAN_FIREWALL_VLAN_QOS 0x10810200
  140. #endif
  141. #if IX_NPE_IMAGE_INCLUDE
  142. /**
  143. * @def IX_NPEDL_NPEIMAGE_NPEA_ETH_SPAN_FIREWALL_VLAN_QOS_HDR_CONV
  144. *
  145. * @brief NPE Image Id for NPE-A with Ethernet Rx/Tx which includes: SPANNING_TREE, FIREWALL, VLAN_QOS, HEADER_CONVERSION
  146. */
  147. #define IX_NPEDL_NPEIMAGE_NPEA_ETH_SPAN_FIREWALL_VLAN_QOS_HDR_CONV 0x10820200
  148. #endif
  149. #if IX_NPE_IMAGE_INCLUDE
  150. /**
  151. * @def IX_NPEDL_NPEIMAGE_NPEB_ETH
  152. *
  153. * @brief NPE Image Id for NPE-B with Basic Ethernet Rx/Tx which includes: MAC_FILTERING, MAC_LEARNING, SPANNING_TREE, FIREWALL
  154. */
  155. #define IX_NPEDL_NPEIMAGE_NPEB_ETH 0x01000200
  156. #endif
  157. #if IX_NPE_IMAGE_INCLUDE
  158. /**
  159. * @def IX_NPEDL_NPEIMAGE_NPEB_ETH_LEARN_FILTER_SPAN_FIREWALL
  160. *
  161. * @brief NPE Image Id for NPE-B with Basic Ethernet Rx/Tx which includes: MAC_FILTERING, MAC_LEARNING, SPANNING_TREE, FIREWALL
  162. */
  163. #define IX_NPEDL_NPEIMAGE_NPEB_ETH_LEARN_FILTER_SPAN_FIREWALL 0x01000200
  164. #endif
  165. #if IX_NPE_IMAGE_INCLUDE
  166. /**
  167. * @def IX_NPEDL_NPEIMAGE_NPEB_ETH_LEARN_FILTER_SPAN_FIREWALL_VLAN_QOS
  168. *
  169. * @brief NPE Image Id for NPE-B with Ethernet Rx/Tx which includes: MAC_FILTERING, MAC_LEARNING, SPANNING_TREE, FIREWALL, VLAN_QOS
  170. */
  171. #define IX_NPEDL_NPEIMAGE_NPEB_ETH_LEARN_FILTER_SPAN_FIREWALL_VLAN_QOS 0x01010200
  172. #endif
  173. #if IX_NPE_IMAGE_INCLUDE
  174. /**
  175. * @def IX_NPEDL_NPEIMAGE_NPEB_ETH_SPAN_FIREWALL_VLAN_QOS_HDR_CONV
  176. *
  177. * @brief NPE Image Id for NPE-B with Ethernet Rx/Tx which includes: SPANNING_TREE, FIREWALL, VLAN_QOS, HEADER_CONVERSION
  178. */
  179. #define IX_NPEDL_NPEIMAGE_NPEB_ETH_SPAN_FIREWALL_VLAN_QOS_HDR_CONV 0x01020200
  180. #endif
  181. #if IX_NPE_IMAGE_INCLUDE
  182. /**
  183. * @def IX_NPEDL_NPEIMAGE_NPEB_DMA
  184. *
  185. * @brief NPE Image Id for NPE-B with DMA-Only feature.
  186. */
  187. #define IX_NPEDL_NPEIMAGE_NPEB_DMA 0x01020100
  188. #endif
  189. #if IX_NPE_IMAGE_INCLUDE
  190. /**
  191. * @def IX_NPEDL_NPEIMAGE_NPEC_ETH
  192. *
  193. * @brief NPE Image Id for NPE-C with Basic Ethernet Rx/Tx which includes: MAC_FILTERING, MAC_LEARNING, SPANNING_TREE, FIREWALL
  194. */
  195. #define IX_NPEDL_NPEIMAGE_NPEC_ETH 0x02000200
  196. #endif
  197. #if IX_NPE_IMAGE_INCLUDE
  198. /**
  199. * @def IX_NPEDL_NPEIMAGE_NPEC_ETH_LEARN_FILTER_SPAN_FIREWALL
  200. *
  201. * @brief NPE Image Id for NPE-C with Basic Ethernet Rx/Tx which includes: MAC_FILTERING, MAC_LEARNING, SPANNING_TREE, FIREWALL
  202. */
  203. #define IX_NPEDL_NPEIMAGE_NPEC_ETH_LEARN_FILTER_SPAN_FIREWALL 0x02000200
  204. #endif
  205. #if IX_NPE_IMAGE_INCLUDE
  206. /**
  207. * @def IX_NPEDL_NPEIMAGE_NPEC_ETH_LEARN_FILTER_SPAN_FIREWALL_VLAN_QOS
  208. *
  209. * @brief NPE Image Id for NPE-C with Ethernet Rx/Tx which includes: MAC_FILTERING, MAC_LEARNING, SPANNING_TREE, FIREWALL, VLAN_QOS
  210. */
  211. #define IX_NPEDL_NPEIMAGE_NPEC_ETH_LEARN_FILTER_SPAN_FIREWALL_VLAN_QOS 0x02010200
  212. #endif
  213. #if IX_NPE_IMAGE_INCLUDE
  214. /**
  215. * @def IX_NPEDL_NPEIMAGE_NPEC_ETH_SPAN_FIREWALL_VLAN_QOS_HDR_CONV
  216. *
  217. * @brief NPE Image Id for NPE-C with Ethernet Rx/Tx which includes: SPANNING_TREE, FIREWALL, VLAN_QOS, HEADER_CONVERSION
  218. */
  219. #define IX_NPEDL_NPEIMAGE_NPEC_ETH_SPAN_FIREWALL_VLAN_QOS_HDR_CONV 0x02020200
  220. #endif
  221. #if IX_NPE_IMAGE_INCLUDE
  222. /**
  223. * @def IX_NPEDL_NPEIMAGE_NPEC_DMA
  224. *
  225. * @brief NPE Image Id for NPE-C with DMA-Only feature.
  226. */
  227. #define IX_NPEDL_NPEIMAGE_NPEC_DMA 0x02080100
  228. #endif
  229. /* Number of NPE firmware images in this library */
  230. #define IX_NPE_MICROCODE_AVAILABLE_VERSIONS_COUNT 17
  231. /* Location of Microcode Images */
  232. #ifdef IX_NPE_MICROCODE_FIRMWARE_INCLUDED
  233. #ifdef IX_NPEDL_READ_MICROCODE_FROM_FILE
  234. extern UINT32* ixNpeMicrocode_binaryArray;
  235. #else
  236. extern unsigned IxNpeMicrocode_array[];
  237. #endif
  238. #endif
  239. /*
  240. * sr: undef all but the bare minimum to reduce flash usage for U-Boot
  241. */
  242. #undef IX_NPEDL_NPEIMAGE_NPEA_HSS0
  243. #undef IX_NPEDL_NPEIMAGE_NPEA_HSS0_ATM_SPHY_1_PORT
  244. #undef IX_NPEDL_NPEIMAGE_NPEA_HSS0_ATM_MPHY_1_PORT
  245. #undef IX_NPEDL_NPEIMAGE_NPEA_ATM_MPHY_12_PORT
  246. #undef IX_NPEDL_NPEIMAGE_NPEA_DMA
  247. #undef IX_NPEDL_NPEIMAGE_NPEA_HSS_2_PORT
  248. #undef IX_NPEDL_NPEIMAGE_NPEA_ETH
  249. #undef IX_NPEDL_NPEIMAGE_NPEA_ETH_LEARN_FILTER_SPAN_FIREWALL
  250. #undef IX_NPEDL_NPEIMAGE_NPEA_ETH_LEARN_FILTER_SPAN_FIREWALL_VLAN_QOS
  251. #undef IX_NPEDL_NPEIMAGE_NPEA_ETH_SPAN_FIREWALL_VLAN_QOS_HDR_CONV
  252. #undef IX_NPEDL_NPEIMAGE_NPEB_ETH
  253. #undef IX_NPEDL_NPEIMAGE_NPEB_ETH_LEARN_FILTER_SPAN_FIREWALL
  254. /* #undef IX_NPEDL_NPEIMAGE_NPEB_ETH_LEARN_FILTER_SPAN_FIREWALL_VLAN_QOS */
  255. #undef IX_NPEDL_NPEIMAGE_NPEB_ETH_SPAN_FIREWALL_VLAN_QOS_HDR_CONV
  256. #undef IX_NPEDL_NPEIMAGE_NPEB_DMA
  257. #undef IX_NPEDL_NPEIMAGE_NPEC_ETH
  258. #undef IX_NPEDL_NPEIMAGE_NPEC_ETH_LEARN_FILTER_SPAN_FIREWALL
  259. /* #undef IX_NPEDL_NPEIMAGE_NPEC_ETH_LEARN_FILTER_SPAN_FIREWALL_VLAN_QOS */
  260. #undef IX_NPEDL_NPEIMAGE_NPEC_ETH_SPAN_FIREWALL_VLAN_QOS_HDR_CONV
  261. #undef IX_NPEDL_NPEIMAGE_NPEC_DMA
  262. /**
  263. * @} defgroup IxNpeMicrocode
  264. */