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 Sep 18 14:00:17 2014 +0100
Revision:
324:406fd2029f23
Parent:
149:1fb5f62b92bd
Synchronized with git revision a73f28e6fbca9559fbed2726410eeb4c0534a4a5

Full URL: https://github.com/mbedmicro/mbed/commit/a73f28e6fbca9559fbed2726410eeb4c0534a4a5/

Extended #476, which does not break ethernet for K64F

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_OSC_HAL_H__)
mbed_official 146:f64d43ff0c18 31 #define __FSL_OSC_HAL_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 #include "fsl_device_registers.h"
mbed_official 146:f64d43ff0c18 37 #include "fsl_osc_features.h"
mbed_official 146:f64d43ff0c18 38
mbed_official 146:f64d43ff0c18 39 /*! @addtogroup osc_hal*/
mbed_official 146:f64d43ff0c18 40 /*! @{*/
mbed_official 146:f64d43ff0c18 41
mbed_official 146:f64d43ff0c18 42 /*! @file fsl_osc_hal.h */
mbed_official 146:f64d43ff0c18 43
mbed_official 146:f64d43ff0c18 44 /*******************************************************************************
mbed_official 146:f64d43ff0c18 45 * Definitions
mbed_official 146:f64d43ff0c18 46 ******************************************************************************/
mbed_official 146:f64d43ff0c18 47
mbed_official 146:f64d43ff0c18 48 /*! @brief Oscillator capacitor load configurations.*/
mbed_official 146:f64d43ff0c18 49 typedef enum _osc_capacitor_config {
mbed_official 146:f64d43ff0c18 50 kOscCapacitor2p = OSC_CR_SC2P_MASK, /*!< 2 pF capacitor load */
mbed_official 146:f64d43ff0c18 51 kOscCapacitor4p = OSC_CR_SC4P_MASK, /*!< 4 pF capacitor load */
mbed_official 146:f64d43ff0c18 52 kOscCapacitor8p = OSC_CR_SC8P_MASK, /*!< 8 pF capacitor load */
mbed_official 146:f64d43ff0c18 53 kOscCapacitor16p = OSC_CR_SC16P_MASK /*!< 16 pF capacitor load */
mbed_official 146:f64d43ff0c18 54 } osc_capacitor_config_t;
mbed_official 146:f64d43ff0c18 55
mbed_official 146:f64d43ff0c18 56 /*******************************************************************************
mbed_official 146:f64d43ff0c18 57 * API
mbed_official 146:f64d43ff0c18 58 ******************************************************************************/
mbed_official 146:f64d43ff0c18 59
mbed_official 146:f64d43ff0c18 60 #if defined(__cplusplus)
mbed_official 146:f64d43ff0c18 61 extern "C" {
mbed_official 146:f64d43ff0c18 62 #endif /* __cplusplus*/
mbed_official 146:f64d43ff0c18 63
mbed_official 146:f64d43ff0c18 64 /*! @name oscillator control APIs*/
mbed_official 146:f64d43ff0c18 65 /*@{*/
mbed_official 146:f64d43ff0c18 66
mbed_official 146:f64d43ff0c18 67
mbed_official 146:f64d43ff0c18 68 /*!
mbed_official 324:406fd2029f23 69 * @brief Enables the external reference clock for the oscillator.
mbed_official 146:f64d43ff0c18 70 *
mbed_official 146:f64d43ff0c18 71 * This function enables the external reference clock output
mbed_official 324:406fd2029f23 72 * for the oscillator, OSCERCLK. This clock is used
mbed_official 146:f64d43ff0c18 73 * by many peripherals. It should be enabled at an early system initialization
mbed_official 324:406fd2029f23 74 * stage to ensure the peripherals can select and use it.
mbed_official 146:f64d43ff0c18 75 *
mbed_official 324:406fd2029f23 76 * @param baseAddr Oscillator register base address
mbed_official 324:406fd2029f23 77 * @param enable enable/disable the clock
mbed_official 146:f64d43ff0c18 78 */
mbed_official 324:406fd2029f23 79 void OSC_HAL_SetExternalRefClkCmd(uint32_t baseAddr, bool enable);
mbed_official 146:f64d43ff0c18 80
mbed_official 146:f64d43ff0c18 81 /*!
mbed_official 324:406fd2029f23 82 * @brief Gets the external reference clock enable setting for the oscillator.
mbed_official 146:f64d43ff0c18 83 *
mbed_official 324:406fd2029f23 84 * This function gets the external reference clock output enable setting
mbed_official 324:406fd2029f23 85 * for the oscillator , OSCERCLK. This clock is used
mbed_official 146:f64d43ff0c18 86 * by many peripherals. It should be enabled at an early system initialization
mbed_official 324:406fd2029f23 87 * stage to ensure the peripherals could select and use it.
mbed_official 146:f64d43ff0c18 88 *
mbed_official 324:406fd2029f23 89 * @param baseAddr Oscillator register base address
mbed_official 324:406fd2029f23 90 * @return enable clock enable/disable setting
mbed_official 146:f64d43ff0c18 91 */
mbed_official 324:406fd2029f23 92 bool OSC_HAL_GetExternalRefClkCmd(uint32_t baseAddr);
mbed_official 146:f64d43ff0c18 93
mbed_official 146:f64d43ff0c18 94 /*!
mbed_official 324:406fd2029f23 95 * @brief Enables/disables the external reference clock in stop mode.
mbed_official 324:406fd2029f23 96 *
mbed_official 324:406fd2029f23 97 * This function enables/disables the external reference clock (OSCERCLK) when an
mbed_official 324:406fd2029f23 98 * MCU enters the stop mode.
mbed_official 146:f64d43ff0c18 99 *
mbed_official 324:406fd2029f23 100 * @param baseAddr Oscillator register base address
mbed_official 324:406fd2029f23 101 * @param enable enable/disable setting
mbed_official 146:f64d43ff0c18 102 */
mbed_official 324:406fd2029f23 103 void OSC_HAL_SetExternalRefClkInStopModeCmd(uint32_t baseAddr, bool enable);
mbed_official 146:f64d43ff0c18 104
mbed_official 146:f64d43ff0c18 105 /*!
mbed_official 324:406fd2029f23 106 * @brief Gets the external reference clock enable setting in stop mode.
mbed_official 146:f64d43ff0c18 107 *
mbed_official 324:406fd2029f23 108 * This function gets the external reference clock (OSCERCLK) enable setting when an
mbed_official 324:406fd2029f23 109 * MCU enters stop mode.
mbed_official 146:f64d43ff0c18 110 *
mbed_official 324:406fd2029f23 111 * @param baseAddr Oscillator register base address
mbed_official 146:f64d43ff0c18 112 */
mbed_official 324:406fd2029f23 113 bool OSC_HAL_GetExternalRefClkInStopModeCmd(uint32_t baseAddr);
mbed_official 146:f64d43ff0c18 114
mbed_official 146:f64d43ff0c18 115 /*!
mbed_official 324:406fd2029f23 116 * @brief Enables the capacitor configuration for the oscillator.
mbed_official 146:f64d43ff0c18 117 *
mbed_official 146:f64d43ff0c18 118 * This function enables the specified capacitors configuration for the
mbed_official 146:f64d43ff0c18 119 * oscillator. This should be done in the early system level initialization function call
mbed_official 324:406fd2029f23 120 * based on the system configuration.
mbed_official 146:f64d43ff0c18 121 *
mbed_official 324:406fd2029f23 122 * @param baseAddr Oscillator register base address
mbed_official 324:406fd2029f23 123 * @param capacitorConfig Capacitor configuration. (2p, 4p, 8p, 16p)
mbed_official 324:406fd2029f23 124 * @param enable enable/disable the Capacitor configuration
mbed_official 146:f64d43ff0c18 125 */
mbed_official 324:406fd2029f23 126 void OSC_HAL_SetCapacitorCmd(uint32_t baseAddr,
mbed_official 324:406fd2029f23 127 osc_capacitor_config_t capacitorConfig,
mbed_official 324:406fd2029f23 128 bool enable);
mbed_official 146:f64d43ff0c18 129
mbed_official 146:f64d43ff0c18 130 /*!
mbed_official 324:406fd2029f23 131 * @brief Gets the capacitor configuration for a specific oscillator.
mbed_official 146:f64d43ff0c18 132 *
mbed_official 324:406fd2029f23 133 * This function gets the specified capacitors configuration for an
mbed_official 146:f64d43ff0c18 134 * oscillator.
mbed_official 146:f64d43ff0c18 135 *
mbed_official 324:406fd2029f23 136 * @param baseAddr Oscillator register base address
mbed_official 324:406fd2029f23 137 * @param capacitorConfig Capacitor configuration.
mbed_official 324:406fd2029f23 138 * @return enable enable/disable setting
mbed_official 146:f64d43ff0c18 139 */
mbed_official 324:406fd2029f23 140 bool OSC_HAL_GetCapacitorCmd(uint32_t baseAddr,
mbed_official 324:406fd2029f23 141 osc_capacitor_config_t capacitorConfig);
mbed_official 324:406fd2029f23 142
mbed_official 324:406fd2029f23 143 #if FSL_FEATURE_OSC_HAS_EXT_REF_CLOCK_DIVIDER
mbed_official 324:406fd2029f23 144 /*!
mbed_official 324:406fd2029f23 145 * @brief Sets the external reference clock divider.
mbed_official 324:406fd2029f23 146 *
mbed_official 324:406fd2029f23 147 * This function sets the divider for the external reference clock.
mbed_official 324:406fd2029f23 148 *
mbed_official 324:406fd2029f23 149 * @param baseAddr Oscillator register base address
mbed_official 324:406fd2029f23 150 * @param divider divider settings
mbed_official 324:406fd2029f23 151 */
mbed_official 324:406fd2029f23 152 void OSC_HAL_SetExternalRefClkDivCmd(uint32_t baseAddr, uint32_t divider);
mbed_official 324:406fd2029f23 153
mbed_official 324:406fd2029f23 154 /*!
mbed_official 324:406fd2029f23 155 * @brief Gets the external reference clock divider.
mbed_official 324:406fd2029f23 156 *
mbed_official 324:406fd2029f23 157 * This function gets the divider for the external reference clock.
mbed_official 324:406fd2029f23 158 *
mbed_official 324:406fd2029f23 159 * @param baseAddr Oscillator register base address
mbed_official 324:406fd2029f23 160 * @return divider divider settings
mbed_official 324:406fd2029f23 161 */
mbed_official 324:406fd2029f23 162 uint32_t OSC_HAL_GetExternalRefClkDivCmd(uint32_t baseAddr);
mbed_official 324:406fd2029f23 163 #endif
mbed_official 324:406fd2029f23 164
mbed_official 146:f64d43ff0c18 165 /*@}*/
mbed_official 146:f64d43ff0c18 166
mbed_official 146:f64d43ff0c18 167 #if defined(__cplusplus)
mbed_official 146:f64d43ff0c18 168 }
mbed_official 146:f64d43ff0c18 169 #endif /* __cplusplus*/
mbed_official 146:f64d43ff0c18 170
mbed_official 146:f64d43ff0c18 171 /*! @}*/
mbed_official 146:f64d43ff0c18 172
mbed_official 146:f64d43ff0c18 173 #endif /* __FSL_OSC_HAL_H__*/
mbed_official 146:f64d43ff0c18 174 /*******************************************************************************
mbed_official 146:f64d43ff0c18 175 * EOF
mbed_official 146:f64d43ff0c18 176 ******************************************************************************/
mbed_official 146:f64d43ff0c18 177