Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of mbed-dev by
targets/TARGET_TOSHIBA/TARGET_TMPM066/Periph_Driver/inc/tmpm066_cg.h@178:d650f5d4c87a, 2017-11-08 (annotated)
- 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?
User | Revision | Line number | New 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 */ |