PowerCC26X2.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2017-2019, 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 CONSEQueueNTIAL 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  */
52 #ifndef ti_drivers_power_PowerCC26X2_
53 #define ti_drivers_power_PowerCC26X2_
54 
55 #include <ti/drivers/dpl/HwiP.h>
56 #include <ti/drivers/dpl/ClockP.h>
57 #include <ti/drivers/Power.h>
59 
60 #ifdef __cplusplus
61 extern "C" {
62 #endif
63 
65 #define PowerCC26X2_RESUMETIMESTANDBY 750
66 
68 #define PowerCC26X2_TOTALTIMESTANDBY 1000
69 
71 #define PowerCC26X2_WAKEDELAYSTANDBY 240
72 
74 #define PowerCC26X2_INITIALWAITRCOSC_LF 1000
75 
77 #define PowerCC26X2_RETRYWAITRCOSC_LF 1000
78 
80 #define PowerCC26X2_INITIALWAITXOSC_HF 50
81 
83 #define PowerCC26X2_RETRYWAITXOSC_HF 50
84 
86 #define PowerCC26X2_INITIALWAITXOSC_LF 10000
87 
89 #define PowerCC26X2_RETRYWAITXOSC_LF 5000
90 
91 #define PowerCC26X2_PERIPH_PKA PowerCC26XX_NUMRESOURCES
93 #define PowerCC26X2_PERIPH_UART1 PowerCC26XX_NUMRESOURCES + 1
95 /* \cond */
96 #define PowerCC26X2_NUMRESOURCES (PowerCC26XX_NUMRESOURCES + 2) /* Number of resources in database */
97 /* \endcond */
98 
99 /* \cond */
100 #define PowerCC26X2_NUMCONSTRAINTS (PowerCC26XX_NUMCONSTRAINTS + 0) /* Number of constraints supported */
101 /* \endcond */
102 
103 /* \cond */
104 /*
105  * Calibration stages
106  */
107 #define PowerCC26X2_SETUP_CALIBRATE 1
108 #define PowerCC26X2_INITIATE_CALIBRATE 2
109 #define PowerCC26X2_DO_CALIBRATE 3
110 /* \endcond */
111 
112 
114 typedef struct {
155  bool (*calibrateFxn)(unsigned int);
193  void (*enableTCXOFxn)(bool);
195 
202 typedef struct {
204  uint32_t constraintMask;
205  ClockP_Struct clockObj;
206  ClockP_Struct calibrationClock;
207  ClockP_Struct tcxoEnableClock;
208  HwiP_Struct oscHwi;
209  HwiP_Struct tdcHwi;
210  int32_t nDeltaFreqCurr;
211  int32_t nCtrimCurr;
212  int32_t nCtrimFractCurr;
213  int32_t nCtrimNew;
214  int32_t nCtrimFractNew;
215  int32_t nRtrimNew;
216  int32_t nRtrimCurr;
217  int32_t nDeltaFreqNew;
218  bool bRefine;
219  uint32_t state;
220  bool xoscPending;
221  bool calLF;
222  uint8_t auxHwiState;
223  bool busyCal;
224  uint32_t calStep;
225  bool firstLF;
227  bool initialized;
228  uint8_t constraintCounts[PowerCC26X2_NUMCONSTRAINTS];
230  uint8_t resourceCounts[PowerCC26X2_NUMRESOURCES];
232  unsigned int (*resourceHandlers[3])(unsigned int);
236 
237 
238 #ifdef __cplusplus
239 }
240 #endif
241 
242 #endif /* POWER_CC26X2_ */
uint8_t auxHwiState
Definition: PowerCC26X2.h:222
HwiP_Struct oscHwi
Definition: PowerCC26X2.h:208
List_List notifyList
Definition: PowerCC26X2.h:203
Definition: List.h:131
int32_t nCtrimNew
Definition: PowerCC26X2.h:213
int32_t nCtrimFractCurr
Definition: PowerCC26X2.h:212
void(* Power_PolicyInitFxn)(void)
Power policy initialization function pointer.
Definition: Power.h:402
Power Manager.
bool xoscPending
Definition: PowerCC26X2.h:220
bool busyCal
Definition: PowerCC26X2.h:223
Power manager interface for CC26XX/CC13XX.
bool initialized
Definition: PowerCC26X2.h:227
int32_t nDeltaFreqNew
Definition: PowerCC26X2.h:217
bool calibrateRCOSC_HF
Boolean specifying whether the high frequency RC oscillator (RCOSC_HF) should be calibrated.
Definition: PowerCC26X2.h:186
bool enablePolicy
Definition: PowerCC26X2.h:226
void(* Power_PolicyFxn)(void)
Power policy function pointer.
Definition: Power.h:407
int32_t nRtrimNew
Definition: PowerCC26X2.h:215
ClockP_Struct tcxoEnableClock
Definition: PowerCC26X2.h:207
int32_t nDeltaFreqCurr
Definition: PowerCC26X2.h:210
uint32_t calStep
Definition: PowerCC26X2.h:224
Global configuration structure.
Definition: PowerCC26X2.h:114
Power_PolicyInitFxn policyInitFxn
The Power Policy&#39;s initialization function.
Definition: PowerCC26X2.h:121
bool calibrateRCOSC_LF
Boolean specifying whether the low frequency RC oscillator (RCOSC_LF) should be calibrated.
Definition: PowerCC26X2.h:177
ClockP_Struct calibrationClock
Definition: PowerCC26X2.h:206
PowerCC26X2_ModuleState.
Definition: PowerCC26X2.h:202
uint32_t state
Definition: PowerCC26X2.h:219
int32_t nRtrimCurr
Definition: PowerCC26X2.h:216
Power_PolicyFxn policyFxn
Definition: PowerCC26X2.h:234
int32_t nCtrimCurr
Definition: PowerCC26X2.h:211
uint32_t constraintMask
Definition: PowerCC26X2.h:204
bool enablePolicy
Boolean specifying if the Power Policy function is enabled.
Definition: PowerCC26X2.h:168
Power_PolicyFxn policyFxn
The Power Policy function.
Definition: PowerCC26X2.h:143
ClockP_Struct clockObj
Definition: PowerCC26X2.h:205
int32_t nCtrimFractNew
Definition: PowerCC26X2.h:214
HwiP_Struct tdcHwi
Definition: PowerCC26X2.h:209
bool bRefine
Definition: PowerCC26X2.h:218
bool firstLF
Definition: PowerCC26X2.h:225
bool calLF
Definition: PowerCC26X2.h:221
© Copyright 1995-2019, Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy policy | Terms of use | Terms of sale