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 @ModuleStartup
86
87 module Wugen
88 {
89 /*!
90 * ======== applyMasks ========
91 * This function takes an array of 3 integers and applies the specified
92 * mask to the WUGEN interrupt mask registers. If the bit in the mask is
93 * enabled, the corresponding interrupt in the WUGEN will be blocked.
94 *
95 * @param(mask) array of three integers for applying to the WUGEN
96 * interrupt mask register.
97 * First mask consists of IRQ 0-31
98 * Second mask consists of IRQ 32-47
99 * Third mask consists of DMA requests
100 */
101 Void applyMasks(UInt32 mask[]);
102
103 /*!
104 * ======== disableDma ========
105 * Disables the specified DMA source in the WUGEN
106 *
107 * @param(dmaid) the DMA id for a particular EDMA source.
108 */
109 Void disableDma(UInt dmaid);
110
111 /*!
112 * ======== disableEvent ========
113 * Disables the specified interrupt event source in the WUGEN
114 *
115 * @param(eventid) the event number of an interrupt source
116 */
117 Void disableEvent(UInt eventid);
118
119 /*!
120 * ======== enableDma ========
121 * Enables the specified DMA source in the WUGEN
122 *
123 * @param(dmaid) the DMA id for a particular EDMA source.
124 */
125 Void enableDma(UInt dmaid);
126
127 /*!
128 * ======== enableEvent ========
129 * Enables the specified interrupt event source in the WUGEN
130 *
131 * @param(eventid) the event number of an interrupt source
132 */
133 Void enableEvent(UInt eventid);
134
135 /*!
136 * ======== getMasks ========
137 * This function returns the WUGEN interrupt mask registers
138 *
139 * @param(mask) array of three integers used to return the WUGEN
140 * interrupt mask registers
141 * First mask consists of IRQ 0-31
142 * Second mask consists of IRQ 32-47
143 * Third mask consists of DMA requests
144 */
145 Void getMasks(UInt32 mask[]);
146
147 /*!
148 * ======== ierToMasks ========
149 * Compute the WUGEN masks needed to allow the interrupts set in the IER
150 * register to propagate through the WUGEN. This function does not enable
151 * external DMA requests. You must set these explicitly to configure a
152 * DMA request as a wakeup event.
153 *
154 * @param(mask) array of three integers for returning WUGEN masks.
155 * First mask consists of IRQ 0-31
156 * Second mask consists of IRQ 32-47
157 * Third mask consists of DMA requests
158 */
159 Void ierToMasks(UInt32 mask[]);
160
161
162 internal:
163
164 }
165 166 167 168
169