mbed library sources

Dependents:   Encrypted my_mbed lklk CyaSSL_DTLS_Cellular ... more

Superseded

This library was superseded by mbed-dev - https://os.mbed.com/users/mbed_official/code/mbed-dev/.

Development branch of the mbed library sources. This library is kept in synch with the latest changes from the mbed SDK and it is not guaranteed to work.

If you are looking for a stable and tested release, please import one of the official mbed library releases:

Import librarymbed

The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Committer:
mbed_official
Date:
Thu Apr 03 11:45:06 2014 +0100
Revision:
149:1fb5f62b92bd
Parent:
targets/hal/TARGET_Freescale/TARGET_KSDK_MCUS/TARGET_KSDK_CODE/drivers/clock/src/fsl_clock_manager_private.h@146:f64d43ff0c18
Synchronized with git revision 220c0bb39ceee40016e1e86350c058963d01ed42

Full URL: https://github.com/mbedmicro/mbed/commit/220c0bb39ceee40016e1e86350c058963d01ed42/

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 146:f64d43ff0c18 1 /*
mbed_official 146:f64d43ff0c18 2 * Copyright (c) 2013 - 2014, Freescale Semiconductor, Inc.
mbed_official 146:f64d43ff0c18 3 * All rights reserved.
mbed_official 146:f64d43ff0c18 4 *
mbed_official 146:f64d43ff0c18 5 * Redistribution and use in source and binary forms, with or without modification,
mbed_official 146:f64d43ff0c18 6 * are permitted provided that the following conditions are met:
mbed_official 146:f64d43ff0c18 7 *
mbed_official 146:f64d43ff0c18 8 * o Redistributions of source code must retain the above copyright notice, this list
mbed_official 146:f64d43ff0c18 9 * of conditions and the following disclaimer.
mbed_official 146:f64d43ff0c18 10 *
mbed_official 146:f64d43ff0c18 11 * o Redistributions in binary form must reproduce the above copyright notice, this
mbed_official 146:f64d43ff0c18 12 * list of conditions and the following disclaimer in the documentation and/or
mbed_official 146:f64d43ff0c18 13 * other materials provided with the distribution.
mbed_official 146:f64d43ff0c18 14 *
mbed_official 146:f64d43ff0c18 15 * o Neither the name of Freescale Semiconductor, Inc. nor the names of its
mbed_official 146:f64d43ff0c18 16 * contributors may be used to endorse or promote products derived from this
mbed_official 146:f64d43ff0c18 17 * software without specific prior written permission.
mbed_official 146:f64d43ff0c18 18 *
mbed_official 146:f64d43ff0c18 19 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
mbed_official 146:f64d43ff0c18 20 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
mbed_official 146:f64d43ff0c18 21 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
mbed_official 146:f64d43ff0c18 22 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
mbed_official 146:f64d43ff0c18 23 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
mbed_official 146:f64d43ff0c18 24 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
mbed_official 146:f64d43ff0c18 25 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
mbed_official 146:f64d43ff0c18 26 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
mbed_official 146:f64d43ff0c18 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
mbed_official 146:f64d43ff0c18 28 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mbed_official 146:f64d43ff0c18 29 */
mbed_official 146:f64d43ff0c18 30 #if !defined(__FSL_CLOCK_MANAGER_PRIVATE_H__)
mbed_official 146:f64d43ff0c18 31 #define __FSL_CLOCK_MANAGER_PRIVATE_H__
mbed_official 146:f64d43ff0c18 32
mbed_official 146:f64d43ff0c18 33 #include <stdint.h>
mbed_official 146:f64d43ff0c18 34 #include <stdbool.h>
mbed_official 146:f64d43ff0c18 35 #include <assert.h>
mbed_official 146:f64d43ff0c18 36
mbed_official 146:f64d43ff0c18 37 /*! @addtogroup clock_manager*/
mbed_official 146:f64d43ff0c18 38 /*! @{*/
mbed_official 146:f64d43ff0c18 39
mbed_official 146:f64d43ff0c18 40 /*! @file*/
mbed_official 146:f64d43ff0c18 41
mbed_official 146:f64d43ff0c18 42 /*******************************************************************************
mbed_official 146:f64d43ff0c18 43 * Definitions
mbed_official 146:f64d43ff0c18 44 ******************************************************************************/
mbed_official 146:f64d43ff0c18 45
mbed_official 146:f64d43ff0c18 46 /*! @brief Clock manager clock names mapping into the SIM clock name*/
mbed_official 146:f64d43ff0c18 47 sim_clock_names_t kClockNameSimMap[kClockNameCount] = {
mbed_official 146:f64d43ff0c18 48 /* default clocks*/
mbed_official 146:f64d43ff0c18 49 kSimCoreClock, /**/
mbed_official 146:f64d43ff0c18 50 kSimSystemClock, /**/
mbed_official 146:f64d43ff0c18 51 kSimPlatformClock, /**/
mbed_official 146:f64d43ff0c18 52 kSimBusClock, /**/
mbed_official 146:f64d43ff0c18 53 kSimFlexBusClock, /**/
mbed_official 146:f64d43ff0c18 54 kSimFlashClock, /**/
mbed_official 146:f64d43ff0c18 55
mbed_official 146:f64d43ff0c18 56 /* other internal clocks used by peripherals*/
mbed_official 146:f64d43ff0c18 57 /* osc clock*/
mbed_official 146:f64d43ff0c18 58 kSimOsc32kClock,
mbed_official 146:f64d43ff0c18 59 kSimOsc0ErClock,
mbed_official 146:f64d43ff0c18 60 kSimOsc1ErClock,
mbed_official 146:f64d43ff0c18 61
mbed_official 146:f64d43ff0c18 62 /* irc 48Mhz clock */
mbed_official 146:f64d43ff0c18 63 kSimIrc48mClock,
mbed_official 146:f64d43ff0c18 64
mbed_official 146:f64d43ff0c18 65 /* rtc clock*/
mbed_official 146:f64d43ff0c18 66 kSimRtc32kClock,
mbed_official 146:f64d43ff0c18 67 kSimRtc1hzClock,
mbed_official 146:f64d43ff0c18 68
mbed_official 146:f64d43ff0c18 69 /* lpo clcok*/
mbed_official 146:f64d43ff0c18 70 kSimLpoClock,
mbed_official 146:f64d43ff0c18 71
mbed_official 146:f64d43ff0c18 72 /* mcg clocks*/
mbed_official 146:f64d43ff0c18 73 kSimMcgFllClock,
mbed_official 146:f64d43ff0c18 74 kSimMcgPll0Clock,
mbed_official 146:f64d43ff0c18 75 kSimMcgPll1Clock,
mbed_official 146:f64d43ff0c18 76 kSimMcgOutClock,
mbed_official 146:f64d43ff0c18 77 kSimMcgIrClock,
mbed_official 146:f64d43ff0c18 78
mbed_official 146:f64d43ff0c18 79 /* constant clocks (provided in other header files?)*/
mbed_official 146:f64d43ff0c18 80 kSimSDHC0_CLKIN,
mbed_official 146:f64d43ff0c18 81 kSimENET_1588_CLKIN,
mbed_official 146:f64d43ff0c18 82 kSimEXTAL_Clock,
mbed_official 146:f64d43ff0c18 83 kSimEXTAL1_Clock,
mbed_official 146:f64d43ff0c18 84 kSimUSB_CLKIN,
mbed_official 146:f64d43ff0c18 85
mbed_official 146:f64d43ff0c18 86 /* reserved value*/
mbed_official 146:f64d43ff0c18 87 kSimReserved
mbed_official 146:f64d43ff0c18 88 };
mbed_official 146:f64d43ff0c18 89
mbed_official 146:f64d43ff0c18 90 /*! @brief Clock manager clock source names mapping into the SIM clock source name*/
mbed_official 146:f64d43ff0c18 91 sim_clock_source_names_t kClockSourceNameSimMap[kClockSourceMax] = {
mbed_official 146:f64d43ff0c18 92 kSimClockNfcSrc, /* NFCSRC*/
mbed_official 146:f64d43ff0c18 93 kSimClockEsdhcSrc, /* ESDHCSRC K70*/
mbed_official 146:f64d43ff0c18 94 kSimClockSdhcSrc, /* SDHCSRC K64*/
mbed_official 146:f64d43ff0c18 95 kSimClockLcdcSrc, /* LCDCSRC*/
mbed_official 146:f64d43ff0c18 96 kSimClockTimeSrc, /* TIMESRC*/
mbed_official 146:f64d43ff0c18 97 kSimClockRmiiSrc, /* RMIISRC*/
mbed_official 146:f64d43ff0c18 98 kSimClockUsbfSrc, /* USBFSRC K70*/
mbed_official 146:f64d43ff0c18 99 kSimClockUsbSrc, /* USBSRC K64, KL25, KV31, and K22*/
mbed_official 146:f64d43ff0c18 100 kSimClockUsbhSrc, /* USBHSRC*/
mbed_official 146:f64d43ff0c18 101 kSimClockUart0Src, /* UART0SRC*/
mbed_official 146:f64d43ff0c18 102 kSimClockTpmSrc, /* TPMSRC*/
mbed_official 146:f64d43ff0c18 103 kSimClockOsc32kSel, /* OSC32KSEL*/
mbed_official 146:f64d43ff0c18 104 kSimClockUsbfSel, /* USBF_CLKSEL*/
mbed_official 146:f64d43ff0c18 105 kSimClockPllfllSel, /* PLLFLLSEL*/
mbed_official 146:f64d43ff0c18 106 kSimClockNfcSel, /* NFC_CLKSEL*/
mbed_official 146:f64d43ff0c18 107 kSimClockLcdcSel, /* LCDC_CLKSEL*/
mbed_official 146:f64d43ff0c18 108 kSimClockTraceSel, /* TRACE_CLKSEL*/
mbed_official 146:f64d43ff0c18 109 kSimClockClkoutSel, /* CLKOUTSEL*/
mbed_official 146:f64d43ff0c18 110 kSimClockRtcClkoutSel /* RTCCLKOUTSEL */
mbed_official 146:f64d43ff0c18 111 };
mbed_official 146:f64d43ff0c18 112
mbed_official 146:f64d43ff0c18 113 /*! @brief Clock manager clock module names mapping into the SIM clock module name*/
mbed_official 146:f64d43ff0c18 114 sim_clock_gate_module_names_t kClockModuleNameSimMap[kClockModuleMax] = {
mbed_official 146:f64d43ff0c18 115 /* System modules*/
mbed_official 146:f64d43ff0c18 116 kSimClockModuleDMA, /**/
mbed_official 146:f64d43ff0c18 117 kSimClockModuleDMAMUX, /* instance 0, 1*/
mbed_official 146:f64d43ff0c18 118 kSimClockModulePORT, /* instance 0 - 5 (A - F)*/
mbed_official 146:f64d43ff0c18 119 kSimClockModuleMPU, /**/
mbed_official 146:f64d43ff0c18 120 kSimClockModuleLLWU, /**/
mbed_official 146:f64d43ff0c18 121 kSimClockModuleEWM, /**/
mbed_official 146:f64d43ff0c18 122
mbed_official 146:f64d43ff0c18 123 /* Clocks*/
mbed_official 146:f64d43ff0c18 124 kSimClockModuleOSC1, /**/
mbed_official 146:f64d43ff0c18 125
mbed_official 146:f64d43ff0c18 126 /* Memory and memory interfaces*/
mbed_official 146:f64d43ff0c18 127 kSimClockModuleFTF, /* Flash memory control clock*/
mbed_official 146:f64d43ff0c18 128 kSimClockModuleNFC, /* NAND flash control clock*/
mbed_official 146:f64d43ff0c18 129 kSimClockModuleFLEXBUS, /**/
mbed_official 146:f64d43ff0c18 130 kSimClockModuleDDR, /**/
mbed_official 146:f64d43ff0c18 131
mbed_official 146:f64d43ff0c18 132 /* Security*/
mbed_official 146:f64d43ff0c18 133 kSimClockModuleCRC, /**/
mbed_official 146:f64d43ff0c18 134 kSimClockModuleRNGA, /**/
mbed_official 146:f64d43ff0c18 135 kSimClockModuleREGFILE, /**/
mbed_official 146:f64d43ff0c18 136 kSimClockModuleDRYICESECREG, /**/
mbed_official 146:f64d43ff0c18 137 kSimClockModuleDRYICE, /**/
mbed_official 146:f64d43ff0c18 138
mbed_official 146:f64d43ff0c18 139 /* Analog*/
mbed_official 146:f64d43ff0c18 140 kSimClockModuleADC, /* instance 0 - 3*/
mbed_official 146:f64d43ff0c18 141 kSimClockModuleCMP, /* */
mbed_official 146:f64d43ff0c18 142 kSimClockModuleDAC, /* instance 0, 1*/
mbed_official 146:f64d43ff0c18 143 kSimClockModuleVREF, /* */
mbed_official 146:f64d43ff0c18 144 kSimClockModuleSAI, /* instance 0, 1*/
mbed_official 146:f64d43ff0c18 145
mbed_official 146:f64d43ff0c18 146 /* Timers*/
mbed_official 146:f64d43ff0c18 147 kSimClockModuleTPM, /* TPM timers 0 - 2*/
mbed_official 146:f64d43ff0c18 148 kSimClockModulePDB, /* */
mbed_official 146:f64d43ff0c18 149 kSimClockModuleFTM, /* instance 0 - 3*/
mbed_official 146:f64d43ff0c18 150 kSimClockModulePIT, /**/
mbed_official 146:f64d43ff0c18 151 kSimClockModuleLPTIMER, /**/
mbed_official 146:f64d43ff0c18 152 kSimClockModuleCMT, /**/
mbed_official 146:f64d43ff0c18 153 kSimClockModuleRTC, /**/
mbed_official 146:f64d43ff0c18 154
mbed_official 146:f64d43ff0c18 155 /* Communication Interfaces*/
mbed_official 146:f64d43ff0c18 156 kSimClockModuleENET, /**/
mbed_official 146:f64d43ff0c18 157 kSimClockModuleUSBHS, /**/
mbed_official 146:f64d43ff0c18 158 kSimClockModuleUSBFS, /**/
mbed_official 146:f64d43ff0c18 159 kSimClockModuleUSBDCD, /**/
mbed_official 146:f64d43ff0c18 160 kSimClockModuleFLEXCAN, /* instance 0, 1*/
mbed_official 146:f64d43ff0c18 161 kSimClockModuleSPI, /* instance 0 - 2*/
mbed_official 146:f64d43ff0c18 162 kSimClockModuleI2C, /* instance 0, 1*/
mbed_official 146:f64d43ff0c18 163 kSimClockModuleUART, /* instance 0 - 5*/
mbed_official 146:f64d43ff0c18 164 kSimClockModuleESDHC, /**/
mbed_official 146:f64d43ff0c18 165 kSimClockModuleLPUART, /**/
mbed_official 146:f64d43ff0c18 166
mbed_official 146:f64d43ff0c18 167 /* Human-machine Interfaces*/
mbed_official 146:f64d43ff0c18 168 kSimClockModuleTSI, /**/
mbed_official 146:f64d43ff0c18 169 kSimClockModuleLCDC /**/
mbed_official 146:f64d43ff0c18 170 };
mbed_official 146:f64d43ff0c18 171
mbed_official 146:f64d43ff0c18 172 extern const sim_clock_source_value_t *kSimClockSourceValueTable[];
mbed_official 146:f64d43ff0c18 173
mbed_official 146:f64d43ff0c18 174 /*******************************************************************************
mbed_official 146:f64d43ff0c18 175 * API
mbed_official 146:f64d43ff0c18 176 ******************************************************************************/
mbed_official 146:f64d43ff0c18 177
mbed_official 146:f64d43ff0c18 178 /*! @name System out clock access API*/
mbed_official 146:f64d43ff0c18 179 /*@{*/
mbed_official 146:f64d43ff0c18 180
mbed_official 146:f64d43ff0c18 181 /*!
mbed_official 146:f64d43ff0c18 182 * @brief Gets the current out clock.
mbed_official 146:f64d43ff0c18 183 *
mbed_official 146:f64d43ff0c18 184 * @param none
mbed_official 146:f64d43ff0c18 185 *
mbed_official 146:f64d43ff0c18 186 * @return frequency Out clock frequency for the clock system
mbed_official 146:f64d43ff0c18 187 */
mbed_official 146:f64d43ff0c18 188 extern uint32_t clock_hal_get_outclk(void);
mbed_official 146:f64d43ff0c18 189
mbed_official 146:f64d43ff0c18 190 /*!
mbed_official 146:f64d43ff0c18 191 * @brief Gets the current FLL clock.
mbed_official 146:f64d43ff0c18 192 *
mbed_official 146:f64d43ff0c18 193 * @param none
mbed_official 146:f64d43ff0c18 194 *
mbed_official 146:f64d43ff0c18 195 * @return frequency FLL clock frequency for the clock system
mbed_official 146:f64d43ff0c18 196 */
mbed_official 146:f64d43ff0c18 197 extern uint32_t clock_hal_get_fllclk(void);
mbed_official 146:f64d43ff0c18 198
mbed_official 146:f64d43ff0c18 199 /*!
mbed_official 146:f64d43ff0c18 200 * @brief Gets the current PLL0 clock.
mbed_official 146:f64d43ff0c18 201 *
mbed_official 146:f64d43ff0c18 202 * @param none
mbed_official 146:f64d43ff0c18 203 *
mbed_official 146:f64d43ff0c18 204 * @return frequency PLL0 clock frequency for the clock system
mbed_official 146:f64d43ff0c18 205 */
mbed_official 146:f64d43ff0c18 206 extern uint32_t clock_hal_get_pll0clk(void);
mbed_official 146:f64d43ff0c18 207
mbed_official 146:f64d43ff0c18 208 /*!
mbed_official 146:f64d43ff0c18 209 * @brief Gets the current PLL1 clock.
mbed_official 146:f64d43ff0c18 210 *
mbed_official 146:f64d43ff0c18 211 * @param none
mbed_official 146:f64d43ff0c18 212 *
mbed_official 146:f64d43ff0c18 213 * @return frequency PLL1 clock frequency for the clock system
mbed_official 146:f64d43ff0c18 214 */
mbed_official 146:f64d43ff0c18 215 extern uint32_t clock_hal_get_pll1clk(void);
mbed_official 146:f64d43ff0c18 216
mbed_official 146:f64d43ff0c18 217 /*!
mbed_official 146:f64d43ff0c18 218 * @brief Get the current IR (internal reference) clock.
mbed_official 146:f64d43ff0c18 219 *
mbed_official 146:f64d43ff0c18 220 * @param none
mbed_official 146:f64d43ff0c18 221 *
mbed_official 146:f64d43ff0c18 222 * @return frequency IR clock frequency for the clock system
mbed_official 146:f64d43ff0c18 223 */
mbed_official 146:f64d43ff0c18 224 extern uint32_t clock_hal_get_irclk(void);
mbed_official 146:f64d43ff0c18 225
mbed_official 146:f64d43ff0c18 226 /*@}*/
mbed_official 146:f64d43ff0c18 227
mbed_official 146:f64d43ff0c18 228 /*! @}*/
mbed_official 146:f64d43ff0c18 229
mbed_official 146:f64d43ff0c18 230 #endif /* __FSL_CLOCK_MANAGER_PRIVATE_H__*/
mbed_official 146:f64d43ff0c18 231 /*******************************************************************************
mbed_official 146:f64d43ff0c18 232 * EOF
mbed_official 146:f64d43ff0c18 233 ******************************************************************************/
mbed_official 146:f64d43ff0c18 234