source: svn/trunk/newcon3bcm2_21bu/magnum/commonutils/mrc/7552/bmrc.h @ 2

Last change on this file since 2 was 2, checked in by jglee, 11 years ago

first commit

  • Property svn:executable set to *
File size: 36.1 KB
Line 
1/***************************************************************************
2 *         Copyright (c) 2003-2011, Broadcom Corporation
3 *         All Rights Reserved
4 *         Confidential Property of Broadcom Corporation
5 *
6 *      THIS SOFTWARE MAY ONLY BE USED SUBJECT TO AN EXECUTED SOFTWARE LICENSE
7 *      AGREEMENT  BETWEEN THE USER AND BROADCOM.  YOU HAVE NO RIGHT TO USE OR
8 *      EXPLOIT THIS MATERIAL EXCEPT SUBJECT TO THE TERMS OF SUCH AN AGREEMENT.
9 *
10 * $brcm_Workfile: bmrc.h $
11 * $brcm_Revision: Hydra_Software_Devel/65 $
12 * $brcm_Date: 11/2/11 6:09p $
13 *
14 * Module Description:
15 *
16 * Revision History:
17 *
18 * $brcm_Log: /magnum/commonutils/mrc/7125/bmrc.h $
19 *
20 * Hydra_Software_Devel/65   11/2/11 6:09p albertl
21 * SW7435-12: Added 7435 support to MRC.
22 *
23 * Hydra_Software_Devel/64   9/16/11 6:19p albertl
24 * SW7425-1298: Updated clients for 7425.
25 *
26 * Hydra_Software_Devel/63   3/23/11 4:44p albertl
27 * SWDTV-5969: Updated MRC to be compatible with 35233 a0.
28 *
29 * Hydra_Software_Devel/62   12/29/10 3:18p pntruong
30 * SW7422-168: Remove bogus warning msg.
31 *
32 * Hydra_Software_Devel/61   12/9/10 9:08p albertl
33 * SWBLURAY-23579: Fix issues with renamed memory controller.
34 *
35 * Hydra_Software_Devel/60   12/3/10 10:05p albertl
36 * SWBLURAY-23672: Added MRC support to 7640.
37 *
38 * Hydra_Software_Devel/59   11/22/10 6:07p albertl
39 * SW7422-15, SW7125-27: Fixed SVD and AVD client names.  Fixed wrong
40 * client assignment for 7135.
41 *
42 * Hydra_Software_Devel/58   11/15/10 3:51p albertl
43 * SW35125-23: Added 35125 support to MRC.
44 *
45 * Hydra_Software_Devel/57   9/15/10 6:43p albertl
46 * SW7358-9: Added initial support for 7135 in MRC.
47 *
48 * Hydra_Software_Devel/56   8/27/10 6:39p albertl
49 * SW7125-27: Updated for 7425 support.
50 *
51 * Hydra_Software_Devel/55   6/29/10 8:28p albertl
52 * SW7422-15: Added 7422 clients back in.
53 *
54 * Hydra_Software_Devel/53   6/24/10 7:06p vanessah
55 * SW7422-12:  fix run time error. Enum order issue
56 *
57 * Hydra_Software_Devel/52   6/24/10 3:52p vanessah
58 * SW7422-12:  Add additional mrc client support for 7422
59 *
60 * Hydra_Software_Devel/51   5/28/10 8:39p albertl
61 * SW35230-250: Updated 35230 MRC clients.
62 *
63 * Hydra_Software_Devel/50   3/15/10 2:19p albertl
64 * SW3548-2832: Removed extraneous BMRC_Client_eHIF_CPU enum.
65 *
66 * Hydra_Software_Devel/49   3/12/10 6:14p albertl
67 * SW3548-2832: Updated clients for 3548 and added client define macros to
68 * keep track of alternate names.
69 *
70 * Hydra_Software_Devel/48   3/2/10 1:22p erickson
71 * SW7405-3892: clarify comments
72 *
73 * Hydra_Software_Devel/47   9/14/09 7:43p albertl
74 * SW7630-7: Added 7630 support.
75 *
76 * Hydra_Software_Devel/46   9/4/09 3:45p albertl
77 * SW7630-7: Added symbolic link "7630".
78 *
79 * Hydra_Software_Devel/45   6/16/09 6:21p albertl
80 * PR55764, PR55875, PR55993: Refactored MRC to keep chip specific
81 * definitions in bmrc_priv.h and for maintainability.  Updated support
82 * for 7420 b0, 7430, 35130, and 7550.
83 *
84 * Hydra_Software_Devel/44   6/8/09 7:25p albertl
85 * PR55764: Added 7340 support.
86 *
87 * Hydra_Software_Devel/43   6/5/09 6:30p albertl
88 * PR55676: Added 7550 support.
89 *
90 * Hydra_Software_Devel/42   6/4/09 7:05p albertl
91 * PR55641: Allowed MRC to report maximum number of checkers and changed
92 * BMRC_Monitor to use that instead of hardcoded maximums.
93 *
94 * Hydra_Software_Devel/41   3/30/09 5:25p albertl
95 * PR52965: Fixed missing 7635 MRC support.
96 *
97 * Hydra_Software_Devel/40   9/11/08 6:02p albertl
98 * PR46761: Updated for 7420.
99 *
100 * Hydra_Software_Devel/39   7/23/08 1:34p albertl
101 * PR33688:  Fixed 7601 mrc build errors.
102 *
103 * Hydra_Software_Devel/38   7/22/08 6:14p albertl
104 * PR33688:  Added support for 7601.
105 *
106 * Hydra_Software_Devel/37   3/5/08 10:19p pntruong
107 * PR34853: Added ifdef for 3556.
108 *
109 * Hydra_Software_Devel/36   2/25/08 8:45p albertl
110 * PR36876:  Fixed missing THD define.
111 *
112 * Hydra_Software_Devel/35   2/25/08 7:04p albertl
113 * PR36876:  Rewrote MRC to abstract client names and streamline adding of
114 * future chips.  3548 support added.
115 *
116 * Hydra_Software_Devel/34   12/7/07 11:09a yuxiaz
117 * PR35322:  Set BMRC_Client_eMaxCount to back to 128 on 7325.
118 *
119 * Hydra_Software_Devel/33   12/6/07 10:01a erickson
120 * PR36876: fix logic for BMRC_MAX_CLIENTS. 7405 was broken.
121 *
122 * Hydra_Software_Devel/32   11/19/07 3:22p tdo
123 * PR36876: Add mrc support for 7335
124 *
125 * Hydra_Software_Devel/31   11/14/07 1:50p albertl
126 * PR35322:  Updated mrc monitor to properly support 128 clients.
127 *
128 * Hydra_Software_Devel/30   11/8/07 5:02p yuxiaz
129 * PR35322:  set BMRC_Client_eMaxCount to 64 for now.
130 *
131 * Hydra_Software_Devel/29   10/30/07 7:25p albertl
132 * PR35322:  Updated mrc for 7325.
133 *
134 * Hydra_Software_Devel/28   10/19/07 3:47p jrubio
135 * PR35015: adding intial 7325
136 *
137 * Hydra_Software_Devel/27   5/1/07 5:07p albertl
138 * PR29633:  Updated and changed MRC for 7405.
139 *
140 * Hydra_Software_Devel/26   3/9/07 7:19p albertl
141 * PR28182:  No longer programs ARC when aligned size is 0.  Memc id now
142 * reported on violations.
143 *
144 * Hydra_Software_Devel/25   3/1/07 8:16p albertl
145 * PR26116:  Fixed support for multiple memory modules for 7400 and 3563.
146 *
147 * Hydra_Software_Devel/24   1/17/07 7:48p albertl
148 * PR19101:  Added missing bExclusive field from BMRC_CheckerInfo.
149 *
150 * Hydra_Software_Devel/22   1/17/07 6:39p albertl
151 * PR19101:  Updated violation messages to indicate exclusive mode for
152 * clarity.
153 *
154 * Hydra_Software_Devel/21   1/16/07 11:58a erickson
155 * PR25037: change AI0 (with a zero) to AIO (with the letter 'o'). this
156 * was a typo that makes for frustrating text searches.
157 *
158 * Hydra_Software_Devel/20   10/31/06 2:29p erickson
159 * PR25108: add 7403 support
160 *
161 * Hydra_Software_Devel/19   10/13/06 8:12p albertl
162 * PR19101:   NMBX value now returned upon violation.
163 *
164 * Hydra_Software_Devel/18   10/10/06 6:43p albertl
165 * PR23111:  Added 7440 support using ARB block.
166 *
167 * Hydra_Software_Devel/17   8/8/06 6:15p albertl
168 * PR23361:  Added 3563 support.
169 *
170 * Hydra_Software_Devel/16   6/22/06 2:18p albertl
171 * PR21938:  Added 7118 support.
172 *
173 * Hydra_Software_Devel/15   6/13/06 6:07p syang
174 * PR 21689: add support for 7118
175 *
176 * Hydra_Software_Devel/14   3/8/06 5:30p albertl
177 * PR19101:  BMRC_Checker_SetRange now only accepts 8 byte alligned
178 * addresses and sizes, and returns error otherwise.
179 *
180 * Hydra_Software_Devel/13   3/7/06 3:54p syang
181 * PR 19670: added 7438 support
182 *
183 * Hydra_Software_Devel/12   3/3/06 7:25p albertl
184 * PR18701:  Added functions to disable and enable a checker's callback.
185 *
186 * Hydra_Software_Devel/11   2/16/06 7:34p albertl
187 * PR19101:  Updated tables for 7400.
188 *
189 * Hydra_Software_Devel/10   2/14/06 1:12p jasonh
190 * PR 19565: Added support for 7438
191 *
192 * Hydra_Software_Devel/9   1/17/06 4:53p hongtaoz
193 * PR19082: support 7400;
194 *
195 * Hydra_Software_Devel/8   11/29/05 2:23p albertl
196 * PR18307:  Added SATA client to 7038 for Cx series.
197 *
198 * Hydra_Software_Devel/7   11/7/05 5:05p albertl
199 * PR17403:  Fixed build errors on 97401.  Renamed clients to be
200 * consistent with RTS architecture client documentation.
201 *
202 * Hydra_Software_Devel/6   11/4/05 6:48p albertl
203 * PR17403:  Added BMRC_Client_eAVD_ILA_0 and BMRC_Client_eAVD_OLA_0
204 * clients to xpt module.  Renamed client enums to standard names.
205 *
206 * Hydra_Software_Devel/5   9/23/05 7:06p hongtaoz
207 * PR17131: added BMRC support for 7401;
208 *
209 * Hydra_Software_Devel/4   8/8/05 9:50p albertl
210 * PR13641:  Added BMRC error codes.
211 *
212 * Hydra_Software_Devel/3   8/4/05 6:51p albertl
213 * PR13641:  Fixed incorrect PR numbers in chagelog.
214 *
215 * Hydra_Software_Devel/1   8/1/05 10:12p albertl
216 * PR13641:  Initial Revision.
217 *
218 ***************************************************************************/
219
220#ifndef BMRC_H
221#define BMRC_H
222
223#include "bchp.h"                /* Chip information */
224#include "berr_ids.h"            /* Error codes */
225#include "bmem.h"                /* Chip memory access */
226#include "bint.h"                /* Returning the interrupt ID of slot */
227
228#ifdef __cplusplus
229extern "C" {
230#endif
231
232
233/***************************************************************************
234Summary:
235        List of errors unique to MRC
236****************************************************************************/
237#define BMRC_CHECKER_ERR_ENABLED_CANT_SET        BERR_MAKE_CODE(BERR_MRC_ID, 0)
238#define BMRC_CHECKER_ERR_ALL_USED                BERR_MAKE_CODE(BERR_MRC_ID, 1)
239#define BMRC_CHECKER_ERR_NO_CALLBACK_SET         BERR_MAKE_CODE(BERR_MRC_ID, 2)
240
241/***************************************************************************
242Summary:
243        Memory checker access types.
244
245Description:
246        The different types of memory accesses handled by the memory range
247        checkers.
248
249See Also:
250        BMRC_Checker_SetAccessCheck
251        BMRC_Checker_SetClient
252****************************************************************************/
253typedef enum
254{
255        BMRC_AccessType_eNone,
256        BMRC_AccessType_eRead,
257        BMRC_AccessType_eWrite,
258        BMRC_AccessType_eBoth
259} BMRC_AccessType;
260
261
262/***************************************************************************
263Summary:
264        List of memory ranger checker clients.
265
266Description:
267        This is the enumerated list of clients that the Memory Range Checker
268        module checks and grants memory access rights to.
269
270See Also:
271        BMRC_Checker_SetClient
272****************************************************************************/
273typedef enum
274{
275
276        BMRC_Client_eXPT_0,
277        BMRC_Client_eXPT_1,
278        BMRC_Client_eXPT_2,
279        BMRC_Client_eXPT_3,
280        BMRC_Client_eXPT_4,
281        BMRC_Client_eXPT_5,
282        BMRC_Client_eXPT_6,
283
284        BMRC_Client_eXPT_WR_0,
285        BMRC_Client_eXPT_WR_1,
286        BMRC_Client_eXPT_WR_2,
287        BMRC_Client_eXPT_RD_0,
288        BMRC_Client_eXPT_RD_1,
289        BMRC_Client_eXPT_RD_2,
290
291        BMRC_Client_eXPT_MEM_DMA,
292
293        BMRC_Client_eXPT_WR_RS,
294        BMRC_Client_eXPT_WR_XC,
295        BMRC_Client_eXPT_WR_CDB,
296        BMRC_Client_eXPT_WR_ITB_MSG,
297        BMRC_Client_eXPT_RD_RS,
298        BMRC_Client_eXPT_RD_XC_RMX_MSG,
299        BMRC_Client_eXPT_RD_XC_RAVE,
300        BMRC_Client_eXPT_RD_PB,
301
302        BMRC_Client_eANR_0_REC_CAP,
303        BMRC_Client_eANR_0_REC_VFD,
304
305        BMRC_Client_eMBR_CAP_0,
306        BMRC_Client_eMBR_CAP_1,
307        BMRC_Client_eMBR_VFD_0,
308
309        BMRC_Client_eM2MC_0,
310        BMRC_Client_eM2MC_0_VC4_0,
311        BMRC_Client_eM2MC_0_VC4_1,
312        BMRC_Client_eM2MC_1,
313
314        BMRC_Client_eMTP_0_SREWR,
315        BMRC_Client_eMTP_0_SRERD,
316        BMRC_Client_eMTP_0_MREWR,
317        BMRC_Client_eMTP_0_MRERD,
318        BMRC_Client_eMTP_0_VDMA,
319        BMRC_Client_eMTP_0_MTT,
320
321        BMRC_Client_eMTP_1_SREWR,
322        BMRC_Client_eMTP_1_SRERD,
323        BMRC_Client_eMTP_1_MREWR,
324        BMRC_Client_eMTP_1_MRERD,
325        BMRC_Client_eMTP_1_VDMA,
326        BMRC_Client_eMTP_1_MTT,
327
328        BMRC_Client_eAVD_0_BLK,
329        BMRC_Client_eAVD_0_BLK_1,
330        BMRC_Client_eAVD_0_ILA,
331        BMRC_Client_eAVD_0_OLA,
332        BMRC_Client_eAVD_0_CAB,
333        BMRC_Client_eAVD_0_SYM,
334        BMRC_Client_eAVD_0_PFR,
335        BMRC_Client_eAVD_0_MCP,
336
337        BMRC_Client_eAVD_1_BLK,
338        BMRC_Client_eAVD_1_BLK_1,
339        BMRC_Client_eAVD_1_ILA,
340        BMRC_Client_eAVD_1_OLA,
341        BMRC_Client_eAVD_1_CAB,
342        BMRC_Client_eAVD_1_SYM,
343        BMRC_Client_eAVD_1_PFR,
344        BMRC_Client_eAVD_1_MCP,
345
346        BMRC_Client_eSVD_0_BLK,
347        BMRC_Client_eSVD_0_BLK_1,
348        BMRC_Client_eSVD_0_ILA,
349        BMRC_Client_eSVD_0_OLA,
350        BMRC_Client_eSVD_0_CAB,
351        BMRC_Client_eSVD_0_ILSYM,
352        BMRC_Client_eSVD_0_BLA,
353        BMRC_Client_eSVD_0_BLSYM,
354        BMRC_Client_eSVD_0_MVSCL,
355        BMRC_Client_eSVD_0_SPIXSTR,
356        BMRC_Client_eSVD_0_PFR,
357        BMRC_Client_eSVD_0_MCP,
358
359        BMRC_Client_eBLKAVG_0,
360        BMRC_Client_eBLKAVG_1,
361
362        BMRC_Client_eBACH_PCM,
363        BMRC_Client_eBACH_ADP_0_RD,
364        BMRC_Client_eBACH_ADP_1_RD,
365        BMRC_Client_eBACH_ADP_SPDIF_RD,
366        BMRC_Client_eBACH_ADP_0_WR,
367        BMRC_Client_eBACH_ADP_1_WR,
368        BMRC_Client_eBACH_ADP_SPDIF_WR,
369
370        BMRC_Client_eAUD_ZSP,
371        BMRC_Client_eAUD_AIO,
372
373        BMRC_Client_eRAPTOR_0,
374        BMRC_Client_eRAPTOR_1,
375
376        BMRC_Client_eVDEC_0_TTX,
377        BMRC_Client_eVDEC_0_3D,
378        BMRC_Client_eVDEC_0_656,
379        BMRC_Client_eVDEC_1_3D,
380
381        BMRC_Client_eVDEC_0_WR_0,
382        BMRC_Client_eVDEC_0_RD_0,
383        BMRC_Client_eVDEC_0_RD_1,
384
385        BMRC_Client_eAVFE_VDEC_0_TTX,
386        BMRC_Client_eAVFE_VDEC_0_MD_RD,
387        BMRC_Client_eAVFE_VDEC_0_MD_WR,
388        BMRC_Client_eAVFE_VDEC_0_VD_RD,
389        BMRC_Client_eAVFE_VDEC_0_VD_WR,
390        BMRC_Client_eAVFE_VIDBLK_CAP0,
391        BMRC_Client_eAVFE_VIDBLK_CAP1,
392
393        BMRC_Client_eVEC_0_VBI_ENC,
394        BMRC_Client_eVEC_1_VBI_ENC,
395        BMRC_Client_eVEC_2_VBI_ENC,
396
397        BMRC_Client_eVEC_0,
398        BMRC_Client_eVEC_1,
399
400        BMRC_Client_eI656_ANC_0,
401        BMRC_Client_eI656_ANC_1,
402
403        BMRC_Client_eAEGIS,
404        BMRC_Client_eAEGIS_M2M,
405
406        BMRC_Client_eBVNB_GFD_0,
407        BMRC_Client_eBVNB_GFD_1,
408        BMRC_Client_eBVNB_GFD_2,
409        BMRC_Client_eBVNB_GFD_3,
410        BMRC_Client_eBVNB_GFD_4,
411        BMRC_Client_eBVNB_GFD_5,
412        BMRC_Client_eBVNB_GFD_CCC,
413        BMRC_Client_eBVNB_CAP_0,
414        BMRC_Client_eBVNB_CAP_1,
415        BMRC_Client_eBVNB_CAP_2,
416        BMRC_Client_eBVNB_CAP_3,
417        BMRC_Client_eBVNB_CAP_4,
418        BMRC_Client_eBVNB_CAP_5,
419
420        BMRC_Client_eBVNF_RDC_0,
421        BMRC_Client_eBVNF_VFD_0,
422        BMRC_Client_eBVNF_VFD_1,
423        BMRC_Client_eBVNF_VFD_2,
424        BMRC_Client_eBVNF_VFD_3,
425        BMRC_Client_eBVNF_VFD_4,
426        BMRC_Client_eBVNF_VFD_5,
427        BMRC_Client_eBVNF_MFD_0,
428        BMRC_Client_eBVNF_MFD_0_1,
429        BMRC_Client_eBVNF_MFD_1,
430        BMRC_Client_eBVNF_MFD_1_1,
431        BMRC_Client_eBVNF_MFD_2,
432        BMRC_Client_eBVNF_MFD_2_1,
433        BMRC_Client_eBVNF_MFD_3,
434        BMRC_Client_eBVNF_MFD_3_1,
435
436        BMRC_Client_eBVNM_FGT_0,
437        BMRC_Client_eBVN_FGT_0,
438
439        BMRC_Client_eBVN_FGT_0_BLKAVG_RD,
440        BMRC_Client_eBVN_FGT_0_RDMA,
441        BMRC_Client_eBVN_FGT_0_WR,
442
443        BMRC_Client_eBVN_MCVP_0,
444        BMRC_Client_eBVN_MCVP_1,
445        BMRC_Client_eBVN_MCVP_2,
446
447        BMRC_Client_eBVN_DNR_RW,
448        BMRC_Client_eBVN_JFD_0,
449        BMRC_Client_eBVN_MCVP_0_RD,
450        BMRC_Client_eBVN_MCVP_0_RW_0,
451        BMRC_Client_eBVN_MCVP_0_RW_1,
452
453        BMRC_Client_eBVN_PDP_RD_0,
454        BMRC_Client_eBVN_PDP_WR_0,
455        BMRC_Client_eBVN_PDP_RD_1,
456        BMRC_Client_eBVN_PDP_WR_1,
457        BMRC_Client_eBVN_PDP_WR_2,
458        BMRC_Client_eBVN_PDP_WR_3,
459
460        BMRC_Client_eBVN_FRC_0_CE,
461        BMRC_Client_eBVN_FRC_0_TMRV,
462        BMRC_Client_eBVN_FRC_0_PROF,
463        BMRC_Client_eBVN_FRC_0_WS2,
464        BMRC_Client_eBVN_FRC_0_WS1B,
465        BMRC_Client_eBVN_FRC_0_WS1,
466        BMRC_Client_eBVN_FRC_0_WS0,
467        BMRC_Client_eBVN_FRC_0_RSM,
468        BMRC_Client_eBVN_FRC_0_RS2,
469        BMRC_Client_eBVN_FRC_0_RS1,
470        BMRC_Client_eBVN_FRC_0_RS0P,
471        BMRC_Client_eBVN_FRC_0_RS0N,
472        BMRC_Client_eBVN_FRC_0_SRD,
473        BMRC_Client_eBVN_FRC_0_RS1B,
474        BMRC_Client_eBVN_FRC_0_WSM,
475        BMRC_Client_eBVN_FRC_0_WSPL,
476        BMRC_Client_eBVN_FRC_0_RSPL,
477        BMRC_Client_eBVN_FRC_0_WSEG,
478        BMRC_Client_eBVN_FRC_0_RSEG,
479
480        BMRC_Client_eV3D_0,
481        BMRC_Client_eV3D_1,
482
483        BMRC_Client_eB3DC,
484
485        BMRC_Client_eHIF_MISB,
486        BMRC_Client_eHIF_PCI_DMA,
487        BMRC_Client_eHIF_PCIE_DMA,
488        BMRC_Client_eHIF_EBI_DMA,
489        BMRC_Client_eHIF_M2M_DMA_0,
490        BMRC_Client_eHIF_M2M_DMA_1,
491
492        BMRC_Client_eHIF_CPU_CACHE_0,
493        BMRC_Client_eHIF_CPU_CACHE_1,
494
495        BMRC_Client_eMIPS_0_RD,
496        BMRC_Client_eMIPS_0_WR,
497        BMRC_Client_eMIPS_1_RD,
498        BMRC_Client_eMIPS_1_WR,
499
500        BMRC_Client_eMOCA_DATA_RD,
501        BMRC_Client_eMOCA_DATA_WR,
502        BMRC_Client_eMOCA_MIPS,
503
504        BMRC_Client_eFLASH_DMA,
505
506        BMRC_Client_ePC_VBI_TTX_REC,
507        BMRC_Client_ePC_VBI_656_REC,
508        BMRC_Client_ePC_VBI_FD,
509
510        BMRC_Client_eENET_0,
511        BMRC_Client_eENET_1,
512        BMRC_Client_eGENET_RD,
513        BMRC_Client_eGENET_WR,
514        BMRC_Client_ePIX_3D,
515        BMRC_Client_eGPORT,
516
517        BMRC_Client_eGENET0_RD,
518        BMRC_Client_eGENET0_WR,
519        BMRC_Client_eGENET1_RD,
520        BMRC_Client_eGENET1_WR,
521
522        BMRC_Client_eUSB20_0,
523        BMRC_Client_eUSB20_1,
524        BMRC_Client_eUSB11_0,
525        BMRC_Client_eUSB11_1,
526
527        BMRC_Client_eUSB_0_0,
528        BMRC_Client_eUSB_0_1,
529        BMRC_Client_eUSB_1_0,
530        BMRC_Client_eUSB_1_1,
531
532        BMRC_Client_eIEEE_1394,
533
534        BMRC_Client_eMAD_0_PIX,
535
536        BMRC_Client_eMAD_0_PIX_CAP,
537        BMRC_Client_eMAD_0_PIX_FD,
538
539        BMRC_Client_eMAD_0_FD_0,
540        BMRC_Client_eMAD_0_FD_1,
541        BMRC_Client_eMAD_0_FD_2,
542        BMRC_Client_eMAD_0_FD_3,
543        BMRC_Client_eMAD_0_CAP,
544        BMRC_Client_eMAD_0_QM,
545
546        BMRC_Client_eMAD_0_A_WR,
547        BMRC_Client_eMAD_0_B_RD,
548        BMRC_Client_eMAD_0_D_RD,
549        BMRC_Client_eMAD_0_G_RD,
550        BMRC_Client_eMAD_0_J_RD,
551
552        BMRC_Client_eMAD_1_PIX_CAP,
553        BMRC_Client_eMAD_1_PIX_FD,
554
555        BMRC_Client_eMAD_1_FD_0,
556        BMRC_Client_eMAD_1_FD_1,
557        BMRC_Client_eMAD_1_FD_2,
558        BMRC_Client_eMAD_1_FD_3,
559        BMRC_Client_eMAD_1_CAP,
560        BMRC_Client_eMAD_1_QM,
561
562        BMRC_Client_eMAD_2_PIX_CAP,
563        BMRC_Client_eMAD_2_PIX_FD,
564        BMRC_Client_eMAD_2_QM,
565
566        BMRC_Client_eMAD_3_PIX_CAP,
567        BMRC_Client_eMAD_3_PIX_FD,
568        BMRC_Client_eMAD_3_QM,
569
570        BMRC_Client_eADC_CAP,
571
572        BMRC_Client_eSUN_MCIF_RD,
573        BMRC_Client_eSUN_MCIF_WR,
574        BMRC_Client_eIDE,
575        BMRC_Client_eSATA,
576
577        BMRC_Client_eREFRESH_0,
578        BMRC_Client_eREFRESH_1,
579        BMRC_Client_eMEMC64_SOFT_0,
580        BMRC_Client_eMEMC64_REF_0,
581        BMRC_Client_eMEMC64_REF_1,
582        BMRC_Client_eMEMC64_DIS,
583        BMRC_Client_eMEMC32_SOFT_0,
584        BMRC_Client_eMEMC32_REF_0,
585        BMRC_Client_eMEMC16_0_SOFT_0,
586        BMRC_Client_eMEMC16_0_REF_0,
587        BMRC_Client_eMEMC16_1_SOFT_0,
588        BMRC_Client_eMEMC16_1_REF_0,
589
590        BMRC_Client_eDRAM_INIT,
591
592        BMRC_Client_eBNM_MIPS,
593        BMRC_Client_eBNM_UBUS,
594        BMRC_Client_eBNM_DMA,
595
596        BMRC_Client_eSDIO,
597        BMRC_Client_eSID,
598        BMRC_Client_eUART_DMA,
599        BMRC_Client_eSDIO_EMMC,
600        BMRC_Client_eSDIO_CARD,
601
602        BMRC_Client_eNRDF,
603
604        BMRC_Client_eOFE_ARM,
605        BMRC_Client_eOFE_PERF,
606        BMRC_Client_eOFE_HOST,
607        BMRC_Client_eOFE_DEC,
608
609        BMRC_Client_eMUD_RD,
610        BMRC_Client_eMUD_WR,
611        BMRC_Client_eTRAP,
612        BMRC_Client_eSHARF,
613
614        BMRC_Client_eBCC,
615        BMRC_Client_eTRACE,
616
617        BMRC_Client_eTHD,
618
619        BMRC_Client_eTPCAP,
620
621        BMRC_Client_ePCU,
622        BMRC_Client_ePCU_DMAS,
623        BMRC_Client_eRAAGA_0_0,
624        BMRC_Client_eRAAGA_0_1,
625        BMRC_Client_eRAAGA_1_0,
626        BMRC_Client_eRAAGA_1_1,
627        BMRC_Client_eTDI_RD,
628        BMRC_Client_eTDI_WR,
629
630        BMRC_Client_eVICE_0_VIP_0_0,
631        BMRC_Client_eVICE_0_VIP_0_1,
632        BMRC_Client_eVICE_0_VIP_0_2,
633        BMRC_Client_eVICE_0_VIP_1_0,
634        BMRC_Client_eVICE_0_VIP_1_1,
635        BMRC_Client_eVICE_0_VIP_1_2,
636        BMRC_Client_eVICE_0_CME_0,
637        BMRC_Client_eVICE_0_CME_1,
638        BMRC_Client_eVICE_0_FME_0,
639        BMRC_Client_eVICE_0_FME_1,
640        BMRC_Client_eVICE_0_FME_2,
641        BMRC_Client_eVICE_0_SG,
642        BMRC_Client_eVICE_0_BLK,
643        BMRC_Client_eVICE_0_CAB_0,
644        BMRC_Client_eVICE_0_CAB_1,
645        BMRC_Client_eVICE_0_ARCSS_0,
646        BMRC_Client_eVICE_0_PFR_REQ,
647        BMRC_Client_eVICE_0_PFR_OPT,
648
649        BMRC_Client_eVICE_1_SG,
650        BMRC_Client_eVICE_1_CAB_0,
651        BMRC_Client_eVICE_1_CAB_1,
652
653        BMRC_Client_eZQCS_0,
654        BMRC_Client_eZQCS_1,
655
656        /* NOTE: If you modify this list, you will likely need to modify BMRC_P_Monitor_astHwClients[] in bmrc_monitor_clients.c and
657        BMRC_P_astClientTbl[] in bmrc_clienttable_priv.c. */
658
659        BMRC_Client_eMaxCount,
660        BMRC_Client_eInvalid = BMRC_Client_eMaxCount       /* must be last */
661
662} BMRC_Client;
663
664/* Alternate client names used by some chips for the same client */
665#define BMRC_Client_eCPU_BRIDGE   BMRC_Client_eHIF_MISB
666#define BMRC_Client_eHIF_CPU      BMRC_Client_eHIF_MISB
667#define BMRC_Client_eMEM_DMA      BMRC_Client_eHIF_M2M_DMA_0
668#define BMRC_Client_eHIF_EDU      BMRC_Client_eHIF_EBI_DMA
669#define BMRC_Client_eMAD_0_QUANT  BMRC_Client_eMAD_0_QM
670
671
672/***************************************************************************
673Summary:
674        The handle for the MRC module.
675
676Description:
677        This is the main module handle required in order to create checkers.
678
679See Also:
680        BMRC_Open
681****************************************************************************/
682typedef struct BMRC_P_Context *BMRC_Handle;
683
684
685/***************************************************************************
686Summary:
687        The handle for memory access checkers.
688
689Description:
690        Handle for memory access checkers returned by BMRC_Checker_Create.
691
692See Also:
693        BMRC_Checker_Create
694****************************************************************************/
695typedef struct BMRC_P_CheckerContext *BMRC_Checker_Handle;
696
697
698/***************************************************************************
699Summary:
700        This structure contains the Memory Range Checker module settings.
701
702Description:
703        Configures the Memory Range Checker module when it is opened.
704
705See Also:
706        BMRC_Open
707***************************************************************************/
708typedef struct BMRC_Settings
709{
710        uint16_t usMemcId; /* Selects which memc to use */
711} BMRC_Settings;
712
713
714/***************************************************************************
715Summary:
716        This structure contains a client's information.
717
718Description:
719        This information is returned by BMRC_Checker_GetClientInfo.
720        The translation from eClient to usClientId is done in BMRC_P_astClientTbl[] which is in bmrc_clienttable_priv.c.
721***************************************************************************/
722typedef struct BMRC_ClientInfo
723{
724        const char     *pchClientName;
725        BMRC_Client     eClient;    /* SW client enum */
726        uint16_t        usClientId; /* HW client bit position (values 0..127 spanning 4 32-bit registers) */
727} BMRC_ClientInfo;
728
729
730/***************************************************************************
731Summary:
732        This structure contains the checker and access violation information
733        returned to a registered callback.
734
735Description:
736        BMRC_CheckerInfo provides the checker id, memory range, address that
737        violated the checker, request type, nmbx id, and the client responsible
738        for the violation.
739***************************************************************************/
740typedef struct BMRC_CheckerInfo
741{
742        uint16_t        usMemcId;     /* memory controller id */
743        uint16_t        usCheckerId;  /* checker id */
744        uint32_t        ulStart;      /* memory range start */
745        uint32_t        ulSize;       /* memory range size */
746        uint32_t        ulAddress;    /* start address that violated the range checker */
747        uint32_t        ulAddressEnd; /* end address that violated the range checker */
748#if (BCHP_CHIP != 7440) && (BCHP_CHIP != 7601) && (BCHP_CHIP != 7635) && (BCHP_CHIP != 7630) && (BCHP_CHIP != 7640)
749        uint32_t        ulReqType;    /* req type */
750        uint32_t        ulNmbxId;     /* nmbx id */
751        uint32_t        ulNmbx;       /* nmbx */
752#else
753        uint32_t        ulLength;
754        uint32_t        ulMode;
755        uint32_t        ulWrite;
756#endif
757        uint16_t        usClientId;    /* client that violated the range checker */
758        const char     *pchClientName; /* client name */
759        bool            bExclusive;    /* exclusive mode */
760} BMRC_CheckerInfo;
761
762
763/***************************************************************************
764Summary:
765        Prototype of a memory range checker callback function.
766
767Description:
768        Upper level applications register callbacks to a checker that will be
769        executed when a checker violation occurs.
770
771See Also:
772        BMRC_Checker_SetCallback
773**************************************************************************/
774typedef void (*BMRC_CallbackFunc_isr)( void *pvData1, int iData2, BMRC_CheckerInfo *pInfo);
775
776
777/***************************************************************************
778Summary:
779        Gets the default settings.
780
781Description:
782        Fills the default settings structure with default values.
783
784Returns:
785        BERR_SUCCESS - Handle was successfully closed.
786        BERR_INVALID_PARAMETER - Handle was invalid.
787
788See Also:
789        BMRC_Open
790**************************************************************************/
791BERR_Code BMRC_GetDefaultSettings
792        ( BMRC_Settings *pDefSettings  /* [out] Default settings structure to fill */
793        );
794
795
796/***************************************************************************
797Summary:
798        Opens the MRC module.
799
800Description:
801        Opens the Memory Range Checker module and creates its context.
802
803Returns:
804        BERR_SUCCESS - Handle was successfully created.
805        BERR_OUT_OF_SYSTEM_MEMORY - Unable to allocate memory for the handle.
806
807See Also:
808        BMRC_Close
809**************************************************************************/
810BERR_Code BMRC_Open
811        ( BMRC_Handle                     *phMrc,        /* [out] MRC handle to be returned */
812          BREG_Handle                      hRegister,    /* [in] Register access handle */
813          BINT_Handle                      hInterrupt,   /* [in] Interrupt handle */
814          const BMRC_Settings             *pDefSettings  /* [in] Default settings */
815        );
816
817
818/***************************************************************************
819Summary:
820        Closes the MRC module.
821
822Description:
823        Closes the Memory Range Checker module and its context.
824
825Returns:
826        BERR_SUCCESS - Handle was successfully closed.
827        BERR_INVALID_PARAMETER - Handle was invalid.
828
829See Also:
830        BMRC_Open
831**************************************************************************/
832BERR_Code BMRC_Close
833        ( BMRC_Handle hMrc /* [in] MRC handle to close */
834        );
835
836
837/***************************************************************************
838Summary:
839        Return settings passed into BMRC_Open
840**************************************************************************/
841void BMRC_GetSettings
842        ( BMRC_Handle hMrc,                     /* [in] MRC handle to close */
843          BMRC_Settings             *pSettings  /* [out] */
844        );
845
846/***************************************************************************
847Summary:
848        Gets maximum number of MRC checkers.
849
850Description:
851        Gets maximum number of checkers available to this MRC isntance, depending
852        on its associated memory controller.
853
854Returns:
855        BERR_SUCCESS - Handle was successfully closed.
856        BERR_INVALID_PARAMETER - Handle was invalid.
857
858See Also:
859**************************************************************************/
860BERR_Code BMRC_GetMaxCheckers
861        ( BMRC_Handle hMrc,         /* [in] MRC handle */
862          uint32_t *pulMaxCheckers  /* [out] Maximum number of checkers for this MRC */
863        );
864
865
866/***************************************************************************
867Summary:
868        Creates a memory range access Checker.
869
870Description:
871        Creates a checker that can be used to check memory access to a certain
872        range in memory, with the ability to check for specific types of
873        violations by specific clients based on how the checker is configured.
874
875Returns:
876        BERR_SUCCESS - Checker handle was successfully created.
877        BERR_INVALID_PARAMETER - Mrc handle was invalid.
878        BMRC_CHECKER_ERR_ALL_USED - Maximum number of checkers reached and no
879                                    additional checkers can be created.
880
881
882See Also:
883        BMRC_Checker_Destroy
884**************************************************************************/
885BERR_Code BMRC_Checker_Create
886        ( BMRC_Handle hMrc,               /* [in] MRC Module Handle */
887          BMRC_Checker_Handle *phChecker  /* [out] Checker handle to be returned */
888        );
889
890
891/***************************************************************************
892Summary:
893        Destroys a memory range access Checker.
894
895Description:
896        Disables and destroys an existing checker and cleans up its resources.
897
898Returns:
899        BERR_SUCCESS - Checker handle was successfully destroyed.
900        BERR_INVALID_PARAMETER - Checker handle was invalid.
901
902See Also:
903        BMRC_Checker_Create
904**************************************************************************/
905BERR_Code BMRC_Checker_Destroy
906        ( BMRC_Checker_Handle hChecker  /* [in] Checker handle to be destroyed */
907        );
908
909
910/***************************************************************************
911Summary:
912        Sets a checker's memory access range.
913
914Description:
915        Configures the memory range that a checker is to check, based on a
916        given memory address and range size.  The function cannot be called
917        when a checker is already enabled.
918
919Returns:
920        BERR_SUCCESS - Checker range was successfully set.
921        BERR_INVALID_PARAMETER - Checker handle was invalid, ulStart address
922                                                         or ulSize in bytes aren't 8 byte aligned.
923        BMRC_CHECKER_ERR_ENABLED_CANT_SET - Checker already enabled, cannot
924                                            be set.
925
926See Also:
927**************************************************************************/
928BERR_Code BMRC_Checker_SetRange
929        ( BMRC_Checker_Handle hChecker,  /* [in] Checker handle */
930          uint32_t ulStart,              /* [in] Memory range start address */
931          uint32_t ulSize                /* [in] Memory range size */
932        );
933
934
935/***************************************************************************
936Summary:
937        Configures what types of accesses a checker should check for.
938
939Description:
940        This function sets up what sorts of accesses a checker checks.
941
942        Setting eAccessType to BMRC_AccessType_eRead causes violations to occur
943        only when clients without read rights attempt to read from the checker's
944        range.
945
946        Setting eAccessType to BMRC_AccessType_eWrite causes violations to occur
947        only when clients without write rights attempt to write from the
948        checker's range.
949
950        Setting eAccessType to BMRC_AccessType_eBoth causes violations when
951        either unauthorized reads or writes occur.  The function cannot be
952        called when a checker is already enabled.
953
954Returns:
955        BERR_SUCCESS - The access check type was successfully set.
956        BERR_INVALID_PARAMETER - Checker handle was invalid, or
957                                 BMRC_Access_eNone was used as the
958                                 access type to check.
959        BMRC_CHECKER_ERR_ENABLED_CANT_SET - Checker already enabled, cannot
960                                            be set.
961
962See Also:
963**************************************************************************/
964BERR_Code BMRC_Checker_SetAccessCheck
965        ( BMRC_Checker_Handle hChecker,  /* [in] Checker handle */
966          BMRC_AccessType eAccessType    /* [in] Access type to check */
967        );
968
969
970/***************************************************************************
971Summary:
972        Configures what types of accesses are blocked in the event of a
973        violation.
974
975Description:
976        This function blocks read and/or write access to a checker's range when
977        a violation does occur.
978
979        Setting eBlockType to BMRC_AccessType_eRead blocks further read
980        accesses
981
982        Setting eBlockType to BMRC_AccessType_eWrite blocks further write
983        accesses
984
985        Setting eBlockType to BMRC_AccessType_eBoth blocks both types of
986        accesses when a violation occurs.
987
988        The function cannot be called when a checker is already enabled.
989
990Returns:
991        BERR_SUCCESS - The block type was successfully set.
992        BERR_INVALID_PARAMETER - Checker handle was invalid.
993        BMRC_CHECKER_ERR_ENABLED_CANT_SET - Checker already enabled, cannot
994                                            be set.
995
996See Also:
997**************************************************************************/
998BERR_Code BMRC_Checker_SetBlock
999        ( BMRC_Checker_Handle hChecker,  /* [in] Checker handle */
1000          BMRC_AccessType eBlockType     /* [in] Access type to block on violations*/
1001        );
1002
1003
1004/***************************************************************************
1005Summary:
1006        Sets a checker's exclusive mode.
1007
1008Description:
1009        When a checker is configured for exclusive mode, clients with read
1010        access to the checker's memory range can only read from that range, and
1011        clients with write access can only write to that range.  Accesses
1012        to other memory ranges by these clients will cause a violation. The
1013        function cannot be called when a checker is already enabled.
1014
1015Returns:
1016        BERR_SUCCESS - The checker's exlusive mode was successfully set.
1017        BERR_INVALID_PARAMETER - Checker handle was invalid.
1018        BMRC_CHECKER_ERR_ENABLED_CANT_SET - Checker already enabled, cannot
1019                                            be set.
1020
1021See Also:
1022**************************************************************************/
1023BERR_Code BMRC_Checker_SetExclusive
1024        ( BMRC_Checker_Handle hChecker,  /* [in] Checker handle */
1025          bool bExclusive                /* [in] Enable/disable exclusive mode */
1026        );
1027
1028
1029/***************************************************************************
1030Summary:
1031        Configures a client's access rights to the checker's memory range.
1032
1033Description:
1034        This function sets a client's permissions to access the checker's memory
1035        range.  A client can be given read rights, write rights, both, or none
1036        by setting eAccessType to BMRC_AccessType_eRead, BMRC_AccessType_eWrite,
1037        BMRC_AccessType_eBoth, or BMRC_AccessType_eNone.
1038
1039Returns:
1040        BERR_SUCCESS - Client was successfully configured.
1041        BERR_INVALID_PARAMETER - Checker handle was invalid.
1042        BMRC_CHECKER_ERR_ENABLED_CANT_SET - Checker already enabled, cannot
1043                                            be set.
1044
1045See Also:
1046        BMRC_Checker_SetAccess
1047**************************************************************************/
1048BERR_Code BMRC_Checker_SetClient
1049        ( BMRC_Checker_Handle hChecker,  /* [in] Checker handle */
1050          BMRC_Client eClient,           /* [in] The client to configure */
1051          BMRC_AccessType eAccessType    /* [in] The client's access rights */
1052        );
1053
1054
1055/***************************************************************************
1056Summary:
1057        Enables a client's access checking.
1058
1059Description:
1060        This function enables a client's access checking and will produce
1061        violations when they occur.
1062
1063Returns:
1064        BERR_SUCCESS - Checker was successfully enabled.
1065        BERR_INVALID_PARAMETER - Checker handle was invalid.
1066        BMRC_CHECKER_ERR_NO_CALLBACK_SET - No callback set.
1067
1068See Also:
1069        BMRC_Checker_Disable
1070        BMRC_Checker_EnableCallback
1071        BMRC_Checker_DisableCallback
1072**************************************************************************/
1073BERR_Code BMRC_Checker_Enable
1074        ( BMRC_Checker_Handle hChecker  /* [in] Checker handle */
1075        );
1076
1077
1078/***************************************************************************
1079Summary:
1080        Disables a client's access checking.
1081
1082Description:
1083        This function disables a client's access checking.
1084
1085Returns:
1086        BERR_SUCCESS - Checker was successfully disabled.
1087        BERR_INVALID_PARAMETER - Checker handle was invalid.
1088
1089See Also:
1090        BMRC_Checker_Enable
1091        BMRC_Checker_EnableCallback
1092        BMRC_Checker_DisableCallback
1093        BMRC_Checker_EnableCallback_isr
1094        BMRC_Checker_DisableCallback_isr
1095**************************************************************************/
1096BERR_Code BMRC_Checker_Disable
1097        ( BMRC_Checker_Handle hChecker  /* [in] Checker handle */
1098        );
1099
1100
1101/***************************************************************************
1102Summary:
1103        Enables a client's callback.
1104
1105Description:
1106        This function enables a client's callback to be run when violations
1107        occur.  A checker must also be enabled for callbacks to work.
1108
1109Returns:
1110        BERR_SUCCESS - Checker callback was successfully enabled.
1111        BERR_INVALID_PARAMETER - Checker handle was invalid.
1112        BMRC_CHECKER_ERR_NO_CALLBACK_SET - No callback set.
1113
1114See Also:
1115        BMRC_Checker_Enable
1116        BMRC_Checker_Disable
1117        BMRC_Checker_DisableCallback
1118        BMRC_Checker_EnableCallback_isr
1119        BMRC_Checker_DisableCallback_isr
1120**************************************************************************/
1121BERR_Code BMRC_Checker_EnableCallback
1122        ( BMRC_Checker_Handle hChecker  /* [in] Checker handle */
1123        );
1124
1125
1126/***************************************************************************
1127Summary:
1128        Disables a client's callback.
1129
1130Description:
1131        This function disables a client's callback, and the callback will
1132        not be run even when violations occur.
1133
1134Returns:
1135        BERR_SUCCESS - Checker callback was successfully disabled.
1136        BERR_INVALID_PARAMETER - Checker handle was invalid.
1137
1138See Also:
1139        BMRC_Checker_Enable
1140        BMRC_Checker_Disable
1141        BMRC_Checker_EnableCallback
1142        BMRC_Checker_EnableCallback_isr
1143        BMRC_Checker_DisableCallback_isr
1144**************************************************************************/
1145BERR_Code BMRC_Checker_DisableCallback
1146        ( BMRC_Checker_Handle hChecker  /* [in] Checker handle */
1147        );
1148
1149
1150/***************************************************************************
1151Summary:
1152        Enables a client's callback during an isr.
1153
1154Description:
1155        This function enables a client's callback to be run when violations
1156        occur.  A checker must also be enabled for callbacks to work.
1157
1158Returns:
1159        BERR_SUCCESS - Checker was successfully enabled.
1160        BERR_INVALID_PARAMETER - Checker handle was invalid.
1161        BMRC_CHECKER_ERR_NO_CALLBACK_SET - No callback set.
1162
1163See Also:
1164        BMRC_Checker_DisableCallback_isr
1165        BMRC_Checker_Enable
1166        BMRC_Checker_Disable
1167        BMRC_Checker_EnableCallback
1168        BMRC_Checker_DisableCallback
1169**************************************************************************/
1170BERR_Code BMRC_Checker_EnableCallback_isr
1171        ( BMRC_Checker_Handle hChecker  /* [in] Checker handle */
1172        );
1173
1174
1175/***************************************************************************
1176Summary:
1177        Disables a client's callback during an isr.
1178
1179Description:
1180        This function disables a client's callback, and the callback will
1181        not be run even when violations occur.
1182
1183Returns:
1184        BERR_SUCCESS - Checker was successfully disabled.
1185        BERR_INVALID_PARAMETER - Checker handle was invalid.
1186
1187See Also:
1188        BMRC_Checker_EnableCallback_isr
1189        BMRC_Checker_Enable
1190        BMRC_Checker_Disable
1191        BMRC_Checker_EnableCallback
1192        BMRC_Checker_DisableCallback
1193**************************************************************************/
1194BERR_Code BMRC_Checker_DisableCallback_isr
1195        ( BMRC_Checker_Handle hChecker  /* [in] Checker handle */
1196        );
1197
1198
1199/***************************************************************************
1200Summary:
1201        Registers a callback to the checker.
1202
1203Description:
1204        This function registers the callback that will be called when a
1205        violation occurs.
1206
1207Returns:
1208        BERR_SUCCESS - Callback was successfully registered.
1209
1210See Also:
1211**************************************************************************/
1212BERR_Code BMRC_Checker_SetCallback
1213        ( BMRC_Checker_Handle hChecker,          /* [in] Checker handle */
1214          const BMRC_CallbackFunc_isr pfCbFunc,  /* [in] Pointer to the callback function */
1215          void *pvCbData1,                       /* [in] User defined callback data structure. */
1216          int iCbData2                           /* [in] User defined callback value */
1217        );
1218
1219
1220/**************************************************************************
1221Summary:
1222        Gets a client's info.
1223
1224Description:
1225        This function returns the client's information, such as client id and
1226        name in a client info structure.
1227
1228Returns:
1229
1230See Also:
1231**************************************************************************/
1232BERR_Code BMRC_Checker_GetClientInfo
1233        ( BMRC_Handle hMrc,               /* [in] MRC Module Handle */
1234          BMRC_Client eClient,            /* [in]  The client to get the info of */
1235          BMRC_ClientInfo *pClientInfo    /* [out] Pointer to the client info structure */
1236        );
1237
1238
1239#ifdef __cplusplus
1240}
1241#endif
1242
1243#endif
1244/* End of File */
Note: See TracBrowser for help on using the repository browser.