PowerMSP432E4.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2017-2018, Texas Instruments Incorporated
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  *
9  * * Redistributions of source code must retain the above copyright
10  * notice, this list of conditions and the following disclaimer.
11  *
12  * * Redistributions in binary form must reproduce the above copyright
13  * notice, this list of conditions and the following disclaimer in the
14  * documentation and/or other materials provided with the distribution.
15  *
16  * * Neither the name of Texas Instruments Incorporated nor the names of
17  * its contributors may be used to endorse or promote products derived
18  * from this software without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  */
54 #ifndef ti_drivers_power_PowerMSP432E4__include
55 #define ti_drivers_power_PowerMSP432E4__include
56 
57 #include <stdint.h>
58 #include <ti/drivers/Power.h>
59 
60 #ifdef __cplusplus
61 extern "C" {
62 #endif
63 
64 /* Power resources */
65 #define PowerMSP432E4_PERIPH_ADC0 0
66 
68 #define PowerMSP432E4_PERIPH_ADC1 1
69 
71 #define PowerMSP432E4_PERIPH_CAN0 2
72 
74 #define PowerMSP432E4_PERIPH_CAN1 3
75 
77 #define PowerMSP432E4_PERIPH_CCM0 4
78 
80 #define PowerMSP432E4_PERIPH_COMP0 5
81 
83 #define PowerMSP432E4_PERIPH_GPIOA 6
84 
86 #define PowerMSP432E4_PERIPH_GPIOB 7
87 
89 #define PowerMSP432E4_PERIPH_GPIOC 8
90 
92 #define PowerMSP432E4_PERIPH_GPIOD 9
93 
95 #define PowerMSP432E4_PERIPH_GPIOE 10
96 
98 #define PowerMSP432E4_PERIPH_GPIOF 11
99 
101 #define PowerMSP432E4_PERIPH_GPIOG 12
102 
104 #define PowerMSP432E4_PERIPH_GPIOH 13
105 
107 #define PowerMSP432E4_PERIPH_GPIOJ 14
108 
110 #define PowerMSP432E4_PERIPH_GPIOK 15
111 
113 #define PowerMSP432E4_PERIPH_GPIOL 16
114 
116 #define PowerMSP432E4_PERIPH_GPIOM 17
117 
119 #define PowerMSP432E4_PERIPH_GPION 18
120 
122 #define PowerMSP432E4_PERIPH_GPIOP 19
123 
125 #define PowerMSP432E4_PERIPH_GPIOQ 20
126 
128 #define PowerMSP432E4_PERIPH_GPIOR 21
129 
131 #define PowerMSP432E4_PERIPH_GPIOS 22
132 
134 #define PowerMSP432E4_PERIPH_GPIOT 23
135 
137 #define PowerMSP432E4_PERIPH_EMAC0 24
138 
140 #define PowerMSP432E4_PERIPH_EPHY0 25
141 
143 #define PowerMSP432E4_PERIPH_EPI0 26
144 
146 #define PowerMSP432E4_PERIPH_I2C0 27
147 
149 #define PowerMSP432E4_PERIPH_I2C1 28
150 
152 #define PowerMSP432E4_PERIPH_I2C2 29
153 
155 #define PowerMSP432E4_PERIPH_I2C3 30
156 
158 #define PowerMSP432E4_PERIPH_I2C4 31
159 
161 #define PowerMSP432E4_PERIPH_I2C5 32
162 
164 #define PowerMSP432E4_PERIPH_I2C6 33
165 
167 #define PowerMSP432E4_PERIPH_I2C7 34
168 
170 #define PowerMSP432E4_PERIPH_I2C8 35
171 
173 #define PowerMSP432E4_PERIPH_I2C9 36
174 
176 #define PowerMSP432E4_PERIPH_LCD0 37
177 
179 #define PowerMSP432E4_PERIPH_ONEWIRE0 38
180 
182 #define PowerMSP432E4_PERIPH_PWM0 39
183 
185 #define PowerMSP432E4_PERIPH_QEI0 40
186 
188 #define PowerMSP432E4_PERIPH_SSI0 41
189 
191 #define PowerMSP432E4_PERIPH_SSI1 42
192 
194 #define PowerMSP432E4_PERIPH_SSI2 43
195 
197 #define PowerMSP432E4_PERIPH_SSI3 44
198 
200 #define PowerMSP432E4_PERIPH_TIMER0 45
201 
203 #define PowerMSP432E4_PERIPH_TIMER1 46
204 
206 #define PowerMSP432E4_PERIPH_TIMER2 47
207 
209 #define PowerMSP432E4_PERIPH_TIMER3 48
210 
212 #define PowerMSP432E4_PERIPH_TIMER4 49
213 
215 #define PowerMSP432E4_PERIPH_TIMER5 50
216 
218 #define PowerMSP432E4_PERIPH_TIMER6 51
219 
221 #define PowerMSP432E4_PERIPH_TIMER7 52
222 
224 #define PowerMSP432E4_PERIPH_UART0 53
225 
227 #define PowerMSP432E4_PERIPH_UART1 54
228 
230 #define PowerMSP432E4_PERIPH_UART2 55
231 
233 #define PowerMSP432E4_PERIPH_UART3 56
234 
236 #define PowerMSP432E4_PERIPH_UART4 57
237 
239 #define PowerMSP432E4_PERIPH_UART5 58
240 
242 #define PowerMSP432E4_PERIPH_UART6 59
243 
245 #define PowerMSP432E4_PERIPH_UART7 60
246 
248 #define PowerMSP432E4_PERIPH_UDMA 61
249 
251 #define PowerMSP432E4_PERIPH_USB0 62
252 
254 #define PowerMSP432E4_PERIPH_WDOG0 63
255 
257 #define PowerMSP432E4_PERIPH_WDOG1 64
258 
260 #define PowerMSP432E4_DOMAIN_CAN0 65
261 
263 #define PowerMSP432E4_DOMAIN_CAN1 66
264 
266 #define PowerMSP432E4_DOMAIN_CCM0 67
267 
269 #define PowerMSP432E4_DOMAIN_EMAC0 68
270 
272 #define PowerMSP432E4_DOMAIN_EPHY0 69
273 
275 #define PowerMSP432E4_DOMAIN_USB0 70
276 
278 /* \cond */
279 /*
280  * Last peripheral resource; any resources beyond this will be considered
281  * domain resources. This is an optimization to reduce the footprint of the
282  * database, eliminating an extra byte per resource to designate the type of
283  * the resource.
284  */
285 #define PowerMSP432E4_LASTPERIPH PowerMSP432E4_PERIPH_WDOG1
286 
287 /* Total number of resources in database */
288 #define PowerMSP432E4_NUMRESOURCES 71
289 /* \endcond */
290 
292 typedef struct PowerMSP432E4_Config {
314 
319 typedef struct PowerMSP432E4_ModuleState {
320  uint32_t dbRecords[PowerMSP432E4_NUMRESOURCES];
322  bool enablePolicy;
323  bool initialized;
324  uint8_t refCount[PowerMSP432E4_NUMRESOURCES];
325 } PowerMSP432E4_ModuleState;
329 void PowerMSP432E4_sleepPolicy(void);
330 
331 /* \cond */
332 /*
333  * The following APIs are not implemented for PowerMSP432E4, and are replaced
334  * with the following values ...
335  */
336 #define Power_getConstraintMask(void) 0
337 #define Power_getTransitionLatency(state, type) 0
338 #define Power_getTransitionState(void) Power_ACTIVE
339 #define Power_getPerformanceLevel(void) 0
340 #define Power_registerNotify(object, types, fxn, arg) Power_SOK
341 #define Power_releaseConstraint(id) Power_SOK
342 #define Power_setConstraint(id) Power_SOK
343 #define Power_setPerformanceLevel(level) Power_EFAIL
344 #define Power_shutdown(state, time) Power_EINVALIDINPUT
345 #define Power_sleep(state, time) Power_SOK
346 #define Power_unregisterNotify(object)
347 /* \endcond */
348 
349 #ifdef __cplusplus
350 }
351 #endif
352 
353 #endif /* ti_drivers_power_PowerMSP432E4__include */
Power_PolicyFxn policyFxn
The Power Policy function.
Definition: PowerMSP432E4.h:299
Power Manager interface.
void(* Power_PolicyFxn)(void)
Power policy function pointer.
Definition: Power.h:105
struct PowerMSP432E4_Config PowerMSP432E4_Config
Power global configuration structure.
void PowerMSP432E4_sleepPolicy(void)
bool enablePolicy
Boolean specifying if the Power Policy function is enabled.
Definition: PowerMSP432E4.h:312
Power global configuration structure.
Definition: PowerMSP432E4.h:292
© Copyright 1995-2018, Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy policy | Terms of use | Terms of sale