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
Revision 122:18a6c3abfbc7, committed 2016-05-04
- Comitter:
- mbed_official
- Date:
- Wed May 04 22:30:12 2016 +0100
- Parent:
- 121:7f86b4238bec
- Child:
- 123:5dbefb20d136
- Commit message:
- Synchronized with git revision 816233cf5d386bf7219fd0d886985c7193f8c11f
Full URL: https://github.com/mbedmicro/mbed/commit/816233cf5d386bf7219fd0d886985c7193f8c11f/
Fix build warnings
Changed in this revision
--- a/targets/hal/TARGET_Freescale/TARGET_KSDK2_MCUS/TARGET_K64F/drivers/fsl_flexcan_edma.c Tue May 03 00:15:16 2016 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,176 +0,0 @@
-/*
- * Copyright (c) 2015, Freescale Semiconductor, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *
- * o Redistributions of source code must retain the above copyright notice, this list
- * of conditions and the following disclaimer.
- *
- * o Redistributions in binary form must reproduce the above copyright notice, this
- * list of conditions and the following disclaimer in the documentation and/or
- * other materials provided with the distribution.
- *
- * o Neither the name of Freescale Semiconductor, Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "fsl_flexcan_edma.h"
-#include "fsl_dmamux.h"
-
-/*******************************************************************************
- * Definitons
- ******************************************************************************/
-
-/*<! Structure definition for flexcan_edma_private_handle_t. The structure is private. */
-typedef struct _flexcan_edma_private_handle
-{
- CAN_Type *base;
- flexcan_edma_handle_t *handle;
-} flexcan_edma_private_handle_t;
-
-/* FlexCAN EDMA transfer handle. */
-enum _flexcan_edma_tansfer_state
-{
- KFLEXCAN_RxFifoIdle = 0U, /* Rx Fifo idle. */
- KFLEXCAN_RxFifoBusy = 1U, /* Rx Fifo busy. */
-};
-
-/*******************************************************************************
- * Variables
- ******************************************************************************/
-
-/*<! Private handle only used for internally. */
-static flexcan_edma_private_handle_t s_edmaPrivateHandle[FSL_FEATURE_SOC_FLEXCAN_COUNT];
-
-/*******************************************************************************
- * Prototypes
- ******************************************************************************/
-
-/*!
- * @brief FlexCAN EDMA receive finished callback function.
- *
- * This function is called when FlexCAN Rx FIFO EDMA receive finished.
- * It disables the FlexCAN Rx FIFO EDMA request and sends
- * @ref kStatus_FLEXCAN_RxFifoIdle to FlexCAN EDMA callback.
- *
- * @param handle The EDMA handle.
- * @param param Callback function parameter.
- */
-static void FLEXCAN_ReceiveFifoEDMACallback(edma_handle_t *handle, void *param, bool transferDone, uint32_t tcds);
-
-/*!
- * @brief Get the FlexCAN instance from peripheral base address.
- *
- * @param base FlexCAN peripheral base address.
- * @return FlexCAN instance.
- */
-extern uint32_t FLEXCAN_GetInstance(CAN_Type *base);
-
-/*******************************************************************************
- * Code
- ******************************************************************************/
-
-static void FLEXCAN_ReceiveFifoEDMACallback(edma_handle_t *handle, void *param, bool transferDone, uint32_t tcds)
-{
- handle = handle;
- tcds = tcds;
-
- flexcan_edma_private_handle_t *flexcanPrivateHandle = (flexcan_edma_private_handle_t *)param;
-
- if (transferDone)
- {
- /* Disable transfer. */
- FLEXCAN_TransferAbortReceiveFifoEDMA(flexcanPrivateHandle->base, flexcanPrivateHandle->handle);
-
- if (flexcanPrivateHandle->handle->callback)
- {
- flexcanPrivateHandle->handle->callback(flexcanPrivateHandle->base, flexcanPrivateHandle->handle,
- kStatus_FLEXCAN_RxFifoIdle, flexcanPrivateHandle->handle->userData);
- }
- }
-}
-
-void FLEXCAN_TransferCreateHandleEDMA(CAN_Type *base,
- flexcan_edma_handle_t *handle,
- flexcan_edma_transfer_callback_t callback,
- void *userData,
- edma_handle_t *rxFifoEdmaHandle)
-{
- assert(handle);
-
- uint32_t instance = FLEXCAN_GetInstance(base);
- s_edmaPrivateHandle[instance].base = base;
- s_edmaPrivateHandle[instance].handle = handle;
-
- memset(handle, 0, sizeof(flexcan_edma_handle_t));
-
- handle->rxFifoState = KFLEXCAN_RxFifoIdle;
- handle->rxFifoEdmaHandle = rxFifoEdmaHandle;
-
- /* Register Callback. */
- handle->callback = callback;
- handle->userData = userData;
-
- /* Configure Rx FIFO DMA. */
- EDMA_SetCallback(handle->rxFifoEdmaHandle, FLEXCAN_ReceiveFifoEDMACallback, &s_edmaPrivateHandle[instance]);
-}
-
-status_t FLEXCAN_TransferReceiveFifoEDMA(CAN_Type *base, flexcan_edma_handle_t *handle, flexcan_fifo_transfer_t *xfer)
-{
- assert(handle->rxFifoEdmaHandle);
-
- edma_transfer_config_t dmaXferConfig;
- status_t status;
-
- /* If previous Rx FIFO receive not finished. */
- if (KFLEXCAN_RxFifoBusy == handle->rxFifoState)
- {
- status = kStatus_FLEXCAN_RxFifoBusy;
- }
- else
- {
- handle->rxFifoState = KFLEXCAN_RxFifoBusy;
-
- /* Prepare transfer. */
- EDMA_PrepareTransfer(&dmaXferConfig, (void *)FLEXCAN_GetRxFifoHeadAddr(base), sizeof(flexcan_frame_t),
- (void *)xfer->frame, sizeof(uint32_t), sizeof(flexcan_frame_t), sizeof(flexcan_frame_t),
- kEDMA_PeripheralToMemory);
- /* Submit transfer. */
- EDMA_SubmitTransfer(handle->rxFifoEdmaHandle, &dmaXferConfig);
- EDMA_StartTransfer(handle->rxFifoEdmaHandle);
-
- /* Enable FlexCAN Rx FIFO EDMA. */
- FLEXCAN_EnableRxFifoDMA(base, true);
-
- status = kStatus_Success;
- }
-
- return status;
-}
-
-void FLEXCAN_TransferAbortReceiveFifoEDMA(CAN_Type *base, flexcan_edma_handle_t *handle)
-{
- assert(handle->rxFifoEdmaHandle);
-
- /* Disable FlexCAN Rx FIFO EDMA. */
- FLEXCAN_EnableRxFifoDMA(base, false);
-
- /* Stop transfer. */
- EDMA_AbortTransfer(handle->rxFifoEdmaHandle);
-
- handle->rxFifoState = KFLEXCAN_RxFifoIdle;
-}
--- a/targets/hal/TARGET_Freescale/TARGET_KSDK2_MCUS/TARGET_K64F/drivers/fsl_flexcan_edma.h Tue May 03 00:15:16 2016 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,128 +0,0 @@
-/*
- * Copyright (c) 2015, Freescale Semiconductor, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *
- * o Redistributions of source code must retain the above copyright notice, this list
- * of conditions and the following disclaimer.
- *
- * o Redistributions in binary form must reproduce the above copyright notice, this
- * list of conditions and the following disclaimer in the documentation and/or
- * other materials provided with the distribution.
- *
- * o Neither the name of Freescale Semiconductor, Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-#ifndef _FSL_FLEXCAN_EDMA_H_
-#define _FSL_FLEXCAN_EDMA_H_
-
-#include "fsl_flexcan.h"
-#include "fsl_dmamux.h"
-#include "fsl_edma.h"
-
-/*!
- * @addtogroup flexcan_edma_driver
- * @{
- */
-
-/*! @file */
-
-/*******************************************************************************
- * Definitions
- ******************************************************************************/
-
-/* Forward declaration of the handle typedef. */
-typedef struct _flexcan_edma_handle flexcan_edma_handle_t;
-
-/*! @brief FlexCAN transfer callback function. */
-typedef void (*flexcan_edma_transfer_callback_t)(CAN_Type *base,
- flexcan_edma_handle_t *handle,
- status_t status,
- void *userData);
-
-/*!
-* @brief FlexCAN eDMA handle
-*/
-struct _flexcan_edma_handle
-{
- flexcan_edma_transfer_callback_t callback; /*!< Callback function. */
- void *userData; /*!< FlexCAN callback function parameter.*/
- edma_handle_t *rxFifoEdmaHandle; /*!< The EDMA Rx FIFO channel used. */
- volatile uint8_t rxFifoState; /*!< Rx FIFO transfer state. */
-};
-
-/*******************************************************************************
- * API
- ******************************************************************************/
-
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-/*!
- * @name eDMA transactional
- * @{
- */
-
-/*!
- * @brief Initializes the FlexCAN handle, which is used in transactional functions.
- *
- * @param base FlexCAN peripheral base address.
- * @param handle Pointer to flexcan_edma_handle_t structure.
- * @param callback The callback function.
- * @param userData The parameter of the callback function.
- * @param rxFifoEdmaHandle User-requested DMA handle for Rx FIFO DMA transfer.
- */
-void FLEXCAN_TransferCreateHandleEDMA(CAN_Type *base,
- flexcan_edma_handle_t *handle,
- flexcan_edma_transfer_callback_t callback,
- void *userData,
- edma_handle_t *rxFifoEdmaHandle);
-
-/*!
- * @brief Receives the CAN Message from the Rx FIFO using eDMA.
- *
- * This function receives the CAN Message using eDMA. This is a non-blocking function, which returns
- * right away. After the CAN Message is received, the receive callback function is called.
- *
- * @param base FlexCAN peripheral base address.
- * @param handle Pointer to flexcan_edma_handle_t structure.
- * @param xfer FlexCAN Rx FIFO EDMA transfer structure, see #flexcan_fifo_transfer_t.
- * @retval kStatus_Success if succeed, others failed.
- * @retval kStatus_FLEXCAN_RxFifoBusy Previous transfer ongoing.
- */
-status_t FLEXCAN_TransferReceiveFifoEDMA(CAN_Type *base, flexcan_edma_handle_t *handle, flexcan_fifo_transfer_t *xfer);
-
-/*!
- * @brief Aborts the receive process which used eDMA.
- *
- * This function aborts the receive process which used eDMA.
- *
- * @param base FlexCAN peripheral base address.
- * @param handle Pointer to flexcan_edma_handle_t structure.
- */
-void FLEXCAN_TransferAbortReceiveFifoEDMA(CAN_Type *base, flexcan_edma_handle_t *handle);
-
-/*@}*/
-
-#if defined(__cplusplus)
-}
-#endif
-
-/*! @}*/
-
-#endif /* _FSL_FLEXCAN_EDMA_H_ */
