module ti.sdo.ipc.family.vayu.InterruptBenelli

TI81xx/Ducati based interrupt manager

C synopsis target-domain sourced in ti/sdo/ipc/family/vayu/InterruptBenelli.xdc
#include <ti/sdo/ipc/family/vayu/InterruptBenelli.h>
Functions common to all IInterrupt modules
UInt 
Void 
Void 
Void 
Void 
Void 
Functions common to all target modules
Typedefs
typedef struct
Constants
extern const UInt32 
extern const UInt32 
extern const UInt32 
extern const UInt32 
extern const UInt32 
 
 
struct InterruptBenelli_IntInfo
C synopsis target-domain
typedef struct InterruptBenelli_IntInfo {
    UInt localIntId;
    UInt remoteIntId;
    UInt intVectorId;
} InterruptBenelli_IntInfo;
 
 
config InterruptBenelli_benelliInterruptTable  // module-wide
C synopsis target-domain
extern const UInt32 InterruptBenelli_benelliInterruptTable[8];
 
 
config InterruptBenelli_ducatiCtrlBaseAddr  // module-wide
C synopsis target-domain
extern const UInt32 InterruptBenelli_ducatiCtrlBaseAddr;
 
 
config InterruptBenelli_mailboxBaseAddr  // module-wide
C synopsis target-domain
extern const UInt32 InterruptBenelli_mailboxBaseAddr[10];
 
 
config InterruptBenelli_mailboxTable  // module-wide
C synopsis target-domain
extern const UInt32 InterruptBenelli_mailboxTable[64];
 
 
config InterruptBenelli_procIdTable  // module-wide
C synopsis target-domain
extern const UInt32 InterruptBenelli_procIdTable[8];
 
 
InterruptBenelli_intClear()  // module-wide

Clear interrupt

C synopsis target-domain
UInt InterruptBenelli_intClear(UInt16 remoteProcId, IInterrupt_IntInfo *intInfo);
 
ARGUMENTS
remoteProcId — Remote MultiProc Id
intInfo — Information needed to configure interrupt line
RETURNS
Value (if any) of the interrupt before it was cleared
 
InterruptBenelli_intDisable()  // module-wide

Disables the interrupt corresponding to intId

C synopsis target-domain
Void InterruptBenelli_intDisable(UInt16 remoteProcId, IInterrupt_IntInfo *intInfo);
 
ARGUMENTS
remoteProcId — Remote MultiProc Id
intInfo — Information needed to configure interrupt line
 
InterruptBenelli_intEnable()  // module-wide

Enables the interrupt corresponding to intId

C synopsis target-domain
Void InterruptBenelli_intEnable(UInt16 remoteProcId, IInterrupt_IntInfo *intInfo);
 
ARGUMENTS
remoteProcId — Remote MultiProc Id
intInfo — Information needed to configure interrupt line
 
InterruptBenelli_intRegister()  // module-wide

Register an interrupt line to a remote processor

C synopsis target-domain
Void InterruptBenelli_intRegister(UInt16 remoteProcId, IInterrupt_IntInfo *intInfo, Fxn func, UArg arg);
 
ARGUMENTS
remoteProcId — Remote MultiProc Id
intInfo — Information needed to configure interrupt line
func — Function to register.
arg — Argument that will be passed to func
 
InterruptBenelli_intSend()  // module-wide

Send interrupt to the remote processor

C synopsis target-domain
Void InterruptBenelli_intSend(UInt16 remoteProcId, IInterrupt_IntInfo *intInfo, UArg arg);
 
ARGUMENTS
remoteProcId — Remote MultiProc Id
intInfo — Information needed to configure interrupt line
arg — Argument for sending interrupt.
 
InterruptBenelli_intUnregister()  // module-wide

Unregister an interrupt line to a remote processor

C synopsis target-domain
Void InterruptBenelli_intUnregister(UInt16 remoteProcId, IInterrupt_IntInfo *intInfo);
 
ARGUMENTS
remoteProcId — Remote MultiProc Id
intInfo — Information needed to configure interrupt line
Module-Wide Built-Ins

C synopsis target-domain
Types_ModuleId InterruptBenelli_Module_id();
// Get this module's unique id
 
Bool InterruptBenelli_Module_startupDone();
// Test if this module has completed startup
 
IHeap_Handle InterruptBenelli_Module_heap();
// The heap from which this module allocates memory
 
Bool InterruptBenelli_Module_hasMask();
// Test whether this module has a diagnostics mask
 
Bits16 InterruptBenelli_Module_getMask();
// Returns the diagnostics mask for this module
 
Void InterruptBenelli_Module_setMask(Bits16 mask);
// Set the diagnostics mask for this module
 
XDCscript usage meta-domain sourced in ti/sdo/ipc/family/vayu/InterruptBenelli.xdc
var InterruptBenelli = xdc.useModule('ti.sdo.ipc.family.vayu.InterruptBenelli');
module-wide constants & types
    var obj = new InterruptBenelli.IntInfo// ;
        obj.localIntId = UInt  ...
        obj.remoteIntId = UInt  ...
        obj.intVectorId = UInt  ...
module-wide config parameters
    InterruptBenelli.benelliInterruptTable//  = UInt32[8] undefined;
    InterruptBenelli.ducatiCtrlBaseAddr//  = UInt32 0x40001000;
    InterruptBenelli.mailboxBaseAddr//  = UInt32[10] undefined;
    InterruptBenelli.mailboxTable//  = UInt32[64] undefined;
    InterruptBenelli.procIdTable//  = UInt32[8] undefined;
 
 
 
struct InterruptBenelli.IntInfo
XDCscript usage meta-domain
var obj = new InterruptBenelli.IntInfo;
 
    obj.localIntId = UInt  ...
    obj.remoteIntId = UInt  ...
    obj.intVectorId = UInt  ...
 
C SYNOPSIS
 
config InterruptBenelli.benelliInterruptTable  // module-wide
XDCscript usage meta-domain
InterruptBenelli.benelliInterruptTable = UInt32[8] undefined;
 
C SYNOPSIS
 
config InterruptBenelli.ducatiCtrlBaseAddr  // module-wide
XDCscript usage meta-domain
InterruptBenelli.ducatiCtrlBaseAddr = UInt32 0x40001000;
 
C SYNOPSIS
 
config InterruptBenelli.mailboxBaseAddr  // module-wide
XDCscript usage meta-domain
InterruptBenelli.mailboxBaseAddr = UInt32[10] undefined;
 
C SYNOPSIS
 
config InterruptBenelli.mailboxTable  // module-wide
XDCscript usage meta-domain
InterruptBenelli.mailboxTable = UInt32[64] undefined;
 
C SYNOPSIS
 
config InterruptBenelli.procIdTable  // module-wide
XDCscript usage meta-domain
InterruptBenelli.procIdTable = UInt32[8] undefined;
 
C SYNOPSIS
 
metaonly config InterruptBenelli.common$  // module-wide

Common module configuration parameters

XDCscript usage meta-domain
InterruptBenelli.common$ = Types.Common$ undefined;
 
DETAILS
All modules have this configuration parameter. Its name contains the '$' character to ensure it does not conflict with configuration parameters declared by the module. This allows new configuration parameters to be added in the future without any chance of breaking existing modules.
generated on Tue, 22 May 2012 23:44:51 GMT