Ejemplo n.º 1
0
/*!  
 *  ======== InterruptDsp_Module_startup ========
 */ 
Int InterruptDsp_Module_startup(Int phase)
{
    extern cregister volatile UInt DNUM;

    if (IntXbar_Module_startupDone()) {
        /* connect mailbox interrupts at startup */
        if (DNUM) {                    /* DSP1 */
            IntXbar_connect(33, 287);  // eve1 mailbox
            IntXbar_connect(34, 296);  // eve2 mailbox
            IntXbar_connect(35, 305);  // eve3 mailbox
            IntXbar_connect(36, 314);  // eve4 mailbox
            IntXbar_connect(37, 258);  // system mailbox 7
        }
        else {                         /* DSP0 */
            IntXbar_connect(33, 284);  // eve1 mailbox
            IntXbar_connect(34, 293);  // eve2 mailbox
            IntXbar_connect(35, 302);  // eve3 mailbox
            IntXbar_connect(36, 311);  // eve4 mailbox
            IntXbar_connect(37, 257);  // system mailbox 7
        }
        return (Startup_DONE); 
    }

    return (Startup_NOTDONE);
}
Ejemplo n.º 2
0
/*!  
 *  ======== InterruptBenelli_Module_startup ========
 */ 
Int InterruptBenelli_Module_startup(Int phase)
{
    if (IntXbar_Module_startupDone()) {
        /* connect mailbox interrupts at startup */
        //M4 Core 0
        IntXbar_connect(42, 285);  // eve1 mailbox
        IntXbar_connect(43, 294);  // eve2 mailbox
        IntXbar_connect(44, 303);  // eve3 mailbox
        IntXbar_connect(45, 312);  // eve4 mailbox
        IntXbar_connect(46, 259);  // system mailbox 7
        return (Startup_DONE); 
    }

    return (Startup_NOTDONE);
}
Ejemplo n.º 3
0
/*!
 *  ======== IntXbar_connectIRQ ========
 */
Void IntXbar_connectIRQ(UInt cpuIRQNum, UInt intSource)
{
#ifdef xdc_target__isaCompatible_arp32
    Assert_isTrue((cpuIRQNum <= 7),
            IntXbar_A_badEveIRQNum);
    IntXbar_connect(cpuIRQNum + 1, intSource);

#elif defined xdc_target__isaCompatible_66
    Assert_isTrue((cpuIRQNum >= 32) && (cpuIRQNum <= 95),
            IntXbar_A_badDspIRQNum);
    IntXbar_connect(cpuIRQNum - 31, intSource);

#elif (defined xdc_target__isaCompatible_v7M4)
    Assert_isTrue((cpuIRQNum >= 23) && (cpuIRQNum <= 79),
            IntXbar_A_badBenelliIRQNum);
    IntXbar_connect(cpuIRQNum - 22, intSource);

#elif defined xdc_target__isaCompatible_v7A15
    Assert_isTrue((cpuIRQNum == 4) ||
            ((cpuIRQNum >= 7) && (cpuIRQNum <= 130)) ||
            ((cpuIRQNum >= 133) && (cpuIRQNum <= 138)) ||
            ((cpuIRQNum >= 141) && (cpuIRQNum <= 159)),
            IntXbar_A_badA15IRQNum);

    if (cpuIRQNum == 4) {
        IntXbar_connect(cpuIRQNum - 3, intSource);
    }
    else if ((cpuIRQNum >= 7) && (cpuIRQNum <= 130)) {
        IntXbar_connect(cpuIRQNum - 5, intSource);
    }
    else if ((cpuIRQNum >= 133) && (cpuIRQNum <= 138)) {
        IntXbar_connect(cpuIRQNum - 7, intSource);
    }
    else if ((cpuIRQNum >= 141) && (cpuIRQNum <= 159)) {
        IntXbar_connect(cpuIRQNum - 7, intSource);
    }

#endif
}