]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/contrib/ncsw/inc/integrations/P2041/part_integration_ext.h
Unbreak the LBC driver, broken with the large RMan and 36-bit physical address changes.
[FreeBSD/FreeBSD.git] / sys / contrib / ncsw / inc / integrations / P2041 / part_integration_ext.h
1 /******************************************************************************
2
3  © 1995-2003, 2004, 2005-2011 Freescale Semiconductor, Inc.
4  All rights reserved.
5
6  This is proprietary source code of Freescale Semiconductor Inc.,
7  and its use is subject to the NetComm Device Drivers EULA.
8  The copyright notice above does not evidence any actual or intended
9  publication of such source code.
10
11  ALTERNATIVELY, redistribution and use in source and binary forms, with
12  or without modification, are permitted provided that the following
13  conditions are met:
14      * Redistributions of source code must retain the above copyright
15        notice, this list of conditions and the following disclaimer.
16      * Redistributions in binary form must reproduce the above copyright
17        notice, this list of conditions and the following disclaimer in the
18        documentation and/or other materials provided with the distribution.
19      * Neither the name of Freescale Semiconductor nor the
20        names of its contributors may be used to endorse or promote products
21        derived from this software without specific prior written permission.
22
23  THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY
24  EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
25  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
26  DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY
27  DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
28  (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
29  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
30  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
32  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33
34  **************************************************************************/
35 /**
36
37  @File          part_integration_ext.h
38
39  @Description   P2041 external definitions and structures.
40 *//***************************************************************************/
41 #ifndef __PART_INTEGRATION_EXT_H
42 #define __PART_INTEGRATION_EXT_H
43
44 #include "std_ext.h"
45 #include "ddr_std_ext.h"
46 #include "enet_ext.h"
47 #include "dpaa_integration_ext.h"
48
49
50 /**************************************************************************//**
51  @Group         P2041_chip_id P2041 Application Programming Interface
52
53  @Description   P2041 Chip functions,definitions and enums.
54
55  @{
56 *//***************************************************************************/
57
58 #define CORE_E500MC
59
60 #define INTG_MAX_NUM_OF_CORES   4
61
62
63 /**************************************************************************//**
64  @Description   Module types.
65 *//***************************************************************************/
66 typedef enum e_ModuleId
67 {
68     e_MODULE_ID_DUART_1 = 0,
69     e_MODULE_ID_DUART_2,
70     e_MODULE_ID_DUART_3,
71     e_MODULE_ID_DUART_4,
72     e_MODULE_ID_LAW,
73     e_MODULE_ID_LBC,
74     e_MODULE_ID_PAMU,
75     e_MODULE_ID_QM,                 /**< Queue manager module */
76     e_MODULE_ID_BM,                 /**< Buffer manager module */
77     e_MODULE_ID_QM_CE_PORTAL_0,
78     e_MODULE_ID_QM_CI_PORTAL_0,
79     e_MODULE_ID_QM_CE_PORTAL_1,
80     e_MODULE_ID_QM_CI_PORTAL_1,
81     e_MODULE_ID_QM_CE_PORTAL_2,
82     e_MODULE_ID_QM_CI_PORTAL_2,
83     e_MODULE_ID_QM_CE_PORTAL_3,
84     e_MODULE_ID_QM_CI_PORTAL_3,
85     e_MODULE_ID_QM_CE_PORTAL_4,
86     e_MODULE_ID_QM_CI_PORTAL_4,
87     e_MODULE_ID_QM_CE_PORTAL_5,
88     e_MODULE_ID_QM_CI_PORTAL_5,
89     e_MODULE_ID_QM_CE_PORTAL_6,
90     e_MODULE_ID_QM_CI_PORTAL_6,
91     e_MODULE_ID_QM_CE_PORTAL_7,
92     e_MODULE_ID_QM_CI_PORTAL_7,
93     e_MODULE_ID_QM_CE_PORTAL_8,
94     e_MODULE_ID_QM_CI_PORTAL_8,
95     e_MODULE_ID_QM_CE_PORTAL_9,
96     e_MODULE_ID_QM_CI_PORTAL_9,
97     e_MODULE_ID_BM_CE_PORTAL_0,
98     e_MODULE_ID_BM_CI_PORTAL_0,
99     e_MODULE_ID_BM_CE_PORTAL_1,
100     e_MODULE_ID_BM_CI_PORTAL_1,
101     e_MODULE_ID_BM_CE_PORTAL_2,
102     e_MODULE_ID_BM_CI_PORTAL_2,
103     e_MODULE_ID_BM_CE_PORTAL_3,
104     e_MODULE_ID_BM_CI_PORTAL_3,
105     e_MODULE_ID_BM_CE_PORTAL_4,
106     e_MODULE_ID_BM_CI_PORTAL_4,
107     e_MODULE_ID_BM_CE_PORTAL_5,
108     e_MODULE_ID_BM_CI_PORTAL_5,
109     e_MODULE_ID_BM_CE_PORTAL_6,
110     e_MODULE_ID_BM_CI_PORTAL_6,
111     e_MODULE_ID_BM_CE_PORTAL_7,
112     e_MODULE_ID_BM_CI_PORTAL_7,
113     e_MODULE_ID_BM_CE_PORTAL_8,
114     e_MODULE_ID_BM_CI_PORTAL_8,
115     e_MODULE_ID_BM_CE_PORTAL_9,
116     e_MODULE_ID_BM_CI_PORTAL_9,
117     e_MODULE_ID_FM,                 /**< Frame manager module */
118     e_MODULE_ID_FM_RTC,             /**< FM Real-Time-Clock */
119     e_MODULE_ID_FM_MURAM,           /**< FM Multi-User-RAM */
120     e_MODULE_ID_FM_BMI,             /**< FM BMI block */
121     e_MODULE_ID_FM_QMI,             /**< FM QMI block */
122     e_MODULE_ID_FM_PARSER,          /**< FM parser block */
123     e_MODULE_ID_FM_PORT_HO1,        /**< FM Host-command/offline-parsing port block */
124     e_MODULE_ID_FM_PORT_HO2,        /**< FM Host-command/offline-parsing port block */
125     e_MODULE_ID_FM_PORT_HO3,        /**< FM Host-command/offline-parsing port block */
126     e_MODULE_ID_FM_PORT_HO4,        /**< FM Host-command/offline-parsing port block */
127     e_MODULE_ID_FM_PORT_HO5,        /**< FM Host-command/offline-parsing port block */
128     e_MODULE_ID_FM_PORT_HO6,        /**< FM Host-command/offline-parsing port block */
129     e_MODULE_ID_FM_PORT_HO7,        /**< FM Host-command/offline-parsing port block */
130     e_MODULE_ID_FM_PORT_1GRx1,      /**< FM Rx 1G MAC port block */
131     e_MODULE_ID_FM_PORT_1GRx2,      /**< FM Rx 1G MAC port block */
132     e_MODULE_ID_FM_PORT_1GRx3,      /**< FM Rx 1G MAC port block */
133     e_MODULE_ID_FM_PORT_1GRx4,      /**< FM Rx 1G MAC port block */
134     e_MODULE_ID_FM_PORT_1GRx5,      /**< FM Rx 1G MAC port block */
135     e_MODULE_ID_FM_PORT_10GRx,      /**< FM Rx 10G MAC port block */
136     e_MODULE_ID_FM_PORT_1GTx1,      /**< FM Tx 1G MAC port block */
137     e_MODULE_ID_FM_PORT_1GTx2,      /**< FM Tx 1G MAC port block */
138     e_MODULE_ID_FM_PORT_1GTx3,      /**< FM Tx 1G MAC port block */
139     e_MODULE_ID_FM_PORT_1GTx4,      /**< FM Tx 1G MAC port block */
140     e_MODULE_ID_FM_PORT_1GTx5,      /**< FM Tx 1G MAC port block */
141     e_MODULE_ID_FM_PORT_10GTx,      /**< FM Tx 10G MAC port block */
142     e_MODULE_ID_FM_PLCR,            /**< FM Policer */
143     e_MODULE_ID_FM_KG,              /**< FM Keygen */
144     e_MODULE_ID_FM_DMA,             /**< FM DMA */
145     e_MODULE_ID_FM_FPM,             /**< FM FPM */
146     e_MODULE_ID_FM_IRAM,            /**< FM Instruction-RAM */
147     e_MODULE_ID_FM_1GMDIO1,         /**< FM 1G MDIO MAC 1*/
148     e_MODULE_ID_FM_1GMDIO2,         /**< FM 1G MDIO MAC 2*/
149     e_MODULE_ID_FM_1GMDIO3,         /**< FM 1G MDIO MAC 3*/
150     e_MODULE_ID_FM_1GMDIO4,         /**< FM 1G MDIO MAC 4*/
151     e_MODULE_ID_FM_1GMDIO5,         /**< FM 1G MDIO MAC 5*/
152     e_MODULE_ID_FM_10GMDIO,         /**< FM 10G MDIO */
153     e_MODULE_ID_FM_PRS_IRAM,        /**< FM SW-parser Instruction-RAM */
154     e_MODULE_ID_FM_1GMAC1,          /**< FM 1G MAC #1 */
155     e_MODULE_ID_FM_1GMAC2,          /**< FM 1G MAC #2 */
156     e_MODULE_ID_FM_1GMAC3,          /**< FM 1G MAC #3 */
157     e_MODULE_ID_FM_1GMAC4,          /**< FM 1G MAC #4 */
158     e_MODULE_ID_FM_1GMAC5,          /**< FM 1G MAC #5 */
159     e_MODULE_ID_FM_10GMAC,          /**< FM 10G MAC */
160
161     e_MODULE_ID_SEC_GEN,            /**< SEC 4.0 General registers      */
162     e_MODULE_ID_SEC_QI,             /**< SEC 4.0 QI registers           */
163     e_MODULE_ID_SEC_JQ0,            /**< SEC 4.0 JQ-0 registers         */
164     e_MODULE_ID_SEC_JQ1,            /**< SEC 4.0 JQ-1 registers         */
165     e_MODULE_ID_SEC_JQ2,            /**< SEC 4.0 JQ-2 registers         */
166     e_MODULE_ID_SEC_JQ3,            /**< SEC 4.0 JQ-3 registers         */
167     e_MODULE_ID_SEC_RTIC,           /**< SEC 4.0 RTIC registers         */
168     e_MODULE_ID_SEC_DECO0_CCB0,     /**< SEC 4.0 DECO-0/CCB-0 registers */
169     e_MODULE_ID_SEC_DECO1_CCB1,     /**< SEC 4.0 DECO-1/CCB-1 registers */
170     e_MODULE_ID_SEC_DECO2_CCB2,     /**< SEC 4.0 DECO-2/CCB-2 registers */
171     e_MODULE_ID_SEC_DECO3_CCB3,     /**< SEC 4.0 DECO-3/CCB-3 registers */
172     e_MODULE_ID_SEC_DECO4_CCB4,     /**< SEC 4.0 DECO-4/CCB-4 registers */
173
174     e_MODULE_ID_PIC,                /**< PIC */
175     e_MODULE_ID_GPIO,               /**< GPIO */
176     e_MODULE_ID_SERDES,             /**< SERDES */
177     e_MODULE_ID_CPC,                /**< CoreNet-Platform-Cache */
178     e_MODULE_ID_DUMMY_LAST
179 } e_ModuleId;
180
181 #define NUM_OF_MODULES  e_MODULE_ID_DUMMY_LAST
182
183 /* Offsets relative to CCSR base */
184 #define P2041_OFFSET_LAW              0x00000c00
185 #define P2041_OFFSET_DDR              0x00008000
186 #define P2041_OFFSET_CPC              0x00010000
187 #define P2041_OFFSET_CCM              0x00018000
188 #define P2041_OFFSET_PAMU             0x00020000
189 #define P2041_OFFSET_PIC              0x00040000
190 #define P2041_OFFSET_GUTIL            0x000e0000
191 #define P2041_OFFSET_RCPM             0x000e2000
192 #define P2041_OFFSET_SERDES           0x000ea000
193 #define P2041_OFFSET_DMA1             0x00100100
194 #define P2041_OFFSET_DMA2             0x00101100
195 #define P2041_OFFSET_ESPI             0x00110000
196 #define P2041_OFFSET_ESDHC            0x00114000
197 #define P2041_OFFSET_I2C1             0x00118000
198 #define P2041_OFFSET_I2C2             0x00118100
199 #define P2041_OFFSET_I2C3             0x00119000
200 #define P2041_OFFSET_I2C4             0x00119100
201 #define P2041_OFFSET_DUART1           0x0011c500
202 #define P2041_OFFSET_DUART2           0x0011c600
203 #define P2041_OFFSET_DUART3           0x0011d500
204 #define P2041_OFFSET_DUART4           0x0011d600
205 #define P2041_OFFSET_LBC              0x00124000
206 #define P2041_OFFSET_GPIO             0x00130000
207 #define P2041_OFFSET_PCIE1            0x00200000
208 #define P2041_OFFSET_PCIE2            0x00201000
209 #define P2041_OFFSET_PCIE3            0x00202000
210 #define P2041_OFFSET_USB1             0x00210000
211 #define P2041_OFFSET_USB2             0x00211000
212 #define P2041_OFFSET_USB_PHY          0x00214000
213 #define P2041_OFFSET_SATA1            0x00220000
214 #define P2041_OFFSET_SATA2            0x00221000
215 #define P2041_OFFSET_SEC_GEN          0x00300000
216 #define P2041_OFFSET_SEC_JQ0          0x00301000
217 #define P2041_OFFSET_SEC_JQ1          0x00302000
218 #define P2041_OFFSET_SEC_JQ2          0x00303000
219 #define P2041_OFFSET_SEC_JQ3          0x00304000
220 #define P2041_OFFSET_SEC_RESERVED     0x00305000
221 #define P2041_OFFSET_SEC_RTIC         0x00306000
222 #define P2041_OFFSET_SEC_QI           0x00307000
223 #define P2041_OFFSET_SEC_DECO0_CCB0   0x00308000
224 #define P2041_OFFSET_SEC_DECO1_CCB1   0x00309000
225 #define P2041_OFFSET_PME              0x00316000
226 #define P2041_OFFSET_QM               0x00318000
227 #define P2041_OFFSET_BM               0x0031a000
228 #define P2041_OFFSET_FM               0x00400000
229
230 #define P2041_OFFSET_FM_MURAM         P2041_OFFSET_FM
231 #define P2041_OFFSET_FM_BMI           (P2041_OFFSET_FM + 0x00080000)
232 #define P2041_OFFSET_FM_QMI           (P2041_OFFSET_FM + 0x00080400)
233 #define P2041_OFFSET_FM_PARSER        (P2041_OFFSET_FM + 0x00080800)
234 #define P2041_OFFSET_FM_PORT_HO1      (P2041_OFFSET_FM + 0x00081000)     /* host command/offline parser */
235 #define P2041_OFFSET_FM_PORT_HO2      (P2041_OFFSET_FM + 0x00082000)
236 #define P2041_OFFSET_FM_PORT_HO3      (P2041_OFFSET_FM + 0x00083000)
237 #define P2041_OFFSET_FM_PORT_HO4      (P2041_OFFSET_FM + 0x00084000)
238 #define P2041_OFFSET_FM_PORT_HO5      (P2041_OFFSET_FM + 0x00085000)
239 #define P2041_OFFSET_FM_PORT_HO6      (P2041_OFFSET_FM + 0x00086000)
240 #define P2041_OFFSET_FM_PORT_HO7      (P2041_OFFSET_FM + 0x00087000)
241 #define P2041_OFFSET_FM_PORT_1GRX1    (P2041_OFFSET_FM + 0x00088000)
242 #define P2041_OFFSET_FM_PORT_1GRX2    (P2041_OFFSET_FM + 0x00089000)
243 #define P2041_OFFSET_FM_PORT_1GRX3    (P2041_OFFSET_FM + 0x0008a000)
244 #define P2041_OFFSET_FM_PORT_1GRX4    (P2041_OFFSET_FM + 0x0008b000)
245 #define P2041_OFFSET_FM_PORT_1GRX5    (P2041_OFFSET_FM + 0x0008c000)
246 #define P2041_OFFSET_FM_PORT_10GRX    (P2041_OFFSET_FM + 0x00090000)
247 #define P2041_OFFSET_FM_PORT_1GTX1    (P2041_OFFSET_FM + 0x000a8000)
248 #define P2041_OFFSET_FM_PORT_1GTX2    (P2041_OFFSET_FM + 0x000a9000)
249 #define P2041_OFFSET_FM_PORT_1GTX3    (P2041_OFFSET_FM + 0x000aa000)
250 #define P2041_OFFSET_FM_PORT_1GTX4    (P2041_OFFSET_FM + 0x000ab000)
251 #define P2041_OFFSET_FM_PORT_1GTX5    (P2041_OFFSET_FM + 0x000ac000)
252 #define P2041_OFFSET_FM_PORT_10GTX    (P2041_OFFSET_FM + 0x000b0000)
253 #define P2041_OFFSET_FM_PLCR          (P2041_OFFSET_FM + 0x000c0000)
254 #define P2041_OFFSET_FM_KG            (P2041_OFFSET_FM + 0x000c1000)
255 #define P2041_OFFSET_FM_DMA           (P2041_OFFSET_FM + 0x000c2000)
256 #define P2041_OFFSET_FM_FPM           (P2041_OFFSET_FM + 0x000c3000)
257 #define P2041_OFFSET_FM_IRAM          (P2041_OFFSET_FM + 0x000c4000)
258 #define P2041_OFFSET_FM_PARSER_IRAM   (P2041_OFFSET_FM + 0x000c7000)
259 #define P2041_OFFSET_FM_1GMAC1        (P2041_OFFSET_FM + 0x000e0000)
260 #define P2041_OFFSET_FM_1GMDIO        (P2041_OFFSET_FM + 0x000e1000 + 0x120)
261 #define P2041_OFFSET_FM_1GMAC2        (P2041_OFFSET_FM + 0x000e2000)
262 #define P2041_OFFSET_FM_1GMAC3        (P2041_OFFSET_FM + 0x000e4000)
263 #define P2041_OFFSET_FM_1GMAC4        (P2041_OFFSET_FM + 0x000e6000)
264 #define P2041_OFFSET_FM_1GMAC5        (P2041_OFFSET_FM + 0x000e8000)
265 #define P2041_OFFSET_FM_10GMAC        (P2041_OFFSET_FM + 0x000f0000)
266 #define P2041_OFFSET_FM_10GMDIO       (P2041_OFFSET_FM + 0x000f1000 + 0x030)
267 #define P2041_OFFSET_FM_RTC           (P2041_OFFSET_FM + 0x000fe000)
268
269 /* Offsets relative to QM or BM portals base */
270 #define P2041_OFFSET_PORTALS_CE_AREA  0x000000        /* cache enabled area */
271 #define P2041_OFFSET_PORTALS_CI_AREA  0x100000        /* cache inhibited area */
272
273 #define P2041_CE_PORTAL_SIZE               0x4000
274 #define P2041_CI_PORTAL_SIZE               0x1000
275
276 #define P2041_OFFSET_PORTALS_CE(portal) \
277     (P2041_OFFSET_PORTALS_CE_AREA + P2041_CE_PORTAL_SIZE * (portal))
278 #define P2041_OFFSET_PORTALS_CI(portal) \
279     (P2041_OFFSET_PORTALS_CI_AREA + P2041_CI_PORTAL_SIZE * (portal))
280
281
282 /**************************************************************************//**
283  @Description   Transaction source ID (for memory conrollers error reporting).
284 *//***************************************************************************/
285 typedef enum e_TransSrc
286 {
287     e_TRANS_SRC_PCIE_1          = 0x0,  /**< PCI Express 1                  */
288     e_TRANS_SRC_PCIE_2          = 0x1,  /**< PCI Express 2                  */
289     e_TRANS_SRC_PCIE_3          = 0x2,  /**< PCI Express 3                  */
290     e_TRANS_SRC_SRIO_1          = 0x8,  /**< SRIO 1                         */
291     e_TRANS_SRC_SRIO_2          = 0x9,  /**< SRIO 2                         */
292     e_TRANS_SRC_BMAN            = 0x18, /**< BMan                           */
293     e_TRANS_SRC_PAMU            = 0x1C, /**< PAMU                           */
294     e_TRANS_SRC_PME             = 0x20, /**< PME                            */
295     e_TRANS_SRC_SEC             = 0x21, /**< Security engine                */
296     e_TRANS_SRC_QMAN            = 0x3C, /**< QMan                           */
297     e_TRANS_SRC_USB_1           = 0x40, /**< USB 1                          */
298     e_TRANS_SRC_USB_2           = 0x41, /**< USB 2                          */
299     e_TRANS_SRC_ESDHC           = 0x44, /**< eSDHC                          */
300     e_TRANS_SRC_PBL             = 0x48, /**< Pre-boot loader                */
301     e_TRANS_SRC_NPC             = 0x4B, /**< Nexus port controller          */
302     e_TRANS_SRC_RMAN            = 0x5D, /**< RIO message manager            */
303     e_TRANS_SRC_SATA_1          = 0x60, /**< SATA 1                         */
304     e_TRANS_SRC_SATA_2          = 0x61, /**< SATA 2                         */
305     e_TRANS_SRC_DMA_1           = 0x70, /**< DMA 1                          */
306     e_TRANS_SRC_DMA_2           = 0x71, /**< DMA 2                          */
307     e_TRANS_SRC_CORE_0_INST     = 0x80, /**< Processor 0 (instruction)      */
308     e_TRANS_SRC_CORE_0_DATA     = 0x81, /**< Processor 0 (data)             */
309     e_TRANS_SRC_CORE_1_INST     = 0x82, /**< Processor 1 (instruction)      */
310     e_TRANS_SRC_CORE_1_DATA     = 0x83, /**< Processor 1 (data)             */
311     e_TRANS_SRC_CORE_2_INST     = 0x84, /**< Processor 2 (instruction)      */
312     e_TRANS_SRC_CORE_2_DATA     = 0x85, /**< Processor 2 (data)             */
313     e_TRANS_SRC_CORE_3_INST     = 0x86, /**< Processor 3 (instruction)      */
314     e_TRANS_SRC_CORE_3_DATA     = 0x87, /**< Processor 3 (data)             */
315     e_TRANS_SRC_FM_10G          = 0xC0, /**< FM XAUI                        */
316     e_TRANS_SRC_FM_HO_1         = 0xC1, /**< FM offline, host 1             */
317     e_TRANS_SRC_FM_HO_2         = 0xC2, /**< FM offline, host 2             */
318     e_TRANS_SRC_FM_HO_3         = 0xC3, /**< FM offline, host 3             */
319     e_TRANS_SRC_FM_HO_4         = 0xC4, /**< FM offline, host 4             */
320     e_TRANS_SRC_FM_HO_5         = 0xC5, /**< FM offline, host 5             */
321     e_TRANS_SRC_FM_HO_6         = 0xC6, /**< FM offline, host 6             */
322     e_TRANS_SRC_FM_HO_7         = 0xC7, /**< FM offline, host 7             */
323     e_TRANS_SRC_FM_GETH_1       = 0xC8, /**< FM GETH 1                      */
324     e_TRANS_SRC_FM_GETH_2       = 0xC9, /**< FM GETH 2                      */
325     e_TRANS_SRC_FM_GETH_3       = 0xCA, /**< FM GETH 3                      */
326     e_TRANS_SRC_FM_GETH_4       = 0xCB, /**< FM GETH 4                      */
327     e_TRANS_SRC_FM_GETH_5       = 0xCC  /**< FM GETH 5                      */
328 } e_TransSrc;
329
330 /**************************************************************************//**
331  @Description   Local Access Window Target interface ID
332 *//***************************************************************************/
333 typedef enum e_P2041LawTargetId
334 {
335     e_P2041_LAW_TARGET_PCIE_1          = 0x0,   /**< PCI Express 1 */
336     e_P2041_LAW_TARGET_PCIE_2          = 0x1,   /**< PCI Express 2 */
337     e_P2041_LAW_TARGET_PCIE_3          = 0x2,   /**< PCI Express 3 */
338     e_P2041_LAW_TARGET_SRIO_1          = 0x8,   /**< SRIO 1 */
339     e_P2041_LAW_TARGET_SRIO_2          = 0x9,   /**< SRIO 2 */
340     e_P2041_LAW_TARGET_DDR_CPC         = 0x10,  /**< DDR controller or CPC SRAM */
341     e_P2041_LAW_TARGET_BMAN            = 0x18,  /**< BMAN target interface ID */
342     e_P2041_LAW_TARGET_DCSR            = 0x1D,  /**< DCSR */
343     e_P2041_LAW_TARGET_LBC             = 0x1F,  /**< Local Bus target interface ID */
344     e_P2041_LAW_TARGET_QMAN            = 0x3C,  /**< QMAN target interface ID */
345     e_P2041_LAW_TARGET_NONE            = 0xFF   /**< None */
346 } e_P2041LawTargetId;
347
348 /***************************************************************
349     P2041 general routines
350 ****************************************************************/
351 /**************************************************************************//**
352  @Group         P2041_init_grp P2041 Initialization Unit
353
354  @Description   P2041 initialization unit API functions, definitions and enums
355
356  @{
357 *//***************************************************************************/
358
359 /**************************************************************************//**
360  @Description   Part ID and revision number
361 *//***************************************************************************/
362 typedef enum e_P2041DeviceName
363 {
364     e_P2041_REV_INVALID     = 0x00000000,       /**< Invalid revision                     */
365     e_P2040_REV_1_0         = (int)0x82180010,  /**< P2040 with security,    revision 1.0 */
366     e_P2040_REV_1_0_NO_SEC  = (int)0x82100010,  /**< P2040 without security, revision 1.0 */
367     e_P2041_REV_1_0         = (int)0x82180110,  /**< P2041 with security,    revision 1.0 */
368     e_P2041_REV_1_0_NO_SEC  = (int)0x82100110   /**< P2041 without security, revision 1.0 */
369 } e_P2041DeviceName;
370
371 /**************************************************************************//**
372  @Description   Device Disable Register
373 *//***************************************************************************/
374 typedef enum e_P2041DeviceDisable
375 {
376     e_P2041_DEV_DISABLE_PCIE_1  = 0,    /**< PCI Express controller 1 disable */
377     e_P2041_DEV_DISABLE_PCIE_2,         /**< PCI Express controller 2 disable */
378     e_P2041_DEV_DISABLE_PCIE_3,         /**< PCI Express controller 3 disable */
379     e_P2041_DEV_DISABLE_RMAN    = 4,    /**< RapidIO message manager disable */
380     e_P2041_DEV_DISABLE_SRIO_1,         /**< Serial RapidIO controller 1 disable */
381     e_P2041_DEV_DISABLE_SRIO_2,         /**< Serial RapidIO controller 2 disable */
382     e_P2041_DEV_DISABLE_DMA_1   = 9,    /**< DMA controller 1 disable */
383     e_P2041_DEV_DISABLE_DMA_2,          /**< DMA controller 2 disable */
384     e_P2041_DEV_DISABLE_DDR,            /**< DDR controller disable */
385     e_P2041_DEV_DISABLE_SATA_1  = 17,   /**< SATA controller 1 disable */
386     e_P2041_DEV_DISABLE_SATA_2,         /**< SATA controller 2 disable */
387     e_P2041_DEV_DISABLE_LBC,            /**< eLBC controller disable */
388     e_P2041_DEV_DISABLE_USB_1,          /**< USB controller 1 disable */
389     e_P2041_DEV_DISABLE_USB_2,          /**< USB controller 2 disable */
390     e_P2041_DEV_DISABLE_ESDHC   = 23,   /**< eSDHC controller disable */
391     e_P2041_DEV_DISABLE_GPIO,           /**< GPIO controller disable */
392     e_P2041_DEV_DISABLE_ESPI,           /**< eSPI controller disable */
393     e_P2041_DEV_DISABLE_I2C_1,          /**< I2C module 1 (controllers 1 and 2) disable */
394     e_P2041_DEV_DISABLE_I2C_2,          /**< I2C module 2 (controllers 3 and 4) disable */
395     e_P2041_DEV_DISABLE_DUART_1 = 30,   /**< DUART controller 1 disable */
396     e_P2041_DEV_DISABLE_DUART_2,        /**< DUART controller 2 disable */
397     e_P2041_DEV_DISABLE_DISR1_DUMMY_LAST = 32,
398                                         /**< Dummy entry signing end of DEVDISR1 register controllers */
399     e_P2041_DEV_DISABLE_PME     = e_P2041_DEV_DISABLE_DISR1_DUMMY_LAST,
400                                         /**< Pattern match engine disable */
401     e_P2041_DEV_DISABLE_SEC,            /**< Security disable */
402     e_P2041_DEV_DISABLE_QM_BM   = e_P2041_DEV_DISABLE_DISR1_DUMMY_LAST + 4,
403                                         /**< Queue manager/buffer manager disable */
404     e_P2041_DEV_DISABLE_FM      = e_P2041_DEV_DISABLE_DISR1_DUMMY_LAST + 6,
405                                         /**< Frame manager disable */
406     e_P2041_DEV_DISABLE_10G,            /**< 10G Ethernet controller disable */
407     e_P2041_DEV_DISABLE_DTSEC_1,
408                                         /**< dTSEC controller 1 disable */
409     e_P2041_DEV_DISABLE_DTSEC_2,        /**< dTSEC controller 2 disable */
410     e_P2041_DEV_DISABLE_DTSEC_3,        /**< dTSEC controller 3 disable */
411     e_P2041_DEV_DISABLE_DTSEC_4,        /**< dTSEC controller 4 disable */
412     e_P2041_DEV_DISABLE_DTSEC_5         /**< dTSEC controller 5 disable */
413 } e_P2041DeviceDisable;
414
415
416 /**************************************************************************//*
417  @Description   structure representing P2041 devices configuration
418 *//***************************************************************************/
419 typedef struct t_P2041Devices
420 {
421     struct
422     {
423         struct
424         {
425             bool                    enabled;
426             uint8_t                 serdesBank;
427             uint16_t                serdesLane;     /**< Most significant bits represent lanes used by this bank,
428                                                          one bit for lane, lane A is the first and so on, e.g.,
429                                                          set 0xF000 for ABCD lanes */
430             e_EnetInterface         ethIf;
431             uint8_t                 ratio;
432             bool                    divByTwo;
433             bool                    isTwoHalfSgmii;
434         } dtsecs[FM_MAX_NUM_OF_1G_MACS];
435         struct
436         {
437             bool                    enabled;
438             uint8_t                 serdesBank;
439             uint16_t                serdesLane;
440         } tgec;
441     } fm;
442 } t_P2041Devices;
443
444 /**************************************************************************//**
445  @Function      P2041_GetRevInfo
446
447  @Description   Obtain revision information.
448
449  @Param[in]     gutilBase       - Gutil memory map virtual base address.
450
451  @Return        Part ID and revision.
452 *//***************************************************************************/
453 e_P2041DeviceName P2041_GetRevInfo(uintptr_t gutilBase);
454
455 /**************************************************************************//**
456  @Function      P2041_GetE500Factor
457
458  @Description   Obtain core's multiplication factors.
459
460  @Param[in]     gutilBase       - Gutil memory map virtual base address.
461  @Param[in]     coreIndex       - Core index.
462  @Param[out]    p_E500MulFactor - E500 to CCB multification factor.
463  @Param[out]    p_E500DivFactor - E500 to CCB division factor.
464
465 *//***************************************************************************/
466 void P2041_GetE500Factor(uintptr_t  gutilBase,
467                          uint8_t    coreIndex,
468                          uint32_t   *p_E500MulFactor,
469                          uint32_t   *p_E500DivFactor);
470
471 /**************************************************************************//**
472  @Function      P2041_GetCcbFactor
473
474  @Description   Obtain system multiplication factor.
475
476  @Param[in]     gutilBase       - Gutil memory map virtual base address.
477
478  @Return        System multiplication factor.
479 *//***************************************************************************/
480 uint32_t P2041_GetCcbFactor(uintptr_t gutilBase);
481
482 /**************************************************************************//**
483  @Function      P2041_GetDdrFactor
484
485  @Description   Obtain DDR clock multiplication factor.
486
487  @Param[in]     gutilBase       - Gutil memory map virtual base address.
488
489  @Return        DDR clock multiplication factor.
490 *//***************************************************************************/
491 uint32_t P2041_GetDdrFactor(uintptr_t gutilBase);
492
493 /**************************************************************************//**
494  @Function      P2041_GetDdrType
495
496  @Description   Obtain DDR memory type.
497
498  @Param[in]     gutilBase       - Gutil memory map virtual base address.
499
500  @Return        DDR type.
501 *//***************************************************************************/
502 e_DdrType  P2041_GetDdrType(uintptr_t gutilBase);
503
504 /**************************************************************************//**
505  @Function      P2041_GetFmFactor
506
507  @Description   returns FM multiplication factors. (This value is returned using
508                 two parameters to avoid using float parameter).
509
510  @Param[in]     gutilBase       - Gutil memory map virtual base address.
511  @Param[out]    p_FmMulFactor   - FM to CCB multification factor.
512  @Param[out]    p_FmDivFactor   - FM to CCB division factor.
513
514 *//***************************************************************************/
515 void  P2041_GetFmFactor(uintptr_t gutilBase,
516                         uint32_t  *p_FmMulFactor,
517                         uint32_t  *p_FmDivFactor);
518
519
520 void P2041_CoreTimeBaseEnable(uintptr_t rcpmBase);
521 void P2041_CoreTimeBaseDisable(uintptr_t rcpmBase);
522
523 typedef enum e_SerdesProtocol
524 {
525     SRDS_PROTOCOL_NONE = 0,
526     SRDS_PROTOCOL_PCIE1,
527     SRDS_PROTOCOL_PCIE2,
528     SRDS_PROTOCOL_PCIE3,
529     SRDS_PROTOCOL_SRIO1,
530     SRDS_PROTOCOL_SRIO2,
531     SRDS_PROTOCOL_SGMII_FM,
532     SRDS_PROTOCOL_XAUI_FM,
533     SRDS_PROTOCOL_SATA1,
534     SRDS_PROTOCOL_SATA2,
535     SRDS_PROTOCOL_AURORA
536 } e_SerdesProtocol;
537
538 t_Error  P2041_DeviceDisable(uintptr_t gutilBase, e_P2041DeviceDisable device, bool disable);
539 void     P2041_GetDevicesConfiguration(uintptr_t gutilBase, t_P2041Devices *p_Devices);
540 t_Error  P2041_PamuDisableBypass(uintptr_t gutilBase, uint8_t pamuId, bool disable);
541 void     P2041_SetDmaLiodn(uintptr_t gutilBase, uint8_t dmaId, uint16_t liodn);
542 uint32_t P2041_SerdesRcwGetProtocol(uintptr_t gutilBase);
543 bool     P2041_SerdesRcwIsDeviceConfigured(uintptr_t gutilBase, e_SerdesProtocol device);
544 bool     P2041_SerdesRcwIsLaneEnabled(uintptr_t gutilBase, uint32_t lane);
545
546 /** @} */ /* end of P2041_init_grp group */
547 /** @} */ /* end of P2041_grp group */
548
549
550 /*****************************************************************************
551  INTEGRATION-SPECIFIC MODULE CODES
552 ******************************************************************************/
553 #define MODULE_UNKNOWN          0x00000000
554 #define MODULE_MEM              0x00010000
555 #define MODULE_MM               0x00020000
556 #define MODULE_CORE             0x00030000
557 #define MODULE_P2041            0x00040000
558 #define MODULE_P2041_PLATFORM   0x00050000
559 #define MODULE_PM               0x00060000
560 #define MODULE_MMU              0x00070000
561 #define MODULE_PIC              0x00080000
562 #define MODULE_CPC              0x00090000
563 #define MODULE_DUART            0x000a0000
564 #define MODULE_SERDES           0x000b0000
565 #define MODULE_PIO              0x000c0000
566 #define MODULE_QM               0x000d0000
567 #define MODULE_BM               0x000e0000
568 #define MODULE_SEC              0x000f0000
569 #define MODULE_LAW              0x00100000
570 #define MODULE_LBC              0x00110000
571 #define MODULE_PAMU             0x00120000
572 #define MODULE_FM               0x00130000
573 #define MODULE_FM_MURAM         0x00140000
574 #define MODULE_FM_PCD           0x00150000
575 #define MODULE_FM_RTC           0x00160000
576 #define MODULE_FM_MAC           0x00170000
577 #define MODULE_FM_PORT          0x00180000
578 #define MODULE_DPA_PORT         0x00190000
579 #define MODULE_MII              0x001a0000
580 #define MODULE_I2C              0x001b0000
581 #define MODULE_DMA              0x001c0000
582 #define MODULE_DDR              0x001d0000
583 #define MODULE_ESPI             0x001e0000
584
585 /*****************************************************************************
586  PAMU INTEGRATION-SPECIFIC DEFINITIONS
587 ******************************************************************************/
588 #define PAMU_NUM_OF_PARTITIONS  4
589
590
591 /*****************************************************************************
592  LAW INTEGRATION-SPECIFIC DEFINITIONS
593 ******************************************************************************/
594 #define LAW_NUM_OF_WINDOWS      32
595 #define LAW_MIN_WINDOW_SIZE     0x0000000000001000LL    /**< 4KB */
596 #define LAW_MAX_WINDOW_SIZE     0x0000002000000000LL    /**< 64GB */
597
598
599 /*****************************************************************************
600  LBC INTEGRATION-SPECIFIC DEFINITIONS
601 ******************************************************************************/
602 /**************************************************************************//**
603  @Group         lbc_exception_grp LBC Exception Unit
604
605  @Description   LBC Exception unit API functions, definitions and enums
606
607  @{
608 *//***************************************************************************/
609
610 /**************************************************************************//**
611  @Anchor        lbc_exbm
612
613  @Collection    LBC Errors Bit Mask
614
615                 These errors are reported through the exceptions callback..
616                 The values can be or'ed in any combination in the errors mask
617                 parameter of the errors report structure.
618
619                 These errors can also be passed as a bit-mask to
620                 LBC_EnableErrorChecking() or LBC_DisableErrorChecking(),
621                 for enabling or disabling error checking.
622  @{
623 *//***************************************************************************/
624 #define LBC_ERR_BUS_MONITOR     0x80000000  /**< Bus monitor error */
625 #define LBC_ERR_PARITY_ECC      0x20000000  /**< Parity error for GPCM/UPM */
626 #define LBC_ERR_WRITE_PROTECT   0x04000000  /**< Write protection error */
627 #define LBC_ERR_CHIP_SELECT     0x00080000  /**< Unrecognized chip select */
628
629 #define LBC_ERR_ALL             (LBC_ERR_BUS_MONITOR | LBC_ERR_PARITY_ECC | \
630                                  LBC_ERR_WRITE_PROTECT | LBC_ERR_CHIP_SELECT)
631                                             /**< All possible errors */
632 /* @} */
633 /** @} */ /* end of lbc_exception_grp group */
634
635 #define LBC_INCORRECT_ERROR_REPORT_ERRATA
636
637 #define LBC_NUM_OF_BANKS            4
638 #define LBC_MAX_CS_SIZE             0x0000000100000000LL  /* Up to 4G memory block size */
639 #define LBC_PARITY_SUPPORT
640 #define LBC_ADDRESS_HOLD_TIME_CTRL
641 #define LBC_HIGH_CLK_DIVIDERS
642 #define LBC_FCM_AVAILABLE
643
644 /*****************************************************************************
645  GPIO INTEGRATION-SPECIFIC DEFINITIONS
646 ******************************************************************************/
647 #define GPIO_NUM_OF_PORTS   1   /**< Number of ports in GPIO module;
648                                      Each port contains up to 32 I/O pins. */
649
650 #define GPIO_VALID_PIN_MASKS  \
651     { /* Port A */ 0xFFFFFFFF }
652
653 #define GPIO_VALID_INTR_MASKS \
654     { /* Port A */ 0xFFFFFFFF }
655
656
657 /*****************************************************************************
658  SERDES INTEGRATION-SPECIFIC DEFINITIONS
659 ******************************************************************************/
660 #define SRDS_MAX_LANES      10  /* Lanes C - H on bank 1, lanes A - D on bank 2  */
661 #define SRDS_MAX_BANK       2
662
663 /* Serdes lanes general information provided in the following form:
664    1) Lane index in Serdes Control Registers Map
665    2) Lane enable/disable bit number in RCW
666    3) Lane bank index */
667 #define SRDS_LANES  \
668 {                   \
669     { 2,  154, 0 }, \
670     { 3,  155, 0 }, \
671     { 4,  156, 0 }, \
672     { 5,  157, 0 }, \
673     { 6,  158, 0 }, \
674     { 7,  159, 0 }, \
675     { 16, 162, 1 }, \
676     { 17, 163, 1 }, \
677     { 18, 164, 1 }, \
678     { 19, 165, 1 }  \
679 }
680
681 #define SRDS_PROTOCOL_OPTIONS \
682 /* Protocol  Lane assignment */ \
683 { \
684             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},  \
685             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},  \
686 /* 0x02 */  {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE1, \
687              SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, \
688              SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM}, \
689             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},  \
690             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},  \
691 /* 0x05 */  {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE3, \
692              SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, \
693              SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM}, \
694             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},  \
695             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},  \
696 /* 0x08 */  {SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \
697              SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, \
698              0, 0, SRDS_PROTOCOL_SATA1, SRDS_PROTOCOL_SATA2}, \
699 /* 0x09 */  {SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \
700              SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, \
701              SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM}, \
702 /* 0x0A */  {SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \
703              SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, \
704              SRDS_PROTOCOL_PCIE3, SRDS_PROTOCOL_PCIE3, SRDS_PROTOCOL_PCIE3, SRDS_PROTOCOL_PCIE3}, \
705             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},  \
706             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},  \
707             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},  \
708             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},  \
709 /* 0x0F */  {SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \
710              SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, \
711              SRDS_PROTOCOL_PCIE3, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM}, \
712             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},  \
713             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},  \
714             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},  \
715             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},  \
716 /* 0x14 */  {SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \
717              SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_SRIO1, SRDS_PROTOCOL_SRIO1, \
718              SRDS_PROTOCOL_AURORA, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM}, \
719             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},  \
720 /* 0x16 */  {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE3, \
721              SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \
722              0, 0, SRDS_PROTOCOL_SATA1, SRDS_PROTOCOL_SATA2}, \
723 /* 0x17 */  {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_PCIE3, \
724              SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \
725              SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM, SRDS_PROTOCOL_XAUI_FM}, \
726             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},  \
727 /* 0x19 */  {SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \
728              SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \
729              0, 0, SRDS_PROTOCOL_SATA1, SRDS_PROTOCOL_SATA2}, \
730 /* 0x1A */  {SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \
731              SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SRIO2, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \
732              0, 0, SRDS_PROTOCOL_SATA1, SRDS_PROTOCOL_SATA2}, \
733             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},  \
734 /* 0x1C */  {SRDS_PROTOCOL_PCIE1, SRDS_PROTOCOL_SGMII_FM, \
735              SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_PCIE2, SRDS_PROTOCOL_SGMII_FM, SRDS_PROTOCOL_SGMII_FM, \
736              SRDS_PROTOCOL_AURORA, SRDS_PROTOCOL_SGMII_FM, 0, 0} \
737 }
738
739
740 /*****************************************************************************
741  DDR INTEGRATION-SPECIFIC DEFINITIONS
742 ******************************************************************************/
743 #define DDR_NUM_OF_VALID_CS     4
744
745 /*****************************************************************************
746  DMA INTEGRATION-SPECIFIC DEFINITIONS
747 ******************************************************************************/
748 #define DMA_NUM_OF_CONTROLLERS  2
749
750 /*****************************************************************************
751  CPC INTEGRATION-SPECIFIC DEFINITIONS
752 ******************************************************************************/
753
754 #define CPC_MAX_SIZE_SRAM_ERRATA_CPC4
755 #define CPC_HARDWARE_FLUSH_ERRATA_CPC10
756
757
758 #endif /* __PART_INTEGRATION_EXT_H */