1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
32 33 34 35 36
37
38 package ti.sysbios.family.c64p.omap3430;
39
40 /*!
41 * ======== Wugen ========
42 * Wugen Module
43 *
44 * Unconstrained Functions
45 * All functions
46 *
47 * @p(html)
48 * <h3> Calling Context </h3>
49 * <table border="1" cellpadding="3">
50 * <colgroup span="1"></colgroup> <colgroup span="5" align="center"></colgroup>
51 *
52 * <tr><th> Function </th><th> Hwi </th><th> Swi </th><th> Task </th><th> Main </th><th> Startup </th></tr>
53 * <!-- -->
54 * <tr><td> {@link #applyMasks} </td><td> Y </td><td> Y </td><td> Y </td><td> Y </td><td> Y </td></tr>
55 * <tr><td> {@link #disableDma} </td><td> Y </td><td> Y </td><td> Y </td><td> Y </td><td> Y </td></tr>
56 * <tr><td> {@link #disableEvent} </td><td> Y </td><td> Y </td><td> Y </td><td> Y </td><td> Y </td></tr>
57 * <tr><td> {@link #enableDma} </td><td> Y </td><td> Y </td><td> Y </td><td> Y </td><td> Y </td></tr>
58 * <tr><td> {@link #enableEvent} </td><td> Y </td><td> Y </td><td> Y </td><td> Y </td><td> Y </td></tr>
59 * <tr><td> {@link #getMasks} </td><td> Y </td><td> Y </td><td> Y </td><td> Y </td><td> Y </td></tr>
60 * <tr><td> {@link #ierToMasks} </td><td> Y </td><td> Y </td><td> Y </td><td> Y </td><td> Y </td></tr>
61 * <tr><td colspan="6"> Definitions: <br />
62 * <ul>
63 * <li> <b>Hwi</b>: API is callable from a Hwi thread. </li>
64 * <li> <b>Swi</b>: API is callable from a Swi thread. </li>
65 * <li> <b>Task</b>: API is callable from a Task thread. </li>
66 * <li> <b>Main</b>: API is callable during any of these phases: </li>
67 * <ul>
68 * <li> In your module startup after this module is started (e.g. Mod_Module_startupDone() returns TRUE). </li>
69 * <li> During xdc.runtime.Startup.lastFxns. </li>
70 * <li> During main().</li>
71 * <li> During BIOS.startupFxns.</li>
72 * </ul>
73 * <li> <b>Startup</b>: API is callable during any of these phases:</li>
74 * <ul>
75 * <li> During xdc.runtime.Startup.firstFxns.</li>
76 * <li> In your module startup before this module is started (e.g. Mod_Module_startupDone() returns FALSE).</li>
77 * </ul>
78 * </ul>
79 * </td></tr>
80 *
81 * </table>
82 * @p
83 */
84
85 @DirectCall
86 @ModuleStartup
87
88 module Wugen
89 {
90 /*!
91 * ======== applyMasks ========
92 * This function takes an array of 3 integers and applies the specified
93 * mask to the WUGEN interrupt mask registers. If the bit in the mask is
94 * enabled, the corresponding interrupt in the WUGEN will be blocked.
95 *
96 * @param(mask) array of three integers for applying to the WUGEN
97 * interrupt mask register.
98 * First mask consists of IRQ 0-31
99 * Second mask consists of IRQ 32-47
100 * Third mask consists of DMA requests
101 */
102 Void applyMasks(UInt32 mask[]);
103
104 /*!
105 * ======== disableDma ========
106 * Disables the specified DMA source in the WUGEN
107 *
108 * @param(dmaid) the DMA id for a particular EDMA source.
109 */
110 Void disableDma(UInt dmaid);
111
112 /*!
113 * ======== disableEvent ========
114 * Disables the specified interrupt event source in the WUGEN
115 *
116 * @param(eventid) the event number of an interrupt source
117 */
118 Void disableEvent(UInt eventid);
119
120 /*!
121 * ======== enableDma ========
122 * Enables the specified DMA source in the WUGEN
123 *
124 * @param(dmaid) the DMA id for a particular EDMA source.
125 */
126 Void enableDma(UInt dmaid);
127
128 /*!
129 * ======== enableEvent ========
130 * Enables the specified interrupt event source in the WUGEN
131 *
132 * @param(eventid) the event number of an interrupt source
133 */
134 Void enableEvent(UInt eventid);
135
136 /*!
137 * ======== getMasks ========
138 * This function returns the WUGEN interrupt mask registers
139 *
140 * @param(mask) array of three integers used to return the WUGEN
141 * interrupt mask registers
142 * First mask consists of IRQ 0-31
143 * Second mask consists of IRQ 32-47
144 * Third mask consists of DMA requests
145 */
146 Void getMasks(UInt32 mask[]);
147
148 /*!
149 * ======== ierToMasks ========
150 * Compute the WUGEN masks needed to allow the interrupts set in the IER
151 * register to propagate through the WUGEN. This function does not enable
152 * external DMA requests. You must set these explicitly to configure a
153 * DMA request as a wakeup event.
154 *
155 * @param(mask) array of three integers for returning WUGEN masks.
156 * First mask consists of IRQ 0-31
157 * Second mask consists of IRQ 32-47
158 * Third mask consists of DMA requests
159 */
160 Void ierToMasks(UInt32 mask[]);
161
162
163 internal:
164
165 }