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:
168:cf9372ac0a74
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 168:cf9372ac0a74 1 /*
mbed_official 168:cf9372ac0a74 2 * Copyright (c) 2013 - 2014, Freescale Semiconductor, Inc.
mbed_official 168:cf9372ac0a74 3 * All rights reserved.
mbed_official 168:cf9372ac0a74 4 *
mbed_official 168:cf9372ac0a74 5 * Redistribution and use in source and binary forms, with or without modification,
mbed_official 168:cf9372ac0a74 6 * are permitted provided that the following conditions are met:
mbed_official 168:cf9372ac0a74 7 *
mbed_official 168:cf9372ac0a74 8 * o Redistributions of source code must retain the above copyright notice, this list
mbed_official 168:cf9372ac0a74 9 * of conditions and the following disclaimer.
mbed_official 168:cf9372ac0a74 10 *
mbed_official 168:cf9372ac0a74 11 * o Redistributions in binary form must reproduce the above copyright notice, this
mbed_official 168:cf9372ac0a74 12 * list of conditions and the following disclaimer in the documentation and/or
mbed_official 168:cf9372ac0a74 13 * other materials provided with the distribution.
mbed_official 168:cf9372ac0a74 14 *
mbed_official 168:cf9372ac0a74 15 * o Neither the name of Freescale Semiconductor, Inc. nor the names of its
mbed_official 168:cf9372ac0a74 16 * contributors may be used to endorse or promote products derived from this
mbed_official 168:cf9372ac0a74 17 * software without specific prior written permission.
mbed_official 168:cf9372ac0a74 18 *
mbed_official 168:cf9372ac0a74 19 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
mbed_official 168:cf9372ac0a74 20 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
mbed_official 168:cf9372ac0a74 21 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
mbed_official 168:cf9372ac0a74 22 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
mbed_official 168:cf9372ac0a74 23 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
mbed_official 168:cf9372ac0a74 24 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
mbed_official 168:cf9372ac0a74 25 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
mbed_official 168:cf9372ac0a74 26 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
mbed_official 168:cf9372ac0a74 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
mbed_official 168:cf9372ac0a74 28 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mbed_official 168:cf9372ac0a74 29 */
mbed_official 324:406fd2029f23 30
mbed_official 168:cf9372ac0a74 31 #include <stdlib.h>
mbed_official 168:cf9372ac0a74 32 #include <assert.h>
mbed_official 324:406fd2029f23 33 #include "fsl_pit_common.h"
mbed_official 168:cf9372ac0a74 34 #include "fsl_pit_driver.h"
mbed_official 168:cf9372ac0a74 35
mbed_official 168:cf9372ac0a74 36 /*!
mbed_official 168:cf9372ac0a74 37 * @addtogroup pit_irq
mbed_official 168:cf9372ac0a74 38 * @{
mbed_official 168:cf9372ac0a74 39 */
mbed_official 168:cf9372ac0a74 40
mbed_official 168:cf9372ac0a74 41 /*******************************************************************************
mbed_official 168:cf9372ac0a74 42 * Variables
mbed_official 168:cf9372ac0a74 43 ******************************************************************************/
mbed_official 168:cf9372ac0a74 44
mbed_official 168:cf9372ac0a74 45 /*!
mbed_official 168:cf9372ac0a74 46 * @brief Function table to save PIT isr callback function pointers.
mbed_official 168:cf9372ac0a74 47 *
mbed_official 324:406fd2029f23 48 * Call PIT_DRV_InstallCallback to install isr callback functions.
mbed_official 168:cf9372ac0a74 49 */
mbed_official 324:406fd2029f23 50 static pit_isr_callback_t pitIsrCallbackTable[HW_PIT_INSTANCE_COUNT][FSL_FEATURE_PIT_TIMER_COUNT] = {{NULL}};
mbed_official 168:cf9372ac0a74 51
mbed_official 168:cf9372ac0a74 52 /*******************************************************************************
mbed_official 168:cf9372ac0a74 53 * Code
mbed_official 168:cf9372ac0a74 54 ******************************************************************************/
mbed_official 168:cf9372ac0a74 55 #if defined (KL25Z4_SERIES)
mbed_official 324:406fd2029f23 56 /*!
mbed_official 168:cf9372ac0a74 57 * @brief System default IRQ handler defined in startup code.
mbed_official 168:cf9372ac0a74 58 *
mbed_official 168:cf9372ac0a74 59 * Users can either edit this handler or define a callback function. Furthermore,
mbed_official 324:406fd2029f23 60 * interrupt manager could be used to re-map the IRQ handler to another function.
mbed_official 168:cf9372ac0a74 61 */
mbed_official 168:cf9372ac0a74 62 void PIT_IRQHandler(void)
mbed_official 168:cf9372ac0a74 63 {
mbed_official 168:cf9372ac0a74 64 uint32_t i;
mbed_official 168:cf9372ac0a74 65 for(i=0; i < FSL_FEATURE_PIT_TIMER_COUNT; i++)
mbed_official 168:cf9372ac0a74 66 {
mbed_official 324:406fd2029f23 67 /* Clear interrupt flag.*/
mbed_official 324:406fd2029f23 68 PIT_HAL_ClearIntFlag(g_pitBaseAddr[0], i);
mbed_official 324:406fd2029f23 69
mbed_official 168:cf9372ac0a74 70 /* Run callback function if it exists.*/
mbed_official 324:406fd2029f23 71 if (pitIsrCallbackTable[0][i])
mbed_official 168:cf9372ac0a74 72 {
mbed_official 324:406fd2029f23 73 (*pitIsrCallbackTable[0][i])();
mbed_official 168:cf9372ac0a74 74 }
mbed_official 168:cf9372ac0a74 75 }
mbed_official 168:cf9372ac0a74 76 }
mbed_official 168:cf9372ac0a74 77
mbed_official 324:406fd2029f23 78 #elif defined (K64F12_SERIES) || defined (K24F12_SERIES) || defined (K63F12_SERIES) || \
mbed_official 324:406fd2029f23 79 defined (K22F12810_SERIES) || defined (K22F25612_SERIES) || defined (K22F51212_SERIES) || \
mbed_official 324:406fd2029f23 80 defined (KV31F12810_SERIES) || defined (KV31F25612_SERIES) || defined (KV31F51212_SERIES) || \
mbed_official 324:406fd2029f23 81 defined (K70F12_SERIES)
mbed_official 168:cf9372ac0a74 82 void PIT0_IRQHandler(void)
mbed_official 168:cf9372ac0a74 83 {
mbed_official 324:406fd2029f23 84 /* Clear interrupt flag.*/
mbed_official 324:406fd2029f23 85 PIT_HAL_ClearIntFlag(g_pitBaseAddr[0], 0U);
mbed_official 324:406fd2029f23 86
mbed_official 168:cf9372ac0a74 87 /* Run callback function if it exists.*/
mbed_official 324:406fd2029f23 88 if (pitIsrCallbackTable[0][0])
mbed_official 168:cf9372ac0a74 89 {
mbed_official 324:406fd2029f23 90 (*pitIsrCallbackTable[0][0])();
mbed_official 168:cf9372ac0a74 91 }
mbed_official 168:cf9372ac0a74 92 }
mbed_official 168:cf9372ac0a74 93
mbed_official 168:cf9372ac0a74 94 void PIT1_IRQHandler(void)
mbed_official 168:cf9372ac0a74 95 {
mbed_official 324:406fd2029f23 96 /* Clear interrupt flag.*/
mbed_official 324:406fd2029f23 97 PIT_HAL_ClearIntFlag(g_pitBaseAddr[0], 1U);
mbed_official 324:406fd2029f23 98
mbed_official 168:cf9372ac0a74 99 /* Run callback function if it exists.*/
mbed_official 324:406fd2029f23 100 if (pitIsrCallbackTable[0][1])
mbed_official 168:cf9372ac0a74 101 {
mbed_official 324:406fd2029f23 102 (*pitIsrCallbackTable[0][1])();
mbed_official 168:cf9372ac0a74 103 }
mbed_official 168:cf9372ac0a74 104 }
mbed_official 168:cf9372ac0a74 105
mbed_official 168:cf9372ac0a74 106 void PIT2_IRQHandler(void)
mbed_official 168:cf9372ac0a74 107 {
mbed_official 324:406fd2029f23 108 /* Clear interrupt flag.*/
mbed_official 324:406fd2029f23 109 PIT_HAL_ClearIntFlag(g_pitBaseAddr[0], 2U);
mbed_official 324:406fd2029f23 110
mbed_official 168:cf9372ac0a74 111 /* Run callback function if it exists.*/
mbed_official 324:406fd2029f23 112 if (pitIsrCallbackTable[0][2])
mbed_official 168:cf9372ac0a74 113 {
mbed_official 324:406fd2029f23 114 (*pitIsrCallbackTable[0][2])();
mbed_official 168:cf9372ac0a74 115 }
mbed_official 168:cf9372ac0a74 116 }
mbed_official 168:cf9372ac0a74 117
mbed_official 168:cf9372ac0a74 118 void PIT3_IRQHandler(void)
mbed_official 168:cf9372ac0a74 119 {
mbed_official 324:406fd2029f23 120 /* Clear interrupt flag.*/
mbed_official 324:406fd2029f23 121 PIT_HAL_ClearIntFlag(g_pitBaseAddr[0], 3U);
mbed_official 324:406fd2029f23 122
mbed_official 168:cf9372ac0a74 123 /* Run callback function if it exists.*/
mbed_official 324:406fd2029f23 124 if (pitIsrCallbackTable[0][3])
mbed_official 168:cf9372ac0a74 125 {
mbed_official 324:406fd2029f23 126 (*pitIsrCallbackTable[0][3])();
mbed_official 168:cf9372ac0a74 127 }
mbed_official 168:cf9372ac0a74 128 }
mbed_official 168:cf9372ac0a74 129 #endif
mbed_official 168:cf9372ac0a74 130
mbed_official 168:cf9372ac0a74 131 /*! @} */
mbed_official 168:cf9372ac0a74 132
mbed_official 168:cf9372ac0a74 133 /*FUNCTION**********************************************************************
mbed_official 168:cf9372ac0a74 134 *
mbed_official 324:406fd2029f23 135 * Function Name : PIT_DRV_InstallCallback
mbed_official 324:406fd2029f23 136 * Description : Register pit isr callback function.
mbed_official 324:406fd2029f23 137 * System default ISR interfaces are already defined in fsl_pit_irq.c. Users
mbed_official 168:cf9372ac0a74 138 * can either edit these ISRs or use this function to register a callback
mbed_official 168:cf9372ac0a74 139 * function. The default ISR will run the callback function it there is one
mbed_official 168:cf9372ac0a74 140 * installed here.
mbed_official 168:cf9372ac0a74 141
mbed_official 168:cf9372ac0a74 142 *END**************************************************************************/
mbed_official 324:406fd2029f23 143 void PIT_DRV_InstallCallback(uint32_t instance, uint32_t channel, pit_isr_callback_t function)
mbed_official 168:cf9372ac0a74 144 {
mbed_official 324:406fd2029f23 145 assert(channel < FSL_FEATURE_PIT_TIMER_COUNT);
mbed_official 168:cf9372ac0a74 146 assert(function != NULL);
mbed_official 324:406fd2029f23 147
mbed_official 324:406fd2029f23 148 pitIsrCallbackTable[instance][channel] = function;
mbed_official 168:cf9372ac0a74 149 }
mbed_official 168:cf9372ac0a74 150
mbed_official 168:cf9372ac0a74 151 /*******************************************************************************
mbed_official 168:cf9372ac0a74 152 * EOF
mbed_official 168:cf9372ac0a74 153 ******************************************************************************/
mbed_official 168:cf9372ac0a74 154