4 * @brief IXP400 NPE Microcode Image file
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.
12 * IXP400 SW Release version 2.0
14 * -- Copyright Notice --
17 * Copyright 2001-2005, Intel Corporation.
18 * All rights reserved.
21 * Redistribution and use in source and binary forms, with or without
22 * modification, are permitted provided that the following conditions
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.
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
47 * -- End of Copyright Notice --
51 * @defgroup IxNpeMicrocode IXP400 NPE Microcode Image Library
53 * @brief Library containing a set of NPE firmware images, for use
54 * with NPE Downloader s/w component
60 * @def IX_NPE_IMAGE_INCLUDE
62 * @brief Wrap the following Image identifiers with "#if IX_NPE_IMAGE_INCLUDE ... #endif" to include the image in the library
64 #define IX_NPE_IMAGE_INCLUDE 1
67 * @def IX_NPE_IMAGE_OMIT
69 * @brief Wrap the following Image identifiers with "#if IX_NPE_IMAGE_OMIT ... #endif" to OMIT the image from the library
71 #define IX_NPE_IMAGE_OMIT 0
74 #if IX_NPE_IMAGE_INCLUDE
76 * @def IX_NPEDL_NPEIMAGE_NPEA_HSS0
78 * @brief NPE Image Id for NPE-A with HSS-0 Only feature. It supports 32 channelized and 4 packetized.
80 #define IX_NPEDL_NPEIMAGE_NPEA_HSS0 0x00010000
83 #if IX_NPE_IMAGE_INCLUDE
85 * @def IX_NPEDL_NPEIMAGE_NPEA_HSS0_ATM_SPHY_1_PORT
87 * @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.
89 #define IX_NPEDL_NPEIMAGE_NPEA_HSS0_ATM_SPHY_1_PORT 0x00020000
92 #if IX_NPE_IMAGE_INCLUDE
94 * @def IX_NPEDL_NPEIMAGE_NPEA_HSS0_ATM_MPHY_1_PORT
96 * @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.
98 #define IX_NPEDL_NPEIMAGE_NPEA_HSS0_ATM_MPHY_1_PORT 0x00030000
101 #if IX_NPE_IMAGE_INCLUDE
103 * @def IX_NPEDL_NPEIMAGE_NPEA_ATM_MPHY_12_PORT
105 * @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.
107 #define IX_NPEDL_NPEIMAGE_NPEA_ATM_MPHY_12_PORT 0x00040000
110 #if IX_NPE_IMAGE_INCLUDE
112 * @def IX_NPEDL_NPEIMAGE_NPEA_DMA
114 * @brief NPE Image Id for NPE-A with DMA-Only feature.
116 #define IX_NPEDL_NPEIMAGE_NPEA_DMA 0x00150100
119 #if IX_NPE_IMAGE_INCLUDE
121 * @def IX_NPEDL_NPEIMAGE_NPEA_HSS_2_PORT
123 * @brief NPE Image Id for NPE-A with HSS-0 and HSS-1 feature. Each HSS port supports 32 channelized and 4 packetized.
125 #define IX_NPEDL_NPEIMAGE_NPEA_HSS_2_PORT 0x00090000
128 #if IX_NPE_IMAGE_INCLUDE
130 * @def IX_NPEDL_NPEIMAGE_NPEA_ETH
132 * @brief NPE Image Id for NPE-A with Basic Ethernet Rx/Tx which includes: MAC_FILTERING, MAC_LEARNING, SPANNING_TREE, FIREWALL
134 #define IX_NPEDL_NPEIMAGE_NPEA_ETH 0x10800200
137 #if IX_NPE_IMAGE_INCLUDE
139 * @def IX_NPEDL_NPEIMAGE_NPEA_ETH_LEARN_FILTER_SPAN_FIREWALL
141 * @brief NPE Image Id for NPE-A with Basic Ethernet Rx/Tx which includes: MAC_FILTERING, MAC_LEARNING, SPANNING_TREE, FIREWALL
143 #define IX_NPEDL_NPEIMAGE_NPEA_ETH_LEARN_FILTER_SPAN_FIREWALL 0x10800200
146 #if IX_NPE_IMAGE_INCLUDE
148 * @def IX_NPEDL_NPEIMAGE_NPEA_ETH_LEARN_FILTER_SPAN_FIREWALL_VLAN_QOS
150 * @brief NPE Image Id for NPE-A with Ethernet Rx/Tx which includes: MAC_FILTERING, MAC_LEARNING, SPANNING_TREE, FIREWALL, VLAN_QOS
152 #define IX_NPEDL_NPEIMAGE_NPEA_ETH_LEARN_FILTER_SPAN_FIREWALL_VLAN_QOS 0x10810200
155 #if IX_NPE_IMAGE_INCLUDE
157 * @def IX_NPEDL_NPEIMAGE_NPEA_ETH_SPAN_FIREWALL_VLAN_QOS_HDR_CONV
159 * @brief NPE Image Id for NPE-A with Ethernet Rx/Tx which includes: SPANNING_TREE, FIREWALL, VLAN_QOS, HEADER_CONVERSION
161 #define IX_NPEDL_NPEIMAGE_NPEA_ETH_SPAN_FIREWALL_VLAN_QOS_HDR_CONV 0x10820200
164 #if IX_NPE_IMAGE_INCLUDE
166 * @def IX_NPEDL_NPEIMAGE_NPEB_ETH
168 * @brief NPE Image Id for NPE-B with Basic Ethernet Rx/Tx which includes: MAC_FILTERING, MAC_LEARNING, SPANNING_TREE, FIREWALL
170 #define IX_NPEDL_NPEIMAGE_NPEB_ETH 0x01000200
173 #if IX_NPE_IMAGE_INCLUDE
175 * @def IX_NPEDL_NPEIMAGE_NPEB_ETH_LEARN_FILTER_SPAN_FIREWALL
177 * @brief NPE Image Id for NPE-B with Basic Ethernet Rx/Tx which includes: MAC_FILTERING, MAC_LEARNING, SPANNING_TREE, FIREWALL
179 #define IX_NPEDL_NPEIMAGE_NPEB_ETH_LEARN_FILTER_SPAN_FIREWALL 0x01000200
182 #if IX_NPE_IMAGE_INCLUDE
184 * @def IX_NPEDL_NPEIMAGE_NPEB_ETH_LEARN_FILTER_SPAN_FIREWALL_VLAN_QOS
186 * @brief NPE Image Id for NPE-B with Ethernet Rx/Tx which includes: MAC_FILTERING, MAC_LEARNING, SPANNING_TREE, FIREWALL, VLAN_QOS
188 #define IX_NPEDL_NPEIMAGE_NPEB_ETH_LEARN_FILTER_SPAN_FIREWALL_VLAN_QOS 0x01010200
191 #if IX_NPE_IMAGE_INCLUDE
193 * @def IX_NPEDL_NPEIMAGE_NPEB_ETH_SPAN_FIREWALL_VLAN_QOS_HDR_CONV
195 * @brief NPE Image Id for NPE-B with Ethernet Rx/Tx which includes: SPANNING_TREE, FIREWALL, VLAN_QOS, HEADER_CONVERSION
197 #define IX_NPEDL_NPEIMAGE_NPEB_ETH_SPAN_FIREWALL_VLAN_QOS_HDR_CONV 0x01020200
200 #if IX_NPE_IMAGE_INCLUDE
202 * @def IX_NPEDL_NPEIMAGE_NPEB_DMA
204 * @brief NPE Image Id for NPE-B with DMA-Only feature.
206 #define IX_NPEDL_NPEIMAGE_NPEB_DMA 0x01020100
209 #if IX_NPE_IMAGE_INCLUDE
211 * @def IX_NPEDL_NPEIMAGE_NPEC_ETH
213 * @brief NPE Image Id for NPE-C with Basic Ethernet Rx/Tx which includes: MAC_FILTERING, MAC_LEARNING, SPANNING_TREE, FIREWALL
215 #define IX_NPEDL_NPEIMAGE_NPEC_ETH 0x02000200
218 #if IX_NPE_IMAGE_INCLUDE
220 * @def IX_NPEDL_NPEIMAGE_NPEC_ETH_LEARN_FILTER_SPAN_FIREWALL
222 * @brief NPE Image Id for NPE-C with Basic Ethernet Rx/Tx which includes: MAC_FILTERING, MAC_LEARNING, SPANNING_TREE, FIREWALL
224 #define IX_NPEDL_NPEIMAGE_NPEC_ETH_LEARN_FILTER_SPAN_FIREWALL 0x02000200
227 #if IX_NPE_IMAGE_INCLUDE
229 * @def IX_NPEDL_NPEIMAGE_NPEC_ETH_LEARN_FILTER_SPAN_FIREWALL_VLAN_QOS
231 * @brief NPE Image Id for NPE-C with Ethernet Rx/Tx which includes: MAC_FILTERING, MAC_LEARNING, SPANNING_TREE, FIREWALL, VLAN_QOS
233 #define IX_NPEDL_NPEIMAGE_NPEC_ETH_LEARN_FILTER_SPAN_FIREWALL_VLAN_QOS 0x02010200
236 #if IX_NPE_IMAGE_INCLUDE
238 * @def IX_NPEDL_NPEIMAGE_NPEC_ETH_SPAN_FIREWALL_VLAN_QOS_HDR_CONV
240 * @brief NPE Image Id for NPE-C with Ethernet Rx/Tx which includes: SPANNING_TREE, FIREWALL, VLAN_QOS, HEADER_CONVERSION
242 #define IX_NPEDL_NPEIMAGE_NPEC_ETH_SPAN_FIREWALL_VLAN_QOS_HDR_CONV 0x02020200
245 #if IX_NPE_IMAGE_INCLUDE
247 * @def IX_NPEDL_NPEIMAGE_NPEC_DMA
249 * @brief NPE Image Id for NPE-C with DMA-Only feature.
251 #define IX_NPEDL_NPEIMAGE_NPEC_DMA 0x02080100
254 /* Number of NPE firmware images in this library */
255 #define IX_NPE_MICROCODE_AVAILABLE_VERSIONS_COUNT 17
257 /* Location of Microcode Images */
258 #ifdef IX_NPE_MICROCODE_FIRMWARE_INCLUDED
259 #ifdef IX_NPEDL_READ_MICROCODE_FROM_FILE
261 extern UINT32* ixNpeMicrocode_binaryArray;
265 extern unsigned IxNpeMicrocode_array[];
271 * sr: undef all but the bare minimum to reduce flash usage for U-Boot
273 #undef IX_NPEDL_NPEIMAGE_NPEA_HSS0
274 #undef IX_NPEDL_NPEIMAGE_NPEA_HSS0_ATM_SPHY_1_PORT
275 #undef IX_NPEDL_NPEIMAGE_NPEA_HSS0_ATM_MPHY_1_PORT
276 #undef IX_NPEDL_NPEIMAGE_NPEA_ATM_MPHY_12_PORT
277 #undef IX_NPEDL_NPEIMAGE_NPEA_DMA
278 #undef IX_NPEDL_NPEIMAGE_NPEA_HSS_2_PORT
279 #undef IX_NPEDL_NPEIMAGE_NPEA_ETH
280 #undef IX_NPEDL_NPEIMAGE_NPEA_ETH_LEARN_FILTER_SPAN_FIREWALL
281 #undef IX_NPEDL_NPEIMAGE_NPEA_ETH_LEARN_FILTER_SPAN_FIREWALL_VLAN_QOS
282 #undef IX_NPEDL_NPEIMAGE_NPEA_ETH_SPAN_FIREWALL_VLAN_QOS_HDR_CONV
283 #undef IX_NPEDL_NPEIMAGE_NPEB_ETH
284 #undef IX_NPEDL_NPEIMAGE_NPEB_ETH_LEARN_FILTER_SPAN_FIREWALL
285 /* #undef IX_NPEDL_NPEIMAGE_NPEB_ETH_LEARN_FILTER_SPAN_FIREWALL_VLAN_QOS */
286 #undef IX_NPEDL_NPEIMAGE_NPEB_ETH_SPAN_FIREWALL_VLAN_QOS_HDR_CONV
287 #undef IX_NPEDL_NPEIMAGE_NPEB_DMA
288 #undef IX_NPEDL_NPEIMAGE_NPEC_ETH
289 #undef IX_NPEDL_NPEIMAGE_NPEC_ETH_LEARN_FILTER_SPAN_FIREWALL
290 /* #undef IX_NPEDL_NPEIMAGE_NPEC_ETH_LEARN_FILTER_SPAN_FIREWALL_VLAN_QOS */
291 #undef IX_NPEDL_NPEIMAGE_NPEC_ETH_SPAN_FIREWALL_VLAN_QOS_HDR_CONV
292 #undef IX_NPEDL_NPEIMAGE_NPEC_DMA
295 * @} defgroup IxNpeMicrocode