source: svn/trunk/newcon3bcm2_21bu/magnum/commonutils/rdc/7552/brdc.c

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

1.phkim

  1. revision copy newcon3sk r27
  • Property svn:executable set to *
File size: 193.3 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: brdc.c $
11 * $brcm_Revision: Hydra_Software_Devel/137 $
12 * $brcm_Date: 12/16/11 7:41p $
13 *
14 * Module Description:
15 *
16 * Revision History:
17 *
18 * $brcm_Log: /magnum/commonutils/rdc/7360/brdc.c $
19 *
20 * Hydra_Software_Devel/137   12/16/11 7:41p bselva
21 * SW7360-6: Added appframework support for 7360 platform
22 *
23 * Hydra_Software_Devel/137   12/16/11 7:32p bselva
24 * SW7360-6: Added appframework support for 7360 platform
25 *
26 * Hydra_Software_Devel/136   11/1/11 9:55a pntruong
27 * SW7435-23: Initial rdc support for 7435.
28 *
29 * Hydra_Software_Devel/135   10/6/11 2:13p pntruong
30 * SW7429-16: Initial support.
31 *
32 * Hydra_Software_Devel/134   8/11/11 9:50p pntruong
33 * SW7231-318: Initial vdc support with error free build.
34 *
35 * Hydra_Software_Devel/134   8/11/11 9:46p pntruong
36 * SW7231-318: Initial vdc support with error free build.  Added hddvi
37 * triggers.
38 *
39 * Hydra_Software_Devel/133   4/13/11 7:09p pntruong
40 * SW7425-339: Fixed Ax build errors.
41 *
42 * Hydra_Software_Devel/132   4/13/11 6:01p pntruong
43 * SW7425-339: Added support for new vec/cmp triggers.  Fixed force
44 * trigger index to use mapping table instead of enum.
45 *
46 * Hydra_Software_Devel/131   3/15/11 4:43p pntruong
47 * SWDTV-5971: Added support for the 35233 DTV chip.
48 *
49 * Hydra_Software_Devel/130   2/15/11 10:34a pntruong
50 * SW7420-1456: Fixed coverity errors.
51 *
52 * Hydra_Software_Devel/129   2/9/11 3:34p pntruong
53 * SW7420-1456: Initial standby power management that used chp's pm
54 * functionalities.  Additional standardize coding style and uses of dbg
55 * object.
56 *
57 * Hydra_Software_Devel/SW7420-1456/2   2/3/11 6:15p jtna
58 * SW7420-1456: add BRDC_Standby and BRDC_Resume
59 *
60 * Hydra_Software_Devel/SW7420-1456/1   2/2/11 8:07p jtna
61 * SW7420-1456: initial work on VDC/VBI power management
62 *
63 * Hydra_Software_Devel/128   11/30/10 2:13p pntruong
64 * SWBLURAY-23673: Initial support.
65 *
66 * Hydra_Software_Devel/127   11/17/10 10:59p hongtaoz
67 * SW7422-13, SW7425-25: bring up 7422 VEC 656out; 7422/25 have two
68 * 656out, no 656in;
69 *
70 * Hydra_Software_Devel/126   11/8/10 10:10p pntruong
71 * SW35125-21: Added 35135 support.
72 *
73 * Hydra_Software_Devel/125   10/29/10 12:11a pntruong
74 * SW7231-2: Initial support.
75 *
76 * Hydra_Software_Devel/124   9/8/10 4:09p hongtaoz
77 * SW7425-25: fixed trigger info for 7425;
78 *
79 * Hydra_Software_Devel/123   9/2/10 1:32p vanessah
80 * SW7358-9: SW7425-25:  RDC support
81 *
82 * Hydra_Software_Devel/122   8/25/10 5:20p vanessah
83 * SW7425-25:  Add support to 7346 7344 7231 7358 7552 7135
84 *
85 * Hydra_Software_Devel/120   6/22/10 4:14p pntruong
86 * SW7422-12: Fixed the position of the new triggers.
87 *
88 * Hydra_Software_Devel/119   6/22/10 3:02p pntruong
89 * SW7422-12: Fixed build errors.  Corrected naming to follow previous
90 * naming convention.
91 *
92 * Hydra_Software_Devel/118   6/22/10 11:39a vanessah
93 * SW7422-12:  To support appframework. Missing files added:
94 * magnum\portinginterface\pwr rockford\appframework\src\board\97422  To
95 * do list: 1. in framework_board.c, more initialization to be done.  2.
96 * More registers mapping, like clock generation as well as
97 * BCHP_SUN_TOP_CTRL_PIN_MUX_CTRL etc
98 *
99 * Hydra_Software_Devel/117   5/26/10 5:22p darnstein
100 * SW7335-696: the capture buffer used for debugging gets allocated in
101 * BRDC_Open(). If this allocation fails, the error condition was being
102 * ignored.
103 *
104 * Hydra_Software_Devel/116   3/18/10 11:37a yuxiaz
105 * SW7405-3954: Remove dependence of brdc.h in bavc.h
106 *
107 * Hydra_Software_Devel/114   12/9/09 4:19p tdo
108 * SW7420-497: Using physical address to program RDC blockout
109 *
110 * Hydra_Software_Devel/113   11/30/09 10:36a pntruong
111 * SW35230-28: Added 35230 support.
112 *
113 * Hydra_Software_Devel/112   11/18/09 10:53a pntruong
114 * SW7408-13: Fixed typo.
115 *
116 * Hydra_Software_Devel/111   11/18/09 10:28a pntruong
117 * SW7408-13: Added initial Appframework/VDC support for 7408.
118 *
119 * Hydra_Software_Devel/110   11/16/09 4:01p rpan
120 * SW7468-25: Initial support for 7468.
121 *
122 * Hydra_Software_Devel/109   10/22/09 5:09p pntruong
123 * SW3548-2568: fixed build warings.
124 *
125 * Hydra_Software_Devel/108   9/2/09 5:30p albertl
126 * SW7630-8: Added 7630 RDC support.
127 *
128 * Hydra_Software_Devel/107   8/25/09 7:25p albertl
129 * SW7125-10: Initial 7125 support.
130 *
131 * Hydra_Software_Devel/106   7/28/09 1:50p pntruong
132 * PR55225: add support for 7342 chipset.
133 *
134 * Hydra_Software_Devel/105   7/14/09 10:50a pntruong
135 * PR53796: Adopted to rdb changed.
136 *
137 * Hydra_Software_Devel/104   6/23/09 11:50a pntruong
138 * PR55793: Fixed coverity warnings.
139 *
140 * Hydra_Software_Devel/103   6/11/09 2:48p darnstein
141 * PR55219: add trigger list for 7340 chipset.
142 *
143 * Hydra_Software_Devel/102   6/10/09 4:34p rpan
144 * PR55793: Addressed a coverity issue.
145 *
146 * Hydra_Software_Devel/101   6/9/09 6:20p pntruong
147 * PR55861: Added support for hw blockout and timestamp.
148 *
149 * Hydra_Software_Devel/100   6/9/09 5:35p pntruong
150 * PR55861: VDC: Add initial support for appframework and vdc.
151 *
152 * Hydra_Software_Devel/99   6/2/09 4:17p pntruong
153 * PR55533: Added preliminary support for 7550.
154 *
155 * Hydra_Software_Devel/98   5/27/09 4:29p rpan
156 * PR55480: Added trigger assignment for ITU-656 output on 7400 and 7405.
157 *
158 * Hydra_Software_Devel/97   4/27/09 11:48a jhaberf
159 * PR53796: Added BCM35130 DTV chip to list of supported chips for rdc.
160 *
161 * Hydra_Software_Devel/96   3/24/09 5:28p albertl
162 * PR52513: Moved RDC debug globals into hList structure.
163 *
164 * Hydra_Software_Devel/95   3/23/09 9:34p tdo
165 * PR52966: BRDC support for 7635 "Dune" chip
166 *
167 * Hydra_Software_Devel/94   2/12/09 4:41p tdo
168 * PR51629: Correct RDC table size
169 *
170 * Hydra_Software_Devel/93   2/9/09 11:17a jrubio
171 * PR51629: remove duplicate entry for 7336 P3XD
172 *
173 * Hydra_Software_Devel/92   2/6/09 12:37p tdo
174 * PR51627: Update px3d trigger
175 *
176 * Hydra_Software_Devel/91   1/27/09 8:24p tdo
177 * PR51627: add VDC 7336 PI support
178 *
179 * Hydra_Software_Devel/90   1/20/09 8:48p tdo
180 * PR45792, PR45793: Remove warning
181 *
182 * Hydra_Software_Devel/89   1/20/09 8:30p tdo
183 * PR45792, PR45793: Add Timer Service API to RDC. Add HW RDC timer
184 * support.  Modify new RDC instruction.
185 *
186 * Hydra_Software_Devel/88   1/8/09 2:22p rpan
187 * PR50927: Improved the RUL execution tracking mechanism to handle the
188 * very first RUL.
189 *
190 * Hydra_Software_Devel/87   12/22/08 11:47p pntruong
191 * PR50652: Added support for 7405c0.
192 *
193 * Hydra_Software_Devel/86   11/24/08 3:35p albertl
194 * PR49393:  Changed BRDC_Slot_RulConfigRulSize_isr to use
195 * BRDC_List_SetNumEntries_isr and return void.
196 *
197 * Hydra_Software_Devel/85   9/12/08 11:15a yuxiaz
198 * PR46480: B0: Remove unused RDC trigger from list
199 *
200 * Hydra_Software_Devel/84   9/5/08 4:26p tdo
201 * PR46484: Bringup appframework for 7420
202 *
203 * Hydra_Software_Devel/83   7/7/08 5:05p tdo
204 * PR33685: BRDC support for 7601
205 *
206 * Hydra_Software_Devel/82   3/27/08 10:00p pntruong
207 * PR41004: Fixed return code, and assert validity of input handles.
208 *
209 * Hydra_Software_Devel/81   3/10/08 8:08p jessem
210 * PR 38623: Enclosed setting of new register blocks to blockout in a
211 * critical section.
212 *
213 * Hydra_Software_Devel/80   2/28/08 5:00p jessem
214 * PR 38623: Added RDMA blockout support.
215 *
216 * Hydra_Software_Devel/79   2/19/08 4:55p pntruong
217 * PR38863, PR39416: Updated to include 656 output and px3d trigger.
218 *
219 * Hydra_Software_Devel/78   1/24/08 9:47a pntruong
220 * PR38863: Initial 3548 suport.
221 *
222 * Hydra_Software_Devel/77   11/20/07 11:07p tdo
223 * PR36889: Remove strictly alias warnings
224 *
225 * Hydra_Software_Devel/76   11/16/07 5:29p tdo
226 * PR36898: Add VDC PI support for 7335
227 *
228 * Hydra_Software_Devel/75   10/11/07 6:17p syang
229 * PR 35061:  coverity (REVERSE_INULL) fix
230 *
231 * Hydra_Software_Devel/74   10/5/07 6:43p pntruong
232 * PR34714: Updated more trigger info.
233 *
234 * Hydra_Software_Devel/73   10/4/07 11:51a pntruong
235 * PR34714: Update RDC trigger definitions, and removed warnings and
236 * global vars.
237 *
238 * Hydra_Software_Devel/72   9/30/07 3:20p tdo
239 * PR33685: Basic RDC support for 7443.
240 *
241 * Hydra_Software_Devel/71   9/21/07 3:40p hongtaoz
242 * PR34955: added RUL size self config API to support PsF 1080p feature;
243 *
244 * Hydra_Software_Devel/70   9/20/07 5:20p yuxiaz
245 * PR34527: Add 7325 support
246 *
247 * Hydra_Software_Devel/69   9/13/07 4:12p pntruong
248 * PR 28750 : Added RDC hooks for RUL capture for splash screen.
249 *
250 ***************************************************************************/
251
252#include "bstd.h"                /* standard types */
253#include "breg_mem.h"            /* Chip register access memory mapped */
254#include "bkni.h"                /* Memory management */
255#include "bdbg.h"                /* Debug message */
256
257#ifdef BCHP_PWR_SUPPORT
258#include "bchp_pwr.h"
259#endif
260
261#include "brdc.h"
262#include "brdc_dbg.h"
263#include "brdc_private.h"
264#include "brdc_blockout_priv.h"
265
266/* Interrupt Id */
267#include "bchp_int_id_bvnf_intr2_0.h"
268#include "bchp_int_id_bvnf_intr2_1.h"
269
270BDBG_MODULE(BRDC);
271BDBG_OBJECT_ID(BRDC_RDC);
272BDBG_OBJECT_ID(BRDC_SLT);
273BDBG_OBJECT_ID(BRDC_LST);
274
275
276/* Support register udpate blockout by HW? */
277#ifdef BCHP_RDC_br_0_start_addr
278#define BRDC_P_SUPPORT_HW_BLOCKOUT         (1)
279#else
280#define BRDC_P_SUPPORT_HW_BLOCKOUT         (0)
281#endif
282
283#ifdef BCHP_RDC_desc_0_tm_snapshot
284#define BRDC_P_SUPPORT_TIMESTAMP           (1)
285#else
286#define BRDC_P_SUPPORT_TIMESTAMP           (0)
287#endif
288
289/* Shorthands to reduce typing. */
290#ifdef BCHP_INT_ID_BVNF_INTR2_0_RDC_DESC_0_INTR
291#define BRDC_P_MAKE_SLOT_INFO(slot_id)                           \
292{                                                                \
293        (BCHP_INT_ID_BVNF_INTR2_0_RDC_DESC_##slot_id##_INTR),        \
294        BRDC_P_TRACK_REG_ADDR(BRDC_P_SCRATCH_REG_START+(slot_id))    \
295}
296#define BRDC_P_MAKE_TRIG_INFO_NORM(enum_name, int_id, rdb_name)  \
297{                                                                \
298        (BRDC_Trigger_##enum_name),                                  \
299        (BCHP_INT_ID_BVNF_INTR2_1_RDC_TRIG_##int_id##_INTR),         \
300        (BRDC_P_TRIGGER(rdb_name)),                                  \
301        (#enum_name)                                                 \
302}
303#else
304#define BRDC_P_MAKE_SLOT_INFO(slot_id)                           \
305{                                                                \
306        (BCHP_INT_ID_RDC_DESC_##slot_id##_INTR),                     \
307        BRDC_P_TRACK_REG_ADDR(BRDC_P_SCRATCH_REG_START+(slot_id))    \
308}
309#define BRDC_P_MAKE_TRIG_INFO_NORM(enum_name, int_id, rdb_name)  \
310{                                                                \
311        (BRDC_Trigger_##enum_name),                                  \
312        (BCHP_INT_ID_RDC_TRIG_##int_id##_INTR),                      \
313        (BRDC_P_TRIGGER(rdb_name)),                                  \
314        (#enum_name)                                                 \
315}
316#endif
317
318#define BRDC_P_MAKE_TRIG_INFO_COMB(enum_name, int_id, rdb_name)  \
319{                                                                \
320        (BRDC_Trigger_##enum_name),                                  \
321        (BRDC_P_NULL_BINTID),                                        \
322        (BRDC_P_TRIGGER(rdb_name)),                                  \
323        (#enum_name)                                                 \
324}
325
326#define BRDC_P_MAKE_TRIG_INFO_NULL(enum_name, int_id, rdb_name)  \
327{                                                                \
328        (BRDC_Trigger_##enum_name),                                  \
329        (BRDC_P_NULL_BINTID),                                        \
330        (BRDC_P_TRIGGER_UNKNOWN_VAL),                                \
331        (#enum_name)                                                 \
332}
333
334/* Slot Info */
335typedef struct
336{
337        /* When slot done execute it will fire interrupt, and this interrupt id
338         * is use in according with BINT (magnum interrupt manager). */
339        BINT_Id            SlotIntId;
340
341        /* This address is for the slot to update the count when it execute.  We're
342         * using this register to check if the RUL last assigned to slot has been
343         * executed or not. */
344        uint32_t           ulTrackRegAddr;
345
346} BRDC_P_SlotInfo;
347
348/* INDEX: Slot id.  Slot's INT ID, tracking address mapping, */
349static const BRDC_P_SlotInfo s_aRdcSlotInfo[] =
350{
351        BRDC_P_MAKE_SLOT_INFO(0),
352        BRDC_P_MAKE_SLOT_INFO(1),
353        BRDC_P_MAKE_SLOT_INFO(2),
354        BRDC_P_MAKE_SLOT_INFO(3),
355        BRDC_P_MAKE_SLOT_INFO(4),
356
357        BRDC_P_MAKE_SLOT_INFO(5),
358        BRDC_P_MAKE_SLOT_INFO(6),
359        BRDC_P_MAKE_SLOT_INFO(7),
360        BRDC_P_MAKE_SLOT_INFO(8),
361        BRDC_P_MAKE_SLOT_INFO(9),
362
363        BRDC_P_MAKE_SLOT_INFO(10),
364        BRDC_P_MAKE_SLOT_INFO(11),
365        BRDC_P_MAKE_SLOT_INFO(12),
366        BRDC_P_MAKE_SLOT_INFO(13),
367        BRDC_P_MAKE_SLOT_INFO(14),
368
369        BRDC_P_MAKE_SLOT_INFO(15),
370        BRDC_P_MAKE_SLOT_INFO(16),
371        BRDC_P_MAKE_SLOT_INFO(17),
372        BRDC_P_MAKE_SLOT_INFO(18),
373        BRDC_P_MAKE_SLOT_INFO(19),
374
375        BRDC_P_MAKE_SLOT_INFO(20),
376        BRDC_P_MAKE_SLOT_INFO(21),
377        BRDC_P_MAKE_SLOT_INFO(22),
378        BRDC_P_MAKE_SLOT_INFO(23),
379        BRDC_P_MAKE_SLOT_INFO(24),
380
381        BRDC_P_MAKE_SLOT_INFO(25),
382        BRDC_P_MAKE_SLOT_INFO(26),
383        BRDC_P_MAKE_SLOT_INFO(27),
384        BRDC_P_MAKE_SLOT_INFO(28),
385        BRDC_P_MAKE_SLOT_INFO(29),
386
387        BRDC_P_MAKE_SLOT_INFO(30),
388        BRDC_P_MAKE_SLOT_INFO(31),
389
390        /* NULL */
391        {BRDC_P_NULL_BINTID,           BRDC_P_NO_TRACKING_ADDR}
392};
393
394
395/* INDEX: Trigger Id.  Trigger's INT ID!  This chip specifics.
396 * DO NOT: ifdefs and nested ifdefs that become impossible to decipher.
397 * Look at the BCHP_BRDC_desc_0_config for valid triggers. */
398static const BRDC_TrigInfo s_aRdcTrigInfo[] =
399{
400        /*                    enum_name,    int_id,
401         *                                      rdb_name         */
402
403#if (BCHP_CHIP==7038)
404
405        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig0,    0, cap_0_trig_0   ),
406        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig1,    1, cap_0_trig_1   ),
407        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig0,    2, cap_1_trig_0   ),
408        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig1,    3, cap_1_trig_1   ),
409        BRDC_P_MAKE_TRIG_INFO_NORM(eCap2Trig0,    4, cap_2_trig_0   ),
410        BRDC_P_MAKE_TRIG_INFO_NORM(eCap2Trig1,    5, cap_2_trig_1   ),
411        BRDC_P_MAKE_TRIG_INFO_NORM(eCap3Trig0,    6, cap_3_trig_0   ),
412        BRDC_P_MAKE_TRIG_INFO_NORM(eCap3Trig1,    7, cap_3_trig_1   ),
413        BRDC_P_MAKE_TRIG_INFO_NORM(eCap4Trig0,   14, cap_4_trig_0   ),
414        BRDC_P_MAKE_TRIG_INFO_NORM(eCap4Trig1,   15, cap_4_trig_1   ),
415        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig0,   -1, UNKNOWN        ),
416        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig1,   -1, UNKNOWN        ),
417        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig0,    8, prim_vec_trig_0),
418        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig1,    9, prim_vec_trig_1),
419        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig2,   -1, UNKNOWN        ),
420        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig3,   -1, UNKNOWN        ),
421        BRDC_P_MAKE_TRIG_INFO_NORM(eVec1Trig0,   10, sec_vec_trig_0 ),
422        BRDC_P_MAKE_TRIG_INFO_NORM(eVec1Trig1,   11, sec_vec_trig_1 ),
423        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig2,   -1, UNKNOWN        ),
424        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig3,   -1, UNKNOWN        ),
425        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig0,   -1, UNKNOWN        ),
426        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig1,   -1, UNKNOWN        ),
427        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig2,   -1, UNKNOWN        ),
428        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig3,   -1, UNKNOWN        ),
429        BRDC_P_MAKE_TRIG_INFO_NORM(eDtgTrig0,    12, dtg_trig_0     ),
430        BRDC_P_MAKE_TRIG_INFO_NORM(eDtgTrig1,    13, dtg_trig_1     ),
431        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig0,   -1, UNKNOWN        ),
432        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig1,   -1, UNKNOWN        ),
433        BRDC_P_MAKE_TRIG_INFO_NORM(eVdec0Trig0,  16, vdec_0_trig_0  ),
434        BRDC_P_MAKE_TRIG_INFO_NORM(eVdec0Trig1,  17, vdec_0_trig_1  ),
435        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig0,  -1, UNKNOWN        ),
436        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig1,  -1, UNKNOWN        ),
437        BRDC_P_MAKE_TRIG_INFO_NORM(e6560Trig0,   18, itu_r656_0     ),
438        BRDC_P_MAKE_TRIG_INFO_NORM(e6560Trig1,   19, itu_r656_1     ),
439        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig0,   -1, UNKNOWN        ),
440        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig1,   -1, UNKNOWN        ),
441        BRDC_P_MAKE_TRIG_INFO_NORM(eM2mc0Trig,   20, m2mc_trig      ),
442        BRDC_P_MAKE_TRIG_INFO_NULL(eM2mc1Trig,   -1, UNKNOWN        ),
443        BRDC_P_MAKE_TRIG_INFO_NORM(eHdDvi0Trig0, 21, hd_dvi_0_trig_0),
444        BRDC_P_MAKE_TRIG_INFO_NORM(eHdDvi0Trig1, 22, hd_dvi_0_trig_1),
445        BRDC_P_MAKE_TRIG_INFO_NORM(eHdDvi1Trig0, 23, hd_dvi_1_trig_0),
446        BRDC_P_MAKE_TRIG_INFO_NORM(eHdDvi1Trig1, 24, hd_dvi_1_trig_1),
447        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig0,   -1, UNKNOWN        ),
448        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig1,   -1, UNKNOWN        ),
449        BRDC_P_MAKE_TRIG_INFO_NORM(eLboxTrig0,   25, letterbox_0    ),
450        BRDC_P_MAKE_TRIG_INFO_NORM(eLboxTrig1,   26, letterbox_1    ),
451        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig0,    -1, UNKNOWN        ),
452        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig1,    -1, UNKNOWN        ),
453        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig2,    -1, UNKNOWN        ),
454        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig3,    -1, UNKNOWN        ),
455        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd0Eof,     -1, UNKNOWN        ),
456        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd1Eof,     -1, UNKNOWN        ),
457        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd2Eof,     -1, UNKNOWN        ),
458        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd3Eof,     -1, UNKNOWN        ),
459        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig0,   -1, UNKNOWN        ),
460        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig1,   -1, UNKNOWN        ),
461        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig0,   -1, UNKNOWN        ),
462        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig1,   -1, UNKNOWN        ),
463        BRDC_P_MAKE_TRIG_INFO_NULL(eDgp0Trig0,   -1, UNKNOWN        ),
464        BRDC_P_MAKE_TRIG_INFO_NULL(ePx3d0Trig0,  -1, UNKNOWN        ),
465        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig0,  -1, UNKNOWN        ),
466        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig1,  -1, UNKNOWN        ),
467        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig0,  -1, UNKNOWN        ),
468        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig1,  -1, UNKNOWN        ),
469        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig0,  -1, UNKNOWN        ),
470        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig1,  -1, UNKNOWN        ),
471        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig0,  -1, UNKNOWN        ),
472        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig1,  -1, UNKNOWN        ),
473        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig0,  -1, UNKNOWN        ),
474        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig1,  -1, UNKNOWN        ),
475        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig0,  -1, UNKNOWN        ),
476        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig1,  -1, UNKNOWN        ),
477
478#elif (BCHP_CHIP==7438)
479
480        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig0,    0, cap_0_trig_0   ),
481        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig1,    1, cap_0_trig_1   ),
482        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig0,    2, cap_1_trig_0   ),
483        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig1,    3, cap_1_trig_1   ),
484        BRDC_P_MAKE_TRIG_INFO_NORM(eCap2Trig0,    4, cap_2_trig_0   ),
485        BRDC_P_MAKE_TRIG_INFO_NORM(eCap2Trig1,    5, cap_2_trig_1   ),
486        BRDC_P_MAKE_TRIG_INFO_NORM(eCap3Trig0,    6, cap_3_trig_0   ),
487        BRDC_P_MAKE_TRIG_INFO_NORM(eCap3Trig1,    7, cap_3_trig_1   ),
488        BRDC_P_MAKE_TRIG_INFO_NORM(eCap4Trig0,   14, cap_4_trig_0   ),
489        BRDC_P_MAKE_TRIG_INFO_NORM(eCap4Trig1,   15, cap_4_trig_1   ),
490        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig0,   -1, UNKNOWN        ),
491        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig1,   -1, UNKNOWN        ),
492        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig0,    8, prim_vec_trig_0),
493        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig1,    9, prim_vec_trig_1),
494        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig2,   -1, UNKNOWN        ),
495        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig3,   -1, UNKNOWN        ),
496        BRDC_P_MAKE_TRIG_INFO_NORM(eVec1Trig0,   10, sec_vec_trig_0 ),
497        BRDC_P_MAKE_TRIG_INFO_NORM(eVec1Trig1,   11, sec_vec_trig_1 ),
498        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig2,   -1, UNKNOWN        ),
499        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig3,   -1, UNKNOWN        ),
500        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig0,   -1, UNKNOWN        ),
501        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig1,   -1, UNKNOWN        ),
502        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig2,   -1, UNKNOWN        ),
503        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig3,   -1, UNKNOWN        ),
504        BRDC_P_MAKE_TRIG_INFO_NORM(eDtgTrig0,    12, dtg_trig_0     ),
505        BRDC_P_MAKE_TRIG_INFO_NORM(eDtgTrig1,    13, dtg_trig_1     ),
506        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig0,   -1, UNKNOWN        ),
507        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig1,   -1, UNKNOWN        ),
508        BRDC_P_MAKE_TRIG_INFO_NORM(eVdec0Trig0,  16, vdec_0_trig_0  ),
509        BRDC_P_MAKE_TRIG_INFO_NORM(eVdec0Trig1,  17, vdec_0_trig_1  ),
510        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig0,  -1, UNKNOWN        ),
511        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig1,  -1, UNKNOWN        ),
512        BRDC_P_MAKE_TRIG_INFO_NORM(e6560Trig0,   18, itu_r656_0     ),
513        BRDC_P_MAKE_TRIG_INFO_NORM(e6560Trig1,   19, itu_r656_1     ),
514        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig0,   -1, UNKNOWN        ),
515        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig1,   -1, UNKNOWN        ),
516        BRDC_P_MAKE_TRIG_INFO_NORM(eM2mc0Trig,   20, m2mc_trig      ),
517        BRDC_P_MAKE_TRIG_INFO_NORM(eM2mc1Trig,   27, m2mc_1_trig    ),
518        BRDC_P_MAKE_TRIG_INFO_NORM(eHdDvi0Trig0, 21, hd_dvi_0_trig_0),
519        BRDC_P_MAKE_TRIG_INFO_NORM(eHdDvi0Trig1, 22, hd_dvi_0_trig_1),
520        BRDC_P_MAKE_TRIG_INFO_NORM(eHdDvi1Trig0, 23, hd_dvi_1_trig_0),
521        BRDC_P_MAKE_TRIG_INFO_NORM(eHdDvi1Trig1, 24, hd_dvi_1_trig_1),
522        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig0,   -1, UNKNOWN        ),
523        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig1,   -1, UNKNOWN        ),
524        BRDC_P_MAKE_TRIG_INFO_NORM(eLboxTrig0,   25, letterbox_0    ),
525        BRDC_P_MAKE_TRIG_INFO_NORM(eLboxTrig1,   26, letterbox_1    ),
526        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig0,    -1, UNKNOWN        ),
527        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig1,    -1, UNKNOWN        ),
528        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig2,    -1, UNKNOWN        ),
529        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig3,    -1, UNKNOWN        ),
530        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd0Eof,     -1, UNKNOWN        ),
531        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd1Eof,     -1, UNKNOWN        ),
532        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd2Eof,     -1, UNKNOWN        ),
533        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd3Eof,     -1, UNKNOWN        ),
534        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig0,   -1, UNKNOWN        ),
535        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig1,   -1, UNKNOWN        ),
536        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig0,   -1, UNKNOWN        ),
537        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig1,   -1, UNKNOWN        ),
538        BRDC_P_MAKE_TRIG_INFO_NULL(eDgp0Trig0,   -1, UNKNOWN        ),
539        BRDC_P_MAKE_TRIG_INFO_NULL(ePx3d0Trig0,  -1, UNKNOWN        ),
540        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig0,  -1, UNKNOWN        ),
541        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig1,  -1, UNKNOWN        ),
542        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig0,  -1, UNKNOWN        ),
543        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig1,  -1, UNKNOWN        ),
544        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig0,  -1, UNKNOWN        ),
545        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig1,  -1, UNKNOWN        ),
546        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig0,  -1, UNKNOWN        ),
547        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig1,  -1, UNKNOWN        ),
548        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig0,  -1, UNKNOWN        ),
549        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig1,  -1, UNKNOWN        ),
550        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig0,  -1, UNKNOWN        ),
551        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig1,  -1, UNKNOWN        ),
552
553#elif (BCHP_CHIP==3560)
554
555        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig0,    0, cap_0_trig_0   ),
556        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig1,    1, cap_0_trig_1   ),
557        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig0,    2, cap_1_trig_0   ),
558        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig1,    3, cap_1_trig_1   ),
559        BRDC_P_MAKE_TRIG_INFO_NORM(eCap2Trig0,    4, cap_2_trig_0   ),
560        BRDC_P_MAKE_TRIG_INFO_NORM(eCap2Trig1,    5, cap_2_trig_1   ),
561        BRDC_P_MAKE_TRIG_INFO_NULL(eCap3Trig0,   -1, UNKNOWN        ),
562        BRDC_P_MAKE_TRIG_INFO_NULL(eCap3Trig1,   -1, UNKNOWN        ),
563        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig0,   -1, UNKNOWN        ),
564        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig1,   -1, UNKNOWN        ),
565        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig0,   -1, UNKNOWN        ),
566        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig1,   -1, UNKNOWN        ),
567        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig0,    8, prim_vec_trig_0),
568        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig1,    9, prim_vec_trig_1),
569        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig2,   -1, UNKNOWN        ),
570        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig3,   -1, UNKNOWN        ),
571        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig0,   -1, UNKNOWN        ),
572        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig1,   -1, UNKNOWN        ),
573        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig2,   -1, UNKNOWN        ),
574        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig3,   -1, UNKNOWN        ),
575        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig0,   -1, UNKNOWN        ),
576        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig1,   -1, UNKNOWN        ),
577        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig2,   -1, UNKNOWN        ),
578        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig3,   -1, UNKNOWN        ),
579        BRDC_P_MAKE_TRIG_INFO_NORM(eDtgTrig0,    12, dtg_trig_0     ),
580        BRDC_P_MAKE_TRIG_INFO_NORM(eDtgTrig1,    13, dtg_trig_1     ),
581        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig0,   -1, UNKNOWN        ),
582        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig1,   -1, UNKNOWN        ),
583        BRDC_P_MAKE_TRIG_INFO_NORM(eVdec0Trig0,  16, vdec_0_trig_0  ),
584        BRDC_P_MAKE_TRIG_INFO_NORM(eVdec0Trig1,  17, vdec_0_trig_1  ),
585        BRDC_P_MAKE_TRIG_INFO_NORM(eVdec1Trig0,  27, vdec_1_trig_0  ),
586        BRDC_P_MAKE_TRIG_INFO_NORM(eVdec1Trig1,  28, vdec_1_trig_1  ),
587        BRDC_P_MAKE_TRIG_INFO_NORM(e6560Trig0,   18, itu_r656_0     ),
588        BRDC_P_MAKE_TRIG_INFO_NORM(e6560Trig1,   19, itu_r656_1     ),
589        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig0,   -1, UNKNOWN        ),
590        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig1,   -1, UNKNOWN        ),
591        BRDC_P_MAKE_TRIG_INFO_NORM(eM2mc0Trig,   20, m2mc_trig      ),
592        BRDC_P_MAKE_TRIG_INFO_NULL(eM2mc1Trig,   -1, UNKNOWN        ),
593        BRDC_P_MAKE_TRIG_INFO_NORM(eHdDvi0Trig0, 21, hd_dvi_0_trig_0),
594        BRDC_P_MAKE_TRIG_INFO_NORM(eHdDvi0Trig1, 22, hd_dvi_0_trig_1),
595        BRDC_P_MAKE_TRIG_INFO_NORM(eHdDvi1Trig0, 23, hd_dvi_1_trig_0),
596        BRDC_P_MAKE_TRIG_INFO_NORM(eHdDvi1Trig1, 24, hd_dvi_1_trig_1),
597        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig0,   -1, UNKNOWN        ),
598        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig1,   -1, UNKNOWN        ),
599        BRDC_P_MAKE_TRIG_INFO_NORM(eLboxTrig0,   25, letterbox_0    ),
600        BRDC_P_MAKE_TRIG_INFO_NULL(eLboxTrig1,   -1, UNKNOWN        ),
601        BRDC_P_MAKE_TRIG_INFO_NORM(eDvoTrig0,    29, dvo_trig_0     ),
602        BRDC_P_MAKE_TRIG_INFO_NORM(eDvoTrig1,    30, dvo_trig_1     ),
603        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig2,    -1, UNKNOWN        ),
604        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig3,    -1, UNKNOWN        ),
605        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd0Eof,     -1, UNKNOWN        ),
606        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd1Eof,     -1, UNKNOWN        ),
607        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd2Eof,     -1, UNKNOWN        ),
608        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd3Eof,     -1, UNKNOWN        ),
609        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig0,   -1, UNKNOWN        ),
610        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig1,   -1, UNKNOWN        ),
611        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig0,   -1, UNKNOWN        ),
612        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig1,   -1, UNKNOWN        ),
613        BRDC_P_MAKE_TRIG_INFO_NULL(eDgp0Trig0,   -1, UNKNOWN        ),
614        BRDC_P_MAKE_TRIG_INFO_NULL(ePx3d0Trig0,  -1, UNKNOWN        ),
615        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig0,  -1, UNKNOWN        ),
616        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig1,  -1, UNKNOWN        ),
617        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig0,  -1, UNKNOWN        ),
618        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig1,  -1, UNKNOWN        ),
619        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig0,  -1, UNKNOWN        ),
620        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig1,  -1, UNKNOWN        ),
621        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig0,  -1, UNKNOWN        ),
622        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig1,  -1, UNKNOWN        ),
623        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig0,  -1, UNKNOWN        ),
624        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig1,  -1, UNKNOWN        ),
625        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig0,  -1, UNKNOWN        ),
626        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig1,  -1, UNKNOWN        ),
627
628#elif (BCHP_CHIP==3563)
629
630        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig0,    0, cap_0_trig_0   ),
631        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig1,    1, cap_0_trig_1   ),
632        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig0,    2, cap_1_trig_0   ),
633        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig1,    3, cap_1_trig_1   ),
634        BRDC_P_MAKE_TRIG_INFO_NORM(eCap2Trig0,    4, cap_2_trig_0   ),
635        BRDC_P_MAKE_TRIG_INFO_NORM(eCap2Trig1,    5, cap_2_trig_1   ),
636        BRDC_P_MAKE_TRIG_INFO_NULL(eCap3Trig0,   -1, UNKNOWN        ),
637        BRDC_P_MAKE_TRIG_INFO_NULL(eCap3Trig1,   -1, UNKNOWN        ),
638        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig0,   -1, UNKNOWN        ),
639        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig1,   -1, UNKNOWN        ),
640        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig0,   -1, UNKNOWN        ),
641        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig1,   -1, UNKNOWN        ),
642        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig0,    8, prim_vec_trig_0),
643        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig1,    9, prim_vec_trig_1),
644        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig2,   -1, UNKNOWN        ),
645        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig3,   -1, UNKNOWN        ),
646        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig0,   -1, UNKNOWN        ),
647        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig1,   -1, UNKNOWN        ),
648        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig2,   -1, UNKNOWN        ),
649        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig3,   -1, UNKNOWN        ),
650        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig0,   -1, UNKNOWN        ),
651        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig1,   -1, UNKNOWN        ),
652        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig2,   -1, UNKNOWN        ),
653        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig3,   -1, UNKNOWN        ),
654        BRDC_P_MAKE_TRIG_INFO_NORM(eDtgTrig0,    12, dtg_trig_0     ),
655        BRDC_P_MAKE_TRIG_INFO_NORM(eDtgTrig1,    13, dtg_trig_1     ),
656        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig0,   -1, UNKNOWN        ),
657        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig1,   -1, UNKNOWN        ),
658        BRDC_P_MAKE_TRIG_INFO_NORM(eVdec0Trig0,  16, vdec_0_trig_0  ),
659        BRDC_P_MAKE_TRIG_INFO_NORM(eVdec0Trig1,  17, vdec_0_trig_1  ),
660        BRDC_P_MAKE_TRIG_INFO_NORM(eVdec1Trig0,  27, vdec_1_trig_0  ),
661        BRDC_P_MAKE_TRIG_INFO_NORM(eVdec1Trig1,  28, vdec_1_trig_1  ),
662        BRDC_P_MAKE_TRIG_INFO_NORM(e6560Trig0,   18, itu_r656_0     ),
663        BRDC_P_MAKE_TRIG_INFO_NORM(e6560Trig1,   19, itu_r656_1     ),
664        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig0,   -1, UNKNOWN        ),
665        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig1,   -1, UNKNOWN        ),
666        BRDC_P_MAKE_TRIG_INFO_NORM(eM2mc0Trig,   20, m2mc_trig      ),
667        BRDC_P_MAKE_TRIG_INFO_NULL(eM2mc1Trig,   -1, UNKNOWN        ),
668        BRDC_P_MAKE_TRIG_INFO_NORM(eHdDvi0Trig0, 21, hd_dvi_0_trig_0),
669        BRDC_P_MAKE_TRIG_INFO_NORM(eHdDvi0Trig1, 22, hd_dvi_0_trig_1),
670        BRDC_P_MAKE_TRIG_INFO_NORM(eHdDvi1Trig0, 23, hd_dvi_1_trig_0),
671        BRDC_P_MAKE_TRIG_INFO_NORM(eHdDvi1Trig1, 24, hd_dvi_1_trig_1),
672        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig0,   -1, UNKNOWN        ),
673        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig1,   -1, UNKNOWN        ),
674        BRDC_P_MAKE_TRIG_INFO_NORM(eLboxTrig0,   25, letterbox_0    ),
675        BRDC_P_MAKE_TRIG_INFO_NULL(eLboxTrig1,   -1, UNKNOWN        ),
676        BRDC_P_MAKE_TRIG_INFO_NORM(eDvoTrig0,    29, dvo_trig_0     ),
677        BRDC_P_MAKE_TRIG_INFO_NORM(eDvoTrig1,    30, dvo_trig_1     ),
678        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig2,    -1, UNKNOWN        ),
679        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig3,    -1, UNKNOWN        ),
680        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd0Eof,     -1, UNKNOWN        ),
681        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd1Eof,     -1, UNKNOWN        ),
682        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd2Eof,     -1, UNKNOWN        ),
683        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd3Eof,     -1, UNKNOWN        ),
684        BRDC_P_MAKE_TRIG_INFO_NORM(eAnr0Trig0,    6, anr_0_vpp_trig_0),
685        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig1,   -1, UNKNOWN        ),
686        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig0,   -1, UNKNOWN        ),
687        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig1,   -1, UNKNOWN        ),
688        BRDC_P_MAKE_TRIG_INFO_NULL(eDgp0Trig0,   -1, UNKNOWN        ),
689        BRDC_P_MAKE_TRIG_INFO_NULL(ePx3d0Trig0,  -1, UNKNOWN        ),
690        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig0,  -1, UNKNOWN        ),
691        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig1,  -1, UNKNOWN        ),
692        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig0,  -1, UNKNOWN        ),
693        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig1,  -1, UNKNOWN        ),
694        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig0,  -1, UNKNOWN        ),
695        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig1,  -1, UNKNOWN        ),
696        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig0,  -1, UNKNOWN        ),
697        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig1,  -1, UNKNOWN        ),
698        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig0,  -1, UNKNOWN        ),
699        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig1,  -1, UNKNOWN        ),
700        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig0,  -1, UNKNOWN        ),
701        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig1,  -1, UNKNOWN        ),
702
703#elif (BCHP_CHIP==3548) || (BCHP_CHIP==3556)
704
705        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig0,    0, cap_0_trig_0   ),
706        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig1,    1, cap_0_trig_1   ),
707        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig0,    2, cap_1_trig_0   ),
708        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig1,    3, cap_1_trig_1   ),
709        BRDC_P_MAKE_TRIG_INFO_NORM(eCap2Trig0,    4, cap_2_trig_0   ),
710        BRDC_P_MAKE_TRIG_INFO_NORM(eCap2Trig1,    5, cap_2_trig_1   ),
711        BRDC_P_MAKE_TRIG_INFO_NULL(eCap3Trig0,   -1, UNKNOWN        ),
712        BRDC_P_MAKE_TRIG_INFO_NULL(eCap3Trig1,   -1, UNKNOWN        ),
713        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig0,   -1, UNKNOWN        ),
714        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig1,   -1, UNKNOWN        ),
715        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig0,   -1, UNKNOWN        ),
716        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig1,   -1, UNKNOWN        ),
717        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig0,    8, prim_vec_trig_0),
718        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig1,    9, prim_vec_trig_1),
719        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig2,   -1, UNKNOWN        ),
720        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig3,   -1, UNKNOWN        ),
721        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig0,   -1, UNKNOWN        ),
722        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig1,   -1, UNKNOWN        ),
723        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig2,   -1, UNKNOWN        ),
724        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig3,   -1, UNKNOWN        ),
725        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig0,   -1, UNKNOWN        ),
726        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig1,   -1, UNKNOWN        ),
727        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig2,   -1, UNKNOWN        ),
728        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig3,   -1, UNKNOWN        ),
729        BRDC_P_MAKE_TRIG_INFO_NORM(eDtgTrig0,    12, dtg_trig_0     ),
730        BRDC_P_MAKE_TRIG_INFO_NORM(eDtgTrig1,    13, dtg_trig_1     ),
731        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig0,   -1, UNKNOWN        ),
732        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig1,   -1, UNKNOWN        ),
733        BRDC_P_MAKE_TRIG_INFO_NORM(eVdec0Trig0,  16, vdec_0_trig_0  ),
734        BRDC_P_MAKE_TRIG_INFO_NORM(eVdec0Trig1,  17, vdec_0_trig_1  ),
735        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig0,  -1, UNKNOWN        ),
736        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig1,  -1, UNKNOWN        ),
737        BRDC_P_MAKE_TRIG_INFO_NORM(e6560Trig0,   18, itu_r656_0_0   ),
738        BRDC_P_MAKE_TRIG_INFO_NORM(e6560Trig1,   19, itu_r656_0_1   ),
739        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig0,   -1, UNKNOWN        ),
740        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig1,   -1, UNKNOWN        ),
741        BRDC_P_MAKE_TRIG_INFO_NORM(eM2mc0Trig,   20, m2mc_trig      ),
742        BRDC_P_MAKE_TRIG_INFO_NULL(eM2mc1Trig,   -1, UNKNOWN        ),
743        BRDC_P_MAKE_TRIG_INFO_NORM(eHdDvi0Trig0, 21, hd_dvi_0_trig_0),
744        BRDC_P_MAKE_TRIG_INFO_NORM(eHdDvi0Trig1, 22, hd_dvi_0_trig_1),
745        BRDC_P_MAKE_TRIG_INFO_NORM(eHdDvi1Trig0, 23, hd_dvi_1_trig_0),
746        BRDC_P_MAKE_TRIG_INFO_NORM(eHdDvi1Trig1, 24, hd_dvi_1_trig_1),
747        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig0,   -1, UNKNOWN        ),
748        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig1,   -1, UNKNOWN        ),
749        BRDC_P_MAKE_TRIG_INFO_NORM(eLboxTrig0,   25, letterbox_0    ),
750        BRDC_P_MAKE_TRIG_INFO_NULL(eLboxTrig1,   -1, UNKNOWN        ),
751        BRDC_P_MAKE_TRIG_INFO_NORM(eDvoTrig0,    29, dvo_trig_0     ),
752        BRDC_P_MAKE_TRIG_INFO_NORM(eDvoTrig1,    30, dvo_trig_1     ),
753        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig2,    -1, UNKNOWN        ),
754        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig3,    -1, UNKNOWN        ),
755        BRDC_P_MAKE_TRIG_INFO_NORM(eMfd0Eof,     27, mfd_0_eof_trig ),
756#if (BCHP_VER >= BCHP_VER_B0)
757        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd1Eof,     -1, UNKNOWN        ),
758#else
759        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd1Eof,     28, mfd_1_eof_trig ),
760#endif
761        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd2Eof,     -1, UNKNOWN        ),
762        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd3Eof,     -1, UNKNOWN        ),
763        BRDC_P_MAKE_TRIG_INFO_NORM(eAnr0Trig0,    6, anr_0_mctf_trig),
764        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig1,   -1, UNKNOWN        ),
765        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig0,   -1, UNKNOWN        ),
766        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig1,   -1, UNKNOWN        ),
767        BRDC_P_MAKE_TRIG_INFO_NULL(eDgp0Trig0,   -1, UNKNOWN        ),
768        BRDC_P_MAKE_TRIG_INFO_NORM(ePx3d0Trig0,  10, px3d_trig      ),
769        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig0,  -1, UNKNOWN        ),
770        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig1,  -1, UNKNOWN        ),
771        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig0,  -1, UNKNOWN        ),
772        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig1,  -1, UNKNOWN        ),
773        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig0,  -1, UNKNOWN        ),
774        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig1,  -1, UNKNOWN        ),
775        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig0,  -1, UNKNOWN        ),
776        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig1,  -1, UNKNOWN        ),
777        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig0,  -1, UNKNOWN        ),
778        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig1,  -1, UNKNOWN        ),
779        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig0,  -1, UNKNOWN        ),
780        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig1,  -1, UNKNOWN        ),
781
782#elif (BCHP_CHIP==35230) || (BCHP_CHIP==35125)
783
784        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig0,    0, cap_0_trig_0   ),
785        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig1,    1, cap_0_trig_1   ),
786        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig0,    2, cap_1_trig_0   ),
787        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig1,    3, cap_1_trig_1   ),
788        BRDC_P_MAKE_TRIG_INFO_NULL(eCap2Trig0,   -1, UNKNOWN        ),
789        BRDC_P_MAKE_TRIG_INFO_NULL(eCap2Trig1,   -1, UNKNOWN        ),
790        BRDC_P_MAKE_TRIG_INFO_NULL(eCap3Trig0,   -1, UNKNOWN        ),
791        BRDC_P_MAKE_TRIG_INFO_NULL(eCap3Trig1,   -1, UNKNOWN        ),
792        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig0,   -1, UNKNOWN        ),
793        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig1,   -1, UNKNOWN        ),
794        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig0,   -1, UNKNOWN        ),
795        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig1,   -1, UNKNOWN        ),
796        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig0,    8, vec_trig_0     ),
797        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig1,    9, vec_trig_1     ),
798        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig2,   -1, UNKNOWN        ),
799        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig3,   -1, UNKNOWN        ),
800        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig0,   -1, UNKNOWN        ),
801        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig1,   -1, UNKNOWN        ),
802        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig2,   -1, UNKNOWN        ),
803        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig3,   -1, UNKNOWN        ),
804        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig0,   -1, UNKNOWN        ),
805        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig1,   -1, UNKNOWN        ),
806        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig2,   -1, UNKNOWN        ),
807        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig3,   -1, UNKNOWN        ),
808        BRDC_P_MAKE_TRIG_INFO_NULL(eDtgTrig0,    -1, UNKNOWN        ),
809        BRDC_P_MAKE_TRIG_INFO_NULL(eDtgTrig1,    -1, UNKNOWN        ),
810        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig0,   -1, UNKNOWN        ),
811        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig1,   -1, UNKNOWN        ),
812        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec0Trig0,  -1, UNKNOWN        ),
813        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec0Trig1,  -1, UNKNOWN        ),
814        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig0,  -1, UNKNOWN        ),
815        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig1,  -1, UNKNOWN        ),
816        BRDC_P_MAKE_TRIG_INFO_NULL(e6560Trig0,   -1, UNKNOWN        ),
817        BRDC_P_MAKE_TRIG_INFO_NULL(e6560Trig1,   -1, UNKNOWN        ),
818        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig0,   -1, UNKNOWN        ),
819        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig1,   -1, UNKNOWN        ),
820        BRDC_P_MAKE_TRIG_INFO_NULL(eM2mc0Trig,   -1, UNKNOWN        ),
821        BRDC_P_MAKE_TRIG_INFO_NULL(eM2mc1Trig,   -1, UNKNOWN        ),
822        BRDC_P_MAKE_TRIG_INFO_NORM(eHdDvi0Trig0, 21, hd_dvi_0_trig_0),
823        BRDC_P_MAKE_TRIG_INFO_NORM(eHdDvi0Trig1, 22, hd_dvi_0_trig_1),
824        BRDC_P_MAKE_TRIG_INFO_NORM(eHdDvi1Trig0, 23, hd_dvi_1_trig_0),
825        BRDC_P_MAKE_TRIG_INFO_NORM(eHdDvi1Trig1, 24, hd_dvi_1_trig_1),
826        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig0,   -1, UNKNOWN        ),
827        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig1,   -1, UNKNOWN        ),
828        BRDC_P_MAKE_TRIG_INFO_NORM(eLboxTrig0,   25, letterbox_0    ),
829        BRDC_P_MAKE_TRIG_INFO_NULL(eLboxTrig1,   -1, UNKNOWN        ),
830        BRDC_P_MAKE_TRIG_INFO_NORM(eDvoTrig0,    29, dvo_trig_0     ),
831        BRDC_P_MAKE_TRIG_INFO_NORM(eDvoTrig1,    30, dvo_trig_1     ),
832        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig2,    -1, UNKNOWN        ),
833        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig3,    -1, UNKNOWN        ),
834        BRDC_P_MAKE_TRIG_INFO_NORM(eMfd0Eof,     27, mfd_0_eof_trig ),
835        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd1Eof,     -1, UNKNOWN        ),
836        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd2Eof,     -1, UNKNOWN        ),
837        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd3Eof,     -1, UNKNOWN        ),
838        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig0,   -1, UNKNOWN        ),
839        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig1,   -1, UNKNOWN        ),
840        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig0,   -1, UNKNOWN        ),
841        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig1,   -1, UNKNOWN        ),
842        BRDC_P_MAKE_TRIG_INFO_NULL(eDgp0Trig0,   -1, UNKNOWN        ),
843        BRDC_P_MAKE_TRIG_INFO_NULL(ePx3d0Trig0,  -1, UNKNOWN        ),
844        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig0,  -1, UNKNOWN        ),
845        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig1,  -1, UNKNOWN        ),
846        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig0,  -1, UNKNOWN        ),
847        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig1,  -1, UNKNOWN        ),
848        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig0,  -1, UNKNOWN        ),
849        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig1,  -1, UNKNOWN        ),
850        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig0,  -1, UNKNOWN        ),
851        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig1,  -1, UNKNOWN        ),
852        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig0,  -1, UNKNOWN        ),
853        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig1,  -1, UNKNOWN        ),
854        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig0,  -1, UNKNOWN        ),
855        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig1,  -1, UNKNOWN        ),
856
857#elif (BCHP_CHIP==35233)
858
859        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig0,    0, cap_0_trig_0   ),
860        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig1,    1, cap_0_trig_1   ),
861        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig0,    2, cap_1_trig_0   ),
862        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig1,    3, cap_1_trig_1   ),
863        BRDC_P_MAKE_TRIG_INFO_NULL(eCap2Trig0,   -1, UNKNOWN        ),
864        BRDC_P_MAKE_TRIG_INFO_NULL(eCap2Trig1,   -1, UNKNOWN        ),
865        BRDC_P_MAKE_TRIG_INFO_NULL(eCap3Trig0,   -1, UNKNOWN        ),
866        BRDC_P_MAKE_TRIG_INFO_NULL(eCap3Trig1,   -1, UNKNOWN        ),
867        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig0,   -1, UNKNOWN        ),
868        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig1,   -1, UNKNOWN        ),
869        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig0,   -1, UNKNOWN        ),
870        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig1,   -1, UNKNOWN        ),
871        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig0,    8, vec_trig_0     ),
872        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig1,    9, vec_trig_1     ),
873        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig2,   -1, UNKNOWN        ),
874        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig3,   -1, UNKNOWN        ),
875        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig0,   -1, UNKNOWN        ),
876        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig1,   -1, UNKNOWN        ),
877        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig2,   -1, UNKNOWN        ),
878        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig3,   -1, UNKNOWN        ),
879        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig0,   -1, UNKNOWN        ),
880        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig1,   -1, UNKNOWN        ),
881        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig2,   -1, UNKNOWN        ),
882        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig3,   -1, UNKNOWN        ),
883        BRDC_P_MAKE_TRIG_INFO_NULL(eDtgTrig0,    -1, UNKNOWN        ),
884        BRDC_P_MAKE_TRIG_INFO_NULL(eDtgTrig1,    -1, UNKNOWN        ),
885        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig0,   -1, UNKNOWN        ),
886        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig1,   -1, UNKNOWN        ),
887        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec0Trig0,  -1, UNKNOWN        ),
888        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec0Trig1,  -1, UNKNOWN        ),
889        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig0,  -1, UNKNOWN        ),
890        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig1,  -1, UNKNOWN        ),
891        BRDC_P_MAKE_TRIG_INFO_NULL(e6560Trig0,   -1, UNKNOWN        ),
892        BRDC_P_MAKE_TRIG_INFO_NULL(e6560Trig1,   -1, UNKNOWN        ),
893        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig0,   -1, UNKNOWN        ),
894        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig1,   -1, UNKNOWN        ),
895        BRDC_P_MAKE_TRIG_INFO_NORM(eM2mc0Trig,   20, m2mc_trig_0    ),
896        BRDC_P_MAKE_TRIG_INFO_NULL(eM2mc1Trig,   -1, UNKNOWN        ),
897        BRDC_P_MAKE_TRIG_INFO_NORM(eHdDvi0Trig0, 21, hd_dvi_0_trig_0),
898        BRDC_P_MAKE_TRIG_INFO_NORM(eHdDvi0Trig1, 22, hd_dvi_0_trig_1),
899        BRDC_P_MAKE_TRIG_INFO_NORM(eHdDvi1Trig0, 23, hd_dvi_1_trig_0),
900        BRDC_P_MAKE_TRIG_INFO_NORM(eHdDvi1Trig1, 24, hd_dvi_1_trig_1),
901        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig0,   -1, UNKNOWN        ),
902        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig1,   -1, UNKNOWN        ),
903        BRDC_P_MAKE_TRIG_INFO_NORM(eLboxTrig0,   25, letterbox_0    ),
904        BRDC_P_MAKE_TRIG_INFO_NULL(eLboxTrig1,   -1, UNKNOWN        ),
905        BRDC_P_MAKE_TRIG_INFO_NORM(eDvoTrig0,    12, dvo_trig_0     ),
906        BRDC_P_MAKE_TRIG_INFO_NORM(eDvoTrig1,    13, dvo_trig_1     ),
907        BRDC_P_MAKE_TRIG_INFO_NORM(eDvoTrig2,    14, dvo_trig_2     ),
908        BRDC_P_MAKE_TRIG_INFO_NORM(eDvoTrig3,    15, dvo_trig_3     ),
909        BRDC_P_MAKE_TRIG_INFO_NORM(eMfd0Eof,     27, mfd_0_eof_trig ),
910        BRDC_P_MAKE_TRIG_INFO_NORM(eMfd1Eof,     28, mfd_1_eof_trig ),
911        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd2Eof,     -1, UNKNOWN        ),
912        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd3Eof,     -1, UNKNOWN        ),
913        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig0,   -1, UNKNOWN        ),
914        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig1,   -1, UNKNOWN        ),
915        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig0,   -1, UNKNOWN        ),
916        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig1,   -1, UNKNOWN        ),
917        BRDC_P_MAKE_TRIG_INFO_NULL(eDgp0Trig0,   -1, UNKNOWN        ),
918        BRDC_P_MAKE_TRIG_INFO_NULL(ePx3d0Trig0,  -1, UNKNOWN        ),
919        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig0,  -1, UNKNOWN        ),
920        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig1,  -1, UNKNOWN        ),
921        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig0,  -1, UNKNOWN        ),
922        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig1,  -1, UNKNOWN        ),
923        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig0,  -1, UNKNOWN        ),
924        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig1,  -1, UNKNOWN        ),
925        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig0,  -1, UNKNOWN        ),
926        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig1,  -1, UNKNOWN        ),
927        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig0,  -1, UNKNOWN        ),
928        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig1,  -1, UNKNOWN        ),
929        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig0,  -1, UNKNOWN        ),
930        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig1,  -1, UNKNOWN        ),
931
932#elif (BCHP_CHIP==7118)
933
934        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig0,    0, cap_0_trig_0   ),
935        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig1,    1, cap_0_trig_1   ),
936        BRDC_P_MAKE_TRIG_INFO_NULL(eCap1Trig0,   -1, UNKNOWN        ),
937        BRDC_P_MAKE_TRIG_INFO_NULL(eCap1Trig1,   -1, UNKNOWN        ),
938        BRDC_P_MAKE_TRIG_INFO_NULL(eCap2Trig0,   -1, UNKNOWN        ),
939        BRDC_P_MAKE_TRIG_INFO_NULL(eCap2Trig1,   -1, UNKNOWN        ),
940        BRDC_P_MAKE_TRIG_INFO_NULL(eCap3Trig0,   -1, UNKNOWN        ),
941        BRDC_P_MAKE_TRIG_INFO_NULL(eCap3Trig1,   -1, UNKNOWN        ),
942        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig0,   -1, UNKNOWN        ),
943        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig1,   -1, UNKNOWN        ),
944        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig0,   -1, UNKNOWN        ),
945        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig1,   -1, UNKNOWN        ),
946        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig0,    8, prim_vec_trig_0),
947        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig1,    9, prim_vec_trig_1),
948        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig2,   -1, UNKNOWN        ),
949        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig3,   -1, UNKNOWN        ),
950        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig0,   -1, UNKNOWN        ),
951        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig1,   -1, UNKNOWN        ),
952        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig2,   -1, UNKNOWN        ),
953        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig3,   -1, UNKNOWN        ),
954        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig0,   -1, UNKNOWN        ),
955        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig1,   -1, UNKNOWN        ),
956        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig2,   -1, UNKNOWN        ),
957        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig3,   -1, UNKNOWN        ),
958        BRDC_P_MAKE_TRIG_INFO_NULL(eDtgTrig0,    -1, UNKNOWN        ),
959        BRDC_P_MAKE_TRIG_INFO_NULL(eDtgTrig1,    -1, UNKNOWN        ),
960        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig0,   -1, UNKNOWN        ),
961        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig1,   -1, UNKNOWN        ),
962        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec0Trig0,  -1, UNKNOWN        ),
963        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec0Trig1,  -1, UNKNOWN        ),
964        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig0,  -1, UNKNOWN        ),
965        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig1,  -1, UNKNOWN        ),
966        BRDC_P_MAKE_TRIG_INFO_NORM(e6560Trig0,   18, itu_r656_0     ),
967        BRDC_P_MAKE_TRIG_INFO_NORM(e6560Trig1,   19, itu_r656_1     ),
968        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig0,   -1, UNKNOWN        ),
969        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig1,   -1, UNKNOWN        ),
970        BRDC_P_MAKE_TRIG_INFO_NORM(eM2mc0Trig,   20, m2mc_trig      ),
971        BRDC_P_MAKE_TRIG_INFO_NULL(eM2mc1Trig,   -1, UNKNOWN        ),
972        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi0Trig0, -1, UNKNOWN        ),
973        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi0Trig1, -1, UNKNOWN        ),
974        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi1Trig0, -1, UNKNOWN        ),
975        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi1Trig1, -1, UNKNOWN        ),
976        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig0,   -1, UNKNOWN        ),
977        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig1,   -1, UNKNOWN        ),
978        BRDC_P_MAKE_TRIG_INFO_NULL(eLboxTrig0,   -1, UNKNOWN        ),
979        BRDC_P_MAKE_TRIG_INFO_NULL(eLboxTrig1,   -1, UNKNOWN        ),
980        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig0,    -1, UNKNOWN        ),
981        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig1,    -1, UNKNOWN        ),
982        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig2,    -1, UNKNOWN        ),
983        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig3,    -1, UNKNOWN        ),
984        BRDC_P_MAKE_TRIG_INFO_NORM(eMfd0Eof,     29, mfd_0_eof      ),
985        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd1Eof,     -1, UNKNOWN        ),
986        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd2Eof,     -1, UNKNOWN        ),
987        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd3Eof,     -1, UNKNOWN        ),
988        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig0,   -1, UNKNOWN        ),
989        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig1,   -1, UNKNOWN        ),
990        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig0,   -1, UNKNOWN        ),
991        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig1,   -1, UNKNOWN        ),
992        BRDC_P_MAKE_TRIG_INFO_NULL(eDgp0Trig0,   -1, UNKNOWN        ),
993        BRDC_P_MAKE_TRIG_INFO_NULL(ePx3d0Trig0,  -1, UNKNOWN        ),
994        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig0,  -1, UNKNOWN        ),
995        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig1,  -1, UNKNOWN        ),
996        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig0,  -1, UNKNOWN        ),
997        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig1,  -1, UNKNOWN        ),
998        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig0,  -1, UNKNOWN        ),
999        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig1,  -1, UNKNOWN        ),
1000        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig0,  -1, UNKNOWN        ),
1001        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig1,  -1, UNKNOWN        ),
1002        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig0,  -1, UNKNOWN        ),
1003        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig1,  -1, UNKNOWN        ),
1004        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig0,  -1, UNKNOWN        ),
1005        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig1,  -1, UNKNOWN        ),
1006
1007#elif (BCHP_CHIP==7346) ||(BCHP_CHIP==7344)||(BCHP_CHIP==7231)
1008
1009        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig0,    0, cap_0_trig_0   ),
1010        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig1,    1, cap_0_trig_1   ),
1011        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig0,    2, cap_1_trig_0   ),
1012        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig1,    3, cap_1_trig_1   ),
1013        BRDC_P_MAKE_TRIG_INFO_NORM(eCap2Trig0,    4, cap_2_trig_0   ),
1014        BRDC_P_MAKE_TRIG_INFO_NORM(eCap2Trig1,    5, cap_2_trig_1   ),
1015        BRDC_P_MAKE_TRIG_INFO_NORM(eCap3Trig0,    6, cap_3_trig_0   ),
1016        BRDC_P_MAKE_TRIG_INFO_NORM(eCap3Trig1,    7, cap_3_trig_1   ),
1017        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig0,   -1, UNKNOWN        ),
1018        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig1,   -1, UNKNOWN        ),
1019        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig0,   -1, UNKNOWN        ),
1020        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig1,   -1, UNKNOWN        ),
1021        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig0,    8, prim_vec_trig_0),
1022        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig1,    9, prim_vec_trig_1),
1023        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig2,   -1, UNKNOWN        ),
1024        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig3,   -1, UNKNOWN        ),
1025        BRDC_P_MAKE_TRIG_INFO_NORM(eVec1Trig0,   10, sec_vec_trig_0 ),
1026        BRDC_P_MAKE_TRIG_INFO_NORM(eVec1Trig1,   11, sec_vec_trig_1 ),
1027        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig2,   -1, UNKNOWN        ),
1028        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig3,   -1, UNKNOWN        ),
1029        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig0,   -1, UNKNOWN        ),
1030        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig1,   -1, UNKNOWN        ),
1031        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig2,   -1, UNKNOWN        ),
1032        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig3,   -1, UNKNOWN        ),
1033        BRDC_P_MAKE_TRIG_INFO_NORM(eDtgTrig0,    12, itu_r656_out_0 ),
1034        BRDC_P_MAKE_TRIG_INFO_NORM(eDtgTrig1,    13, itu_r656_out_1 ),
1035        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig0,   -1, UNKNOWN        ),
1036        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig1,   -1, UNKNOWN        ),
1037        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec0Trig0,  -1, UNKNOWN        ),
1038        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec0Trig1,  -1, UNKNOWN        ),
1039        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig0,  -1, UNKNOWN        ),
1040        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig1,  -1, UNKNOWN        ),
1041        BRDC_P_MAKE_TRIG_INFO_NULL(e6560Trig0,   -1, UNKNOWN        ),
1042        BRDC_P_MAKE_TRIG_INFO_NULL(e6560Trig1,   -1, UNKNOWN        ),
1043        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig0,   -1, UNKNOWN        ),
1044        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig1,   -1, UNKNOWN        ),
1045        BRDC_P_MAKE_TRIG_INFO_NORM(eM2mc0Trig,   20, m2mc_trig_0    ),
1046        BRDC_P_MAKE_TRIG_INFO_NULL(eM2mc1Trig,   -1, UNKNOWN        ),
1047#if (BCHP_CHIP==7231) && (BCHP_VER >= BCHP_VER_B0)
1048        BRDC_P_MAKE_TRIG_INFO_NORM(eHdDvi0Trig0, 21, hd_dvi_0_trig_0),
1049        BRDC_P_MAKE_TRIG_INFO_NORM(eHdDvi0Trig1, 22, hd_dvi_0_trig_1),
1050#else
1051        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi0Trig0, -1, UNKNOWN        ),
1052        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi0Trig1, -1, UNKNOWN        ),
1053#endif
1054        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi1Trig0, -1, UNKNOWN        ),
1055        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi1Trig1, -1, UNKNOWN        ),
1056        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig0,   -1, UNKNOWN        ),
1057        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig1,   -1, UNKNOWN        ),
1058        BRDC_P_MAKE_TRIG_INFO_NORM(eLboxTrig0,   25, letterbox_0    ),
1059        BRDC_P_MAKE_TRIG_INFO_NORM(eLboxTrig1,   26, letterbox_1    ),
1060        BRDC_P_MAKE_TRIG_INFO_NORM(eDvoTrig0,    14, hd_dvi_out_0   ),
1061        BRDC_P_MAKE_TRIG_INFO_NORM(eDvoTrig1,    15, hd_dvi_out_1   ),
1062        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig2,    -1, UNKNOWN        ),
1063        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig3,    -1, UNKNOWN        ),
1064        BRDC_P_MAKE_TRIG_INFO_NORM(eMfd0Eof,     29, mfd_0_eof      ),
1065        BRDC_P_MAKE_TRIG_INFO_NORM(eMfd1Eof,     30, mfd_1_eof      ),
1066        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd2Eof,     -1, UNKNOWN        ),
1067        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd3Eof,     -1, UNKNOWN        ),
1068        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig0,   -1, UNKNOWN        ),
1069        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig1,   -1, UNKNOWN        ),
1070        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig0,   -1, UNKNOWN        ),
1071        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig1,   -1, UNKNOWN        ),
1072        BRDC_P_MAKE_TRIG_INFO_NULL(eDgp0Trig0,   -1, UNKNOWN        ),
1073        BRDC_P_MAKE_TRIG_INFO_NULL(ePx3d0Trig0,  -1, UNKNOWN        ),
1074        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig0,  -1, UNKNOWN        ),
1075        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig1,  -1, UNKNOWN        ),
1076        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig0,  -1, UNKNOWN        ),
1077        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig1,  -1, UNKNOWN        ),
1078        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig0,  -1, UNKNOWN        ),
1079        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig1,  -1, UNKNOWN        ),
1080        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig0,  -1, UNKNOWN        ),
1081        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig1,  -1, UNKNOWN        ),
1082        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig0,  -1, UNKNOWN        ),
1083        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig1,  -1, UNKNOWN        ),
1084        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig0,  -1, UNKNOWN        ),
1085        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig1,  -1, UNKNOWN        ),
1086
1087#elif (BCHP_CHIP==7429)
1088
1089        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig0,    0, cap_0_trig_0   ),
1090        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig1,    1, cap_0_trig_1   ),
1091        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig0,    2, cap_1_trig_0   ),
1092        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig1,    3, cap_1_trig_1   ),
1093        BRDC_P_MAKE_TRIG_INFO_NORM(eCap2Trig0,    4, cap_2_trig_0   ),
1094        BRDC_P_MAKE_TRIG_INFO_NORM(eCap2Trig1,    5, cap_2_trig_1   ),
1095        BRDC_P_MAKE_TRIG_INFO_NORM(eCap3Trig0,    6, cap_3_trig_0   ),
1096        BRDC_P_MAKE_TRIG_INFO_NORM(eCap3Trig1,    7, cap_3_trig_1   ),
1097        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig0,   -1, UNKNOWN        ),
1098        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig1,   -1, UNKNOWN        ),
1099        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig0,   -1, UNKNOWN        ),
1100        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig1,   -1, UNKNOWN        ),
1101        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig0,   -1, UNKNOWN        ),
1102        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig1,   -1, UNKNOWN        ),
1103        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig2,   -1, UNKNOWN        ),
1104        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig3,   -1, UNKNOWN        ),
1105        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig0,   -1, UNKNOWN        ),
1106        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig1,   -1, UNKNOWN        ),
1107        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig2,   -1, UNKNOWN        ),
1108        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig3,   -1, UNKNOWN        ),
1109        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig0,   -1, UNKNOWN        ),
1110        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig1,   -1, UNKNOWN        ),
1111        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig2,   -1, UNKNOWN        ),
1112        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig3,   -1, UNKNOWN        ),
1113        BRDC_P_MAKE_TRIG_INFO_NULL(eDtgTrig0,    -1, UNKNOWN        ),
1114        BRDC_P_MAKE_TRIG_INFO_NULL(eDtgTrig1,    -1, UNKNOWN        ),
1115        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig0,   -1, UNKNOWN        ),
1116        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig1,   -1, UNKNOWN        ),
1117        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec0Trig0,  -1, UNKNOWN        ),
1118        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec0Trig1,  -1, UNKNOWN        ),
1119        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig0,  -1, UNKNOWN        ),
1120        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig1,  -1, UNKNOWN        ),
1121        BRDC_P_MAKE_TRIG_INFO_NULL(e6560Trig0,   -1, UNKNOWN        ),
1122        BRDC_P_MAKE_TRIG_INFO_NULL(e6560Trig1,   -1, UNKNOWN        ),
1123        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig0,   -1, UNKNOWN        ),
1124        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig1,   -1, UNKNOWN        ),
1125        BRDC_P_MAKE_TRIG_INFO_NORM(eM2mc0Trig,   20, m2mc_trig_0    ),
1126        BRDC_P_MAKE_TRIG_INFO_NULL(eM2mc1Trig,   -1, UNKNOWN        ),
1127        BRDC_P_MAKE_TRIG_INFO_NORM(eHdDvi0Trig0, 21, hd_dvi_0_trig_0),
1128        BRDC_P_MAKE_TRIG_INFO_NORM(eHdDvi0Trig1, 22, hd_dvi_0_trig_1),
1129        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi1Trig0, -1, UNKNOWN        ),
1130        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi1Trig1, -1, UNKNOWN        ),
1131        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig0,   -1, UNKNOWN        ),
1132        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig1,   -1, UNKNOWN        ),
1133        BRDC_P_MAKE_TRIG_INFO_NORM(eLboxTrig0,   25, letterbox_0    ),
1134        BRDC_P_MAKE_TRIG_INFO_NORM(eLboxTrig1,   26, letterbox_1    ),
1135        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig0,    -1, UNKNOWN        ),
1136        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig1,    -1, UNKNOWN        ),
1137        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig2,    -1, UNKNOWN        ),
1138        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig3,    -1, UNKNOWN        ),
1139        BRDC_P_MAKE_TRIG_INFO_NORM(eMfd0Eof,     29, mfd_0_eof      ),
1140        BRDC_P_MAKE_TRIG_INFO_NORM(eMfd1Eof,     30, mfd_1_eof      ),
1141        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd2Eof,     -1, UNKNOWN        ),
1142        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd3Eof,     -1, UNKNOWN        ),
1143        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig0,   -1, UNKNOWN        ),
1144        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig1,   -1, UNKNOWN        ),
1145        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig0,   -1, UNKNOWN        ),
1146        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig1,   -1, UNKNOWN        ),
1147        BRDC_P_MAKE_TRIG_INFO_NULL(eDgp0Trig0,   -1, UNKNOWN        ),
1148        BRDC_P_MAKE_TRIG_INFO_NULL(ePx3d0Trig0,  -1, UNKNOWN        ),
1149        BRDC_P_MAKE_TRIG_INFO_NORM(eCmp_0Trig0,   8, vec_source_0_trig_0),
1150        BRDC_P_MAKE_TRIG_INFO_NORM(eCmp_0Trig1,   9, vec_source_0_trig_1),
1151        BRDC_P_MAKE_TRIG_INFO_NORM(eCmp_1Trig0,  10, vec_source_1_trig_0),
1152        BRDC_P_MAKE_TRIG_INFO_NORM(eCmp_1Trig1,  11, vec_source_1_trig_1),
1153        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig0,  -1, UNKNOWN        ),
1154        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig1,  -1, UNKNOWN        ),
1155        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig0,  -1, UNKNOWN        ),
1156        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig1,  -1, UNKNOWN        ),
1157        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig0,  -1, UNKNOWN        ),
1158        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig1,  -1, UNKNOWN        ),
1159        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig0,  -1, UNKNOWN        ),
1160        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig1,  -1, UNKNOWN        ),
1161
1162#elif (BCHP_CHIP==7400)
1163
1164        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig0,    0, cap_0_trig_0   ),
1165        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig1,    1, cap_0_trig_1   ),
1166        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig0,    2, cap_1_trig_0   ),
1167        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig1,    3, cap_1_trig_1   ),
1168        BRDC_P_MAKE_TRIG_INFO_NORM(eCap2Trig0,    4, cap_2_trig_0   ),
1169        BRDC_P_MAKE_TRIG_INFO_NORM(eCap2Trig1,    5, cap_2_trig_1   ),
1170        BRDC_P_MAKE_TRIG_INFO_NORM(eCap3Trig0,    6, cap_3_trig_0   ),
1171        BRDC_P_MAKE_TRIG_INFO_NORM(eCap3Trig1,    7, cap_3_trig_1   ),
1172        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig0,   -1, UNKNOWN        ),
1173        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig1,   -1, UNKNOWN        ),
1174        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig0,   -1, UNKNOWN        ),
1175        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig1,   -1, UNKNOWN        ),
1176        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig0,    8, prim_vec_trig_0),
1177        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig1,    9, prim_vec_trig_1),
1178        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig2,   -1, UNKNOWN        ),
1179        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig3,   -1, UNKNOWN        ),
1180        BRDC_P_MAKE_TRIG_INFO_NORM(eVec1Trig0,   10, sec_vec_trig_0 ),
1181        BRDC_P_MAKE_TRIG_INFO_NORM(eVec1Trig1,   11, sec_vec_trig_1 ),
1182        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig2,   -1, UNKNOWN        ),
1183        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig3,   -1, UNKNOWN        ),
1184        BRDC_P_MAKE_TRIG_INFO_NORM(eVec2Trig0,   16, ter_vec_trig_0 ),
1185        BRDC_P_MAKE_TRIG_INFO_NORM(eVec2Trig1,   17, ter_vec_trig_1 ),
1186        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig2,   -1, UNKNOWN        ),
1187        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig3,   -1, UNKNOWN        ),
1188        BRDC_P_MAKE_TRIG_INFO_NORM(eDtgTrig0,    12, itu_r656_out_0 ),
1189        BRDC_P_MAKE_TRIG_INFO_NORM(eDtgTrig1,    13, itu_r656_out_1 ),
1190        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig0,   -1, UNKNOWN        ),
1191        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig1,   -1, UNKNOWN        ),
1192        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec0Trig0,  -1, UNKNOWN        ),
1193        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec0Trig1,  -1, UNKNOWN        ),
1194        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig0,  -1, UNKNOWN        ),
1195        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig1,  -1, UNKNOWN        ),
1196        BRDC_P_MAKE_TRIG_INFO_NORM(e6560Trig0,   18, itu_r656_0_0   ),
1197        BRDC_P_MAKE_TRIG_INFO_NORM(e6560Trig1,   19, itu_r656_0_1   ),
1198        BRDC_P_MAKE_TRIG_INFO_NORM(e6561Trig0,   27, itu_r656_1_0   ),
1199        BRDC_P_MAKE_TRIG_INFO_NORM(e6561Trig1,   28, itu_r656_1_1   ),
1200        BRDC_P_MAKE_TRIG_INFO_NORM(eM2mc0Trig,   20, m2mc_trig_0    ),
1201        BRDC_P_MAKE_TRIG_INFO_NORM(eM2mc1Trig,   31, m2mc_trig_1    ),
1202        BRDC_P_MAKE_TRIG_INFO_NORM(eHdDvi0Trig0, 21, hd_dvi_0_trig_0),
1203        BRDC_P_MAKE_TRIG_INFO_NORM(eHdDvi0Trig1, 22, hd_dvi_0_trig_1),
1204        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi1Trig0, -1, UNKNOWN        ),
1205        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi1Trig1, -1, UNKNOWN        ),
1206        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig0,   -1, UNKNOWN        ),
1207        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig1,   -1, UNKNOWN        ),
1208        BRDC_P_MAKE_TRIG_INFO_NORM(eLboxTrig0,   25, letterbox_0    ),
1209        BRDC_P_MAKE_TRIG_INFO_NORM(eLboxTrig1,   26, letterbox_1    ),
1210        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig0,    -1, UNKNOWN        ),
1211        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig1,    -1, UNKNOWN        ),
1212        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig2,    -1, UNKNOWN        ),
1213        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig3,    -1, UNKNOWN        ),
1214        BRDC_P_MAKE_TRIG_INFO_NORM(eMfd0Eof,     29, mfd_0_eof      ),
1215        BRDC_P_MAKE_TRIG_INFO_NORM(eMfd1Eof,     30, mfd_1_eof      ),
1216        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd2Eof,     -1, UNKNOWN        ),
1217        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd3Eof,     -1, UNKNOWN        ),
1218        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig0,   -1, UNKNOWN        ),
1219        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig1,   -1, UNKNOWN        ),
1220        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig0,   -1, UNKNOWN        ),
1221        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig1,   -1, UNKNOWN        ),
1222        BRDC_P_MAKE_TRIG_INFO_NULL(eDgp0Trig0,   -1, UNKNOWN        ),
1223        BRDC_P_MAKE_TRIG_INFO_NULL(ePx3d0Trig0,  -1, UNKNOWN        ),
1224        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig0,  -1, UNKNOWN        ),
1225        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig1,  -1, UNKNOWN        ),
1226        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig0,  -1, UNKNOWN        ),
1227        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig1,  -1, UNKNOWN        ),
1228        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig0,  -1, UNKNOWN        ),
1229        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig1,  -1, UNKNOWN        ),
1230        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig0,  -1, UNKNOWN        ),
1231        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig1,  -1, UNKNOWN        ),
1232        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig0,  -1, UNKNOWN        ),
1233        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig1,  -1, UNKNOWN        ),
1234        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig0,  -1, UNKNOWN        ),
1235        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig1,  -1, UNKNOWN        ),
1236
1237#elif (BCHP_CHIP==7401) || (BCHP_CHIP==7403)
1238
1239        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig0,    0, cap_0_trig_0   ),
1240        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig1,    1, cap_0_trig_1   ),
1241        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig0,    2, cap_1_trig_0   ),
1242        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig1,    3, cap_1_trig_1   ),
1243        BRDC_P_MAKE_TRIG_INFO_NULL(eCap2Trig0,   -1, UNKNOWN        ),
1244        BRDC_P_MAKE_TRIG_INFO_NULL(eCap2Trig1,   -1, UNKNOWN        ),
1245        BRDC_P_MAKE_TRIG_INFO_NULL(eCap3Trig0,   -1, UNKNOWN        ),
1246        BRDC_P_MAKE_TRIG_INFO_NULL(eCap3Trig1,   -1, UNKNOWN        ),
1247        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig0,   -1, UNKNOWN        ),
1248        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig1,   -1, UNKNOWN        ),
1249        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig0,   -1, UNKNOWN        ),
1250        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig1,   -1, UNKNOWN        ),
1251        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig0,    8, prim_vec_trig_0),
1252        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig1,    9, prim_vec_trig_1),
1253        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig2,   -1, UNKNOWN        ),
1254        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig3,   -1, UNKNOWN        ),
1255        BRDC_P_MAKE_TRIG_INFO_NORM(eVec1Trig0,   10, sec_vec_trig_0 ),
1256        BRDC_P_MAKE_TRIG_INFO_NORM(eVec1Trig1,   11, sec_vec_trig_1 ),
1257        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig2,   -1, UNKNOWN        ),
1258        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig3,   -1, UNKNOWN        ),
1259        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig0,   -1, UNKNOWN        ),
1260        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig1,   -1, UNKNOWN        ),
1261        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig2,   -1, UNKNOWN        ),
1262        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig3,   -1, UNKNOWN        ),
1263        BRDC_P_MAKE_TRIG_INFO_NULL(eDtgTrig0,    -1, UNKNOWN        ),
1264        BRDC_P_MAKE_TRIG_INFO_NULL(eDtgTrig1,    -1, UNKNOWN        ),
1265        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig0,   -1, UNKNOWN        ),
1266        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig1,   -1, UNKNOWN        ),
1267        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec0Trig0,  -1, UNKNOWN        ),
1268        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec0Trig1,  -1, UNKNOWN        ),
1269        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig0,  -1, UNKNOWN        ),
1270        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig1,  -1, UNKNOWN        ),
1271        BRDC_P_MAKE_TRIG_INFO_NORM(e6560Trig0,   18, itu_r656_0_0   ),
1272        BRDC_P_MAKE_TRIG_INFO_NORM(e6560Trig1,   19, itu_r656_0_1   ),
1273        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig0,   -1, UNKNOWN        ),
1274        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig1,   -1, UNKNOWN        ),
1275        BRDC_P_MAKE_TRIG_INFO_NORM(eM2mc0Trig,   20, m2mc_trig      ),
1276        BRDC_P_MAKE_TRIG_INFO_NULL(eM2mc1Trig,   -1, UNKNOWN        ),
1277        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi0Trig0, -1, UNKNOWN        ),
1278        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi0Trig1, -1, UNKNOWN        ),
1279        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi1Trig0, -1, UNKNOWN        ),
1280        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi1Trig1, -1, UNKNOWN        ),
1281        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig0,   -1, UNKNOWN        ),
1282        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig1,   -1, UNKNOWN        ),
1283        BRDC_P_MAKE_TRIG_INFO_NORM(eLboxTrig0,   25, letterbox_0    ),
1284        BRDC_P_MAKE_TRIG_INFO_NULL(eLboxTrig1,   -1, UNKNOWN        ),
1285        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig0,    -1, UNKNOWN        ),
1286        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig1,    -1, UNKNOWN        ),
1287        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig2,    -1, UNKNOWN        ),
1288        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig3,    -1, UNKNOWN        ),
1289        BRDC_P_MAKE_TRIG_INFO_NORM(eMfd0Eof,     29, mfd_0_eof      ),
1290        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd1Eof,     -1, UNKNOWN        ),
1291        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd2Eof,     -1, UNKNOWN        ),
1292        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd3Eof,     -1, UNKNOWN        ),
1293        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig0,   -1, UNKNOWN        ),
1294        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig1,   -1, UNKNOWN        ),
1295        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig0,   -1, UNKNOWN        ),
1296        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig1,   -1, UNKNOWN        ),
1297        BRDC_P_MAKE_TRIG_INFO_NULL(eDgp0Trig0,   -1, UNKNOWN        ),
1298        BRDC_P_MAKE_TRIG_INFO_NULL(ePx3d0Trig0,  -1, UNKNOWN        ),
1299        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig0,  -1, UNKNOWN        ),
1300        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig1,  -1, UNKNOWN        ),
1301        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig0,  -1, UNKNOWN        ),
1302        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig1,  -1, UNKNOWN        ),
1303        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig0,  -1, UNKNOWN        ),
1304        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig1,  -1, UNKNOWN        ),
1305        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig0,  -1, UNKNOWN        ),
1306        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig1,  -1, UNKNOWN        ),
1307        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig0,  -1, UNKNOWN        ),
1308        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig1,  -1, UNKNOWN        ),
1309        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig0,  -1, UNKNOWN        ),
1310        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig1,  -1, UNKNOWN        ),
1311
1312#elif (BCHP_CHIP==7405)
1313
1314        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig0,    0, cap_0_trig_0   ),
1315        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig1,    1, cap_0_trig_1   ),
1316        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig0,    2, cap_1_trig_0   ),
1317        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig1,    3, cap_1_trig_1   ),
1318        BRDC_P_MAKE_TRIG_INFO_NORM(eCap2Trig0,    4, cap_2_trig_0   ),
1319        BRDC_P_MAKE_TRIG_INFO_NORM(eCap2Trig1,    5, cap_2_trig_1   ),
1320        BRDC_P_MAKE_TRIG_INFO_NORM(eCap3Trig0,    6, cap_3_trig_0   ),
1321        BRDC_P_MAKE_TRIG_INFO_NORM(eCap3Trig1,    7, cap_3_trig_1   ),
1322        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig0,   -1, UNKNOWN        ),
1323        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig1,   -1, UNKNOWN        ),
1324        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig0,   -1, UNKNOWN        ),
1325        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig1,   -1, UNKNOWN        ),
1326        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig0,    8, prim_vec_trig_0),
1327        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig1,    9, prim_vec_trig_1),
1328        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig2,   -1, UNKNOWN        ),
1329        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig3,   -1, UNKNOWN        ),
1330        BRDC_P_MAKE_TRIG_INFO_NORM(eVec1Trig0,   10, sec_vec_trig_0 ),
1331        BRDC_P_MAKE_TRIG_INFO_NORM(eVec1Trig1,   11, sec_vec_trig_1 ),
1332        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig2,   -1, UNKNOWN        ),
1333        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig3,   -1, UNKNOWN        ),
1334        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig0,   -1, UNKNOWN        ),
1335        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig1,   -1, UNKNOWN        ),
1336        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig2,   -1, UNKNOWN        ),
1337        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig3,   -1, UNKNOWN        ),
1338        BRDC_P_MAKE_TRIG_INFO_NORM(eDtgTrig0,    12, itu_r656_out_0 ),
1339        BRDC_P_MAKE_TRIG_INFO_NORM(eDtgTrig1,    13, itu_r656_out_1 ),
1340        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig0,   -1, UNKNOWN        ),
1341        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig1,   -1, UNKNOWN        ),
1342        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec0Trig0,  -1, UNKNOWN        ),
1343        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec0Trig1,  -1, UNKNOWN        ),
1344        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig0,  -1, UNKNOWN        ),
1345        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig1,  -1, UNKNOWN        ),
1346        BRDC_P_MAKE_TRIG_INFO_NORM(e6560Trig0,   18, itu_r656_0_0   ),
1347        BRDC_P_MAKE_TRIG_INFO_NORM(e6560Trig1,   19, itu_r656_0_1   ),
1348        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig0,   -1, UNKNOWN        ),
1349        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig1,   -1, UNKNOWN        ),
1350        BRDC_P_MAKE_TRIG_INFO_NORM(eM2mc0Trig,   20, m2mc_trig_0    ),
1351        BRDC_P_MAKE_TRIG_INFO_NULL(eM2mc1Trig,   -1, UNKNOWN        ),
1352        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi0Trig0, -1, UNKNOWN        ),
1353        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi0Trig1, -1, UNKNOWN        ),
1354        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi1Trig0, -1, UNKNOWN        ),
1355        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi1Trig1, -1, UNKNOWN        ),
1356        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig0,   -1, UNKNOWN        ),
1357        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig1,   -1, UNKNOWN        ),
1358        BRDC_P_MAKE_TRIG_INFO_NORM(eLboxTrig0,   25, letterbox_0    ),
1359        BRDC_P_MAKE_TRIG_INFO_NULL(eLboxTrig1,   -1, UNKNOWN        ),
1360        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig0,    -1, UNKNOWN        ),
1361        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig1,    -1, UNKNOWN        ),
1362        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig2,    -1, UNKNOWN        ),
1363        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig3,    -1, UNKNOWN        ),
1364        BRDC_P_MAKE_TRIG_INFO_NORM(eMfd0Eof,     29, mfd_0_eof      ),
1365        BRDC_P_MAKE_TRIG_INFO_NORM(eMfd1Eof,     30, mfd_1_eof      ),
1366        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd2Eof,     -1, UNKNOWN        ),
1367        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd3Eof,     -1, UNKNOWN        ),
1368        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig0,   -1, UNKNOWN        ),
1369        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig1,   -1, UNKNOWN        ),
1370        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig0,   -1, UNKNOWN        ),
1371        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig1,   -1, UNKNOWN        ),
1372        BRDC_P_MAKE_TRIG_INFO_NORM(eDgp0Trig0,   26, dgp_0_trigger  ),
1373#if (BCHP_VER >= BCHP_VER_C0)
1374        BRDC_P_MAKE_TRIG_INFO_NORM(ePx3d0Trig0,  21, px3d_trig      ),
1375#else
1376        BRDC_P_MAKE_TRIG_INFO_NULL(ePx3d0Trig0,  -1, UNKNOWN        ),
1377#endif
1378        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig0,  -1, UNKNOWN        ),
1379        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig1,  -1, UNKNOWN        ),
1380        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig0,  -1, UNKNOWN        ),
1381        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig1,  -1, UNKNOWN        ),
1382        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig0,  -1, UNKNOWN        ),
1383        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig1,  -1, UNKNOWN        ),
1384        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig0,  -1, UNKNOWN        ),
1385        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig1,  -1, UNKNOWN        ),
1386        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig0,  -1, UNKNOWN        ),
1387        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig1,  -1, UNKNOWN        ),
1388        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig0,  -1, UNKNOWN        ),
1389        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig1,  -1, UNKNOWN        ),
1390
1391#elif (BCHP_CHIP==7440)
1392
1393        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig0,    0, cap_0_trig_0   ),
1394        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig1,    1, cap_0_trig_1   ),
1395        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig0,    2, cap_1_trig_0   ),
1396        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig1,    3, cap_1_trig_1   ),
1397        BRDC_P_MAKE_TRIG_INFO_NORM(eCap2Trig0,    4, cap_2_trig_0   ),
1398        BRDC_P_MAKE_TRIG_INFO_NORM(eCap2Trig1,    5, cap_2_trig_1   ),
1399        BRDC_P_MAKE_TRIG_INFO_NULL(eCap3Trig0,   -1, UNKNOWN        ),
1400        BRDC_P_MAKE_TRIG_INFO_NULL(eCap3Trig1,   -1, UNKNOWN        ),
1401        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig0,   -1, UNKNOWN        ),
1402        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig1,   -1, UNKNOWN        ),
1403        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig0,   -1, UNKNOWN        ),
1404        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig1,   -1, UNKNOWN        ),
1405        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig0,    8, prim_vec_trig_0),
1406        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig1,    9, prim_vec_trig_1),
1407        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig2,   -1, UNKNOWN        ),
1408        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig3,   -1, UNKNOWN        ),
1409        BRDC_P_MAKE_TRIG_INFO_NORM(eVec1Trig0,   10, sec_vec_trig_0 ),
1410        BRDC_P_MAKE_TRIG_INFO_NORM(eVec1Trig1,   11, sec_vec_trig_1 ),
1411        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig2,   -1, UNKNOWN        ),
1412        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig3,   -1, UNKNOWN        ),
1413        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig0,   -1, UNKNOWN        ),
1414        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig1,   -1, UNKNOWN        ),
1415        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig2,   -1, UNKNOWN        ),
1416        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig3,   -1, UNKNOWN        ),
1417        BRDC_P_MAKE_TRIG_INFO_NULL(eDtgTrig0,    -1, UNKNOWN        ),
1418        BRDC_P_MAKE_TRIG_INFO_NULL(eDtgTrig1,    -1, UNKNOWN        ),
1419        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig0,   -1, UNKNOWN        ),
1420        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig1,   -1, UNKNOWN        ),
1421        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec0Trig0,  -1, UNKNOWN        ),
1422        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec0Trig1,  -1, UNKNOWN        ),
1423        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig0,  -1, UNKNOWN        ),
1424        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig1,  -1, UNKNOWN        ),
1425        BRDC_P_MAKE_TRIG_INFO_NULL(e6560Trig0,   -1, UNKNOWN        ),
1426        BRDC_P_MAKE_TRIG_INFO_NULL(e6560Trig1,   -1, UNKNOWN        ),
1427        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig0,   -1, UNKNOWN        ),
1428        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig1,   -1, UNKNOWN        ),
1429        BRDC_P_MAKE_TRIG_INFO_NORM(eM2mc0Trig,   20, m2mc_trig      ),
1430        BRDC_P_MAKE_TRIG_INFO_NORM(eM2mc1Trig,   31, m2mc_1_trig    ),
1431        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi0Trig0, -1, UNKNOWN        ),
1432        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi0Trig1, -1, UNKNOWN        ),
1433        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi1Trig0, -1, UNKNOWN        ),
1434        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi1Trig1, -1, UNKNOWN        ),
1435        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig0,   -1, UNKNOWN        ),
1436        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig1,   -1, UNKNOWN        ),
1437        BRDC_P_MAKE_TRIG_INFO_NULL(eLboxTrig0,   -1, UNKNOWN        ),
1438        BRDC_P_MAKE_TRIG_INFO_NULL(eLboxTrig1,   -1, UNKNOWN        ),
1439        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig0,    -1, UNKNOWN        ),
1440        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig1,    -1, UNKNOWN        ),
1441        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig2,    -1, UNKNOWN        ),
1442        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig3,    -1, UNKNOWN        ),
1443        BRDC_P_MAKE_TRIG_INFO_NORM(eMfd0Eof,     29, mfd_0_eof      ),
1444        BRDC_P_MAKE_TRIG_INFO_NORM(eMfd1Eof,     30, mfd_1_eof      ),
1445        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd2Eof,     -1, UNKNOWN        ),
1446        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd3Eof,     -1, UNKNOWN        ),
1447        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig0,   -1, UNKNOWN        ),
1448        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig1,   -1, UNKNOWN        ),
1449        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig0,   -1, UNKNOWN        ),
1450        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig1,   -1, UNKNOWN        ),
1451        BRDC_P_MAKE_TRIG_INFO_NULL(eDgp0Trig0,   -1, UNKNOWN        ),
1452        BRDC_P_MAKE_TRIG_INFO_NULL(ePx3d0Trig0,  -1, UNKNOWN        ),
1453        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig0,  -1, UNKNOWN        ),
1454        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig1,  -1, UNKNOWN        ),
1455        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig0,  -1, UNKNOWN        ),
1456        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig1,  -1, UNKNOWN        ),
1457        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig0,  -1, UNKNOWN        ),
1458        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig1,  -1, UNKNOWN        ),
1459        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig0,  -1, UNKNOWN        ),
1460        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig1,  -1, UNKNOWN        ),
1461        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig0,  -1, UNKNOWN        ),
1462        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig1,  -1, UNKNOWN        ),
1463        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig0,  -1, UNKNOWN        ),
1464        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig1,  -1, UNKNOWN        ),
1465
1466#elif (BCHP_CHIP==7552) || (BCHP_CHIP==7358) || (BCHP_CHIP==7360)
1467
1468        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig0,    0, cap_0_trig_0   ),
1469        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig1,    1, cap_0_trig_1   ),
1470        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig0,    2, cap_1_trig_0   ),
1471        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig1,    3, cap_1_trig_1   ),
1472        BRDC_P_MAKE_TRIG_INFO_NULL(eCap2Trig0,   -1, UNKNOWN        ),
1473        BRDC_P_MAKE_TRIG_INFO_NULL(eCap2Trig1,   -1, UNKNOWN        ),
1474        BRDC_P_MAKE_TRIG_INFO_NULL(eCap3Trig0,   -1, UNKNOWN        ),
1475        BRDC_P_MAKE_TRIG_INFO_NULL(eCap3Trig1,   -1, UNKNOWN        ),
1476        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig0,   -1, UNKNOWN        ),
1477        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig1,   -1, UNKNOWN        ),
1478        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig0,   -1, UNKNOWN        ),
1479        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig1,   -1, UNKNOWN        ),
1480        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig0,    8, prim_vec_trig_0),
1481        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig1,    9, prim_vec_trig_1),
1482        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig2,   -1, UNKNOWN        ),
1483        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig3,   -1, UNKNOWN        ),
1484        BRDC_P_MAKE_TRIG_INFO_NORM(eVec1Trig0,   10, sec_vec_trig_0 ),
1485        BRDC_P_MAKE_TRIG_INFO_NORM(eVec1Trig1,   11, sec_vec_trig_1 ),
1486        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig2,   -1, UNKNOWN        ),
1487        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig3,   -1, UNKNOWN        ),
1488        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig0,   -1, UNKNOWN        ),
1489        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig1,   -1, UNKNOWN        ),
1490        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig2,   -1, UNKNOWN        ),
1491        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig3,   -1, UNKNOWN        ),
1492        BRDC_P_MAKE_TRIG_INFO_NULL(eDtgTrig0,    -1, UNKNOWN        ),
1493        BRDC_P_MAKE_TRIG_INFO_NULL(eDtgTrig1,    -1, UNKNOWN        ),
1494        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig0,   -1, UNKNOWN        ),
1495        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig1,   -1, UNKNOWN        ),
1496        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec0Trig0,  -1, UNKNOWN        ),
1497        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec0Trig1,  -1, UNKNOWN        ),
1498        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig0,  -1, UNKNOWN        ),
1499        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig1,  -1, UNKNOWN        ),
1500        BRDC_P_MAKE_TRIG_INFO_NULL(e6560Trig0,   -1, UNKNOWN        ),
1501        BRDC_P_MAKE_TRIG_INFO_NULL(e6560Trig1,   -1, UNKNOWN        ),
1502        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig0,   -1, UNKNOWN        ),
1503        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig1,   -1, UNKNOWN        ),
1504        BRDC_P_MAKE_TRIG_INFO_NORM(eM2mc0Trig,   20, m2mc_trig_0    ),
1505        BRDC_P_MAKE_TRIG_INFO_NULL(eM2mc1Trig,   -1, UNKNOWN        ),
1506        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi0Trig0, -1, UNKNOWN        ),
1507        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi0Trig1, -1, UNKNOWN        ),
1508        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi1Trig0, -1, UNKNOWN        ),
1509        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi1Trig1, -1, UNKNOWN        ),
1510        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig0,   -1, UNKNOWN        ),
1511        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig1,   -1, UNKNOWN        ),
1512        BRDC_P_MAKE_TRIG_INFO_NORM(eLboxTrig0,   25, letterbox_0    ),
1513        BRDC_P_MAKE_TRIG_INFO_NULL(eLboxTrig1,   -1, UNKNOWN        ),
1514        BRDC_P_MAKE_TRIG_INFO_NORM(eDvoTrig0,    14, hd_dvi_out_0   ),
1515        BRDC_P_MAKE_TRIG_INFO_NORM(eDvoTrig1,    15, hd_dvi_out_1   ),
1516        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig2,    -1, UNKNOWN        ),
1517        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig3,    -1, UNKNOWN        ),
1518        BRDC_P_MAKE_TRIG_INFO_NORM(eMfd0Eof,     29, mfd_0_eof      ),
1519        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd1Eof,     -1, UNKNOWN        ),
1520        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd2Eof,     -1, UNKNOWN        ),
1521        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd3Eof,     -1, UNKNOWN        ),
1522        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig0,   -1, UNKNOWN        ),
1523        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig1,   -1, UNKNOWN        ),
1524        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig0,   -1, UNKNOWN        ),
1525        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig1,   -1, UNKNOWN        ),
1526        BRDC_P_MAKE_TRIG_INFO_NULL(eDgp0Trig0,   -1, UNKNOWN        ),
1527        BRDC_P_MAKE_TRIG_INFO_NULL(ePx3d0Trig0,  -1, UNKNOWN        ),
1528        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig0,  -1, UNKNOWN        ),
1529        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig1,  -1, UNKNOWN        ),
1530        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig0,  -1, UNKNOWN        ),
1531        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig1,  -1, UNKNOWN        ),
1532        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig0,  -1, UNKNOWN        ),
1533        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig1,  -1, UNKNOWN        ),
1534        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig0,  -1, UNKNOWN        ),
1535        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig1,  -1, UNKNOWN        ),
1536        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig0,  -1, UNKNOWN        ),
1537        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig1,  -1, UNKNOWN        ),
1538        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig0,  -1, UNKNOWN        ),
1539        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig1,  -1, UNKNOWN        ),
1540
1541#elif (BCHP_CHIP==7601)
1542
1543        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig0,    0, cap_0_trig_0   ),
1544        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig1,    1, cap_0_trig_1   ),
1545        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig0,    2, cap_1_trig_0   ),
1546        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig1,    3, cap_1_trig_1   ),
1547        BRDC_P_MAKE_TRIG_INFO_NORM(eCap2Trig0,    4, cap_2_trig_0   ),
1548        BRDC_P_MAKE_TRIG_INFO_NORM(eCap2Trig1,    5, cap_2_trig_1   ),
1549        BRDC_P_MAKE_TRIG_INFO_NULL(eCap3Trig0,   -1, UNKNOWN        ),
1550        BRDC_P_MAKE_TRIG_INFO_NULL(eCap3Trig1,   -1, UNKNOWN        ),
1551        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig0,   -1, UNKNOWN        ),
1552        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig1,   -1, UNKNOWN        ),
1553        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig0,   -1, UNKNOWN        ),
1554        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig1,   -1, UNKNOWN        ),
1555        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig0,    8, prim_vec_trig_0),
1556        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig1,    9, prim_vec_trig_1),
1557        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig2,   -1, UNKNOWN        ),
1558        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig3,   -1, UNKNOWN        ),
1559        BRDC_P_MAKE_TRIG_INFO_NORM(eVec1Trig0,   10, sec_vec_trig_0 ),
1560        BRDC_P_MAKE_TRIG_INFO_NORM(eVec1Trig1,   11, sec_vec_trig_1 ),
1561        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig2,   -1, UNKNOWN        ),
1562        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig3,   -1, UNKNOWN        ),
1563        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig0,   -1, UNKNOWN        ),
1564        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig1,   -1, UNKNOWN        ),
1565        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig2,   -1, UNKNOWN        ),
1566        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig3,   -1, UNKNOWN        ),
1567        BRDC_P_MAKE_TRIG_INFO_NULL(eDtgTrig0,    -1, UNKNOWN        ),
1568        BRDC_P_MAKE_TRIG_INFO_NULL(eDtgTrig1,    -1, UNKNOWN        ),
1569        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig0,   -1, UNKNOWN        ),
1570        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig1,   -1, UNKNOWN        ),
1571        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec0Trig0,  -1, UNKNOWN        ),
1572        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec0Trig1,  -1, UNKNOWN        ),
1573        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig0,  -1, UNKNOWN        ),
1574        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig1,  -1, UNKNOWN        ),
1575        BRDC_P_MAKE_TRIG_INFO_NULL(e6560Trig0,   -1, UNKNOWN        ),
1576        BRDC_P_MAKE_TRIG_INFO_NULL(e6560Trig1,   -1, UNKNOWN        ),
1577        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig0,   -1, UNKNOWN        ),
1578        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig1,   -1, UNKNOWN        ),
1579        BRDC_P_MAKE_TRIG_INFO_NORM(eM2mc0Trig,   20, m2mc_trig      ),
1580        BRDC_P_MAKE_TRIG_INFO_NORM(eM2mc1Trig,   31, m2mc_1_trig    ),
1581        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi0Trig0, -1, UNKNOWN        ),
1582        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi0Trig1, -1, UNKNOWN        ),
1583        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi1Trig0, -1, UNKNOWN        ),
1584        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi1Trig1, -1, UNKNOWN        ),
1585        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig0,   -1, UNKNOWN        ),
1586        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig1,   -1, UNKNOWN        ),
1587        BRDC_P_MAKE_TRIG_INFO_NULL(eLboxTrig0,   -1, UNKNOWN        ),
1588        BRDC_P_MAKE_TRIG_INFO_NULL(eLboxTrig1,   -1, UNKNOWN        ),
1589        BRDC_P_MAKE_TRIG_INFO_NORM(eDvoTrig0,    27, dvo_trig_0     ),
1590        BRDC_P_MAKE_TRIG_INFO_NORM(eDvoTrig1,    28, dvo_trig_1     ),
1591        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig2,    -1, UNKNOWN        ),
1592        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig3,    -1, UNKNOWN        ),
1593        BRDC_P_MAKE_TRIG_INFO_NORM(eMfd0Eof,     29, mfd_0_eof      ),
1594        BRDC_P_MAKE_TRIG_INFO_NORM(eMfd1Eof,     30, mfd_1_eof      ),
1595        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd2Eof,     -1, UNKNOWN        ),
1596        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd3Eof,     -1, UNKNOWN        ),
1597        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig0,   -1, UNKNOWN        ),
1598        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig1,   -1, UNKNOWN        ),
1599        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig0,   -1, UNKNOWN        ),
1600        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig1,   -1, UNKNOWN        ),
1601        BRDC_P_MAKE_TRIG_INFO_NULL(eDgp0Trig0,   -1, UNKNOWN        ),
1602        BRDC_P_MAKE_TRIG_INFO_NULL(ePx3d0Trig0,  -1, UNKNOWN        ),
1603        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig0,  -1, UNKNOWN        ),
1604        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig1,  -1, UNKNOWN        ),
1605        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig0,  -1, UNKNOWN        ),
1606        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig1,  -1, UNKNOWN        ),
1607        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig0,  -1, UNKNOWN        ),
1608        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig1,  -1, UNKNOWN        ),
1609        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig0,  -1, UNKNOWN        ),
1610        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig1,  -1, UNKNOWN        ),
1611        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig0,  -1, UNKNOWN        ),
1612        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig1,  -1, UNKNOWN        ),
1613        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig0,  -1, UNKNOWN        ),
1614        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig1,  -1, UNKNOWN        ),
1615
1616#elif (BCHP_CHIP==7630)
1617
1618        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig0,    0, cap_0_trig_0   ),
1619        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig1,    1, cap_0_trig_1   ),
1620        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig0,    2, cap_1_trig_0   ),
1621        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig1,    3, cap_1_trig_1   ),
1622        BRDC_P_MAKE_TRIG_INFO_NORM(eCap2Trig0,    4, cap_2_trig_0   ),
1623        BRDC_P_MAKE_TRIG_INFO_NORM(eCap2Trig1,    5, cap_2_trig_1   ),
1624        BRDC_P_MAKE_TRIG_INFO_NULL(eCap3Trig0,   -1, UNKNOWN        ),
1625        BRDC_P_MAKE_TRIG_INFO_NULL(eCap3Trig1,   -1, UNKNOWN        ),
1626        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig0,   -1, UNKNOWN        ),
1627        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig1,   -1, UNKNOWN        ),
1628        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig0,   -1, UNKNOWN        ),
1629        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig1,   -1, UNKNOWN        ),
1630        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig0,    8, prim_vec_trig_0),
1631        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig1,    9, prim_vec_trig_1),
1632        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig2,   12, prim_vec_trig_2),
1633        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig3,   13, prim_vec_trig_3),
1634        BRDC_P_MAKE_TRIG_INFO_NORM(eVec1Trig0,   10, sec_vec_trig_0 ),
1635        BRDC_P_MAKE_TRIG_INFO_NORM(eVec1Trig1,   11, sec_vec_trig_1 ),
1636        BRDC_P_MAKE_TRIG_INFO_NORM(eVec1Trig2,   14, sec_vec_trig_2 ),
1637        BRDC_P_MAKE_TRIG_INFO_NORM(eVec1Trig3,   15, sec_vec_trig_3 ),
1638        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig0,   -1, UNKNOWN        ),
1639        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig1,   -1, UNKNOWN        ),
1640        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig2,   -1, UNKNOWN        ),
1641        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig3,   -1, UNKNOWN        ),
1642        BRDC_P_MAKE_TRIG_INFO_NULL(eDtgTrig0,    -1, UNKNOWN        ),
1643        BRDC_P_MAKE_TRIG_INFO_NULL(eDtgTrig1,    -1, UNKNOWN        ),
1644        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig0,   -1, UNKNOWN        ),
1645        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig1,   -1, UNKNOWN        ),
1646        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec0Trig0,  -1, UNKNOWN        ),
1647        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec0Trig1,  -1, UNKNOWN        ),
1648        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig0,  -1, UNKNOWN        ),
1649        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig1,  -1, UNKNOWN        ),
1650        BRDC_P_MAKE_TRIG_INFO_NULL(e6560Trig0,   -1, UNKNOWN        ),
1651        BRDC_P_MAKE_TRIG_INFO_NULL(e6560Trig1,   -1, UNKNOWN        ),
1652        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig0,   -1, UNKNOWN        ),
1653        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig1,   -1, UNKNOWN        ),
1654        BRDC_P_MAKE_TRIG_INFO_NORM(eM2mc0Trig,   20, m2mc_trig      ),
1655        BRDC_P_MAKE_TRIG_INFO_NORM(eM2mc1Trig,   31, m2mc_1_trig    ),
1656        BRDC_P_MAKE_TRIG_INFO_NORM(eHdDvi0Trig0, 21, hd_dvi_0_trig_0),
1657        BRDC_P_MAKE_TRIG_INFO_NORM(eHdDvi0Trig1, 22, hd_dvi_0_trig_1),
1658        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi1Trig0, -1, UNKNOWN        ),
1659        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi1Trig1, -1, UNKNOWN        ),
1660        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig0,   -1, UNKNOWN        ),
1661        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig1,   -1, UNKNOWN        ),
1662        BRDC_P_MAKE_TRIG_INFO_NULL(eLboxTrig0,   -1, UNKNOWN        ),
1663        BRDC_P_MAKE_TRIG_INFO_NULL(eLboxTrig1,   -1, UNKNOWN        ),
1664        BRDC_P_MAKE_TRIG_INFO_NORM(eDvoTrig0,    27, dvo_trig_0     ),
1665        BRDC_P_MAKE_TRIG_INFO_NORM(eDvoTrig1,    28, dvo_trig_1     ),
1666        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig2,    -1, UNKNOWN        ),
1667        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig3,    -1, UNKNOWN        ),
1668        BRDC_P_MAKE_TRIG_INFO_NORM(eMfd0Eof,     29, mfd_0_eof      ),
1669        BRDC_P_MAKE_TRIG_INFO_NORM(eMfd1Eof,     30, mfd_1_eof      ),
1670        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd2Eof,     -1, UNKNOWN        ),
1671        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd3Eof,     -1, UNKNOWN        ),
1672        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig0,   -1, UNKNOWN        ),
1673        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig1,   -1, UNKNOWN        ),
1674        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig0,   -1, UNKNOWN        ),
1675        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig1,   -1, UNKNOWN        ),
1676        BRDC_P_MAKE_TRIG_INFO_NULL(eDgp0Trig0,   -1, UNKNOWN        ),
1677        BRDC_P_MAKE_TRIG_INFO_NULL(ePx3d0Trig0,  -1, UNKNOWN        ),
1678        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig0,  -1, UNKNOWN        ),
1679        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig1,  -1, UNKNOWN        ),
1680        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig0,  -1, UNKNOWN        ),
1681        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig1,  -1, UNKNOWN        ),
1682        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig0,  -1, UNKNOWN        ),
1683        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig1,  -1, UNKNOWN        ),
1684        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig0,  -1, UNKNOWN        ),
1685        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig1,  -1, UNKNOWN        ),
1686        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig0,  -1, UNKNOWN        ),
1687        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig1,  -1, UNKNOWN        ),
1688        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig0,  -1, UNKNOWN        ),
1689        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig1,  -1, UNKNOWN        ),
1690
1691#elif (BCHP_CHIP==7635)
1692
1693        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig0,    0, cap_0_trig_0   ),
1694        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig1,    1, cap_0_trig_1   ),
1695        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig0,    2, cap_1_trig_0   ),
1696        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig1,    3, cap_1_trig_1   ),
1697        BRDC_P_MAKE_TRIG_INFO_NORM(eCap2Trig0,    4, cap_2_trig_0   ),
1698        BRDC_P_MAKE_TRIG_INFO_NORM(eCap2Trig1,    5, cap_2_trig_1   ),
1699        BRDC_P_MAKE_TRIG_INFO_NULL(eCap3Trig0,   -1, UNKNOWN        ),
1700        BRDC_P_MAKE_TRIG_INFO_NULL(eCap3Trig1,   -1, UNKNOWN        ),
1701        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig0,   -1, UNKNOWN        ),
1702        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig1,   -1, UNKNOWN        ),
1703        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig0,   -1, UNKNOWN        ),
1704        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig1,   -1, UNKNOWN        ),
1705        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig0,    8, prim_vec_trig_0),
1706        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig1,    9, prim_vec_trig_1),
1707        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig2,   -1, UNKNOWN        ),
1708        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig3,   -1, UNKNOWN        ),
1709        BRDC_P_MAKE_TRIG_INFO_NORM(eVec1Trig0,   10, sec_vec_trig_0 ),
1710        BRDC_P_MAKE_TRIG_INFO_NORM(eVec1Trig1,   11, sec_vec_trig_1 ),
1711        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig2,   -1, UNKNOWN        ),
1712        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig3,   -1, UNKNOWN        ),
1713        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig0,   -1, UNKNOWN        ),
1714        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig1,   -1, UNKNOWN        ),
1715        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig2,   -1, UNKNOWN        ),
1716        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig3,   -1, UNKNOWN        ),
1717        BRDC_P_MAKE_TRIG_INFO_NULL(eDtgTrig0,    -1, UNKNOWN        ),
1718        BRDC_P_MAKE_TRIG_INFO_NULL(eDtgTrig1,    -1, UNKNOWN        ),
1719        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig0,   -1, UNKNOWN        ),
1720        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig1,   -1, UNKNOWN        ),
1721        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec0Trig0,  -1, UNKNOWN        ),
1722        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec0Trig1,  -1, UNKNOWN        ),
1723        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig0,  -1, UNKNOWN        ),
1724        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig1,  -1, UNKNOWN        ),
1725        BRDC_P_MAKE_TRIG_INFO_NULL(e6560Trig0,   -1, UNKNOWN        ),
1726        BRDC_P_MAKE_TRIG_INFO_NULL(e6560Trig1,   -1, UNKNOWN        ),
1727        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig0,   -1, UNKNOWN        ),
1728        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig1,   -1, UNKNOWN        ),
1729        BRDC_P_MAKE_TRIG_INFO_NORM(eM2mc0Trig,   20, m2mc_trig      ),
1730        BRDC_P_MAKE_TRIG_INFO_NORM(eM2mc1Trig,   31, m2mc_1_trig    ),
1731        BRDC_P_MAKE_TRIG_INFO_NORM(eHdDvi0Trig0, 21, hd_dvi_0_trig_0),
1732        BRDC_P_MAKE_TRIG_INFO_NORM(eHdDvi0Trig1, 22, hd_dvi_0_trig_1),
1733        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi1Trig0, -1, UNKNOWN        ),
1734        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi1Trig1, -1, UNKNOWN        ),
1735        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig0,   -1, UNKNOWN        ),
1736        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig1,   -1, UNKNOWN        ),
1737        BRDC_P_MAKE_TRIG_INFO_NULL(eLboxTrig0,   -1, UNKNOWN        ),
1738        BRDC_P_MAKE_TRIG_INFO_NULL(eLboxTrig1,   -1, UNKNOWN        ),
1739        BRDC_P_MAKE_TRIG_INFO_NORM(eDvoTrig0,    27, dvo_trig_0     ),
1740        BRDC_P_MAKE_TRIG_INFO_NORM(eDvoTrig1,    28, dvo_trig_1     ),
1741        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig2,    -1, UNKNOWN        ),
1742        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig3,    -1, UNKNOWN        ),
1743        BRDC_P_MAKE_TRIG_INFO_NORM(eMfd0Eof,     29, mfd_0_eof      ),
1744        BRDC_P_MAKE_TRIG_INFO_NORM(eMfd1Eof,     30, mfd_1_eof      ),
1745        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd2Eof,     -1, UNKNOWN        ),
1746        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd3Eof,     -1, UNKNOWN        ),
1747        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig0,   -1, UNKNOWN        ),
1748        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig1,   -1, UNKNOWN        ),
1749        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig0,   -1, UNKNOWN        ),
1750        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig1,   -1, UNKNOWN        ),
1751        BRDC_P_MAKE_TRIG_INFO_NULL(eDgp0Trig0,   -1, UNKNOWN        ),
1752        BRDC_P_MAKE_TRIG_INFO_NULL(ePx3d0Trig0,  -1, UNKNOWN        ),
1753        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig0,  -1, UNKNOWN        ),
1754        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig1,  -1, UNKNOWN        ),
1755        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig0,  -1, UNKNOWN        ),
1756        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig1,  -1, UNKNOWN        ),
1757        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig0,  -1, UNKNOWN        ),
1758        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig1,  -1, UNKNOWN        ),
1759        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig0,  -1, UNKNOWN        ),
1760        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig1,  -1, UNKNOWN        ),
1761        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig0,  -1, UNKNOWN        ),
1762        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig1,  -1, UNKNOWN        ),
1763        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig0,  -1, UNKNOWN        ),
1764        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig1,  -1, UNKNOWN        ),
1765
1766#elif (BCHP_CHIP==7325) || (BCHP_CHIP==7335)
1767
1768        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig0,    0, cap_0_trig_0   ),
1769        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig1,    1, cap_0_trig_1   ),
1770        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig0,    2, cap_1_trig_0   ),
1771        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig1,    3, cap_1_trig_1   ),
1772        BRDC_P_MAKE_TRIG_INFO_NULL(eCap2Trig0,   -1, UNKNOWN        ),
1773        BRDC_P_MAKE_TRIG_INFO_NULL(eCap2Trig1,   -1, UNKNOWN        ),
1774        BRDC_P_MAKE_TRIG_INFO_NULL(eCap3Trig0,   -1, UNKNOWN        ),
1775        BRDC_P_MAKE_TRIG_INFO_NULL(eCap3Trig1,   -1, UNKNOWN        ),
1776        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig0,   -1, UNKNOWN        ),
1777        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig1,   -1, UNKNOWN        ),
1778        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig0,   -1, UNKNOWN        ),
1779        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig1,   -1, UNKNOWN        ),
1780        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig0,    8, prim_vec_trig_0),
1781        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig1,    9, prim_vec_trig_1),
1782        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig2,   -1, UNKNOWN        ),
1783        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig3,   -1, UNKNOWN        ),
1784        BRDC_P_MAKE_TRIG_INFO_NORM(eVec1Trig0,   10, sec_vec_trig_0 ),
1785        BRDC_P_MAKE_TRIG_INFO_NORM(eVec1Trig1,   11, sec_vec_trig_1 ),
1786        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig2,   -1, UNKNOWN        ),
1787        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig3,   -1, UNKNOWN        ),
1788        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig0,   -1, UNKNOWN        ),
1789        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig1,   -1, UNKNOWN        ),
1790        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig2,   -1, UNKNOWN        ),
1791        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig3,   -1, UNKNOWN        ),
1792        BRDC_P_MAKE_TRIG_INFO_NORM(eDtgTrig0,    12, itu_r656_out_0 ),
1793        BRDC_P_MAKE_TRIG_INFO_NORM(eDtgTrig1,    13, itu_r656_out_1 ),
1794        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig0,   -1, UNKNOWN        ),
1795        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig1,   -1, UNKNOWN        ),
1796        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec0Trig0,  -1, UNKNOWN        ),
1797        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec0Trig1,  -1, UNKNOWN        ),
1798        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig0,  -1, UNKNOWN        ),
1799        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig1,  -1, UNKNOWN        ),
1800        BRDC_P_MAKE_TRIG_INFO_NULL(e6560Trig0,   -1, UNKNOWN        ),
1801        BRDC_P_MAKE_TRIG_INFO_NULL(e6560Trig1,   -1, UNKNOWN        ),
1802        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig0,   -1, UNKNOWN        ),
1803        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig1,   -1, UNKNOWN        ),
1804        BRDC_P_MAKE_TRIG_INFO_NORM(eM2mc0Trig,   20, m2mc_trig_0    ),
1805        BRDC_P_MAKE_TRIG_INFO_NULL(eM2mc1Trig,   -1, UNKNOWN        ),
1806        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi0Trig0, -1, UNKNOWN        ),
1807        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi0Trig1, -1, UNKNOWN        ),
1808        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi1Trig0, -1, UNKNOWN        ),
1809        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi1Trig1, -1, UNKNOWN        ),
1810        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig0,   -1, UNKNOWN        ),
1811        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig1,   -1, UNKNOWN        ),
1812        BRDC_P_MAKE_TRIG_INFO_NORM(eLboxTrig0,   25, letterbox_0    ),
1813        BRDC_P_MAKE_TRIG_INFO_NULL(eLboxTrig1,   -1, UNKNOWN        ),
1814        BRDC_P_MAKE_TRIG_INFO_NORM(eDvoTrig0,    14, hd_dvi_out_0   ),
1815        BRDC_P_MAKE_TRIG_INFO_NORM(eDvoTrig1,    15, hd_dvi_out_1   ),
1816        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig2,    -1, UNKNOWN        ),
1817        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig3,    -1, UNKNOWN        ),
1818        BRDC_P_MAKE_TRIG_INFO_NORM(eMfd0Eof,     29, mfd_0_eof      ),
1819        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd1Eof,     -1, UNKNOWN        ),
1820        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd2Eof,     -1, UNKNOWN        ),
1821        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd3Eof,     -1, UNKNOWN        ),
1822        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig0,   -1, UNKNOWN        ),
1823        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig1,   -1, UNKNOWN        ),
1824        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig0,   -1, UNKNOWN        ),
1825        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig1,   -1, UNKNOWN        ),
1826        BRDC_P_MAKE_TRIG_INFO_NULL(eDgp0Trig0,   -1, UNKNOWN        ),
1827        BRDC_P_MAKE_TRIG_INFO_NULL(ePx3d0Trig0,  -1, UNKNOWN        ),
1828        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig0,  -1, UNKNOWN        ),
1829        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig1,  -1, UNKNOWN        ),
1830        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig0,  -1, UNKNOWN        ),
1831        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig1,  -1, UNKNOWN        ),
1832        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig0,  -1, UNKNOWN        ),
1833        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig1,  -1, UNKNOWN        ),
1834        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig0,  -1, UNKNOWN        ),
1835        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig1,  -1, UNKNOWN        ),
1836        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig0,  -1, UNKNOWN        ),
1837        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig1,  -1, UNKNOWN        ),
1838        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig0,  -1, UNKNOWN        ),
1839        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig1,  -1, UNKNOWN        ),
1840
1841#elif (BCHP_CHIP==7336)
1842
1843        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig0,    0, cap_0_trig_0   ),
1844        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig1,    1, cap_0_trig_1   ),
1845        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig0,    2, cap_1_trig_0   ),
1846        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig1,    3, cap_1_trig_1   ),
1847        BRDC_P_MAKE_TRIG_INFO_NULL(eCap2Trig0,   -1, UNKNOWN        ),
1848        BRDC_P_MAKE_TRIG_INFO_NULL(eCap2Trig1,   -1, UNKNOWN        ),
1849        BRDC_P_MAKE_TRIG_INFO_NULL(eCap3Trig0,   -1, UNKNOWN        ),
1850        BRDC_P_MAKE_TRIG_INFO_NULL(eCap3Trig1,   -1, UNKNOWN        ),
1851        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig0,   -1, UNKNOWN        ),
1852        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig1,   -1, UNKNOWN        ),
1853        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig0,   -1, UNKNOWN        ),
1854        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig1,   -1, UNKNOWN        ),
1855        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig0,    8, prim_vec_trig_0),
1856        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig1,    9, prim_vec_trig_1),
1857        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig2,   -1, UNKNOWN        ),
1858        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig3,   -1, UNKNOWN        ),
1859        BRDC_P_MAKE_TRIG_INFO_NORM(eVec1Trig0,   10, sec_vec_trig_0 ),
1860        BRDC_P_MAKE_TRIG_INFO_NORM(eVec1Trig1,   11, sec_vec_trig_1 ),
1861        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig2,   -1, UNKNOWN        ),
1862        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig3,   -1, UNKNOWN        ),
1863        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig0,   -1, UNKNOWN        ),
1864        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig1,   -1, UNKNOWN        ),
1865        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig2,   -1, UNKNOWN        ),
1866        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig3,   -1, UNKNOWN        ),
1867        BRDC_P_MAKE_TRIG_INFO_NORM(eDtgTrig0,    12, itu_r656_out_0 ),
1868        BRDC_P_MAKE_TRIG_INFO_NORM(eDtgTrig1,    13, itu_r656_out_1 ),
1869        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig0,   -1, UNKNOWN        ),
1870        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig1,   -1, UNKNOWN        ),
1871        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec0Trig0,  -1, UNKNOWN        ),
1872        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec0Trig1,  -1, UNKNOWN        ),
1873        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig0,  -1, UNKNOWN        ),
1874        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig1,  -1, UNKNOWN        ),
1875        BRDC_P_MAKE_TRIG_INFO_NULL(e6560Trig0,   -1, UNKNOWN        ),
1876        BRDC_P_MAKE_TRIG_INFO_NULL(e6560Trig1,   -1, UNKNOWN        ),
1877        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig0,   -1, UNKNOWN        ),
1878        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig1,   -1, UNKNOWN        ),
1879        BRDC_P_MAKE_TRIG_INFO_NORM(eM2mc0Trig,   20, m2mc_trig_0    ),
1880        BRDC_P_MAKE_TRIG_INFO_NULL(eM2mc1Trig,   -1, UNKNOWN        ),
1881        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi0Trig0, -1, UNKNOWN        ),
1882        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi0Trig1, -1, UNKNOWN        ),
1883        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi1Trig0, -1, UNKNOWN        ),
1884        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi1Trig1, -1, UNKNOWN        ),
1885        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig0,   -1, UNKNOWN        ),
1886        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig1,   -1, UNKNOWN        ),
1887        BRDC_P_MAKE_TRIG_INFO_NORM(eLboxTrig0,   25, letterbox_0    ),
1888        BRDC_P_MAKE_TRIG_INFO_NULL(eLboxTrig1,   -1, UNKNOWN        ),
1889        BRDC_P_MAKE_TRIG_INFO_NORM(eDvoTrig0,    14, hd_dvi_out_0   ),
1890        BRDC_P_MAKE_TRIG_INFO_NORM(eDvoTrig1,    15, hd_dvi_out_1   ),
1891        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig2,    -1, UNKNOWN        ),
1892        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig3,    -1, UNKNOWN        ),
1893        BRDC_P_MAKE_TRIG_INFO_NORM(eMfd0Eof,     29, mfd_0_eof      ),
1894        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd1Eof,     -1, UNKNOWN        ),
1895        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd2Eof,     -1, UNKNOWN        ),
1896        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd3Eof,     -1, UNKNOWN        ),
1897        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig0,   -1, UNKNOWN        ),
1898        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig1,   -1, UNKNOWN        ),
1899        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig0,   -1, UNKNOWN        ),
1900        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig1,   -1, UNKNOWN        ),
1901        BRDC_P_MAKE_TRIG_INFO_NULL(eDgp0Trig0,   -1, UNKNOWN        ),
1902        BRDC_P_MAKE_TRIG_INFO_NORM(ePx3d0Trig0,  21, px3d_trig      ),
1903        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig0,  -1, UNKNOWN        ),
1904        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig1,  -1, UNKNOWN        ),
1905        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig0,  -1, UNKNOWN        ),
1906        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig1,  -1, UNKNOWN        ),
1907        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig0,  -1, UNKNOWN        ),
1908        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig1,  -1, UNKNOWN        ),
1909        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig0,  -1, UNKNOWN        ),
1910        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig1,  -1, UNKNOWN        ),
1911        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig0,  -1, UNKNOWN        ),
1912        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig1,  -1, UNKNOWN        ),
1913        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig0,  -1, UNKNOWN        ),
1914        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig1,  -1, UNKNOWN        ),
1915
1916#elif (BCHP_CHIP==7420)
1917
1918        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig0,    0, cap_0_trig_0   ),
1919        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig1,    1, cap_0_trig_1   ),
1920        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig0,    2, cap_1_trig_0   ),
1921        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig1,    3, cap_1_trig_1   ),
1922        BRDC_P_MAKE_TRIG_INFO_NORM(eCap2Trig0,    4, cap_2_trig_0   ),
1923        BRDC_P_MAKE_TRIG_INFO_NORM(eCap2Trig1,    5, cap_2_trig_1   ),
1924        BRDC_P_MAKE_TRIG_INFO_NORM(eCap3Trig0,    6, cap_3_trig_0   ),
1925        BRDC_P_MAKE_TRIG_INFO_NORM(eCap3Trig1,    7, cap_3_trig_1   ),
1926        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig0,   -1, UNKNOWN        ),
1927        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig1,   -1, UNKNOWN        ),
1928        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig0,   -1, UNKNOWN        ),
1929        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig1,   -1, UNKNOWN        ),
1930        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig0,    8, prim_vec_trig_0),
1931        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig1,    9, prim_vec_trig_1),
1932        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig2,   -1, UNKNOWN        ),
1933        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig3,   -1, UNKNOWN        ),
1934        BRDC_P_MAKE_TRIG_INFO_NORM(eVec1Trig0,   10, sec_vec_trig_0 ),
1935        BRDC_P_MAKE_TRIG_INFO_NORM(eVec1Trig1,   11, sec_vec_trig_1 ),
1936        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig2,   -1, UNKNOWN        ),
1937        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig3,   -1, UNKNOWN        ),
1938        BRDC_P_MAKE_TRIG_INFO_NORM(eVec2Trig0,   16, ter_vec_trig_0 ),
1939        BRDC_P_MAKE_TRIG_INFO_NORM(eVec2Trig1,   17, ter_vec_trig_1 ),
1940        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig2,   -1, UNKNOWN        ),
1941        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig3,   -1, UNKNOWN        ),
1942        BRDC_P_MAKE_TRIG_INFO_NORM(eDtgTrig0,    12, itu_r656_out_0 ),
1943        BRDC_P_MAKE_TRIG_INFO_NORM(eDtgTrig1,    13, itu_r656_out_1 ),
1944        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig0,   -1, UNKNOWN        ),
1945        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig1,   -1, UNKNOWN        ),
1946        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec0Trig0,  -1, UNKNOWN        ),
1947        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec0Trig1,  -1, UNKNOWN        ),
1948        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig0,  -1, UNKNOWN        ),
1949        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig1,  -1, UNKNOWN        ),
1950        BRDC_P_MAKE_TRIG_INFO_NORM(e6560Trig0,   18, itu_r656_0_0   ),
1951        BRDC_P_MAKE_TRIG_INFO_NORM(e6560Trig1,   19, itu_r656_0_1   ),
1952        BRDC_P_MAKE_TRIG_INFO_NORM(e6561Trig0,   27, itu_r656_1_0   ),
1953        BRDC_P_MAKE_TRIG_INFO_NORM(e6561Trig1,   28, itu_r656_1_1   ),
1954        BRDC_P_MAKE_TRIG_INFO_NORM(eM2mc0Trig,   20, m2mc_trig_0    ),
1955        BRDC_P_MAKE_TRIG_INFO_NULL(eM2mc1Trig,   -1, UNKNOWN        ),
1956        BRDC_P_MAKE_TRIG_INFO_NORM(eHdDvi0Trig0, 21, hd_dvi_0_trig_0),
1957        BRDC_P_MAKE_TRIG_INFO_NORM(eHdDvi0Trig1, 22, hd_dvi_0_trig_1),
1958        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi1Trig0, -1, UNKNOWN        ),
1959        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi1Trig1, -1, UNKNOWN        ),
1960        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig0,   -1, UNKNOWN        ),
1961        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig1,   -1, UNKNOWN        ),
1962        BRDC_P_MAKE_TRIG_INFO_NORM(eLboxTrig0,   25, letterbox_0    ),
1963        BRDC_P_MAKE_TRIG_INFO_NORM(eLboxTrig1,   26, letterbox_1    ),
1964        BRDC_P_MAKE_TRIG_INFO_NORM(eDvoTrig0,    14, hd_dvi_out_0   ),
1965        BRDC_P_MAKE_TRIG_INFO_NORM(eDvoTrig1,    15, hd_dvi_out_1   ),
1966        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig2,    -1, UNKNOWN        ),
1967        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig3,    -1, UNKNOWN        ),
1968        BRDC_P_MAKE_TRIG_INFO_NORM(eMfd0Eof,     29, mfd_0_eof      ),
1969        BRDC_P_MAKE_TRIG_INFO_NORM(eMfd1Eof,     30, mfd_1_eof      ),
1970        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd2Eof,     -1, UNKNOWN        ),
1971        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd3Eof,     -1, UNKNOWN        ),
1972        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig0,   -1, UNKNOWN        ),
1973        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig1,   -1, UNKNOWN        ),
1974        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig0,   -1, UNKNOWN        ),
1975        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig1,   -1, UNKNOWN        ),
1976        BRDC_P_MAKE_TRIG_INFO_NULL(eDgp0Trig0,   -1, UNKNOWN        ),
1977        BRDC_P_MAKE_TRIG_INFO_NORM(ePx3d0Trig0,  31, px3d_0         ),
1978        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig0,  -1, UNKNOWN        ),
1979        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig1,  -1, UNKNOWN        ),
1980        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig0,  -1, UNKNOWN        ),
1981        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig1,  -1, UNKNOWN        ),
1982        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig0,  -1, UNKNOWN        ),
1983        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig1,  -1, UNKNOWN        ),
1984        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig0,  -1, UNKNOWN        ),
1985        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig1,  -1, UNKNOWN        ),
1986        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig0,  -1, UNKNOWN        ),
1987        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig1,  -1, UNKNOWN        ),
1988        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig0,  -1, UNKNOWN        ),
1989        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig1,  -1, UNKNOWN        ),
1990
1991#elif (BCHP_CHIP==7422) || (BCHP_CHIP==7425)
1992
1993        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig0,    0, cap_0_trig_0   ),
1994        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig1,    1, cap_0_trig_1   ),
1995        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig0,    2, cap_1_trig_0   ),
1996        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig1,    3, cap_1_trig_1   ),
1997        BRDC_P_MAKE_TRIG_INFO_NORM(eCap2Trig0,    4, cap_2_trig_0   ),
1998        BRDC_P_MAKE_TRIG_INFO_NORM(eCap2Trig1,    5, cap_2_trig_1   ),
1999        BRDC_P_MAKE_TRIG_INFO_NORM(eCap3Trig0,    6, cap_3_trig_0   ),
2000        BRDC_P_MAKE_TRIG_INFO_NORM(eCap3Trig1,    7, cap_3_trig_1   ),
2001        BRDC_P_MAKE_TRIG_INFO_NORM(eCap4Trig0,    8, cap_4_trig_0   ),
2002        BRDC_P_MAKE_TRIG_INFO_NORM(eCap4Trig1,    9, cap_4_trig_1   ),
2003        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig0,   -1, UNKNOWN        ),
2004        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig1,   -1, UNKNOWN        ),
2005
2006#if (BCHP_VER >= BCHP_VER_B0)
2007        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig0,   -1, UNKNOWN        ),
2008        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig1,   -1, UNKNOWN        ),
2009#else
2010        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig0,   10, prim_vec_trig_0),
2011        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig1,   11, prim_vec_trig_1),
2012#endif
2013
2014        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig2,   -1, UNKNOWN        ),
2015        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig3,   -1, UNKNOWN        ),
2016
2017#if (BCHP_VER >= BCHP_VER_B0)
2018        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig0,   -1, UNKNOWN        ),
2019        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig1,   -1, UNKNOWN        ),
2020#else
2021        BRDC_P_MAKE_TRIG_INFO_NORM(eVec1Trig0,   12, sec_vec_trig_0 ),
2022        BRDC_P_MAKE_TRIG_INFO_NORM(eVec1Trig1,   13, sec_vec_trig_1 ),
2023#endif
2024        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig2,   -1, UNKNOWN        ),
2025        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig3,   -1, UNKNOWN        ),
2026        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig0,   -1, UNKNOWN        ),
2027        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig1,   -1, UNKNOWN        ),
2028        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig2,   -1, UNKNOWN        ),
2029        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig3,   -1, UNKNOWN        ),
2030
2031#if (BCHP_VER >= BCHP_VER_B0)
2032        BRDC_P_MAKE_TRIG_INFO_NULL(eDtgTrig0,    -1, UNKNOWN        ),
2033        BRDC_P_MAKE_TRIG_INFO_NULL(eDtgTrig1,    -1, UNKNOWN        ),
2034        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig0,   -1, UNKNOWN        ),
2035        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig1,   -1, UNKNOWN        ),
2036#else
2037        BRDC_P_MAKE_TRIG_INFO_NORM(eDtgTrig0,    16, itu_r656_0_out_0),
2038        BRDC_P_MAKE_TRIG_INFO_NORM(eDtgTrig1,    17, itu_r656_0_out_1),
2039        BRDC_P_MAKE_TRIG_INFO_NORM(eDtg1Trig0,   18, itu_r656_1_out_0),
2040        BRDC_P_MAKE_TRIG_INFO_NORM(eDtg1Trig1,   19, itu_r656_1_out_1),
2041#endif
2042
2043        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec0Trig0,  -1, UNKNOWN        ),
2044        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec0Trig1,  -1, UNKNOWN        ),
2045        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig0,  -1, UNKNOWN        ),
2046        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig1,  -1, UNKNOWN        ),
2047        BRDC_P_MAKE_TRIG_INFO_NULL(e6560Trig0,   -1, UNKNOWN        ),
2048        BRDC_P_MAKE_TRIG_INFO_NULL(e6560Trig1,   -1, UNKNOWN        ),
2049        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig0,   -1, UNKNOWN        ),
2050        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig1,   -1, UNKNOWN        ),
2051        BRDC_P_MAKE_TRIG_INFO_NORM(eM2mc0Trig,   22, m2mc_trig_0    ),
2052        BRDC_P_MAKE_TRIG_INFO_NULL(eM2mc1Trig,   -1, UNKNOWN        ),
2053        BRDC_P_MAKE_TRIG_INFO_NORM(eHdDvi0Trig0, 25, hd_dvi_0_trig_0),
2054        BRDC_P_MAKE_TRIG_INFO_NORM(eHdDvi0Trig1, 26, hd_dvi_0_trig_1),
2055        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi1Trig0, -1, UNKNOWN        ),
2056        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi1Trig1, -1, UNKNOWN        ),
2057
2058#if (BCHP_VER >= BCHP_VER_B0)
2059        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig0,   -1, UNKNOWN        ),
2060        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig1,   -1, UNKNOWN        ),
2061#else
2062        BRDC_P_MAKE_TRIG_INFO_NORM(eStg0Trig0,   23, stg_0_trig_0   ),
2063        BRDC_P_MAKE_TRIG_INFO_NORM(eStg0Trig1,   24, stg_0_trig_1   ),
2064#endif
2065
2066        BRDC_P_MAKE_TRIG_INFO_NULL(eLboxTrig0,   -1, UNKNOWN        ),
2067        BRDC_P_MAKE_TRIG_INFO_NULL(eLboxTrig1,   -1, UNKNOWN        ),
2068
2069#if (BCHP_VER >= BCHP_VER_B0)
2070        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig0,    -1, UNKNOWN        ),
2071        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig1,    -1, UNKNOWN        ),
2072#else
2073        BRDC_P_MAKE_TRIG_INFO_NORM(eDvoTrig0,    20, hd_dvi_out_0   ),
2074        BRDC_P_MAKE_TRIG_INFO_NORM(eDvoTrig1,    21, hd_dvi_out_1   ),
2075#endif
2076
2077        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig2,    -1, UNKNOWN        ),
2078        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig3,    -1, UNKNOWN        ),
2079        BRDC_P_MAKE_TRIG_INFO_NORM(eMfd0Eof,     28, mfd_0_eof      ),
2080        BRDC_P_MAKE_TRIG_INFO_NORM(eMfd1Eof,     29, mfd_1_eof      ),
2081        BRDC_P_MAKE_TRIG_INFO_NORM(eMfd2Eof,     30, mfd_2_eof      ),
2082        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd3Eof,     -1, UNKNOWN        ),
2083        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig0,   -1, UNKNOWN        ),
2084        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig1,   -1, UNKNOWN        ),
2085        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig0,   -1, UNKNOWN        ),
2086        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig1,   -1, UNKNOWN        ),
2087        BRDC_P_MAKE_TRIG_INFO_NULL(eDgp0Trig0,   -1, UNKNOWN        ),
2088        BRDC_P_MAKE_TRIG_INFO_NULL(ePx3d0Trig0,  -1, UNKNOWN        ),
2089
2090#if (BCHP_VER >= BCHP_VER_B0)
2091        BRDC_P_MAKE_TRIG_INFO_NORM(eCmp_0Trig0,  10, vec_source_0_trig_0),
2092        BRDC_P_MAKE_TRIG_INFO_NORM(eCmp_0Trig1,  11, vec_source_0_trig_1),
2093        BRDC_P_MAKE_TRIG_INFO_NORM(eCmp_1Trig0,  12, vec_source_1_trig_0),
2094        BRDC_P_MAKE_TRIG_INFO_NORM(eCmp_1Trig1,  13, vec_source_1_trig_1),
2095        BRDC_P_MAKE_TRIG_INFO_NORM(eCmp_2Trig0,  14, vec_source_2_trig_0),
2096        BRDC_P_MAKE_TRIG_INFO_NORM(eCmp_2Trig1,  15, vec_source_2_trig_1),
2097        BRDC_P_MAKE_TRIG_INFO_NORM(eCmp_3Trig0,  16, vec_source_3_trig_0),
2098        BRDC_P_MAKE_TRIG_INFO_NORM(eCmp_3Trig1,  17, vec_source_3_trig_1),
2099#else
2100        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig0,  -1, UNKNOWN        ),
2101        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig1,  -1, UNKNOWN        ),
2102        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig0,  -1, UNKNOWN        ),
2103        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig1,  -1, UNKNOWN        ),
2104        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig0,  -1, UNKNOWN        ),
2105        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig1,  -1, UNKNOWN        ),
2106        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig0,  -1, UNKNOWN        ),
2107        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig1,  -1, UNKNOWN        ),
2108#endif
2109        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig0,  -1, UNKNOWN        ),
2110        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig1,  -1, UNKNOWN        ),
2111        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig0,  -1, UNKNOWN        ),
2112        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig1,  -1, UNKNOWN        ),
2113
2114#elif (BCHP_CHIP==7435)
2115
2116        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig0,    0, cap_0_trig_0   ),
2117        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig1,    1, cap_0_trig_1   ),
2118        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig0,    2, cap_1_trig_0   ),
2119        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig1,    3, cap_1_trig_1   ),
2120        BRDC_P_MAKE_TRIG_INFO_NORM(eCap2Trig0,    4, cap_2_trig_0   ),
2121        BRDC_P_MAKE_TRIG_INFO_NORM(eCap2Trig1,    5, cap_2_trig_1   ),
2122        BRDC_P_MAKE_TRIG_INFO_NORM(eCap3Trig0,    6, cap_3_trig_0   ),
2123        BRDC_P_MAKE_TRIG_INFO_NORM(eCap3Trig1,    7, cap_3_trig_1   ),
2124        BRDC_P_MAKE_TRIG_INFO_NORM(eCap4Trig0,    8, cap_4_trig_0   ),
2125        BRDC_P_MAKE_TRIG_INFO_NORM(eCap4Trig1,    9, cap_4_trig_1   ),
2126        BRDC_P_MAKE_TRIG_INFO_NORM(eCap5Trig0,   10, cap_5_trig_0   ),
2127        BRDC_P_MAKE_TRIG_INFO_NORM(eCap5Trig1,   11, cap_5_trig_1   ),
2128        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig0,   -1, UNKNOWN        ),
2129        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig1,   -1, UNKNOWN        ),
2130        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig2,   -1, UNKNOWN        ),
2131        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig3,   -1, UNKNOWN        ),
2132        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig0,   -1, UNKNOWN        ),
2133        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig1,   -1, UNKNOWN        ),
2134        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig2,   -1, UNKNOWN        ),
2135        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig3,   -1, UNKNOWN        ),
2136        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig0,   -1, UNKNOWN        ),
2137        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig1,   -1, UNKNOWN        ),
2138        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig2,   -1, UNKNOWN        ),
2139        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig3,   -1, UNKNOWN        ),
2140        BRDC_P_MAKE_TRIG_INFO_NULL(eDtgTrig0,    -1, UNKNOWN        ),
2141        BRDC_P_MAKE_TRIG_INFO_NULL(eDtgTrig1,    -1, UNKNOWN        ),
2142        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig0,   -1, UNKNOWN        ),
2143        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig1,   -1, UNKNOWN        ),
2144        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec0Trig0,  -1, UNKNOWN        ),
2145        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec0Trig1,  -1, UNKNOWN        ),
2146        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig0,  -1, UNKNOWN        ),
2147        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig1,  -1, UNKNOWN        ),
2148        BRDC_P_MAKE_TRIG_INFO_NULL(e6560Trig0,   -1, UNKNOWN        ),
2149        BRDC_P_MAKE_TRIG_INFO_NULL(e6560Trig1,   -1, UNKNOWN        ),
2150        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig0,   -1, UNKNOWN        ),
2151        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig1,   -1, UNKNOWN        ),
2152        BRDC_P_MAKE_TRIG_INFO_NORM(eM2mc0Trig,   24, m2mc_trig_0    ),
2153        BRDC_P_MAKE_TRIG_INFO_NORM(eM2mc1Trig,   27, m2mc_trig_1    ),
2154        BRDC_P_MAKE_TRIG_INFO_NORM(eHdDvi0Trig0, 25, hd_dvi_0_trig_0),
2155        BRDC_P_MAKE_TRIG_INFO_NORM(eHdDvi0Trig1, 26, hd_dvi_0_trig_1),
2156        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi1Trig0, -1, UNKNOWN        ),
2157        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi1Trig1, -1, UNKNOWN        ),
2158        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig0,   -1, UNKNOWN        ),
2159        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig1,   -1, UNKNOWN        ),
2160        BRDC_P_MAKE_TRIG_INFO_NULL(eLboxTrig0,   -1, UNKNOWN        ),
2161        BRDC_P_MAKE_TRIG_INFO_NULL(eLboxTrig1,   -1, UNKNOWN        ),
2162        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig0,    -1, UNKNOWN        ),
2163        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig1,    -1, UNKNOWN        ),
2164        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig2,    -1, UNKNOWN        ),
2165        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig3,    -1, UNKNOWN        ),
2166        BRDC_P_MAKE_TRIG_INFO_NORM(eMfd0Eof,     28, mfd_0_eof      ),
2167        BRDC_P_MAKE_TRIG_INFO_NORM(eMfd1Eof,     29, mfd_1_eof      ),
2168        BRDC_P_MAKE_TRIG_INFO_NORM(eMfd2Eof,     30, mfd_2_eof      ),
2169        BRDC_P_MAKE_TRIG_INFO_NORM(eMfd3Eof,     31, mfd_3_eof      ),
2170        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig0,   -1, UNKNOWN        ),
2171        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig1,   -1, UNKNOWN        ),
2172        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig0,   -1, UNKNOWN        ),
2173        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig1,   -1, UNKNOWN        ),
2174        BRDC_P_MAKE_TRIG_INFO_NULL(eDgp0Trig0,   -1, UNKNOWN        ),
2175        BRDC_P_MAKE_TRIG_INFO_NULL(ePx3d0Trig0,  -1, UNKNOWN        ),
2176        BRDC_P_MAKE_TRIG_INFO_NORM(eCmp_0Trig0,  12, vec_source_0_trig_0),
2177        BRDC_P_MAKE_TRIG_INFO_NORM(eCmp_0Trig1,  13, vec_source_0_trig_1),
2178        BRDC_P_MAKE_TRIG_INFO_NORM(eCmp_1Trig0,  14, vec_source_1_trig_0),
2179        BRDC_P_MAKE_TRIG_INFO_NORM(eCmp_1Trig1,  15, vec_source_1_trig_1),
2180        BRDC_P_MAKE_TRIG_INFO_NORM(eCmp_2Trig0,  16, vec_source_2_trig_0),
2181        BRDC_P_MAKE_TRIG_INFO_NORM(eCmp_2Trig1,  17, vec_source_2_trig_1),
2182        BRDC_P_MAKE_TRIG_INFO_NORM(eCmp_3Trig0,  18, vec_source_3_trig_0),
2183        BRDC_P_MAKE_TRIG_INFO_NORM(eCmp_3Trig1,  19, vec_source_3_trig_1),
2184        BRDC_P_MAKE_TRIG_INFO_NORM(eCmp_4Trig0,  20, vec_source_4_trig_0),
2185        BRDC_P_MAKE_TRIG_INFO_NORM(eCmp_4Trig1,  21, vec_source_4_trig_1),
2186        BRDC_P_MAKE_TRIG_INFO_NORM(eCmp_5Trig0,  22, vec_source_5_trig_0),
2187        BRDC_P_MAKE_TRIG_INFO_NORM(eCmp_5Trig1,  23, vec_source_5_trig_1),
2188
2189#elif (BCHP_CHIP==7550)
2190
2191        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig0,    0, cap_0_trig_0   ),
2192        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig1,    1, cap_0_trig_1   ),
2193        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig0,    2, cap_1_trig_0   ),
2194        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig1,    3, cap_1_trig_1   ),
2195        BRDC_P_MAKE_TRIG_INFO_NORM(eCap2Trig0,    4, cap_2_trig_0   ),
2196        BRDC_P_MAKE_TRIG_INFO_NORM(eCap2Trig1,    5, cap_2_trig_1   ),
2197        BRDC_P_MAKE_TRIG_INFO_NORM(eCap3Trig0,    6, cap_3_trig_0   ),
2198        BRDC_P_MAKE_TRIG_INFO_NORM(eCap3Trig1,    7, cap_3_trig_1   ),
2199        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig0,   -1, UNKNOWN        ),
2200        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig1,   -1, UNKNOWN        ),
2201        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig0,   -1, UNKNOWN        ),
2202        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig1,   -1, UNKNOWN        ),
2203        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig0,    8, prim_vec_trig_0),
2204        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig1,    9, prim_vec_trig_1),
2205        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig2,   -1, UNKNOWN        ),
2206        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig3,   -1, UNKNOWN        ),
2207        BRDC_P_MAKE_TRIG_INFO_NORM(eVec1Trig0,   10, sec_vec_trig_0 ),
2208        BRDC_P_MAKE_TRIG_INFO_NORM(eVec1Trig1,   11, sec_vec_trig_1 ),
2209        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig2,   -1, UNKNOWN        ),
2210        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig3,   -1, UNKNOWN        ),
2211        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig0,   -1, UNKNOWN        ),
2212        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig1,   -1, UNKNOWN        ),
2213        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig2,   -1, UNKNOWN        ),
2214        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig3,   -1, UNKNOWN        ),
2215        BRDC_P_MAKE_TRIG_INFO_NORM(eDtgTrig0,    12, itu_r656_out_0 ),
2216        BRDC_P_MAKE_TRIG_INFO_NORM(eDtgTrig1,    13, itu_r656_out_1 ),
2217        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig0,   -1, UNKNOWN        ),
2218        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig1,   -1, UNKNOWN        ),
2219        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec0Trig0,  -1, UNKNOWN        ),
2220        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec0Trig1,  -1, UNKNOWN        ),
2221        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig0,  -1, UNKNOWN        ),
2222        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig1,  -1, UNKNOWN        ),
2223        BRDC_P_MAKE_TRIG_INFO_NORM(e6560Trig0,   18, itu_r656_0_0   ),
2224        BRDC_P_MAKE_TRIG_INFO_NORM(e6560Trig1,   19, itu_r656_0_1   ),
2225        BRDC_P_MAKE_TRIG_INFO_NORM(e6561Trig0,   27, itu_r656_1_0   ),
2226        BRDC_P_MAKE_TRIG_INFO_NORM(e6561Trig1,   28, itu_r656_1_1   ),
2227        BRDC_P_MAKE_TRIG_INFO_NORM(eM2mc0Trig,   20, m2mc_trig_0    ),
2228        BRDC_P_MAKE_TRIG_INFO_NULL(eM2mc1Trig,   -1, UNKNOWN        ),
2229        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig0,   -1, UNKNOWN        ),
2230        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig1,   -1, UNKNOWN        ),
2231        BRDC_P_MAKE_TRIG_INFO_NORM(eHdDvi0Trig0, 21, hd_dvi_0_trig_0),
2232        BRDC_P_MAKE_TRIG_INFO_NORM(eHdDvi0Trig1, 22, hd_dvi_0_trig_1),
2233        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi1Trig0, -1, UNKNOWN        ),
2234        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi1Trig1, -1, UNKNOWN        ),
2235        BRDC_P_MAKE_TRIG_INFO_NORM(eLboxTrig0,   25, letterbox_0    ),
2236        BRDC_P_MAKE_TRIG_INFO_NORM(eLboxTrig1,   26, letterbox_1    ),
2237        BRDC_P_MAKE_TRIG_INFO_NORM(eDvoTrig0,    14, hd_dvi_out_0   ),
2238        BRDC_P_MAKE_TRIG_INFO_NORM(eDvoTrig1,    15, hd_dvi_out_1   ),
2239        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig2,    -1, UNKNOWN        ),
2240        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig3,    -1, UNKNOWN        ),
2241        BRDC_P_MAKE_TRIG_INFO_NORM(eMfd0Eof,     29, mfd_0_eof      ),
2242        BRDC_P_MAKE_TRIG_INFO_NORM(eMfd1Eof,     30, mfd_1_eof      ),
2243        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd2Eof,     -1, UNKNOWN        ),
2244        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd3Eof,     -1, UNKNOWN        ),
2245        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig0,   -1, UNKNOWN        ),
2246        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig1,   -1, UNKNOWN        ),
2247        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig0,   -1, UNKNOWN        ),
2248        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig1,   -1, UNKNOWN        ),
2249        BRDC_P_MAKE_TRIG_INFO_NULL(eDgp0Trig0,   -1, UNKNOWN        ),
2250        BRDC_P_MAKE_TRIG_INFO_NORM(ePx3d0Trig0,  31, px3d_0         ),
2251        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig0,  -1, UNKNOWN        ),
2252        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig1,  -1, UNKNOWN        ),
2253        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig0,  -1, UNKNOWN        ),
2254        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig1,  -1, UNKNOWN        ),
2255        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig0,  -1, UNKNOWN        ),
2256        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig1,  -1, UNKNOWN        ),
2257        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig0,  -1, UNKNOWN        ),
2258        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig1,  -1, UNKNOWN        ),
2259        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig0,  -1, UNKNOWN        ),
2260        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig1,  -1, UNKNOWN        ),
2261        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig0,  -1, UNKNOWN        ),
2262        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig1,  -1, UNKNOWN        ),
2263
2264#elif (BCHP_CHIP==7340) || (BCHP_CHIP==7342)
2265
2266        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig0,    0, cap_0_trig_0   ),
2267        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig1,    1, cap_0_trig_1   ),
2268        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig0,    2, cap_1_trig_0   ),
2269        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig1,    3, cap_1_trig_1   ),
2270        BRDC_P_MAKE_TRIG_INFO_NULL(eCap2Trig0,   -1, UNKNOWN        ),
2271        BRDC_P_MAKE_TRIG_INFO_NULL(eCap2Trig1,   -1, UNKNOWN        ),
2272        BRDC_P_MAKE_TRIG_INFO_NULL(eCap3Trig0,   -1, UNKNOWN        ),
2273        BRDC_P_MAKE_TRIG_INFO_NULL(eCap3Trig1,   -1, UNKNOWN        ),
2274        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig0,   -1, UNKNOWN        ),
2275        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig1,   -1, UNKNOWN        ),
2276        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig0,   -1, UNKNOWN        ),
2277        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig1,   -1, UNKNOWN        ),
2278        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig0,    8, prim_vec_trig_0),
2279        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig1,    9, prim_vec_trig_1),
2280        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig2,   -1, UNKNOWN        ),
2281        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig3,   -1, UNKNOWN        ),
2282        BRDC_P_MAKE_TRIG_INFO_NORM(eVec1Trig0,   10, sec_vec_trig_0 ),
2283        BRDC_P_MAKE_TRIG_INFO_NORM(eVec1Trig1,   11, sec_vec_trig_1 ),
2284        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig2,   -1, UNKNOWN        ),
2285        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig3,   -1, UNKNOWN        ),
2286        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig0,   -1, UNKNOWN        ),
2287        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig1,   -1, UNKNOWN        ),
2288        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig2,   -1, UNKNOWN        ),
2289        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig3,   -1, UNKNOWN        ),
2290        BRDC_P_MAKE_TRIG_INFO_NULL(eDtgTrig0,    -1, UNKNOWN        ),
2291        BRDC_P_MAKE_TRIG_INFO_NULL(eDtgTrig1,    -1, UNKNOWN        ),
2292        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig0,   -1, UNKNOWN        ),
2293        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig1,   -1, UNKNOWN        ),
2294        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec0Trig0,  -1, UNKNOWN        ),
2295        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec0Trig1,  -1, UNKNOWN        ),
2296        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig0,  -1, UNKNOWN        ),
2297        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig1,  -1, UNKNOWN        ),
2298        BRDC_P_MAKE_TRIG_INFO_NULL(e6560Trig0,   -1, UNKNOWN        ),
2299        BRDC_P_MAKE_TRIG_INFO_NULL(e6560Trig1,   -1, UNKNOWN        ),
2300        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig0,   -1, UNKNOWN        ),
2301        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig1,   -1, UNKNOWN        ),
2302        BRDC_P_MAKE_TRIG_INFO_NORM(eM2mc0Trig,   20, m2mc_trig_0    ),
2303        BRDC_P_MAKE_TRIG_INFO_NULL(eM2mc1Trig,   -1, UNKNOWN        ),
2304        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi0Trig0, -1, UNKNOWN        ),
2305        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi0Trig1, -1, UNKNOWN        ),
2306        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi1Trig0, -1, UNKNOWN        ),
2307        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi1Trig1, -1, UNKNOWN        ),
2308        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig0,   -1, UNKNOWN        ),
2309        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig1,   -1, UNKNOWN        ),
2310        BRDC_P_MAKE_TRIG_INFO_NORM(eLboxTrig0,   25, letterbox_0    ),
2311        BRDC_P_MAKE_TRIG_INFO_NULL(eLboxTrig1,   -1, UNKNOWN        ),
2312        BRDC_P_MAKE_TRIG_INFO_NORM(eDvoTrig0,    14, hd_dvi_out_0   ),
2313        BRDC_P_MAKE_TRIG_INFO_NORM(eDvoTrig1,    15, hd_dvi_out_1   ),
2314        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig2,    -1, UNKNOWN        ),
2315        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig3,    -1, UNKNOWN        ),
2316        BRDC_P_MAKE_TRIG_INFO_NORM(eMfd0Eof,     29, mfd_0_eof      ),
2317        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd1Eof,     -1, UNKNOWN        ),
2318        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd2Eof,     -1, UNKNOWN        ),
2319        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd3Eof,     -1, UNKNOWN        ),
2320        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig0,   -1, UNKNOWN        ),
2321        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig1,   -1, UNKNOWN        ),
2322        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig0,   -1, UNKNOWN        ),
2323        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig1,   -1, UNKNOWN        ),
2324        BRDC_P_MAKE_TRIG_INFO_NULL(eDgp0Trig0,   -1, UNKNOWN        ),
2325        BRDC_P_MAKE_TRIG_INFO_NORM(ePx3d0Trig0,  31, px3d_0         ),
2326        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig0,  -1, UNKNOWN        ),
2327        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig1,  -1, UNKNOWN        ),
2328        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig0,  -1, UNKNOWN        ),
2329        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig1,  -1, UNKNOWN        ),
2330        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig0,  -1, UNKNOWN        ),
2331        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig1,  -1, UNKNOWN        ),
2332        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig0,  -1, UNKNOWN        ),
2333        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig1,  -1, UNKNOWN        ),
2334        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig0,  -1, UNKNOWN        ),
2335        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig1,  -1, UNKNOWN        ),
2336        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig0,  -1, UNKNOWN        ),
2337        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig1,  -1, UNKNOWN        ),
2338
2339#elif (BCHP_CHIP==7125)
2340
2341        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig0,    0, cap_0_trig_0   ),
2342        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig1,    1, cap_0_trig_1   ),
2343        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig0,    2, cap_1_trig_0   ),
2344        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig1,    3, cap_1_trig_1   ),
2345        BRDC_P_MAKE_TRIG_INFO_NULL(eCap2Trig0,   -1, UNKNOWN        ),
2346        BRDC_P_MAKE_TRIG_INFO_NULL(eCap2Trig1,   -1, UNKNOWN        ),
2347        BRDC_P_MAKE_TRIG_INFO_NULL(eCap3Trig0,   -1, UNKNOWN        ),
2348        BRDC_P_MAKE_TRIG_INFO_NULL(eCap3Trig1,   -1, UNKNOWN        ),
2349        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig0,   -1, UNKNOWN        ),
2350        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig1,   -1, UNKNOWN        ),
2351        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig0,   -1, UNKNOWN        ),
2352        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig1,   -1, UNKNOWN        ),
2353        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig0,    8, prim_vec_trig_0),
2354        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig1,    9, prim_vec_trig_1),
2355        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig2,   -1, UNKNOWN        ),
2356        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig3,   -1, UNKNOWN        ),
2357        BRDC_P_MAKE_TRIG_INFO_NORM(eVec1Trig0,   10, sec_vec_trig_0 ),
2358        BRDC_P_MAKE_TRIG_INFO_NORM(eVec1Trig1,   11, sec_vec_trig_1 ),
2359        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig2,   -1, UNKNOWN        ),
2360        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig3,   -1, UNKNOWN        ),
2361        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig0,   -1, UNKNOWN        ),
2362        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig1,   -1, UNKNOWN        ),
2363        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig2,   -1, UNKNOWN        ),
2364        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig3,   -1, UNKNOWN        ),
2365        BRDC_P_MAKE_TRIG_INFO_NULL(eDtgTrig0,    -1, UNKNOWN        ),
2366        BRDC_P_MAKE_TRIG_INFO_NULL(eDtgTrig1,    -1, UNKNOWN        ),
2367        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig0,   -1, UNKNOWN        ),
2368        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig1,   -1, UNKNOWN        ),
2369        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec0Trig0,  -1, UNKNOWN        ),
2370        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec0Trig1,  -1, UNKNOWN        ),
2371        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig0,  -1, UNKNOWN        ),
2372        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig1,  -1, UNKNOWN        ),
2373        BRDC_P_MAKE_TRIG_INFO_NULL(e6560Trig0,   -1, UNKNOWN        ),
2374        BRDC_P_MAKE_TRIG_INFO_NULL(e6560Trig1,   -1, UNKNOWN        ),
2375        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig0,   -1, UNKNOWN        ),
2376        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig1,   -1, UNKNOWN        ),
2377        BRDC_P_MAKE_TRIG_INFO_NORM(eM2mc0Trig,   20, m2mc_trig_0    ),
2378        BRDC_P_MAKE_TRIG_INFO_NULL(eM2mc1Trig,   -1, UNKNOWN        ),
2379        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi0Trig0, -1, UNKNOWN        ),
2380        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi0Trig1, -1, UNKNOWN        ),
2381        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi1Trig0, -1, UNKNOWN        ),
2382        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi1Trig1, -1, UNKNOWN        ),
2383        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig0,   -1, UNKNOWN        ),
2384        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig1,   -1, UNKNOWN        ),
2385        BRDC_P_MAKE_TRIG_INFO_NORM(eLboxTrig0,   25, letterbox_0    ),
2386        BRDC_P_MAKE_TRIG_INFO_NULL(eLboxTrig1,   -1, UNKNOWN        ),
2387        BRDC_P_MAKE_TRIG_INFO_NORM(eDvoTrig0,    14, hd_dvi_out_0   ),
2388        BRDC_P_MAKE_TRIG_INFO_NORM(eDvoTrig1,    15, hd_dvi_out_1   ),
2389        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig2,    -1, UNKNOWN        ),
2390        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig3,    -1, UNKNOWN        ),
2391        BRDC_P_MAKE_TRIG_INFO_NORM(eMfd0Eof,     29, mfd_0_eof      ),
2392        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd1Eof,     -1, UNKNOWN        ),
2393        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd2Eof,     -1, UNKNOWN        ),
2394        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd3Eof,     -1, UNKNOWN        ),
2395        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig0,   -1, UNKNOWN        ),
2396        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig1,   -1, UNKNOWN        ),
2397        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig0,   -1, UNKNOWN        ),
2398        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig1,   -1, UNKNOWN        ),
2399        BRDC_P_MAKE_TRIG_INFO_NULL(eDgp0Trig0,   -1, UNKNOWN        ),
2400        BRDC_P_MAKE_TRIG_INFO_NORM(ePx3d0Trig0,  31, px3d_0         ),
2401        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig0,  -1, UNKNOWN        ),
2402        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig1,  -1, UNKNOWN        ),
2403        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig0,  -1, UNKNOWN        ),
2404        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig1,  -1, UNKNOWN        ),
2405        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig0,  -1, UNKNOWN        ),
2406        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig1,  -1, UNKNOWN        ),
2407        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig0,  -1, UNKNOWN        ),
2408        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig1,  -1, UNKNOWN        ),
2409        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig0,  -1, UNKNOWN        ),
2410        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig1,  -1, UNKNOWN        ),
2411        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig0,  -1, UNKNOWN        ),
2412        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig1,  -1, UNKNOWN        ),
2413
2414#elif (BCHP_CHIP==7468)
2415
2416        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig0,    0, cap_0_trig_0   ),
2417        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig1,    1, cap_0_trig_1   ),
2418        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig0,    2, cap_1_trig_0   ),
2419        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig1,    3, cap_1_trig_1   ),
2420        BRDC_P_MAKE_TRIG_INFO_NULL(eCap2Trig0,   -1, UNKNOWN        ),
2421        BRDC_P_MAKE_TRIG_INFO_NULL(eCap2Trig1,   -1, UNKNOWN        ),
2422        BRDC_P_MAKE_TRIG_INFO_NULL(eCap3Trig0,   -1, UNKNOWN        ),
2423        BRDC_P_MAKE_TRIG_INFO_NULL(eCap3Trig1,   -1, UNKNOWN        ),
2424        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig0,   -1, UNKNOWN        ),
2425        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig1,   -1, UNKNOWN        ),
2426        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig0,   -1, UNKNOWN        ),
2427        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig1,   -1, UNKNOWN        ),
2428        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig0,    8, prim_vec_trig_0),
2429        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig1,    9, prim_vec_trig_1),
2430        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig2,   -1, UNKNOWN        ),
2431        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig3,   -1, UNKNOWN        ),
2432        BRDC_P_MAKE_TRIG_INFO_NORM(eVec1Trig0,   10, sec_vec_trig_0 ),
2433        BRDC_P_MAKE_TRIG_INFO_NORM(eVec1Trig1,   11, sec_vec_trig_1 ),
2434        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig2,   -1, UNKNOWN        ),
2435        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig3,   -1, UNKNOWN        ),
2436        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig0,   -1, UNKNOWN        ),
2437        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig1,   -1, UNKNOWN        ),
2438        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig2,   -1, UNKNOWN        ),
2439        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig3,   -1, UNKNOWN        ),
2440        BRDC_P_MAKE_TRIG_INFO_NULL(eDtgTrig0,    -1, UNKNOWN        ),
2441        BRDC_P_MAKE_TRIG_INFO_NULL(eDtgTrig1,    -1, UNKNOWN        ),
2442        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig0,   -1, UNKNOWN        ),
2443        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig1,   -1, UNKNOWN        ),
2444        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec0Trig0,  -1, UNKNOWN        ),
2445        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec0Trig1,  -1, UNKNOWN        ),
2446        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig0,  -1, UNKNOWN        ),
2447        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig1,  -1, UNKNOWN        ),
2448        BRDC_P_MAKE_TRIG_INFO_NULL(e6560Trig0,   -1, UNKNOWN        ),
2449        BRDC_P_MAKE_TRIG_INFO_NULL(e6560Trig1,   -1, UNKNOWN        ),
2450        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig0,   -1, UNKNOWN        ),
2451        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig1,   -1, UNKNOWN        ),
2452        BRDC_P_MAKE_TRIG_INFO_NORM(eM2mc0Trig,   20, m2mc_trig_0    ),
2453        BRDC_P_MAKE_TRIG_INFO_NULL(eM2mc1Trig,   -1, UNKNOWN        ),
2454        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi0Trig0, -1, UNKNOWN        ),
2455        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi0Trig1, -1, UNKNOWN        ),
2456        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi1Trig0, -1, UNKNOWN        ),
2457        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi1Trig1, -1, UNKNOWN        ),
2458        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig0,   -1, UNKNOWN        ),
2459        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig1,   -1, UNKNOWN        ),
2460        BRDC_P_MAKE_TRIG_INFO_NORM(eLboxTrig0,   25, letterbox_0    ),
2461        BRDC_P_MAKE_TRIG_INFO_NULL(eLboxTrig1,   -1, UNKNOWN        ),
2462        BRDC_P_MAKE_TRIG_INFO_NORM(eDvoTrig0,    14, hd_dvi_out_0   ),
2463        BRDC_P_MAKE_TRIG_INFO_NORM(eDvoTrig1,    15, hd_dvi_out_1   ),
2464        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig2,    -1, UNKNOWN        ),
2465        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig3,    -1, UNKNOWN        ),
2466        BRDC_P_MAKE_TRIG_INFO_NORM(eMfd0Eof,     29, mfd_0_eof      ),
2467        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd1Eof,     -1, UNKNOWN        ),
2468        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd2Eof,     -1, UNKNOWN        ),
2469        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd3Eof,     -1, UNKNOWN        ),
2470        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig0,   -1, UNKNOWN        ),
2471        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig1,   -1, UNKNOWN        ),
2472        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig0,   -1, UNKNOWN        ),
2473        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig1,   -1, UNKNOWN        ),
2474        BRDC_P_MAKE_TRIG_INFO_NULL(eDgp0Trig0,   -1, UNKNOWN        ),
2475        BRDC_P_MAKE_TRIG_INFO_NORM(ePx3d0Trig0,  31, px3d_0         ),
2476        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig0,  -1, UNKNOWN        ),
2477        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig1,  -1, UNKNOWN        ),
2478        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig0,  -1, UNKNOWN        ),
2479        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig1,  -1, UNKNOWN        ),
2480        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig0,  -1, UNKNOWN        ),
2481        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig1,  -1, UNKNOWN        ),
2482        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig0,  -1, UNKNOWN        ),
2483        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig1,  -1, UNKNOWN        ),
2484        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig0,  -1, UNKNOWN        ),
2485        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig1,  -1, UNKNOWN        ),
2486        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig0,  -1, UNKNOWN        ),
2487        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig1,  -1, UNKNOWN        ),
2488
2489#elif (BCHP_CHIP==7408)
2490
2491        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig0,    0, cap_0_trig_0   ),
2492        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig1,    1, cap_0_trig_1   ),
2493        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig0,    2, cap_1_trig_0   ),
2494        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig1,    3, cap_1_trig_1   ),
2495        BRDC_P_MAKE_TRIG_INFO_NULL(eCap2Trig0,   -1, UNKNOWN        ),
2496        BRDC_P_MAKE_TRIG_INFO_NULL(eCap2Trig1,   -1, UNKNOWN        ),
2497        BRDC_P_MAKE_TRIG_INFO_NULL(eCap3Trig0,   -1, UNKNOWN        ),
2498        BRDC_P_MAKE_TRIG_INFO_NULL(eCap3Trig1,   -1, UNKNOWN        ),
2499        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig0,   -1, UNKNOWN        ),
2500        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig1,   -1, UNKNOWN        ),
2501        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig0,   -1, UNKNOWN        ),
2502        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig1,   -1, UNKNOWN        ),
2503        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig0,    8, prim_vec_trig_0),
2504        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig1,    9, prim_vec_trig_1),
2505        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig2,   -1, UNKNOWN        ),
2506        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig3,   -1, UNKNOWN        ),
2507        BRDC_P_MAKE_TRIG_INFO_NORM(eVec1Trig0,   10, sec_vec_trig_0 ),
2508        BRDC_P_MAKE_TRIG_INFO_NORM(eVec1Trig1,   11, sec_vec_trig_1 ),
2509        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig2,   -1, UNKNOWN        ),
2510        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig3,   -1, UNKNOWN        ),
2511        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig0,   -1, UNKNOWN        ),
2512        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig1,   -1, UNKNOWN        ),
2513        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig2,   -1, UNKNOWN        ),
2514        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig3,   -1, UNKNOWN        ),
2515        BRDC_P_MAKE_TRIG_INFO_NULL(eDtgTrig0,    -1, UNKNOWN        ),
2516        BRDC_P_MAKE_TRIG_INFO_NULL(eDtgTrig1,    -1, UNKNOWN        ),
2517        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig0,   -1, UNKNOWN        ),
2518        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig1,   -1, UNKNOWN        ),
2519        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec0Trig0,  -1, UNKNOWN        ),
2520        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec0Trig1,  -1, UNKNOWN        ),
2521        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig0,  -1, UNKNOWN        ),
2522        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig1,  -1, UNKNOWN        ),
2523        BRDC_P_MAKE_TRIG_INFO_NULL(e6560Trig0,   -1, UNKNOWN        ),
2524        BRDC_P_MAKE_TRIG_INFO_NULL(e6560Trig1,   -1, UNKNOWN        ),
2525        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig0,   -1, UNKNOWN        ),
2526        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig1,   -1, UNKNOWN        ),
2527        BRDC_P_MAKE_TRIG_INFO_NORM(eM2mc0Trig,   20, m2mc_trig_0    ),
2528        BRDC_P_MAKE_TRIG_INFO_NULL(eM2mc1Trig,   -1, UNKNOWN        ),
2529        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi0Trig0, -1, UNKNOWN        ),
2530        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi0Trig1, -1, UNKNOWN        ),
2531        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi1Trig0, -1, UNKNOWN        ),
2532        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi1Trig1, -1, UNKNOWN        ),
2533        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig0,   -1, UNKNOWN        ),
2534        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig1,   -1, UNKNOWN        ),
2535        BRDC_P_MAKE_TRIG_INFO_NORM(eLboxTrig0,   25, letterbox_0    ),
2536        BRDC_P_MAKE_TRIG_INFO_NULL(eLboxTrig1,   -1, UNKNOWN        ),
2537        BRDC_P_MAKE_TRIG_INFO_NORM(eDvoTrig0,    14, hd_dvi_out_0   ),
2538        BRDC_P_MAKE_TRIG_INFO_NORM(eDvoTrig1,    15, hd_dvi_out_1   ),
2539        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig2,    -1, UNKNOWN        ),
2540        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig3,    -1, UNKNOWN        ),
2541        BRDC_P_MAKE_TRIG_INFO_NORM(eMfd0Eof,     29, mfd_0_eof      ),
2542        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd1Eof,     -1, UNKNOWN        ),
2543        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd2Eof,     -1, UNKNOWN        ),
2544        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd3Eof,     -1, UNKNOWN        ),
2545        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig0,   -1, UNKNOWN        ),
2546        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig1,   -1, UNKNOWN        ),
2547        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig0,   -1, UNKNOWN        ),
2548        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig1,   -1, UNKNOWN        ),
2549        BRDC_P_MAKE_TRIG_INFO_NULL(eDgp0Trig0,   -1, UNKNOWN        ),
2550        BRDC_P_MAKE_TRIG_INFO_NORM(ePx3d0Trig0,  31, px3d_0         ),
2551        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig0,  -1, UNKNOWN        ),
2552        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig1,  -1, UNKNOWN        ),
2553        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig0,  -1, UNKNOWN        ),
2554        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig1,  -1, UNKNOWN        ),
2555        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig0,  -1, UNKNOWN        ),
2556        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig1,  -1, UNKNOWN        ),
2557        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig0,  -1, UNKNOWN        ),
2558        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig1,  -1, UNKNOWN        ),
2559        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig0,  -1, UNKNOWN        ),
2560        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig1,  -1, UNKNOWN        ),
2561        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig0,  -1, UNKNOWN        ),
2562        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig1,  -1, UNKNOWN        ),
2563
2564#elif (BCHP_CHIP==7640)
2565
2566        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig0,    0, cap_0_trig_0   ),
2567        BRDC_P_MAKE_TRIG_INFO_NORM(eCap0Trig1,    1, cap_0_trig_1   ),
2568        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig0,    2, cap_1_trig_0   ),
2569        BRDC_P_MAKE_TRIG_INFO_NORM(eCap1Trig1,    3, cap_1_trig_1   ),
2570        BRDC_P_MAKE_TRIG_INFO_NORM(eCap2Trig0,    4, cap_2_trig_0   ),
2571        BRDC_P_MAKE_TRIG_INFO_NORM(eCap2Trig1,    5, cap_2_trig_1   ),
2572        BRDC_P_MAKE_TRIG_INFO_NULL(eCap3Trig0,   -1, UNKNOWN        ),
2573        BRDC_P_MAKE_TRIG_INFO_NULL(eCap3Trig1,   -1, UNKNOWN        ),
2574        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig0,   -1, UNKNOWN        ),
2575        BRDC_P_MAKE_TRIG_INFO_NULL(eCap4Trig1,   -1, UNKNOWN        ),
2576        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig0,   -1, UNKNOWN        ),
2577        BRDC_P_MAKE_TRIG_INFO_NULL(eCap5Trig1,   -1, UNKNOWN        ),
2578        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig0,    8, prim_vec_trig_0),
2579        BRDC_P_MAKE_TRIG_INFO_NORM(eVec0Trig1,    9, prim_vec_trig_1),
2580        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig2,   -1, UNKNOWN        ),
2581        BRDC_P_MAKE_TRIG_INFO_NULL(eVec0Trig3,   -1, UNKNOWN        ),
2582        BRDC_P_MAKE_TRIG_INFO_NORM(eVec1Trig0,   10, sec_vec_trig_0 ),
2583        BRDC_P_MAKE_TRIG_INFO_NORM(eVec1Trig1,   11, sec_vec_trig_1 ),
2584        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig2,   -1, UNKNOWN        ),
2585        BRDC_P_MAKE_TRIG_INFO_NULL(eVec1Trig3,   -1, UNKNOWN        ),
2586        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig0,   -1, UNKNOWN        ),
2587        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig1,   -1, UNKNOWN        ),
2588        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig2,   -1, UNKNOWN        ),
2589        BRDC_P_MAKE_TRIG_INFO_NULL(eVec2Trig3,   -1, UNKNOWN        ),
2590        BRDC_P_MAKE_TRIG_INFO_NULL(eDtgTrig0,    -1, UNKNOWN        ),
2591        BRDC_P_MAKE_TRIG_INFO_NULL(eDtgTrig1,    -1, UNKNOWN        ),
2592        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig0,   -1, UNKNOWN        ),
2593        BRDC_P_MAKE_TRIG_INFO_NULL(eDtg1Trig1,   -1, UNKNOWN        ),
2594        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec0Trig0,  -1, UNKNOWN        ),
2595        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec0Trig1,  -1, UNKNOWN        ),
2596        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig0,  -1, UNKNOWN        ),
2597        BRDC_P_MAKE_TRIG_INFO_NULL(eVdec1Trig1,  -1, UNKNOWN        ),
2598        BRDC_P_MAKE_TRIG_INFO_NORM(e6560Trig0,   18, itu_r656_0_0   ),
2599        BRDC_P_MAKE_TRIG_INFO_NORM(e6560Trig1,   19, itu_r656_0_1   ),
2600        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig0,   -1, UNKNOWN        ),
2601        BRDC_P_MAKE_TRIG_INFO_NULL(e6561Trig1,   -1, UNKNOWN        ),
2602        BRDC_P_MAKE_TRIG_INFO_NORM(eM2mc0Trig,   20, m2mc_trig      ),
2603        BRDC_P_MAKE_TRIG_INFO_NORM(eM2mc1Trig,   31, m2mc_1_trig    ),
2604        BRDC_P_MAKE_TRIG_INFO_NORM(eHdDvi0Trig0, 21, hd_dvi_0_trig_0),
2605        BRDC_P_MAKE_TRIG_INFO_NORM(eHdDvi0Trig1, 22, hd_dvi_0_trig_1),
2606        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi1Trig0, -1, UNKNOWN        ),
2607        BRDC_P_MAKE_TRIG_INFO_NULL(eHdDvi1Trig1, -1, UNKNOWN        ),
2608        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig0,   -1, UNKNOWN        ),
2609        BRDC_P_MAKE_TRIG_INFO_NULL(eStg0Trig1,   -1, UNKNOWN        ),
2610        BRDC_P_MAKE_TRIG_INFO_NULL(eLboxTrig0,   -1, UNKNOWN        ),
2611        BRDC_P_MAKE_TRIG_INFO_NULL(eLboxTrig1,   -1, UNKNOWN        ),
2612        BRDC_P_MAKE_TRIG_INFO_NORM(eDvoTrig0,    27, dvo_trig_0     ),
2613        BRDC_P_MAKE_TRIG_INFO_NORM(eDvoTrig1,    28, dvo_trig_1     ),
2614        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig2,    -1, UNKNOWN        ),
2615        BRDC_P_MAKE_TRIG_INFO_NULL(eDvoTrig3,    -1, UNKNOWN        ),
2616        BRDC_P_MAKE_TRIG_INFO_NORM(eMfd0Eof,     29, mfd_0_eof      ),
2617        BRDC_P_MAKE_TRIG_INFO_NORM(eMfd1Eof,     30, mfd_1_eof      ),
2618        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd2Eof,     -1, UNKNOWN        ),
2619        BRDC_P_MAKE_TRIG_INFO_NULL(eMfd3Eof,     -1, UNKNOWN        ),
2620        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig0,   -1, UNKNOWN        ),
2621        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr0Trig1,   -1, UNKNOWN        ),
2622        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig0,   -1, UNKNOWN        ),
2623        BRDC_P_MAKE_TRIG_INFO_NULL(eAnr1Trig1,   -1, UNKNOWN        ),
2624        BRDC_P_MAKE_TRIG_INFO_NULL(eDgp0Trig0,   -1, UNKNOWN        ),
2625        BRDC_P_MAKE_TRIG_INFO_NULL(ePx3d0Trig0,  -1, UNKNOWN        ),
2626        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig0,  -1, UNKNOWN        ),
2627        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_0Trig1,  -1, UNKNOWN        ),
2628        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig0,  -1, UNKNOWN        ),
2629        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_1Trig1,  -1, UNKNOWN        ),
2630        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig0,  -1, UNKNOWN        ),
2631        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_2Trig1,  -1, UNKNOWN        ),
2632        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig0,  -1, UNKNOWN        ),
2633        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_3Trig1,  -1, UNKNOWN        ),
2634        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig0,  -1, UNKNOWN        ),
2635        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_4Trig1,  -1, UNKNOWN        ),
2636        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig0,  -1, UNKNOWN        ),
2637        BRDC_P_MAKE_TRIG_INFO_NULL(eCmp_5Trig1,  -1, UNKNOWN        ),
2638
2639#else
2640#error "Port reqired for RDC."
2641#endif
2642
2643        /* Common to all chips then put here. */
2644        BRDC_P_MAKE_TRIG_INFO_COMB(eComboTrig0,  -1, comb_trig_0    ),
2645        BRDC_P_MAKE_TRIG_INFO_COMB(eComboTrig1,  -1, comb_trig_1    ),
2646        BRDC_P_MAKE_TRIG_INFO_COMB(eComboTrig2,  -1, comb_trig_2    ),
2647        BRDC_P_MAKE_TRIG_INFO_COMB(eComboTrig3,  -1, comb_trig_3    ),
2648        BRDC_P_MAKE_TRIG_INFO_NULL(UNKNOWN,      -1, UNKNOWN        )
2649};
2650
2651/* Count to make we have enough entries. */
2652#define BRDC_P_SLOT_COUNT \
2653        (sizeof(s_aRdcSlotInfo) / sizeof(BRDC_P_SlotInfo))
2654
2655/* Count to make we have enough entries. */
2656#define BRDC_P_TRIGGER_COUNT \
2657        (sizeof(s_aRdcTrigInfo) / sizeof(BRDC_TrigInfo))
2658
2659#ifdef IKOS_EMULATION
2660extern int timeout_ns(uint32_t size);    /* in ikos_main.c */
2661#endif
2662
2663/***************************************************************************
2664 *
2665 */
2666BERR_Code BRDC_GetDefaultSettings
2667        ( BCHP_Handle                      hChp,
2668          BRDC_Settings                   *pRdcSettings )
2669{
2670        BDBG_ENTER(BRDC_GetDefaultSettings);
2671
2672        BSTD_UNUSED(hChp); /* hush warnings */
2673        BKNI_Memset(pRdcSettings, 0, sizeof(BRDC_Settings));
2674
2675        BDBG_LEAVE(BRDC_GetDefaultSettings);
2676        return BERR_SUCCESS ;
2677}
2678
2679/***************************************************************************
2680 *
2681 */
2682BERR_Code BRDC_Open
2683        ( BRDC_Handle                     *phRdc,
2684          BCHP_Handle                      hChp,
2685          BREG_Handle                      hReg,
2686          BMEM_Handle                      hMem,
2687          const BRDC_Settings             *pRdcSettings )
2688{
2689        uint32_t i;
2690        BRDC_Handle    hRdc = NULL;
2691        BERR_Code      err = BERR_SUCCESS;
2692        int            eSlotId;
2693
2694        BDBG_ENTER(BRDC_Open);
2695
2696        /* Check input parameters */
2697        BDBG_ASSERT(hChp);
2698        BDBG_ASSERT(hReg);
2699        BDBG_ASSERT(hMem);
2700
2701        /* Make sure the lookup table is correct size. */
2702        if((BRDC_P_TRIGGER_COUNT != (BRDC_Trigger_UNKNOWN+1)) ||
2703           (BRDC_P_SLOT_COUNT != (BRDC_SlotId_eSlotMAX+1)))
2704        {
2705                BDBG_ERR(( "Table ill-constructed s_aRdcTrigInfo!" ));
2706                return BERR_TRACE(BERR_INVALID_PARAMETER);
2707        }
2708
2709        /* Matched the enum order! */
2710        for(i = 0; i < BRDC_P_TRIGGER_COUNT; i++)
2711        {
2712                if(i != s_aRdcTrigInfo[i].eTrigger)
2713                {
2714                        BDBG_WRN(("Bad trigger info constructed for: %s",
2715                                s_aRdcTrigInfo[i].pchTrigName));
2716                        break;
2717                }
2718
2719                if(BRDC_P_TRIGGER_UNKNOWN_VAL != s_aRdcTrigInfo[i].ulTrigVal)
2720                {
2721                        BDBG_MSG(("%15s = %d", s_aRdcTrigInfo[i].pchTrigName,
2722                                s_aRdcTrigInfo[i].ulTrigVal));
2723                }
2724                else
2725                {
2726                        BDBG_MSG(("%15s = %d (n/a)", s_aRdcTrigInfo[i].pchTrigName,
2727                                s_aRdcTrigInfo[i].ulTrigVal));
2728                }
2729        }
2730
2731        /* Create RDC handle */
2732        hRdc = (BRDC_Handle)BKNI_Malloc(sizeof(BRDC_P_Handle));
2733        if( !hRdc )
2734        {
2735                BDBG_ERR(( "Out of System Memory" ));
2736                return BERR_TRACE(BERR_OUT_OF_SYSTEM_MEMORY);
2737        }
2738
2739        /* Initialize context of RDC handle */
2740        BKNI_Memset((void*)hRdc, 0x0, sizeof(BRDC_P_Handle));
2741        BDBG_OBJECT_SET(hRdc, BRDC_RDC);
2742
2743        /* Copy the Settings if non NULL */
2744        if(pRdcSettings)
2745        {
2746                hRdc->stRdcSettings = *pRdcSettings;
2747        }
2748
2749        /* Initialize slots */
2750        for( eSlotId = BRDC_SlotId_eSlot0; eSlotId < BRDC_SlotId_eSlotMAX; eSlotId++ )
2751        {
2752                hRdc->bSlotUsed[eSlotId] = false;
2753                hRdc->apSlot[eSlotId]    = NULL;
2754        }
2755
2756        /* Update RDC */
2757        hRdc->hReg = hReg;
2758        hRdc->hChp = hChp;
2759        hRdc->hMem = hMem;
2760        hRdc->aTrigInfo = s_aRdcTrigInfo;
2761
2762        /* RDC requires power to BVN */
2763#ifdef BCHP_PWR_RESOURCE_BVN
2764        BCHP_PWR_AcquireResource(hRdc->hChp, BCHP_PWR_RESOURCE_BVN);
2765#endif
2766        err = BRDC_P_SoftReset(hRdc);
2767        if (err != BERR_SUCCESS)
2768        {
2769                goto error;
2770        }
2771
2772        /* RDMA Block-out */
2773        err = BRDC_P_RdcBlockOutInit(hRdc);
2774        if (err != BERR_SUCCESS)
2775        {
2776                goto error;
2777        }
2778
2779#ifdef BRDC_USE_CAPTURE_BUFFER
2780        err = BRDC_DBG_CreateCaptureBuffer(&hRdc->captureBuffer, BRDC_P_MAX_COUNT);
2781        if (err != BERR_SUCCESS)
2782        {
2783                goto error;
2784        }
2785#endif
2786
2787        *phRdc = hRdc;
2788
2789        BDBG_MSG(("slots=%d, start=%d, end=%d, avail=%d",
2790                BRDC_P_NUM_OF_SLOTS,
2791                BRDC_P_SCRATCH_REG_START,
2792                BRDC_P_SCRATCH_REG_END,
2793                BRDC_P_SCRATCH_FIRST_AVAILABLE));
2794
2795        BDBG_LEAVE(BRDC_Open);
2796        return err;
2797
2798error:
2799#ifdef BCHP_PWR_RESOURCE_BVN
2800        /* a failed open releases power */
2801        BCHP_PWR_ReleaseResource(hRdc->hChp, BCHP_PWR_RESOURCE_BVN);
2802#endif
2803        BDBG_OBJECT_DESTROY(hRdc, BRDC_RDC);
2804        BKNI_Free(hRdc);
2805
2806        return err;
2807}
2808
2809/***************************************************************************
2810 *
2811 */
2812BERR_Code BRDC_Close
2813        ( BRDC_Handle                      hRdc )
2814{
2815        int       eSlotId;
2816        BERR_Code err = BERR_SUCCESS;
2817
2818        BDBG_ENTER(BRDC_Close);
2819
2820        BDBG_OBJECT_ASSERT(hRdc, BRDC_RDC);
2821
2822        /* Check if all slots are freed */
2823        for( eSlotId = BRDC_SlotId_eSlot0; eSlotId < BRDC_SlotId_eSlotMAX; eSlotId++ )
2824        {
2825                if( hRdc->bSlotUsed[eSlotId] || (hRdc->apSlot[eSlotId] != NULL) )
2826                {
2827                        BDBG_ERR(( "Leaked Resource: Slot %d is not free", eSlotId ));
2828                        err = BERR_TRACE(BERR_LEAKED_RESOURCE);
2829                        goto done;
2830                }
2831        }
2832
2833        /* Close related RDMA block-out objects */
2834        err = BRDC_P_RdcBlockOutDestroy(hRdc);
2835        if (err != BERR_SUCCESS)
2836        {
2837                goto done;
2838        }
2839
2840#ifdef BRDC_USE_CAPTURE_BUFFER
2841        BRDC_DBG_DestroyCaptureBuffer(&hRdc->captureBuffer);
2842#endif
2843
2844#ifdef BCHP_PWR_RESOURCE_BVN
2845        BCHP_PWR_ReleaseResource(hRdc->hChp, BCHP_PWR_RESOURCE_BVN);
2846#endif
2847        BDBG_OBJECT_DESTROY(hRdc, BRDC_RDC);
2848        BKNI_Free(hRdc);
2849
2850done:
2851        BDBG_LEAVE(BRDC_Close);
2852        return err;
2853}
2854
2855/***************************************************************************
2856 *
2857 */
2858BERR_Code BRDC_Standby
2859        ( BRDC_Handle                      hRdc,
2860          const BRDC_StandbySettings      *pSettings )
2861{
2862        BDBG_OBJECT_ASSERT(hRdc, BRDC_RDC);
2863
2864        /* nothing to check here */
2865        BSTD_UNUSED(pSettings);
2866#ifdef BCHP_PWR_RESOURCE_BVN
2867        BCHP_PWR_ReleaseResource(hRdc->hChp, BCHP_PWR_RESOURCE_BVN);
2868#endif
2869        return BERR_SUCCESS;
2870}
2871
2872/***************************************************************************
2873 *
2874 */
2875BERR_Code BRDC_Resume
2876        ( BRDC_Handle                      hRdc )
2877{
2878        BDBG_OBJECT_ASSERT(hRdc, BRDC_RDC);
2879#ifdef BCHP_PWR_RESOURCE_BVN
2880        BCHP_PWR_AcquireResource(hRdc->hChp, BCHP_PWR_RESOURCE_BVN);
2881#endif
2882        return BERR_SUCCESS;
2883}
2884
2885/***************************************************************************
2886 *
2887 */
2888uint32_t BRDC_AllocScratchReg
2889        ( BRDC_Handle                      hRdc )
2890{
2891        uint32_t ulIndex;
2892        uint32_t ulReg = 0;
2893
2894        BDBG_ENTER(BRDC_AllocScratchReg);
2895
2896        BDBG_OBJECT_ASSERT(hRdc, BRDC_RDC);
2897
2898        BKNI_EnterCriticalSection();
2899        for(ulIndex = 0; ulIndex <= BRDC_P_SCRATCH_REG_END - BRDC_P_SCRATCH_FIRST_AVAILABLE; ulIndex++)
2900        {
2901                if(!hRdc->abScratchRegUsed[ulIndex])
2902                {
2903                        hRdc->abScratchRegUsed[ulIndex] = true;
2904                        ulReg = BRDC_P_SCRATCH_REG_ADDR(ulIndex + BRDC_P_SCRATCH_FIRST_AVAILABLE);
2905                        break;
2906                }
2907        }
2908        BKNI_LeaveCriticalSection();
2909
2910        BDBG_LEAVE(BRDC_AllocScratchReg);
2911        return ulReg;
2912}
2913
2914/***************************************************************************
2915 *
2916 */
2917BERR_Code BRDC_FreeScratchReg
2918        ( BRDC_Handle                         hRdc,
2919          uint32_t                            ulReg )
2920{
2921        uint32_t ulIndex;
2922        BERR_Code err = BERR_SUCCESS;
2923        BDBG_ENTER(BRDC_FreeScratchReg);
2924
2925        BDBG_OBJECT_ASSERT(hRdc, BRDC_RDC);
2926
2927        if((ulReg > BRDC_P_SCRATCH_REG_ADDR(BRDC_P_SCRATCH_REG_END)) ||
2928           (ulReg < BRDC_P_SCRATCH_REG_ADDR(BRDC_P_SCRATCH_FIRST_AVAILABLE)))
2929        {
2930                BDBG_ERR(( "Invalid parameter" ));
2931                return BERR_TRACE(BERR_INVALID_PARAMETER);
2932        }
2933
2934        ulIndex = (ulReg - BRDC_P_SCRATCH_REG_ADDR(BRDC_P_SCRATCH_FIRST_AVAILABLE)) / sizeof(uint32_t);
2935        BKNI_EnterCriticalSection();
2936        if(hRdc->abScratchRegUsed[ulIndex])
2937        {
2938                hRdc->abScratchRegUsed[ulIndex] = false;
2939        }
2940        else
2941        {
2942                BDBG_ERR(( "Scratch register 0x%x is not in use!", ulReg ));
2943                err = BERR_INVALID_PARAMETER;
2944        }
2945        BKNI_LeaveCriticalSection();
2946
2947        BDBG_LEAVE(BRDC_FreeScratchReg);
2948        return err;
2949}
2950
2951/***************************************************************************
2952 *
2953 */
2954BERR_Code BRDC_EnableSameTrigger_isr
2955        ( BRDC_Handle                      hRdc,
2956          bool                             bEnable )
2957{
2958        uint32_t          ulRegVal;
2959        BERR_Code         err = BERR_SUCCESS;
2960
2961        BDBG_ENTER(BRDC_EnableSameTrigger_isr);
2962
2963        BDBG_OBJECT_ASSERT(hRdc, BRDC_RDC);
2964
2965#if (!BRDC_P_SUPPORT_SEGMENTED_RUL)
2966        ulRegVal = BRDC_P_Read32(hRdc, BCHP_RDC_config);
2967        ulRegVal &= ~BCHP_MASK(RDC_config, same_trigger);
2968        ulRegVal |= BCHP_FIELD_DATA(RDC_config, same_trigger, bEnable);
2969        BRDC_P_Write32(hRdc, BCHP_RDC_config, ulRegVal);
2970#else
2971        BSTD_UNUSED(err);
2972        BSTD_UNUSED(bEnable);
2973        BSTD_UNUSED(ulRegVal);
2974#endif
2975
2976        BDBG_LEAVE(BRDC_EnableSameTrigger_isr);
2977        return err;
2978
2979}
2980
2981/***************************************************************************
2982 *
2983 */
2984BERR_Code BRDC_SetComboTrigMode_isr
2985        ( BRDC_Handle                      hRdc,
2986          BRDC_Trigger                     eComboTrig,
2987          BRDC_ComboTrigMode               eMode )
2988{
2989        uint32_t          ulRegVal;
2990        uint32_t          ulBitShift;
2991        uint32_t          ulBitMask = 0;
2992        BERR_Code         err = BERR_SUCCESS;
2993
2994        BDBG_ENTER(BRDC_SetComboTrigMode_isr);
2995
2996        BDBG_OBJECT_ASSERT(hRdc, BRDC_RDC);
2997
2998        if((eComboTrig < BRDC_Trigger_eComboTrig0) ||
2999           (eComboTrig > BRDC_Trigger_eComboTrig3))
3000        {
3001                BDBG_ERR(( "Invalid parameter" ));
3002                return BERR_TRACE(BERR_INVALID_PARAMETER);
3003        }
3004
3005        ulBitShift = BCHP_SHIFT(RDC_config, trig_combine_mode) +
3006                eComboTrig - BRDC_Trigger_eComboTrig0;
3007        ulBitMask = 1 << ulBitShift;
3008
3009        ulRegVal = BRDC_P_Read32(hRdc, BCHP_RDC_config);
3010        ulRegVal &= ~ulBitMask;
3011
3012        ulBitMask = eMode << ulBitShift;
3013        ulRegVal |= ulBitMask;
3014        BRDC_P_Write32(hRdc, BCHP_RDC_config, ulRegVal);
3015
3016        BDBG_LEAVE(BRDC_SetComboTrigMode_isr);
3017        return err;
3018
3019}
3020
3021/***************************************************************************
3022 *
3023 */
3024BERR_Code BRDC_SetComboTriggers_isr
3025        ( BRDC_Handle                      hRdc,
3026          BRDC_Trigger                     eComboTrig,
3027          uint32_t                         ulTriggersMask )
3028{
3029        uint32_t          ulRegVal;
3030        BERR_Code         err = BERR_SUCCESS;
3031
3032        BDBG_ENTER(BRDC_SetComboTriggers_isr);
3033
3034        BDBG_OBJECT_ASSERT(hRdc, BRDC_RDC);
3035
3036        if((eComboTrig < BRDC_Trigger_eComboTrig0) ||
3037           (eComboTrig > BRDC_Trigger_eComboTrig3))
3038        {
3039                BDBG_ERR(( "Invalid parameter" ));
3040                return BERR_TRACE(BERR_INVALID_PARAMETER);
3041        }
3042
3043        ulRegVal = BCHP_FIELD_DATA(RDC_comb_mask_0, mask, ulTriggersMask);
3044        BRDC_P_Write32(hRdc, BCHP_RDC_comb_mask_0 +
3045                (eComboTrig - BRDC_Trigger_eComboTrig0) * (BCHP_RDC_comb_mask_1 - BCHP_RDC_comb_mask_0),
3046                ulRegVal);
3047
3048        BDBG_LEAVE(BRDC_SetComboTriggers_isr);
3049        return err;
3050
3051}
3052
3053
3054/***************************************************************************
3055 *
3056 */
3057BERR_Code BRDC_SetRdcBlockOut
3058        ( BRDC_Handle                      hRdc,
3059          const BRDC_BlockOut             *pstBlockOut,
3060          uint32_t                         ulRegBlock )
3061{
3062        BERR_Code err = BERR_SUCCESS;
3063
3064        BDBG_ENTER(BRDC_SetRdcBlockOut);
3065
3066        BDBG_ASSERT(pstBlockOut);
3067        BDBG_OBJECT_ASSERT(hRdc, BRDC_RDC);
3068
3069        /* Check if registers are valid */
3070        err = BRDC_P_ValidateBlockOutRegisters(pstBlockOut, ulRegBlock);
3071        if (err != BERR_SUCCESS)
3072        {
3073                return err;
3074        }
3075        else
3076        {
3077                BKNI_EnterCriticalSection();
3078
3079                /* Disable current blockout */
3080                hRdc->bRdcBlockOutEnabled = false;
3081
3082                /* Store blockout info */
3083                BKNI_Memcpy((void *)&hRdc->astBlockOut[ulRegBlock], (void *)pstBlockOut, sizeof(BRDC_BlockOut));
3084
3085                hRdc->bRdcBlockOutEnabled = true;
3086
3087#ifdef BCHP_RDC_br_0_start_addr
3088                {
3089                        uint32_t ulOffset = (BCHP_RDC_br_1_start_addr - BCHP_RDC_br_0_start_addr) * ulRegBlock;
3090                        BRDC_P_Write32(hRdc, BCHP_RDC_br_0_start_addr + ulOffset, BRDC_REGISTER(pstBlockOut->ulStartRegAddr));
3091                        BRDC_P_Write32(hRdc, BCHP_RDC_br_0_end_addr + ulOffset, BRDC_REGISTER(pstBlockOut->ulStartRegAddr + (pstBlockOut->ulBlockSize - 1) * sizeof(uint32_t)));
3092                        BRDC_P_Write32(hRdc, BCHP_RDC_br_0_enable + ulOffset, pstBlockOut->bEnable);
3093                }
3094#endif
3095
3096                BKNI_LeaveCriticalSection();
3097        }
3098
3099        BDBG_LEAVE(BRDC_SetRdcBlockOut);
3100        return err;
3101}
3102
3103/***************************************************************************
3104 *
3105 */
3106BERR_Code BRDC_GetRdcBlockOut
3107        ( BRDC_Handle                      hRdc,
3108          BRDC_BlockOut                   *pstBlockOut,
3109          uint32_t                         ulRegBlock )
3110{
3111        BERR_Code err = BERR_SUCCESS;
3112
3113        BDBG_ENTER(BRDC_GetRdcBlockOut);
3114
3115        BDBG_ASSERT(pstBlockOut);
3116        BDBG_OBJECT_ASSERT(hRdc, BRDC_RDC);
3117
3118        BKNI_Memcpy((void *)pstBlockOut, (void *)&hRdc->astBlockOut[ulRegBlock], sizeof(BRDC_BlockOut));
3119
3120        BDBG_LEAVE(BRDC_GetRdcBlockOut);
3121        return err;
3122}
3123
3124/***************************************************************************
3125 *
3126 */
3127BERR_Code BRDC_Trigger_Execute_isr
3128        ( BRDC_Handle                      hRdc,
3129          BRDC_Trigger                     eRDCTrigger )
3130{
3131        uint32_t          ulRegVal;
3132        BERR_Code         err = BERR_SUCCESS;
3133
3134        BDBG_ENTER(BRDC_Trigger_Execute_isr);
3135
3136        BDBG_OBJECT_ASSERT(hRdc, BRDC_RDC);
3137
3138        if(eRDCTrigger == BRDC_Trigger_UNKNOWN)
3139        {
3140                BDBG_ERR(( "Invalid parameter" ));
3141                return BERR_TRACE(BERR_INVALID_PARAMETER);
3142        }
3143
3144        ulRegVal = BRDC_P_Read32(hRdc, BCHP_RDC_force_trigger);
3145        ulRegVal &= ~BCHP_MASK(RDC_force_trigger, trigger_index);
3146        ulRegVal |= BCHP_FIELD_DATA(RDC_force_trigger, trigger_index, hRdc->aTrigInfo[eRDCTrigger].ulTrigVal);
3147        BRDC_P_Write32(hRdc, BCHP_RDC_force_trigger, ulRegVal);
3148
3149        BDBG_LEAVE(BRDC_Trigger_Execute_isr);
3150        return err;
3151
3152}
3153
3154
3155/***************************************************************************
3156 *
3157 */
3158const BRDC_TrigInfo* BRDC_Trigger_GetInfo
3159        ( BRDC_Handle                      hRdc,
3160          BRDC_Trigger                     eRDCTrigger )
3161{
3162        BDBG_ENTER(BRDC_Trigger_GetInfo);
3163
3164        BDBG_OBJECT_ASSERT(hRdc, BRDC_RDC);
3165
3166        if(BRDC_Trigger_UNKNOWN == eRDCTrigger)
3167        {
3168                BDBG_ERR(( "Invalid parameter."));
3169                return NULL;
3170        }
3171
3172        /* Trigger not supported on this chip. */
3173        if(BRDC_P_NULL_BINTID == hRdc->aTrigInfo[eRDCTrigger].TrigIntId)
3174        {
3175                BDBG_ERR(("Invalid trigger!  (%s) not supported on this chip",
3176                        hRdc->aTrigInfo[eRDCTrigger].pchTrigName));
3177                return NULL;
3178        }
3179
3180        BDBG_LEAVE(BRDC_Trigger_GetInfo);
3181        return &(hRdc->aTrigInfo[eRDCTrigger]);
3182
3183}
3184
3185
3186/***************************************************************************
3187 *
3188 */
3189BERR_Code BRDC_List_Create
3190        ( BRDC_Handle                      hRdc,
3191          uint32_t                         ulMaxEntries,
3192          BRDC_List_Handle                *phList )
3193{
3194        BERR_Code         err = BERR_SUCCESS;
3195        BRDC_List_Handle  hList = NULL;
3196
3197        BDBG_ENTER(BRDC_List_Create);
3198
3199        BDBG_OBJECT_ASSERT(hRdc, BRDC_RDC);
3200        BDBG_ASSERT(phList);
3201
3202        /* (1) Create list handle */
3203        hList = (BRDC_List_Handle)BKNI_Malloc(sizeof(BRDC_P_List_Handle));
3204        if( !hList )
3205        {
3206                BDBG_ERR(( "Out of System Memory" ));
3207                return BERR_TRACE(BERR_OUT_OF_SYSTEM_MEMORY);
3208        }
3209
3210        /* Initialize context of list */
3211        BKNI_Memset((void*)hList, 0x0, sizeof(BRDC_P_List_Handle));
3212        BDBG_OBJECT_SET(hList, BRDC_LST);
3213
3214        /* (2) Create memory for entries in list. Must be 256 bit aligned */
3215        hList->pulRULAddr = (uint32_t*) BMEM_AllocAligned(hRdc->hMem,
3216                sizeof(uint32_t)* ulMaxEntries, 5, 0);
3217        if( !hList->pulRULAddr )
3218        {
3219                BDBG_ERR(( "Out of Device Memory" ));
3220                BDBG_OBJECT_DESTROY(hList, BRDC_LST);
3221                BKNI_Free(hList);
3222                return BERR_TRACE(BERR_OUT_OF_DEVICE_MEMORY);
3223        }
3224
3225        /* Initialized list */
3226        hList->hRdc              = hRdc;
3227        hList->ulEntries         = 0;
3228        hList->ulMaxEntries      = ulMaxEntries;
3229        hList->ulNumSlotAssigned = 0;
3230        hList->bLastExecuted     = false;
3231
3232        err = BMEM_ConvertAddressToCached(hRdc->hMem, (void*)hList->pulRULAddr,
3233                (void**)((void *)&hList->pulRULCacheAddr));
3234        if (BERR_SUCCESS != err)
3235        {
3236                BDBG_ERR(( "Failed to convert address 0x%x to cached", (int)hList->pulRULAddr  ));
3237                BMEM_Free(hRdc->hMem, hList->pulRULAddr);
3238                BDBG_OBJECT_DESTROY(hList, BRDC_LST);
3239                BKNI_Free(hList);
3240                return BERR_TRACE(err);
3241        }
3242
3243        err = BMEM_ConvertAddressToOffset(hRdc->hMem,
3244                (void*)hList->pulRULAddr, &hList->ulAddrOffset);
3245        if (BERR_SUCCESS != err)
3246        {
3247                BDBG_ERR(( "Failed to convert virtual address 0x%x to physical address", (int)hList->pulRULAddr  ));
3248                BMEM_Free(hRdc->hMem, hList->pulRULAddr);
3249                BDBG_OBJECT_DESTROY(hList, BRDC_LST);
3250                BKNI_Free(hList);
3251                return BERR_TRACE(err);;
3252        }
3253        hList->eNextEntry        = BRDC_DBG_ListEntry_eCommand;
3254        hList->pulCurListAddr    = NULL;
3255        hList->ulNumEntries      = 0;
3256        hList->ulCurrCommand     = 0;
3257        hList->iCommandIndex     = 0;
3258        hList->iDataCount        = 0;
3259
3260#if (BCHP_CHIP==7038)
3261        /* RDC block cannot use RUL lists that beyond the 128M range.
3262         * Check if the list is within the range */
3263        if( hList->ulAddrOffset > 0x8000000 )
3264        {
3265                BDBG_ERR(("RUL List beyong 128M range."));
3266                BMEM_Free(hRdc->hMem, hList->pulRULAddr);
3267                BDBG_OBJECT_DESTROY(hList, BRDC_LST);
3268                BKNI_Free(hList);
3269                return BERR_TRACE(BRDC_LIST_ERR_MEMORY_BEYOND_128M);
3270        }
3271#endif
3272
3273        /* (3) Assigned slot linked-list */
3274        hList->pSlotAssigned = (BRDC_P_Slot_Head *) BKNI_Malloc(sizeof(BRDC_P_Slot_Head));
3275        if( hList->pSlotAssigned == NULL )
3276        {
3277                BMEM_Free(hRdc->hMem, hList->pulRULAddr);
3278                BKNI_Free(hList);
3279                return BERR_TRACE(BERR_OUT_OF_SYSTEM_MEMORY);
3280        }
3281        BLST_D_INIT(hList->pSlotAssigned);
3282
3283        /* Return to user */
3284        *phList = hList;
3285
3286        BDBG_LEAVE(BRDC_List_Create);
3287        return err ;
3288}
3289
3290/***************************************************************************
3291 *
3292 */
3293BERR_Code BRDC_List_Destroy
3294        ( BRDC_List_Handle                 hList )
3295{
3296        BERR_Code err = BERR_SUCCESS;
3297
3298        BDBG_ENTER(BRDC_List_Destroy);
3299
3300        BDBG_OBJECT_ASSERT(hList, BRDC_LST);
3301
3302        if( (hList->ulNumSlotAssigned) ||
3303            ((hList->pSlotAssigned) && (BLST_D_FIRST(hList->pSlotAssigned) != NULL)) )
3304        {
3305                BDBG_ERR(( "List is assgined to a slot" ));
3306                return BERR_TRACE(BRDC_LIST_ERR_ASSIGNED_TO_SLOT);
3307        }
3308
3309#ifndef IKOS_EMULATION
3310        if( hList->pulRULAddr )
3311                BMEM_Free(hList->hRdc->hMem, hList->pulRULAddr);
3312#endif
3313
3314        if( hList->pSlotAssigned )
3315        {
3316                BKNI_Free(hList->pSlotAssigned);
3317        }
3318
3319        BKNI_Free(hList);
3320
3321        BDBG_LEAVE(BRDC_List_Destroy);
3322        return err;
3323}
3324
3325
3326/***************************************************************************
3327 *
3328 */
3329uint32_t *BRDC_List_GetStartAddress_isr
3330        ( BRDC_List_Handle                 hList )
3331{
3332        BDBG_ENTER(BRDC_List_GetStartAddress_isr);
3333
3334        BDBG_OBJECT_ASSERT(hList, BRDC_LST);
3335
3336        BDBG_LEAVE(BRDC_List_GetStartAddress_isr);
3337        return hList->pulRULAddr;
3338
3339}
3340
3341
3342/***************************************************************************
3343 *
3344 */
3345uint32_t *BRDC_List_GetStartCachedAddress_isr
3346        ( BRDC_List_Handle                 hList )
3347{
3348        BDBG_ENTER(BRDC_List_GetStartCachedAddress_isr);
3349
3350        BDBG_OBJECT_ASSERT(hList, BRDC_LST);
3351
3352        BDBG_LEAVE(BRDC_List_GetStartCachedAddress_isr);
3353        return (hList->pulRULCacheAddr);
3354}
3355
3356
3357/***************************************************************************
3358 *
3359 */
3360BERR_Code BRDC_List_SetNumEntries_isr
3361        ( BRDC_List_Handle                 hList,
3362          uint32_t                         ulNumEntries )
3363{
3364        BERR_Code err = BERR_SUCCESS;
3365
3366        BDBG_ENTER(BRDC_List_SetNumEntries_isr);
3367
3368        BDBG_OBJECT_ASSERT(hList, BRDC_LST);
3369
3370        if( ulNumEntries > hList->ulMaxEntries )
3371        {
3372                BDBG_ERR(( "More than Max Entries %d > %d ",
3373                        ulNumEntries, hList->ulMaxEntries ));
3374                BDBG_ERR(("Memory overrun already done, system could be unstable"));
3375                return BERR_TRACE(BRDC_LIST_ERR_ENTRIES_MORE_THAN_MAX);
3376        }
3377
3378        hList->ulEntries = ulNumEntries;
3379
3380        BDBG_LEAVE(BRDC_List_SetNumEntries_isr);
3381        return err;
3382}
3383
3384/***************************************************************************
3385 *
3386 */
3387BERR_Code BRDC_List_GetNumEntries_isr
3388        ( BRDC_List_Handle                 hList,
3389          uint32_t                        *pulNumEntries )
3390{
3391        BERR_Code err = BERR_SUCCESS;
3392
3393        BDBG_ENTER(BRDC_List_GetNumEntries_isr);
3394
3395        BDBG_OBJECT_ASSERT(hList, BRDC_LST);
3396
3397        if( pulNumEntries )
3398        {
3399                *pulNumEntries = hList->ulEntries;
3400        }
3401
3402        BDBG_LEAVE(BRDC_List_GetNumEntries_isr);
3403        return err;
3404}
3405
3406
3407/***************************************************************************
3408 *
3409 */
3410BERR_Code BRDC_List_GetMaxEntries_isr
3411        ( BRDC_List_Handle                 hList,
3412          uint32_t                        *pulMaxEntries )
3413{
3414        BERR_Code err = BERR_SUCCESS;
3415
3416        BDBG_ENTER(BRDC_List_GetMaxEntries_isr);
3417
3418        BDBG_OBJECT_ASSERT(hList, BRDC_LST);
3419
3420        if( pulMaxEntries )
3421        {
3422                *pulMaxEntries = hList->ulMaxEntries;
3423        }
3424
3425        BDBG_LEAVE(BRDC_List_GetMaxEntries_isr);
3426        return err;
3427}
3428
3429
3430/***************************************************************************
3431 *
3432 */
3433bool BRDC_List_GetLastExecStatus_isr
3434        ( BRDC_List_Handle                 hList )
3435{
3436        BDBG_ENTER(BRDC_List_GetLastExecStatus_isr);
3437        BDBG_OBJECT_ASSERT(hList, BRDC_LST);
3438        BDBG_LEAVE(BRDC_List_GetLastExecStatus_isr);
3439        return hList->bLastExecuted;
3440}
3441
3442/***************************************************************************
3443 *
3444 */
3445BERR_Code BRDC_Slot_Create
3446        ( BRDC_Handle                      hRdc,
3447          BRDC_Slot_Handle                *phSlot )
3448{
3449        BERR_Code         err   = BERR_SUCCESS;
3450        BRDC_SlotId       eSlotId;
3451        BRDC_Slot_Handle  hSlot = NULL;
3452
3453        BDBG_ENTER(BRDC_Slot_Create);
3454
3455        BDBG_OBJECT_ASSERT(hRdc, BRDC_RDC);
3456
3457        /* Create slot */
3458        hSlot = (BRDC_Slot_Handle)BKNI_Malloc(sizeof(BRDC_P_Slot_Handle));
3459        if( !hSlot )
3460        {
3461                BDBG_ERR(( "Out of System Memory" ));
3462                return BERR_TRACE(BERR_OUT_OF_SYSTEM_MEMORY);
3463        }
3464
3465        /* Initialize context of slot handle */
3466        BKNI_Memset((void*)hSlot, 0x0, sizeof(BRDC_P_Slot_Handle));
3467        BDBG_OBJECT_SET(hSlot, BRDC_SLT);
3468
3469        /* Use critical section when find next available slot */
3470        BKNI_EnterCriticalSection();
3471        err = BERR_TRACE(BRDC_Slot_P_GetNextSlot(hRdc, &eSlotId));
3472        BKNI_LeaveCriticalSection();
3473        if( err != BERR_SUCCESS )
3474        {
3475                BKNI_Free(hSlot);
3476                goto done;
3477        }
3478
3479        /* Assign the slot to the calling module */
3480        hSlot->eSlotId     = eSlotId;
3481        hSlot->hRdc        = hRdc;
3482        hSlot->bRecurring  = false;
3483        hSlot->eRDCTrigger = BRDC_Trigger_UNKNOWN;
3484        hSlot->hList       = NULL;
3485        hSlot->ulRegOffset = ((BCHP_RDC_desc_1_addr - BCHP_RDC_desc_0_addr) *
3486                (eSlotId - BRDC_SlotId_eSlot0));
3487        hSlot->SlotIntId   = s_aRdcSlotInfo[eSlotId].SlotIntId;
3488
3489        /* Keeping track if last RUL executed. */
3490        if(BRDC_P_NO_TRACKING_ADDR != s_aRdcSlotInfo[eSlotId].ulTrackRegAddr)
3491        {
3492#ifdef BRDC_DISABLE_TRACK_EXECUTION
3493                hSlot->bTrackExecution  = false ;
3494#else
3495                hSlot->bTrackExecution  = true ;
3496#endif
3497                hSlot->ulTrackCount     = 0;
3498                hSlot->ulTrackRegAddr   = s_aRdcSlotInfo[eSlotId].ulTrackRegAddr;
3499                BDBG_MSG(("Creating slot[%d] with track executions!", hSlot->eSlotId));
3500        }
3501        else
3502        {
3503                BDBG_WRN(("Creating slot[%d] without track executions!", hSlot->eSlotId));
3504        }
3505
3506        /* Update RDC */
3507        hRdc->bSlotUsed[eSlotId] = true;
3508        hRdc->apSlot[eSlotId] = hSlot;
3509
3510        /* All done */
3511        *phSlot = hSlot;
3512
3513done:
3514        BDBG_LEAVE(BRDC_Slot_Create);
3515        return err ;
3516}
3517
3518/***************************************************************************
3519 *
3520 */
3521BERR_Code BRDC_Slot_Destroy
3522        ( BRDC_Slot_Handle                 hSlot )
3523{
3524        BERR_Code         err = BERR_SUCCESS;
3525
3526        BDBG_ENTER(BRDC_Slot_Destroy);
3527
3528        BDBG_OBJECT_ASSERT(hSlot, BRDC_SLT);
3529
3530        /* Disable the slot */
3531        BKNI_EnterCriticalSection();
3532        err = BERR_TRACE(BRDC_Slot_Disable_isr(hSlot));
3533        BKNI_LeaveCriticalSection();
3534        if( err != BERR_SUCCESS )
3535                goto done;
3536
3537        /* Update RDC: This slot becomes available */
3538        hSlot->hRdc->bSlotUsed[hSlot->eSlotId] = false;
3539        hSlot->hRdc->apSlot[hSlot->eSlotId]    = NULL;
3540
3541        /* Clear list from the slot */
3542        if( hSlot->hList )
3543        {
3544                hSlot->hList->ulNumSlotAssigned--;
3545
3546                /* Remove slot */
3547                BLST_D_REMOVE(hSlot->hList->pSlotAssigned, hSlot, link);
3548        }
3549
3550        /* Free slot */
3551        BKNI_Free(hSlot);
3552
3553done:
3554        BDBG_LEAVE(( "BRDC_Slot_Destroy" ));
3555        return err;
3556}
3557
3558
3559/***************************************************************************
3560 *
3561 */
3562BERR_Code BRDC_Slot_GetId
3563        ( BRDC_Slot_Handle                 hSlot,
3564          BRDC_SlotId                     *pSlotId )
3565{
3566        BDBG_ENTER(BRDC_Slot_GetId);
3567
3568        BDBG_OBJECT_ASSERT(hSlot, BRDC_SLT);
3569
3570        *pSlotId = hSlot->eSlotId;
3571
3572        BDBG_LEAVE(BRDC_Slot_GetId);
3573        return BERR_SUCCESS;
3574}
3575
3576/***************************************************************************
3577 *
3578 */
3579BERR_Code BRDC_Slot_GetList_isr
3580        ( BRDC_Slot_Handle                 hSlot,
3581          BRDC_List_Handle                *phList )
3582{
3583        /* return list handle */
3584        *phList = hSlot->hList;
3585
3586        /* success */
3587        return BERR_SUCCESS;
3588}
3589
3590/***************************************************************************
3591 * This function calls the following _isr functions:
3592 *      BRDC_P_AcquireSemaphore_isr
3593 *      BRDC_P_ReleaseSemaphore_isr
3594 */
3595BERR_Code BRDC_Slot_SetList_isr
3596        ( BRDC_Slot_Handle                 hSlot,
3597          BRDC_List_Handle                 hList )
3598{
3599        uint32_t ulRegVal;
3600        BERR_Code  err = BERR_SUCCESS;
3601
3602        BDBG_ENTER(BRDC_Slot_SetList_isr);
3603
3604        BDBG_OBJECT_ASSERT(hSlot, BRDC_SLT);
3605        BDBG_OBJECT_ASSERT(hList, BRDC_LST);
3606        BDBG_ASSERT(hList->hRdc == hSlot->hRdc);
3607
3608        /* Can't set empty list. */
3609        if( hList->ulEntries < 1 )
3610        {
3611                BDBG_ERR(( "Empty List" ));
3612                return BERR_TRACE(BRDC_SLOT_ERR_EMPTY_LIST);
3613        }
3614
3615#if(!BRDC_P_SUPPORT_HW_BLOCKOUT)
3616        if (BRDC_P_IsRdcBlockOutEnabled(hList->hRdc))
3617        {
3618                err = BRDC_P_ParseAndReplaceRul_isr(hList);
3619                if (err != BERR_SUCCESS)
3620                        goto done;
3621        }
3622#endif
3623
3624#ifdef BRDC_USE_CAPTURE_BUFFER
3625        /* Write to log before RUL could possibly be executed */
3626        BRDC_DBG_WriteCapture_isr(&hList->hRdc->captureBuffer, hSlot, hList);
3627#endif
3628
3629        /* Call the intercept if non NULL */
3630        if(hSlot->hRdc->stRdcSettings.pfnSlot_SetList_Intercept_isr)
3631        {
3632                if( (err = BERR_TRACE(hSlot->hRdc->stRdcSettings.pfnSlot_SetList_Intercept_isr(
3633                        hSlot, hList, hSlot->eRDCTrigger) )) )
3634                {
3635                        goto done;
3636                }
3637        }
3638
3639        /* Acquire semaphore */
3640        err = BERR_TRACE(BRDC_P_AcquireSemaphore_isr(hSlot->hRdc, hSlot->eSlotId));
3641        if (err != BERR_SUCCESS)
3642        {
3643                /* Cannot acquire semaphore */
3644                BDBG_ERR(( "Cannot acquire semaphore for slot %d", hSlot->eSlotId ));
3645                goto done;
3646        }
3647
3648        /* Get semaphore. Fill in hardware registers */
3649        /* Set RDC_desc_x_addr */
3650        BRDC_Slot_P_Write32(hSlot, BCHP_RDC_desc_0_addr + hSlot->ulRegOffset,
3651                hList->ulAddrOffset);
3652
3653        /* Read RDC_desc_x_config */
3654        ulRegVal = BRDC_Slot_P_Read32(hSlot, BCHP_RDC_desc_0_config + hSlot->ulRegOffset);
3655
3656        /* Clear count */
3657        ulRegVal &= ~BCHP_MASK(RDC_desc_0_config, count);
3658
3659        /* Set count and update register */
3660        ulRegVal |= BCHP_FIELD_DATA(RDC_desc_0_config, count, hList->ulEntries -1);
3661        BRDC_Slot_P_Write32(hSlot, BCHP_RDC_desc_0_config + hSlot->ulRegOffset, ulRegVal);
3662
3663        /* Release semaphore */
3664        BRDC_P_ReleaseSemaphore_isr(hSlot->hRdc, hSlot->eSlotId);
3665
3666        /* Keep track of software copy */
3667        /* Already have list assigned to slot */
3668        if( hSlot->hList )
3669        {
3670                /* Clear the old list from slot */
3671                hSlot->hList->ulNumSlotAssigned--;
3672
3673                /* Remove slot */
3674                BLST_D_REMOVE(hSlot->hList->pSlotAssigned, hSlot, link);
3675        }
3676
3677        /* Assign list to slot */
3678        hList->ulNumSlotAssigned++;
3679
3680        /* Add slot */
3681        BLST_D_INSERT_HEAD(hList->pSlotAssigned, hSlot, link);
3682        hSlot->hList = hList;
3683
3684done:
3685        BDBG_LEAVE(BRDC_Slot_SetList_isr);
3686        return err;
3687}
3688
3689/***************************************************************************
3690 * This function calls the following _isr functions:
3691 *      BRDC_P_AcquireSemaphore_isr
3692 *      BRDC_P_ReleaseSemaphore_isr
3693 * This function set a list to dual slots
3694 */
3695BERR_Code BRDC_Slot_SetListDual_isr
3696        ( BRDC_Slot_Handle                 hSlot1,
3697          BRDC_Slot_Handle                 hSlot2,
3698          BRDC_List_Handle                 hList )
3699{
3700        uint32_t ulRegVal;
3701        BERR_Code  err = BERR_SUCCESS;
3702
3703        BDBG_ENTER(BRDC_Slot_SetListDual_isr);
3704
3705        BDBG_ASSERT(hSlot1);
3706        BDBG_ASSERT(hSlot2);
3707        BDBG_OBJECT_ASSERT(hList, BRDC_LST);
3708        BDBG_ASSERT(hList->hRdc == hSlot1->hRdc);
3709        BDBG_ASSERT(hList->hRdc == hSlot2->hRdc);
3710
3711        /* Can't set empty list. */
3712        if( hList->ulEntries < 1 )
3713        {
3714                BDBG_ERR(( "Empty List" ));
3715                return BERR_TRACE(BRDC_SLOT_ERR_EMPTY_LIST);
3716        }
3717
3718#if(!BRDC_P_SUPPORT_HW_BLOCKOUT)
3719        if (BRDC_P_IsRdcBlockOutEnabled(hList->hRdc))
3720        {
3721                err = BRDC_P_ParseAndReplaceRul_isr(hList);
3722                if (err != BERR_SUCCESS)
3723                        goto done;
3724        }
3725#endif
3726
3727#ifdef BRDC_USE_CAPTURE_BUFFER
3728        /* Write to log before RUL could possibly be executed;
3729         * log one slot only to reduce log size; */
3730        BRDC_DBG_WriteCapture_isr(&hList->hRdc->captureBuffer, hSlot1, hList);
3731#endif
3732
3733        /* Call the intercept if non NULL */
3734        if(hSlot1->hRdc->stRdcSettings.pfnSlot_SetList_Intercept_isr)
3735        {
3736                if( (err = BERR_TRACE(hSlot1->hRdc->stRdcSettings.pfnSlot_SetList_Intercept_isr(
3737                        hSlot1, hList, hSlot1->eRDCTrigger) )) )
3738                {
3739                        goto done;
3740                }
3741                if( (err = BERR_TRACE(hSlot2->hRdc->stRdcSettings.pfnSlot_SetList_Intercept_isr(
3742                        hSlot2, hList, hSlot2->eRDCTrigger) )) )
3743                {
3744                        goto done;
3745                }
3746        }
3747
3748        /********************** slot 1 start *****************/
3749        /* Acquire dual semaphores */
3750        err = BERR_TRACE(BRDC_P_AcquireSemaphore_isr(hSlot1->hRdc, hSlot1->eSlotId));
3751        if (err != BERR_SUCCESS)
3752        {
3753                /* Cannot acquire semaphore */
3754                BDBG_ERR(( "Cannot acquire semaphore for slot %d", hSlot1->eSlotId ));
3755                goto done;
3756        }
3757
3758        /* Get semaphore. Fill in hardware registers */
3759        /* Set RDC_desc_x_addr */
3760        BRDC_Slot_P_Write32(hSlot1, BCHP_RDC_desc_0_addr + hSlot1->ulRegOffset,
3761                hList->ulAddrOffset);
3762
3763        /* Read RDC_desc_x_config */
3764        ulRegVal = BRDC_Slot_P_Read32(hSlot1, BCHP_RDC_desc_0_config + hSlot1->ulRegOffset);
3765
3766        /* Clear count */
3767        ulRegVal &= ~BCHP_MASK(RDC_desc_0_config, count);
3768
3769        /* Set count and update register */
3770        ulRegVal |= BCHP_FIELD_DATA(RDC_desc_0_config, count, hList->ulEntries -1);
3771        BRDC_Slot_P_Write32(hSlot1, BCHP_RDC_desc_0_config + hSlot1->ulRegOffset, ulRegVal);
3772
3773        /* Release semaphore */
3774        BRDC_P_ReleaseSemaphore_isr(hSlot1->hRdc, hSlot1->eSlotId);
3775        /********************** slot 1 end *****************/
3776
3777        /********************** slot 2 start *****************/
3778        err = BERR_TRACE(BRDC_P_AcquireSemaphore_isr(hSlot2->hRdc, hSlot2->eSlotId));
3779        if (err != BERR_SUCCESS)
3780        {
3781                /* Cannot acquire semaphore */
3782                BDBG_ERR(( "Cannot acquire semaphore for slot %d", hSlot2->eSlotId ));
3783                goto done;
3784        }
3785
3786        BRDC_Slot_P_Write32(hSlot2, BCHP_RDC_desc_0_addr + hSlot2->ulRegOffset,
3787                hList->ulAddrOffset);
3788
3789        /* Read RDC_desc_x_config */
3790        ulRegVal = BRDC_Slot_P_Read32(hSlot2, BCHP_RDC_desc_0_config + hSlot2->ulRegOffset);
3791
3792        /* Clear count */
3793        ulRegVal &= ~BCHP_MASK(RDC_desc_0_config, count);
3794
3795        /* Set count and update register */
3796        ulRegVal |= BCHP_FIELD_DATA(RDC_desc_0_config, count, hList->ulEntries -1);
3797        BRDC_Slot_P_Write32(hSlot2, BCHP_RDC_desc_0_config + hSlot2->ulRegOffset, ulRegVal);
3798
3799        /* Release semaphore */
3800        BRDC_P_ReleaseSemaphore_isr(hSlot2->hRdc, hSlot2->eSlotId);
3801        /********************** slot 2 end *****************/
3802
3803        /* Keep track of software copy */
3804        /* Already have list assigned to slot */
3805        if( hSlot1->hList )
3806        {
3807                /* Clear the old list from slot */
3808                hSlot1->hList->ulNumSlotAssigned--;
3809
3810                /* Remove slot */
3811                BLST_D_REMOVE(hSlot1->hList->pSlotAssigned, hSlot1, link);
3812        }
3813        if( hSlot2->hList )
3814        {
3815                /* Clear the old list from slot */
3816                hSlot2->hList->ulNumSlotAssigned--;
3817
3818                /* Remove slot */
3819                BLST_D_REMOVE(hSlot2->hList->pSlotAssigned, hSlot2, link);
3820        }
3821
3822        /* Assign list to slot */
3823        hList->ulNumSlotAssigned += 2;
3824
3825        /* Add slot */
3826        BLST_D_INSERT_HEAD(hList->pSlotAssigned, hSlot2, link);
3827        hSlot2->hList = hList;
3828        BLST_D_INSERT_HEAD(hList->pSlotAssigned, hSlot1, link);
3829        hSlot1->hList = hList;
3830
3831done:
3832        BDBG_LEAVE(BRDC_Slot_SetListDual_isr);
3833        return err;
3834}
3835
3836
3837/***************************************************************************
3838 * This function calls the following _isr functions:
3839 *      BRDC_Slot_SetList_isr
3840 */
3841BERR_Code BRDC_Slot_SetCachedList_isr
3842        ( BRDC_Slot_Handle                 hSlot,
3843          BRDC_List_Handle                 hList )
3844{
3845        BERR_Code  err = BERR_SUCCESS;
3846        BDBG_ENTER(BRDC_Slot_SetCachedList_isr);
3847
3848        /* Flush the list before setting it to a slot. */
3849
3850        /* Update the number of time this list, assigned to a slot. */
3851        if(hSlot->bTrackExecution)
3852        {
3853                uint32_t *pulStart   = hList->pulRULCacheAddr;
3854                uint32_t *pulCurrent = pulStart + hList->ulEntries;
3855                *pulCurrent++ = BRDC_OP_IMM_TO_REG();
3856                *pulCurrent++ = BRDC_REGISTER(hSlot->ulTrackRegAddr);
3857                *pulCurrent++ = ++(hSlot->ulTrackCount);
3858                hList->ulEntries = (uint32_t)(pulCurrent - pulStart);
3859        }
3860
3861        BMEM_FlushCache_isr(hList->hRdc->hMem, hList->pulRULCacheAddr,
3862                hList->ulEntries * sizeof(uint32_t));
3863
3864        err = BRDC_Slot_SetList_isr(hSlot, hList);
3865        BDBG_LEAVE(BRDC_Slot_SetCachedList_isr);
3866        return err;
3867}
3868
3869/***************************************************************************
3870 * This function calls the following _isr functions:
3871 *      BRDC_Slot_SetListDual_isr
3872 */
3873BERR_Code BRDC_Slot_SetCachedListDual_isr
3874        ( BRDC_Slot_Handle                 hSlot1,
3875          BRDC_Slot_Handle                 hSlot2,
3876          BRDC_List_Handle                 hList )
3877{
3878        uint32_t *pulStart   = hList->pulRULCacheAddr;
3879        uint32_t *pulCurrent = pulStart + hList->ulEntries;
3880        BERR_Code  err = BERR_SUCCESS;
3881        BDBG_ENTER(BRDC_Slot_SetCachedListDual_isr);
3882
3883        /* Update the number of time this list, assigned to a slot. */
3884        if(hSlot1->bTrackExecution)
3885        {
3886                *pulCurrent++ = BRDC_OP_IMM_TO_REG();
3887                *pulCurrent++ = BRDC_REGISTER(hSlot1->ulTrackRegAddr);
3888                *pulCurrent++ = ++(hSlot1->ulTrackCount);
3889                hList->ulEntries = (uint32_t)(pulCurrent - pulStart);
3890        }
3891
3892        if(hSlot2->bTrackExecution)
3893        {
3894                *pulCurrent++ = BRDC_OP_IMM_TO_REG();
3895                *pulCurrent++ = BRDC_REGISTER(hSlot2->ulTrackRegAddr);
3896                *pulCurrent++ = ++(hSlot2->ulTrackCount);
3897                hList->ulEntries = (uint32_t)(pulCurrent - pulStart);
3898        }
3899
3900        /* Flush the list before setting it to dual slots. */
3901        BMEM_FlushCache_isr(hList->hRdc->hMem, hList->pulRULCacheAddr,
3902                hList->ulEntries * sizeof(uint32_t));
3903        err = BRDC_Slot_SetListDual_isr(hSlot1, hSlot2, hList);
3904        BDBG_LEAVE(BRDC_Slot_SetCachedListDual_isr);
3905        return err;
3906}
3907
3908/***************************************************************************
3909 * This function calls the following _isr functions:
3910 *      BRDC_P_AcquireSemaphore_isr
3911 *      BRDC_P_ReleaseSemaphore_isr
3912 *      BRDC_Slot_P_Write_Registers_isr
3913 */
3914BERR_Code BRDC_Slot_ExecuteOnTrigger_isr
3915        ( BRDC_Slot_Handle                 hSlot,
3916          BRDC_Trigger                     eRDCTrigger,
3917          bool                             bRecurring )
3918{
3919        BERR_Code         err = BERR_SUCCESS;
3920
3921        BDBG_ENTER(BRDC_Slot_ExecuteOnTrigger_isr);
3922
3923        BDBG_OBJECT_ASSERT(hSlot, BRDC_SLT);
3924
3925        if( hSlot->hList->ulEntries < 1 )
3926        {
3927                BDBG_ERR(( "Empty List." ));
3928                return BERR_TRACE(BRDC_SLOT_ERR_EMPTY_LIST);
3929        }
3930
3931        hSlot->eRDCTrigger = eRDCTrigger;
3932
3933        /* Call the intercept if non NULL */
3934        if(hSlot->hRdc->stRdcSettings.pfnSlot_ExecuteOnTrigger_Intercept_isr)
3935        {
3936                if( (err = BERR_TRACE(hSlot->hRdc->stRdcSettings.pfnSlot_ExecuteOnTrigger_Intercept_isr(
3937                        hSlot, eRDCTrigger, bRecurring))) )
3938                {
3939                        goto done ;
3940                }
3941        }
3942
3943        /* Acquire semaphore */
3944        err = BERR_TRACE(BRDC_P_AcquireSemaphore_isr(hSlot->hRdc, hSlot->eSlotId));
3945        if (err != BERR_SUCCESS)
3946        {
3947                /* Cannot acquire semaphore */
3948                goto done;
3949        }
3950
3951        /* Fill in hardware registers */
3952        err = BERR_TRACE(BRDC_Slot_P_Write_Registers_isr(hSlot, eRDCTrigger,
3953                bRecurring, true));
3954
3955        /* Release semaphore */
3956        BRDC_P_ReleaseSemaphore_isr(hSlot->hRdc, hSlot->eSlotId);
3957
3958done:
3959        BDBG_LEAVE(BRDC_Slot_ExecuteOnTrigger_isr);
3960        return err;
3961}
3962
3963/***************************************************************************
3964 * This function calls the following _isr functions:
3965 *      BRDC_Slot_P_Write_Registers_isr
3966 *      BRDC_P_AcquireSemaphore_isr
3967 *      BRDC_P_ReleaseSemaphore_isr
3968 */
3969BERR_Code BRDC_Slot_Execute_isr
3970        ( BRDC_Slot_Handle                 hSlot )
3971{
3972        BERR_Code         err = BERR_SUCCESS;
3973
3974        BDBG_ENTER(BRDC_Slot_Execute_isr);
3975
3976        BDBG_OBJECT_ASSERT(hSlot, BRDC_SLT);
3977
3978        if( hSlot->hList->ulEntries < 1 )
3979        {
3980                BDBG_ERR(( "Empty List." ));
3981                return BERR_TRACE(BRDC_SLOT_ERR_EMPTY_LIST);
3982        }
3983
3984        /* Call the intercept if non NULL */
3985        if(hSlot->hRdc->stRdcSettings.pfnSlot_Execute_Intercept_isr)
3986        {
3987                if( (err = BERR_TRACE(hSlot->hRdc->stRdcSettings.pfnSlot_Execute_Intercept_isr(
3988                        hSlot, hSlot->eRDCTrigger) )) )
3989                {
3990                        goto done ;
3991                }
3992        }
3993
3994        /* Acquire semaphore */
3995        err = BERR_TRACE(BRDC_P_AcquireSemaphore_isr(hSlot->hRdc, hSlot->eSlotId));
3996        if (err != BERR_SUCCESS)
3997        {
3998                /* Cannot acquire semaphore */
3999                goto done;
4000        }
4001
4002        /* Fill in hardware registers */
4003        /* Don't need trigger, non-repeat */
4004        err = BERR_TRACE(BRDC_Slot_P_Write_Registers_isr(hSlot,
4005                BRDC_Trigger_UNKNOWN, false, false));
4006
4007        /* Release semaphore */
4008        BRDC_P_ReleaseSemaphore_isr(hSlot->hRdc, hSlot->eSlotId);
4009
4010done:
4011        BDBG_LEAVE(BRDC_Slot_Execute_isr);
4012        return err;
4013
4014}
4015
4016/***************************************************************************
4017 * This function calls the following _isr functions:
4018 *      BRDC_P_AcquireSemaphore_isr
4019 *      BRDC_P_ReleaseSemaphore_isr
4020 */
4021BERR_Code BRDC_Slot_Disable_isr
4022        ( BRDC_Slot_Handle                 hSlot )
4023{
4024        bool              bSlotRecurring;
4025        uint32_t          ulRegVal;
4026        BERR_Code         err = BERR_SUCCESS;
4027
4028        BDBG_ENTER(BRDC_Slot_Disable_isr);
4029
4030        BDBG_OBJECT_ASSERT(hSlot, BRDC_SLT);
4031
4032        /* Acquire semaphore */
4033        err = BERR_TRACE(BRDC_P_AcquireSemaphore_isr(hSlot->hRdc, hSlot->eSlotId));
4034        if (err != BERR_SUCCESS)
4035        {
4036                /* Cannot acquire semaphore */
4037                goto done;
4038        }
4039
4040        /* Fill in hardware registers */
4041        ulRegVal = BRDC_Slot_P_Read32(hSlot, BCHP_RDC_desc_0_config + hSlot->ulRegOffset);
4042
4043        /* All RDC_desc_x_config bit definitions are same */
4044        bSlotRecurring = (bool)BCHP_GET_FIELD_DATA(ulRegVal, RDC_desc_0_config, repeat);
4045        if( bSlotRecurring )
4046        {
4047                /* All BCHP_RDC_desc_x_config bit definitions are same */
4048                ulRegVal &= ~BCHP_MASK(RDC_desc_0_config, enable);
4049                BRDC_Slot_P_Write32(hSlot, BCHP_RDC_desc_0_config + hSlot->ulRegOffset, ulRegVal);
4050        }
4051
4052        /* Release semaphore */
4053        BRDC_P_ReleaseSemaphore_isr(hSlot->hRdc, hSlot->eSlotId);
4054
4055done:
4056        BDBG_LEAVE(BRDC_Slot_Disable_isr);
4057        return err;
4058
4059}
4060
4061
4062/***************************************************************************
4063 *
4064 */
4065BINT_Id BRDC_Slot_GetIntId
4066        ( BRDC_Slot_Handle                 hSlot )
4067{
4068        BDBG_OBJECT_ASSERT(hSlot, BRDC_SLT);
4069        return hSlot->SlotIntId;
4070}
4071
4072
4073/***************************************************************************
4074 *
4075 */
4076bool BRDC_Slot_UpdateLastRulStatus_isr
4077        ( BRDC_Slot_Handle                 hSlot,
4078          BRDC_List_Handle                 hList,
4079          bool                             bEnableTracking )
4080{
4081        BDBG_OBJECT_ASSERT(hSlot, BRDC_SLT);
4082        BDBG_OBJECT_ASSERT(hList, BRDC_LST);
4083
4084        if((hSlot->bTrackExecution != bEnableTracking) &&
4085           (BRDC_P_NO_TRACKING_ADDR != hSlot->ulTrackRegAddr))
4086        {
4087#ifdef BRDC_DISABLE_TRACK_EXECUTION
4088                hSlot->bTrackExecution = false;
4089#else
4090                hSlot->bTrackExecution = bEnableTracking;
4091#endif
4092        }
4093
4094        if(hSlot->bTrackExecution)
4095        {
4096                if (hSlot->ulTrackCount <= 1)
4097                {
4098                        /* This is the first RUL and HW count tracking register
4099                         * is not programmed yet.
4100                         */
4101                        hList->bLastExecuted = true;
4102                }
4103                else
4104                {
4105                        uint32_t ulHwTrackCount =
4106                                BREG_Read32(hSlot->hRdc->hReg, hSlot->ulTrackRegAddr);
4107                        hList->bLastExecuted = (hSlot->ulTrackCount == ulHwTrackCount)
4108                                ? true : false;
4109                }
4110        }
4111        else
4112        {
4113                /* Default last executed if not tracking, true, there are code that
4114                 * won't move state unless it's certain that the slot last executed. */
4115                hList->bLastExecuted = true;
4116        }
4117
4118        return hList->bLastExecuted;
4119}
4120
4121/***************************************************************************
4122 * This function program RUL to config the length of the RUL;
4123 */
4124BERR_Code BRDC_Slot_RulConfigRulSize_isr
4125        ( BRDC_Slot_Handle                 hSlot,
4126          BRDC_List_Handle                 hList,
4127          uint32_t                         ulCount )
4128{
4129        uint32_t *pulStart;
4130        uint32_t *pulCurrent;
4131        uint32_t  ulRegVal;
4132
4133        BDBG_ENTER(BRDC_Slot_RulConfigRulSize_isr);
4134
4135        BDBG_OBJECT_ASSERT(hSlot, BRDC_SLT);
4136        BDBG_OBJECT_ASSERT(hList, BRDC_LST);
4137        BDBG_ASSERT(hList->hRdc == hSlot->hRdc);
4138
4139        /* Can't set empty list. */
4140        if( hList->ulEntries < 1 )
4141        {
4142                BDBG_ERR(( "Empty List" ));
4143                return BERR_INVALID_PARAMETER;
4144        }
4145
4146        /* Read RDC_desc_x_config */
4147        ulRegVal = BRDC_Slot_P_Read32(hSlot, BCHP_RDC_desc_0_config + hSlot->ulRegOffset);
4148
4149        /* Clear count */
4150        ulRegVal &= ~BCHP_MASK(RDC_desc_0_config, count);
4151
4152        /* Set count and update register */
4153        ulRegVal |= BCHP_FIELD_DATA(RDC_desc_0_config, count, ulCount-1);
4154
4155        pulStart   = hList->pulRULCacheAddr;
4156        pulCurrent = pulStart + hList->ulEntries;
4157
4158        /* hList RUL programs slave slot config register */
4159        *pulCurrent++ = BRDC_OP_IMM_TO_REG();
4160        *pulCurrent++ = BRDC_REGISTER(BCHP_RDC_desc_0_config + hSlot->ulRegOffset);
4161        *pulCurrent++ = ulRegVal;
4162
4163        /* update list size */
4164        BRDC_List_SetNumEntries_isr(hList, (uint32_t)(pulCurrent - pulStart));
4165
4166        BDBG_LEAVE(BRDC_Slot_RulConfigRulSize_isr);
4167        return BERR_SUCCESS;
4168}
4169
4170/******************* Chained RUL programming *******************************/
4171
4172/***************************************************************************
4173 * This function programs RUL to config the slave slot trigger;
4174 */
4175BERR_Code BRDC_Slot_RulConfigSlaveTrigger_isr
4176        ( BRDC_Slot_Handle                 hSlot,
4177          BRDC_Slot_Handle                 hSlotSlave,
4178          BRDC_List_Handle                 hList,
4179          BRDC_Trigger                     eRDCTrigger,
4180          bool                             bRecurring )
4181{
4182        uint32_t ulTrigSelect;
4183        uint32_t *pulStart;
4184        uint32_t *pulCurrent;
4185        BERR_Code err = BERR_SUCCESS;
4186
4187        BDBG_ENTER(BRDC_Slot_RulConfigSlaveTrigger_isr);
4188
4189        BDBG_OBJECT_ASSERT(hSlot, BRDC_SLT);
4190        BDBG_OBJECT_ASSERT(hSlotSlave, BRDC_SLT);
4191
4192        if( hList->ulEntries < 1 )
4193        {
4194                BDBG_ERR(( "Empty List." ));
4195                return BERR_TRACE(BRDC_SLOT_ERR_EMPTY_LIST);
4196        }
4197
4198        /* Get trigger select value. */
4199        ulTrigSelect = hSlot->hRdc->aTrigInfo[eRDCTrigger].ulTrigVal;
4200
4201        /* Update the desc_config register for trigger select. */
4202        pulStart   = hList->pulRULCacheAddr;
4203        pulCurrent = pulStart + hList->ulEntries;
4204
4205        /* hList RUL programs slave slot config register */
4206        *pulCurrent++ = BRDC_OP_IMM_TO_REG();
4207        *pulCurrent++ = BRDC_REGISTER(BCHP_RDC_desc_0_config + hSlotSlave->ulRegOffset);
4208        *pulCurrent++ =
4209                        BCHP_FIELD_DATA(RDC_desc_0_config, enable,         1            ) |
4210                        BCHP_FIELD_DATA(RDC_desc_0_config, repeat,         bRecurring   ) |
4211                        BCHP_FIELD_DATA(RDC_desc_0_config, trigger_select, ulTrigSelect ) |
4212                        /* place holder for the real slave RUL size; */
4213                        BCHP_FIELD_DATA(RDC_desc_0_config, count,          0 );
4214        hList->ulEntries = (uint32_t)(pulCurrent - pulStart);
4215
4216        /* store the location of the previous desc_config setting; */
4217        hSlot->pulRulConfigPrevVal = hSlot->pulRulConfigVal;
4218        hSlot->pulRulConfigVal = pulCurrent - 1;
4219
4220        /* if master slot, always use current pointer */
4221        if(hSlot != hSlotSlave) hSlot->pulRulConfigPrevVal = hSlot->pulRulConfigVal;
4222
4223        BDBG_LEAVE(BRDC_Slot_RulConfigSlaveTrigger_isr);
4224        return err;
4225}
4226
4227/***************************************************************************
4228 * This function program previous RUL to config the length of the next RUL;
4229 */
4230BERR_Code BRDC_Slot_RulConfigCount_isr
4231        ( BRDC_Slot_Handle                 hSlot,
4232          uint32_t                         ulCount )
4233{
4234        BERR_Code         err = BERR_SUCCESS;
4235
4236        BDBG_ENTER(BRDC_Slot_RulConfigCount_isr);
4237
4238        BDBG_OBJECT_ASSERT(hSlot, BRDC_SLT);
4239        BDBG_ASSERT(hSlot->pulRulConfigPrevVal);
4240
4241        /* (0) update previous RUL's desc_config setting, specifically 'count'; */
4242        *(hSlot->pulRulConfigPrevVal) = (*(hSlot->pulRulConfigPrevVal) &
4243                (~BCHP_MASK(RDC_desc_0_config, count))) |
4244                BCHP_FIELD_DATA(RDC_desc_0_config, count, ulCount - 1);
4245
4246        BDBG_LEAVE(BRDC_Slot_RulConfigCount_isr);
4247        return err;
4248}
4249
4250/***************************************************************************
4251 * This function build RUL to program slot descriptor to point to the immediate
4252 * next chained RUL;
4253 */
4254uint32_t BRDC_Slot_RulSetNextAddr_isr
4255        ( BRDC_Slot_Handle                 hSlot,
4256          BRDC_List_Handle                 hList )
4257{
4258        uint32_t *pulStart;
4259        uint32_t *pulCurrent;
4260        uint32_t  ulBitMask;
4261        uint32_t  ulScrap;
4262
4263        BDBG_ENTER(BRDC_Slot_RulSetNextAddr_isr);
4264
4265        BDBG_OBJECT_ASSERT(hSlot, BRDC_SLT);
4266        BDBG_OBJECT_ASSERT(hList, BRDC_LST);
4267        BDBG_ASSERT(hList->hRdc == hSlot->hRdc);
4268
4269        /* Can't set empty list. */
4270        if( hList->ulEntries < 1 )
4271        {
4272                BDBG_ERR(( "Empty List" ));
4273                return 0;
4274        }
4275
4276        /* Update the desc_addr to point to the next sub_RUL.
4277         * NOTE: desc addr has to be 256-bit or 8-dword aligned!! */
4278        ulBitMask = (1 << 3) - 1;
4279
4280        pulStart   = hList->pulRULCacheAddr;
4281        pulCurrent = pulStart + hList->ulEntries;
4282
4283        *pulCurrent++ = BRDC_OP_IMM_TO_REG();
4284        *pulCurrent++ = BRDC_REGISTER(BCHP_RDC_desc_0_addr + hSlot->ulRegOffset);
4285        hList->ulEntries = (uint32_t)(pulCurrent + 1 - pulStart);
4286        *pulCurrent = hList->ulAddrOffset +
4287                ((hList->ulEntries + ulBitMask) & (~ulBitMask)) * sizeof(uint32_t);
4288
4289        /* return the scrap size in dwords */
4290        ulScrap = (hList->ulEntries & ulBitMask) ?
4291                (ulBitMask - (hList->ulEntries & ulBitMask) + 1) : 0;
4292
4293        /* update list size */
4294        hList->ulEntries += ulScrap;
4295
4296        BDBG_LEAVE(BRDC_Slot_RulSetNextAddr_isr);
4297        return ulScrap;
4298}
4299
4300/***************************************************************************
4301 * This function build the master RUL to program the slave slot to point to
4302 * the head of the slave RULs
4303 */
4304BERR_Code BRDC_List_RulSetSlaveListHead_isr
4305        ( BRDC_List_Handle                 hList,
4306          BRDC_Slot_Handle                 hSlotSlave,
4307          BRDC_List_Handle                 hListSlave )
4308{
4309        uint32_t *pulStart;
4310        uint32_t *pulCurrent;
4311        BERR_Code  err = BERR_SUCCESS;
4312        BDBG_ENTER(BRDC_List_RulSetSlaveListHead_isr);
4313
4314        pulStart   = hList->pulRULCacheAddr;
4315        pulCurrent = pulStart + hList->ulEntries;
4316
4317        /* (1) point desc_addr to the next RUL; CAREFUL!! */
4318        *pulCurrent++ = BRDC_OP_IMM_TO_REG();
4319        *pulCurrent++ = BRDC_REGISTER(BCHP_RDC_desc_0_addr + hSlotSlave->ulRegOffset);
4320        *pulCurrent++ = hListSlave->ulAddrOffset;
4321        hList->ulEntries = (uint32_t)(pulCurrent - pulStart);
4322
4323        /* from this upon, the desc_config/addr have to be programmed by chained
4324           RULs themselves; */
4325        BDBG_LEAVE(BRDC_List_RulSetSlaveListHead_isr);
4326        return err;
4327}
4328
4329/***************************************************************************
4330 * This function build the tail of the chained slave-RULs:
4331 * it simply disable the slave slot itself;
4332 */
4333BERR_Code BRDC_Slot_RulConfigSlaveListTail_isr
4334        ( BRDC_Slot_Handle                 hSlot,
4335          BRDC_List_Handle                 hList )
4336{
4337        uint32_t ulTrigSelect;
4338        uint32_t *pulStart;
4339        uint32_t *pulCurrent;
4340        BERR_Code  err = BERR_SUCCESS;
4341        BDBG_ENTER(BRDC_Slot_RulConfigSlaveListTail_isr);
4342
4343        /* Get trigger select value. */
4344        ulTrigSelect = hSlot->hRdc->aTrigInfo[BRDC_Trigger_UNKNOWN].ulTrigVal;
4345
4346        pulStart   = hList->pulRULCacheAddr;
4347        pulCurrent = pulStart + hList->ulEntries;
4348
4349        /* (1) disable desc_config  */
4350        *pulCurrent++ = BRDC_OP_IMM_TO_REG();
4351        *pulCurrent++ = BRDC_REGISTER(BCHP_RDC_desc_0_config + hSlot->ulRegOffset);
4352        *pulCurrent++ =
4353                        BCHP_FIELD_DATA(RDC_desc_0_config, enable,         0            ) |
4354                        BCHP_FIELD_DATA(RDC_desc_0_config, repeat,         0            ) |
4355                        BCHP_FIELD_DATA(RDC_desc_0_config, trigger_select, ulTrigSelect ) |
4356                        BCHP_FIELD_DATA(RDC_desc_0_config, count,          0            );
4357
4358        hList->ulEntries = (uint32_t)(pulCurrent - pulStart);
4359
4360        /* (4) update previous config pointer */
4361        hSlot->pulRulConfigPrevVal = hSlot->pulRulConfigVal;
4362
4363        BDBG_LEAVE(BRDC_Slot_RulConfigSlaveListTail_isr);
4364        return err;
4365}
4366
4367/***************************************************************************
4368 * This function flushes the cached list;
4369 */
4370BERR_Code BRDC_Slot_FlushCachedList_isr
4371        ( BRDC_Slot_Handle                 hSlot,
4372          BRDC_List_Handle                 hList )
4373{
4374        BERR_Code  err = BERR_SUCCESS;
4375        BSTD_UNUSED(hSlot);
4376        BDBG_ENTER(BRDC_Slot_FlushCachedList_isr);
4377
4378        /* Flush the list before setting it to a slot. */
4379
4380        /* flush the cache; don't change desc_config register; */
4381        BMEM_FlushCache_isr(hList->hRdc->hMem,
4382                hList->pulRULCacheAddr,
4383                hList->ulEntries * sizeof(uint32_t));
4384#ifdef BRDC_USE_CAPTURE_BUFFER
4385        /* Write to log before RUL could possibly be executed */
4386        BRDC_DBG_WriteCapture_isr(&hList->hRdc->captureBuffer, hSlot, hList);
4387#endif
4388
4389        BDBG_LEAVE(BRDC_Slot_FlushCachedList_isr);
4390        return err;
4391}
4392
4393/***************************************************************************
4394 * This function returns the timer snapshot for the slot
4395 */
4396uint32_t BRDC_Slot_GetTimerSnapshot_isr
4397        ( BRDC_Slot_Handle                 hSlot )
4398{
4399#if(BRDC_P_SUPPORT_TIMESTAMP)
4400        uint32_t ulOffset = hSlot->eSlotId * (BCHP_RDC_desc_1_tm_snapshot - BCHP_RDC_desc_0_tm_snapshot);
4401        return BRDC_Slot_P_Read32(hSlot, BCHP_RDC_desc_0_tm_snapshot + ulOffset);
4402#else
4403        BSTD_UNUSED(hSlot);
4404        return 0;
4405#endif
4406}
4407
4408/* end of file */
Note: See TracBrowser for help on using the repository browser.