1 2 3 4 5 6 7 8 9
10 11 12 13 14 15
16
17 import ti.sdo.utils.MultiProc;
18
19 /*!
20 * ======== InterruptDucati ========
21 * DM740/Ducati based interrupt manager
22 */
23
24 module InterruptDucati inherits ti.sdo.ipc.notifyDrivers.IInterrupt
25 {
26
27 config UInt32 mailboxBaseAddr = 0x480C8000;
28
29
30 config UInt32 ducatiCtrlBaseAddr = 0x55081000;
31
32 internal:
33
34 /*! Statically retrieve procIds to avoid doing this at runtime */
35 config UInt dspProcId = MultiProc.INVALIDID;
36 config UInt hostProcId = MultiProc.INVALIDID;
37 config UInt videoProcId = MultiProc.INVALIDID;
38 config UInt dssProcId = MultiProc.INVALIDID;
39
40 /*! Function table */
41 struct FxnTable {
42 Fxn func;
43 UArg arg;
44 }
45
46 /*! Stub to be plugged for inter-ducati interrupts */
47 Void intShmDucatiStub(UArg arg);
48
49 /*! Stub to be plugged for intra-ducati interrupts */
50 Void intShmMbxStub(UArg arg);
51
52 struct Module_State {
53 FxnTable fxnTable[3];
54 Bool numPlugged;
55 };
56 }