Amit Gandhi / mbed-dev

Fork of mbed-dev by mbed official

Committer:
AnnaBridge
Date:
Wed Nov 08 13:50:44 2017 +0000
Revision:
178:d650f5d4c87a
Parent:
173:7d866c31b3c5
This updates the lib to the mbed lib v 155

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AnnaBridge 173:7d866c31b3c5 1 /**
AnnaBridge 173:7d866c31b3c5 2 *******************************************************************************
AnnaBridge 173:7d866c31b3c5 3 * @file tmpm066_cg.h
AnnaBridge 173:7d866c31b3c5 4 * @brief This file provides all the functions prototypes for CG driver.
AnnaBridge 173:7d866c31b3c5 5 * @version V2.0.2.1
AnnaBridge 173:7d866c31b3c5 6 * @date 2015/09/29
AnnaBridge 173:7d866c31b3c5 7 *
AnnaBridge 173:7d866c31b3c5 8 * (C)Copyright TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION 2017 All rights reserved
AnnaBridge 173:7d866c31b3c5 9 *******************************************************************************
AnnaBridge 173:7d866c31b3c5 10 */
AnnaBridge 173:7d866c31b3c5 11
AnnaBridge 173:7d866c31b3c5 12 /* Define to prevent recursive inclusion -------------------------------------*/
AnnaBridge 173:7d866c31b3c5 13 #ifndef __TMPM066_CG_H
AnnaBridge 173:7d866c31b3c5 14 #define __TMPM066_CG_H
AnnaBridge 173:7d866c31b3c5 15
AnnaBridge 173:7d866c31b3c5 16 #ifdef __cplusplus
AnnaBridge 173:7d866c31b3c5 17 extern "C" {
AnnaBridge 173:7d866c31b3c5 18 #endif /* __cplusplus */
AnnaBridge 173:7d866c31b3c5 19
AnnaBridge 173:7d866c31b3c5 20 /* Includes ------------------------------------------------------------------*/
AnnaBridge 173:7d866c31b3c5 21 #include "TMPM066.h"
AnnaBridge 173:7d866c31b3c5 22 #include "tx00_common.h"
AnnaBridge 173:7d866c31b3c5 23
AnnaBridge 173:7d866c31b3c5 24 /** @addtogroup TX00_Periph_Driver
AnnaBridge 173:7d866c31b3c5 25 * @{
AnnaBridge 173:7d866c31b3c5 26 */
AnnaBridge 173:7d866c31b3c5 27
AnnaBridge 173:7d866c31b3c5 28 /** @addtogroup CG
AnnaBridge 173:7d866c31b3c5 29 * @{
AnnaBridge 173:7d866c31b3c5 30 */
AnnaBridge 173:7d866c31b3c5 31
AnnaBridge 173:7d866c31b3c5 32 /** @addtogroup CG_Exported_types
AnnaBridge 173:7d866c31b3c5 33 * @{
AnnaBridge 173:7d866c31b3c5 34 */
AnnaBridge 173:7d866c31b3c5 35
AnnaBridge 173:7d866c31b3c5 36 typedef enum {
AnnaBridge 173:7d866c31b3c5 37 CG_DIVIDE_1 = 0U,
AnnaBridge 173:7d866c31b3c5 38 CG_DIVIDE_2 = 1U,
AnnaBridge 173:7d866c31b3c5 39 CG_DIVIDE_4 = 2U,
AnnaBridge 173:7d866c31b3c5 40 CG_DIVIDE_8 = 3U,
AnnaBridge 173:7d866c31b3c5 41 CG_DIVIDE_16 = 4U,
AnnaBridge 173:7d866c31b3c5 42 CG_DIVIDE_32 = 5U,
AnnaBridge 173:7d866c31b3c5 43 CG_DIVIDE_64 = 6U,
AnnaBridge 173:7d866c31b3c5 44 CG_DIVIDE_128 = 7U,
AnnaBridge 173:7d866c31b3c5 45 CG_DIVIDE_256 = 8U,
AnnaBridge 173:7d866c31b3c5 46 CG_DIVIDE_512 = 9U,
AnnaBridge 173:7d866c31b3c5 47 CG_DIVIDE_UNKNOWN = 10U,
AnnaBridge 173:7d866c31b3c5 48 CG_DIVIDE_MAX = 16U
AnnaBridge 173:7d866c31b3c5 49 } CG_DivideLevel;
AnnaBridge 173:7d866c31b3c5 50 #define IS_CG_GEAR_DIVIDE_LEVEL(param) (((param) == CG_DIVIDE_1) || \
AnnaBridge 173:7d866c31b3c5 51 ((param) == CG_DIVIDE_2) || \
AnnaBridge 173:7d866c31b3c5 52 ((param) == CG_DIVIDE_4) || \
AnnaBridge 173:7d866c31b3c5 53 ((param) == CG_DIVIDE_8) || \
AnnaBridge 173:7d866c31b3c5 54 ((param) == CG_DIVIDE_16))
AnnaBridge 173:7d866c31b3c5 55
AnnaBridge 173:7d866c31b3c5 56 #define IS_CG_DIVIDE_FC_LEVEL(param) (((param) == CG_DIVIDE_1) || \
AnnaBridge 173:7d866c31b3c5 57 ((param) == CG_DIVIDE_2) || \
AnnaBridge 173:7d866c31b3c5 58 ((param) == CG_DIVIDE_4) || \
AnnaBridge 173:7d866c31b3c5 59 ((param) == CG_DIVIDE_8) || \
AnnaBridge 173:7d866c31b3c5 60 ((param) == CG_DIVIDE_16) || \
AnnaBridge 173:7d866c31b3c5 61 ((param) == CG_DIVIDE_32) || \
AnnaBridge 173:7d866c31b3c5 62 ((param) == CG_DIVIDE_64)|| \
AnnaBridge 173:7d866c31b3c5 63 ((param) == CG_DIVIDE_128) || \
AnnaBridge 173:7d866c31b3c5 64 ((param) == CG_DIVIDE_256) || \
AnnaBridge 173:7d866c31b3c5 65 ((param) == CG_DIVIDE_512))
AnnaBridge 173:7d866c31b3c5 66
AnnaBridge 173:7d866c31b3c5 67 typedef enum {
AnnaBridge 173:7d866c31b3c5 68 CG_FOSC_OSC_INT = 0U,
AnnaBridge 173:7d866c31b3c5 69 CG_FOSC_OSC_EXT = 1U,
AnnaBridge 173:7d866c31b3c5 70 CG_FOSC_CLKIN_EXT = 2U
AnnaBridge 173:7d866c31b3c5 71 } CG_FoscSrc;
AnnaBridge 173:7d866c31b3c5 72 #define IS_CG_FOSC_SRC(param) (((param) == CG_FOSC_OSC_EXT) || \
AnnaBridge 173:7d866c31b3c5 73 ((param) == CG_FOSC_OSC_INT) || \
AnnaBridge 173:7d866c31b3c5 74 ((param) == CG_FOSC_CLKIN_EXT))
AnnaBridge 173:7d866c31b3c5 75
AnnaBridge 173:7d866c31b3c5 76 #define IS_CG_FOSC_STATE(param) (((param) == CG_FOSC_OSC_EXT) || \
AnnaBridge 173:7d866c31b3c5 77 ((param) == CG_FOSC_OSC_INT) )
AnnaBridge 173:7d866c31b3c5 78
AnnaBridge 173:7d866c31b3c5 79 typedef enum {
AnnaBridge 173:7d866c31b3c5 80 CG_WARM_UP_SRC_OSC_INT_HIGH = 0U,
AnnaBridge 173:7d866c31b3c5 81 CG_WARM_UP_SRC_OSC_EXT_HIGH = 1U,
AnnaBridge 173:7d866c31b3c5 82 } CG_WarmUpSrc;
AnnaBridge 173:7d866c31b3c5 83 #define IS_CG_WARM_UP_SRC(param) (((param) == CG_WARM_UP_SRC_OSC_INT_HIGH) || \
AnnaBridge 173:7d866c31b3c5 84 ((param) == CG_WARM_UP_SRC_OSC_EXT_HIGH))
AnnaBridge 173:7d866c31b3c5 85
AnnaBridge 173:7d866c31b3c5 86 typedef enum {
AnnaBridge 173:7d866c31b3c5 87 CG_FC_SRC_FOSC = 0U,
AnnaBridge 173:7d866c31b3c5 88 CG_FC_SRC_FPLL = 1U
AnnaBridge 173:7d866c31b3c5 89 } CG_FcSrc;
AnnaBridge 173:7d866c31b3c5 90 #define IS_CG_FC_SRC(param) (((param) == CG_FC_SRC_FOSC) || \
AnnaBridge 173:7d866c31b3c5 91 ((param) == CG_FC_SRC_FPLL))
AnnaBridge 173:7d866c31b3c5 92
AnnaBridge 173:7d866c31b3c5 93 #define CG_8M_MUL_12_FPLL (0x00C60B00UL<<8U) /* 12 fold, input 8MHz, output 96MHz */
AnnaBridge 173:7d866c31b3c5 94 #define CG_10M_MUL_8_FPLL (0x00C60700UL<<8U) /* 10 fold, input 10MHz, output 80MHz */
AnnaBridge 173:7d866c31b3c5 95 #define CG_12M_MUL_8_FPLL (0x00C60700UL<<8U) /* 12 fold, input 12MHz, output 96MHz */
AnnaBridge 173:7d866c31b3c5 96 #define CG_16M_MUL_6_FPLL (0x00C60500UL<<8U) /* 16 fold, input 16MHz, output 96MHz */
AnnaBridge 173:7d866c31b3c5 97
AnnaBridge 173:7d866c31b3c5 98 #define IS_CG_FPLL_VALUE(param) (((param) == CG_8M_MUL_12_FPLL) || \
AnnaBridge 173:7d866c31b3c5 99 ((param) == CG_10M_MUL_8_FPLL) || \
AnnaBridge 173:7d866c31b3c5 100 ((param) == CG_12M_MUL_8_FPLL) || \
AnnaBridge 173:7d866c31b3c5 101 ((param) == CG_16M_MUL_6_FPLL))
AnnaBridge 173:7d866c31b3c5 102 typedef enum {
AnnaBridge 173:7d866c31b3c5 103 CG_STBY_MODE_IDLE = 0U,
AnnaBridge 173:7d866c31b3c5 104 CG_STBY_MODE_STOP1 = 1U,
AnnaBridge 173:7d866c31b3c5 105 CG_STBY_MODE_UNKNOWN = 2U,
AnnaBridge 173:7d866c31b3c5 106 CG_STBY_MODE_MAX = 4U
AnnaBridge 173:7d866c31b3c5 107 } CG_STBYMode;
AnnaBridge 173:7d866c31b3c5 108 #define IS_CG_STBY_MODE(param) (((param) == CG_STBY_MODE_STOP1) || \
AnnaBridge 173:7d866c31b3c5 109 ((param) == CG_STBY_MODE_IDLE))
AnnaBridge 173:7d866c31b3c5 110 #define CG_FC_PERIPH_PORTH (0x00000001U << 7U)
AnnaBridge 173:7d866c31b3c5 111 #define CG_FC_PERIPH_PORTJ (0x00000001U << 8U)
AnnaBridge 173:7d866c31b3c5 112 #define CG_FC_PERIPH_TMRB0_3 (0x00000001U << 9U)
AnnaBridge 173:7d866c31b3c5 113 #define CG_FC_PERIPH_TMRB4_6 (0x00000001U << 10U)
AnnaBridge 173:7d866c31b3c5 114 #define CG_FC_PERIPH_TMR16A (0x00000001U << 11U)
AnnaBridge 173:7d866c31b3c5 115 #define CG_FC_PERIPH_I2C0 (0x00000001U << 12U)
AnnaBridge 173:7d866c31b3c5 116 #define CG_FC_PERIPH_SIO0 (0x00000001U << 13U)
AnnaBridge 173:7d866c31b3c5 117 #define CG_FC_PERIPH_TSPI (0x00000001U << 14U)
AnnaBridge 173:7d866c31b3c5 118 #define CG_FC_PERIPH_DMAC (0x00000001U << 15U)
AnnaBridge 173:7d866c31b3c5 119 #define CG_FC_PERIPH_ADC (0x00000001U << 16U)
AnnaBridge 173:7d866c31b3c5 120 #define CG_FC_PERIPH_USBD (0x00000001U << 17U)
AnnaBridge 173:7d866c31b3c5 121 #define CG_FC_PERIPH_TMRD (0x00000001U << 18U)
AnnaBridge 173:7d866c31b3c5 122 #define CG_FC_PERIPHA_ALL (0xFFFFFFFFU)
AnnaBridge 173:7d866c31b3c5 123 #define IS_CG_FC_PERIPHA(param) ( ((param) >= CG_FC_PERIPH_PORTH) && ((param) <= CG_FC_PERIPH_TMRD ))
AnnaBridge 173:7d866c31b3c5 124
AnnaBridge 173:7d866c31b3c5 125 #define CG_FC_PERIPH_TMRB7 (0x00000001U << 28U)
AnnaBridge 173:7d866c31b3c5 126 #define CG_FC_PERIPH_SIO1 (0x00000001U << 29U)
AnnaBridge 173:7d866c31b3c5 127 #define CG_FC_PERIPH_WDT (0x00000001U << 30U)
AnnaBridge 173:7d866c31b3c5 128 #define CG_FC_PERIPH_I2C1 (0x00000001U << 31U)
AnnaBridge 173:7d866c31b3c5 129 #define CG_FC_PERIPHB_ALL (0xFFFFFFFFU)
AnnaBridge 173:7d866c31b3c5 130 #define IS_CG_FC_PERIPHB(param) (((param) >= CG_FC_PERIPH_TMRB7))
AnnaBridge 173:7d866c31b3c5 131
AnnaBridge 173:7d866c31b3c5 132 #define CG_FPLL_PERIPH_TMRD (0x00000001U << 5U)
AnnaBridge 173:7d866c31b3c5 133 #define CG_EHCLKSEL_8_24_48MHZ (0x00000001U << 4U)
AnnaBridge 173:7d866c31b3c5 134 #define CG_USBSEL_PLL_CLOCKIN (0x00000001U << 1U)
AnnaBridge 173:7d866c31b3c5 135 #define CG_USBENA_USB (0x00000001U)
AnnaBridge 173:7d866c31b3c5 136 #define CG_FPLL_OPTIONAL_ALL (0x0FFFFFFFU)
AnnaBridge 173:7d866c31b3c5 137 #define IS_CG_FPLL_OPTIONAL(param) (((param) > 0U) && ((param) <= CG_FPLL_OPTIONAL_ALL))
AnnaBridge 173:7d866c31b3c5 138
AnnaBridge 173:7d866c31b3c5 139 /** @} */
AnnaBridge 173:7d866c31b3c5 140 /* End of group CG_Exported_types */
AnnaBridge 173:7d866c31b3c5 141
AnnaBridge 173:7d866c31b3c5 142 /** @defgroup CG_Exported_FunctionPrototypes
AnnaBridge 173:7d866c31b3c5 143 * @{
AnnaBridge 173:7d866c31b3c5 144 */
AnnaBridge 173:7d866c31b3c5 145 void CG_SetFgearLevel(CG_DivideLevel DivideFgearFromFc);
AnnaBridge 173:7d866c31b3c5 146 CG_DivideLevel CG_GetFgearLevel(void);
AnnaBridge 173:7d866c31b3c5 147 Result CG_SetPhiT0Level(CG_DivideLevel DividePhiT0FromFc);
AnnaBridge 173:7d866c31b3c5 148 CG_DivideLevel CG_GetPhiT0Level(void);
AnnaBridge 173:7d866c31b3c5 149 void CG_SetWarmUpTime(CG_WarmUpSrc Source, uint16_t Time);
AnnaBridge 173:7d866c31b3c5 150 void CG_StartWarmUp(void);
AnnaBridge 173:7d866c31b3c5 151 WorkState CG_GetWarmUpState(void);
AnnaBridge 173:7d866c31b3c5 152 Result CG_SetFPLLValue(uint32_t NewValue);
AnnaBridge 173:7d866c31b3c5 153 uint32_t CG_GetFPLLValue(void);
AnnaBridge 173:7d866c31b3c5 154 Result CG_SetPLL(FunctionalState NewState);
AnnaBridge 173:7d866c31b3c5 155 FunctionalState CG_GetPLLState(void);
AnnaBridge 173:7d866c31b3c5 156 void CG_SetFoscSrc(CG_FoscSrc Source);
AnnaBridge 173:7d866c31b3c5 157 CG_FoscSrc CG_GetFoscSrc(void);
AnnaBridge 173:7d866c31b3c5 158 void CG_SetSTBYMode(CG_STBYMode Mode);
AnnaBridge 173:7d866c31b3c5 159 CG_STBYMode CG_GetSTBYMode(void);
AnnaBridge 173:7d866c31b3c5 160 void CG_SetFcSrc(CG_FcSrc Source);
AnnaBridge 173:7d866c31b3c5 161 CG_FcSrc CG_GetFcSrc(void);
AnnaBridge 173:7d866c31b3c5 162 void CG_SetProtectCtrl(FunctionalState NewState);
AnnaBridge 173:7d866c31b3c5 163 void CG_SetFcPeriphA(uint32_t Periph, FunctionalState NewState);
AnnaBridge 173:7d866c31b3c5 164 void CG_SetFcPeriphB(uint32_t Periph, FunctionalState NewState);
AnnaBridge 173:7d866c31b3c5 165 void CG_SetFcOptional(uint32_t Periph, FunctionalState NewState);
AnnaBridge 173:7d866c31b3c5 166 void CG_SetADCClkSupply(FunctionalState NewState);
AnnaBridge 173:7d866c31b3c5 167
AnnaBridge 173:7d866c31b3c5 168 /** @} */
AnnaBridge 173:7d866c31b3c5 169 /* End of group CG_Exported_FunctionPrototype */
AnnaBridge 173:7d866c31b3c5 170
AnnaBridge 173:7d866c31b3c5 171 /** @} */
AnnaBridge 173:7d866c31b3c5 172 /* End of group CG */
AnnaBridge 173:7d866c31b3c5 173
AnnaBridge 173:7d866c31b3c5 174 /** @} */
AnnaBridge 173:7d866c31b3c5 175 /* End of group TX00_Periph_Driver */
AnnaBridge 173:7d866c31b3c5 176
AnnaBridge 173:7d866c31b3c5 177 #ifdef __cplusplus
AnnaBridge 173:7d866c31b3c5 178 }
AnnaBridge 173:7d866c31b3c5 179 #endif /* __cplusplus */
AnnaBridge 173:7d866c31b3c5 180 #endif /* __TMPM066_CG_H */