added prescaler for 16 bit pwm in LPC1347 target

Fork of mbed-dev by mbed official

Committer:
<>
Date:
Fri Sep 02 15:07:44 2016 +0100
Revision:
144:ef7eb2e8f9f7
This updates the lib to the mbed lib v125

Who changed what in which revision?

UserRevisionLine numberNew contents of line
<> 144:ef7eb2e8f9f7 1 /*
<> 144:ef7eb2e8f9f7 2 * Copyright (c) 2015, Freescale Semiconductor, Inc.
<> 144:ef7eb2e8f9f7 3 * All rights reserved.
<> 144:ef7eb2e8f9f7 4 *
<> 144:ef7eb2e8f9f7 5 * Redistribution and use in source and binary forms, with or without modification,
<> 144:ef7eb2e8f9f7 6 * are permitted provided that the following conditions are met:
<> 144:ef7eb2e8f9f7 7 *
<> 144:ef7eb2e8f9f7 8 * o Redistributions of source code must retain the above copyright notice, this list
<> 144:ef7eb2e8f9f7 9 * of conditions and the following disclaimer.
<> 144:ef7eb2e8f9f7 10 *
<> 144:ef7eb2e8f9f7 11 * o Redistributions in binary form must reproduce the above copyright notice, this
<> 144:ef7eb2e8f9f7 12 * list of conditions and the following disclaimer in the documentation and/or
<> 144:ef7eb2e8f9f7 13 * other materials provided with the distribution.
<> 144:ef7eb2e8f9f7 14 *
<> 144:ef7eb2e8f9f7 15 * o Neither the name of Freescale Semiconductor, Inc. nor the names of its
<> 144:ef7eb2e8f9f7 16 * contributors may be used to endorse or promote products derived from this
<> 144:ef7eb2e8f9f7 17 * software without specific prior written permission.
<> 144:ef7eb2e8f9f7 18 *
<> 144:ef7eb2e8f9f7 19 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
<> 144:ef7eb2e8f9f7 20 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
<> 144:ef7eb2e8f9f7 21 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
<> 144:ef7eb2e8f9f7 22 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
<> 144:ef7eb2e8f9f7 23 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
<> 144:ef7eb2e8f9f7 24 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
<> 144:ef7eb2e8f9f7 25 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
<> 144:ef7eb2e8f9f7 26 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
<> 144:ef7eb2e8f9f7 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
<> 144:ef7eb2e8f9f7 28 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<> 144:ef7eb2e8f9f7 29 */
<> 144:ef7eb2e8f9f7 30 #ifndef _FSL_DSPI_EDMA_H_
<> 144:ef7eb2e8f9f7 31 #define _FSL_DSPI_EDMA_H_
<> 144:ef7eb2e8f9f7 32
<> 144:ef7eb2e8f9f7 33 #include "fsl_dspi.h"
<> 144:ef7eb2e8f9f7 34 #include "fsl_edma.h"
<> 144:ef7eb2e8f9f7 35 /*!
<> 144:ef7eb2e8f9f7 36 * @addtogroup dspi_edma_driver
<> 144:ef7eb2e8f9f7 37 * @{
<> 144:ef7eb2e8f9f7 38 */
<> 144:ef7eb2e8f9f7 39
<> 144:ef7eb2e8f9f7 40 /*! @file */
<> 144:ef7eb2e8f9f7 41
<> 144:ef7eb2e8f9f7 42 /***********************************************************************************************************************
<> 144:ef7eb2e8f9f7 43 * Definitions
<> 144:ef7eb2e8f9f7 44 **********************************************************************************************************************/
<> 144:ef7eb2e8f9f7 45
<> 144:ef7eb2e8f9f7 46 /*!
<> 144:ef7eb2e8f9f7 47 * @brief Forward declaration of the DSPI eDMA master handle typedefs.
<> 144:ef7eb2e8f9f7 48 */
<> 144:ef7eb2e8f9f7 49 typedef struct _dspi_master_edma_handle dspi_master_edma_handle_t;
<> 144:ef7eb2e8f9f7 50
<> 144:ef7eb2e8f9f7 51 /*!
<> 144:ef7eb2e8f9f7 52 * @brief Forward declaration of the DSPI eDMA slave handle typedefs.
<> 144:ef7eb2e8f9f7 53 */
<> 144:ef7eb2e8f9f7 54 typedef struct _dspi_slave_edma_handle dspi_slave_edma_handle_t;
<> 144:ef7eb2e8f9f7 55
<> 144:ef7eb2e8f9f7 56 /*!
<> 144:ef7eb2e8f9f7 57 * @brief Completion callback function pointer type.
<> 144:ef7eb2e8f9f7 58 *
<> 144:ef7eb2e8f9f7 59 * @param base DSPI peripheral base address.
<> 144:ef7eb2e8f9f7 60 * @param handle Pointer to the handle for the DSPI master.
<> 144:ef7eb2e8f9f7 61 * @param status Success or error code describing whether the transfer completed.
<> 144:ef7eb2e8f9f7 62 * @param userData Arbitrary pointer-dataSized value passed from the application.
<> 144:ef7eb2e8f9f7 63 */
<> 144:ef7eb2e8f9f7 64 typedef void (*dspi_master_edma_transfer_callback_t)(SPI_Type *base,
<> 144:ef7eb2e8f9f7 65 dspi_master_edma_handle_t *handle,
<> 144:ef7eb2e8f9f7 66 status_t status,
<> 144:ef7eb2e8f9f7 67 void *userData);
<> 144:ef7eb2e8f9f7 68 /*!
<> 144:ef7eb2e8f9f7 69 * @brief Completion callback function pointer type.
<> 144:ef7eb2e8f9f7 70 *
<> 144:ef7eb2e8f9f7 71 * @param base DSPI peripheral base address.
<> 144:ef7eb2e8f9f7 72 * @param handle Pointer to the handle for the DSPI slave.
<> 144:ef7eb2e8f9f7 73 * @param status Success or error code describing whether the transfer completed.
<> 144:ef7eb2e8f9f7 74 * @param userData Arbitrary pointer-dataSized value passed from the application.
<> 144:ef7eb2e8f9f7 75 */
<> 144:ef7eb2e8f9f7 76 typedef void (*dspi_slave_edma_transfer_callback_t)(SPI_Type *base,
<> 144:ef7eb2e8f9f7 77 dspi_slave_edma_handle_t *handle,
<> 144:ef7eb2e8f9f7 78 status_t status,
<> 144:ef7eb2e8f9f7 79 void *userData);
<> 144:ef7eb2e8f9f7 80
<> 144:ef7eb2e8f9f7 81 /*! @brief DSPI master eDMA transfer handle structure used for transactional API. */
<> 144:ef7eb2e8f9f7 82 struct _dspi_master_edma_handle
<> 144:ef7eb2e8f9f7 83 {
<> 144:ef7eb2e8f9f7 84 uint32_t bitsPerFrame; /*!< Desired number of bits per frame. */
<> 144:ef7eb2e8f9f7 85 volatile uint32_t command; /*!< Desired data command. */
<> 144:ef7eb2e8f9f7 86 volatile uint32_t lastCommand; /*!< Desired last data command. */
<> 144:ef7eb2e8f9f7 87
<> 144:ef7eb2e8f9f7 88 uint8_t fifoSize; /*!< FIFO dataSize. */
<> 144:ef7eb2e8f9f7 89
<> 144:ef7eb2e8f9f7 90 volatile bool isPcsActiveAfterTransfer; /*!< Is PCS signal keep active after the last frame transfer.*/
<> 144:ef7eb2e8f9f7 91 volatile bool isThereExtraByte; /*!< Is there extra byte.*/
<> 144:ef7eb2e8f9f7 92
<> 144:ef7eb2e8f9f7 93 uint8_t *volatile txData; /*!< Send buffer. */
<> 144:ef7eb2e8f9f7 94 uint8_t *volatile rxData; /*!< Receive buffer. */
<> 144:ef7eb2e8f9f7 95 volatile size_t remainingSendByteCount; /*!< Number of bytes remaining to send.*/
<> 144:ef7eb2e8f9f7 96 volatile size_t remainingReceiveByteCount; /*!< Number of bytes remaining to receive.*/
<> 144:ef7eb2e8f9f7 97 size_t totalByteCount; /*!< Number of transfer bytes*/
<> 144:ef7eb2e8f9f7 98
<> 144:ef7eb2e8f9f7 99 uint32_t rxBuffIfNull; /*!< Used if there is not rxData for DMA purpose.*/
<> 144:ef7eb2e8f9f7 100 uint32_t txBuffIfNull; /*!< Used if there is not txData for DMA purpose.*/
<> 144:ef7eb2e8f9f7 101
<> 144:ef7eb2e8f9f7 102 volatile uint8_t state; /*!< DSPI transfer state , _dspi_transfer_state.*/
<> 144:ef7eb2e8f9f7 103
<> 144:ef7eb2e8f9f7 104 dspi_master_edma_transfer_callback_t callback; /*!< Completion callback. */
<> 144:ef7eb2e8f9f7 105 void *userData; /*!< Callback user data. */
<> 144:ef7eb2e8f9f7 106
<> 144:ef7eb2e8f9f7 107 edma_handle_t *edmaRxRegToRxDataHandle; /*!<edma_handle_t handle point used for RxReg to RxData buff*/
<> 144:ef7eb2e8f9f7 108 edma_handle_t *edmaTxDataToIntermediaryHandle; /*!<edma_handle_t handle point used for TxData to Intermediary*/
<> 144:ef7eb2e8f9f7 109 edma_handle_t *edmaIntermediaryToTxRegHandle; /*!<edma_handle_t handle point used for Intermediary to TxReg*/
<> 144:ef7eb2e8f9f7 110
<> 144:ef7eb2e8f9f7 111 edma_tcd_t dspiSoftwareTCD[2]; /*!<SoftwareTCD , internal used*/
<> 144:ef7eb2e8f9f7 112 };
<> 144:ef7eb2e8f9f7 113
<> 144:ef7eb2e8f9f7 114 /*! @brief DSPI slave eDMA transfer handle structure used for transactional API.*/
<> 144:ef7eb2e8f9f7 115 struct _dspi_slave_edma_handle
<> 144:ef7eb2e8f9f7 116 {
<> 144:ef7eb2e8f9f7 117 uint32_t bitsPerFrame; /*!< Desired number of bits per frame. */
<> 144:ef7eb2e8f9f7 118 volatile bool isThereExtraByte; /*!< Is there extra byte.*/
<> 144:ef7eb2e8f9f7 119
<> 144:ef7eb2e8f9f7 120 uint8_t *volatile txData; /*!< Send buffer. */
<> 144:ef7eb2e8f9f7 121 uint8_t *volatile rxData; /*!< Receive buffer. */
<> 144:ef7eb2e8f9f7 122 volatile size_t remainingSendByteCount; /*!< Number of bytes remaining to send.*/
<> 144:ef7eb2e8f9f7 123 volatile size_t remainingReceiveByteCount; /*!< Number of bytes remaining to receive.*/
<> 144:ef7eb2e8f9f7 124 size_t totalByteCount; /*!< Number of transfer bytes*/
<> 144:ef7eb2e8f9f7 125
<> 144:ef7eb2e8f9f7 126 uint32_t rxBuffIfNull; /*!< Used if there is not rxData for DMA purpose.*/
<> 144:ef7eb2e8f9f7 127 uint32_t txBuffIfNull; /*!< Used if there is not txData for DMA purpose.*/
<> 144:ef7eb2e8f9f7 128 uint32_t txLastData; /*!< Used if there is an extra byte when 16bits per frame for DMA purpose.*/
<> 144:ef7eb2e8f9f7 129
<> 144:ef7eb2e8f9f7 130 volatile uint8_t state; /*!< DSPI transfer state.*/
<> 144:ef7eb2e8f9f7 131
<> 144:ef7eb2e8f9f7 132 uint32_t errorCount; /*!< Error count for slave transfer.*/
<> 144:ef7eb2e8f9f7 133
<> 144:ef7eb2e8f9f7 134 dspi_slave_edma_transfer_callback_t callback; /*!< Completion callback. */
<> 144:ef7eb2e8f9f7 135 void *userData; /*!< Callback user data. */
<> 144:ef7eb2e8f9f7 136
<> 144:ef7eb2e8f9f7 137 edma_handle_t *edmaRxRegToRxDataHandle; /*!<edma_handle_t handle point used for RxReg to RxData buff*/
<> 144:ef7eb2e8f9f7 138 edma_handle_t *edmaTxDataToTxRegHandle; /*!<edma_handle_t handle point used for TxData to TxReg*/
<> 144:ef7eb2e8f9f7 139
<> 144:ef7eb2e8f9f7 140 edma_tcd_t dspiSoftwareTCD[2]; /*!<SoftwareTCD , internal used*/
<> 144:ef7eb2e8f9f7 141 };
<> 144:ef7eb2e8f9f7 142
<> 144:ef7eb2e8f9f7 143 /***********************************************************************************************************************
<> 144:ef7eb2e8f9f7 144 * API
<> 144:ef7eb2e8f9f7 145 **********************************************************************************************************************/
<> 144:ef7eb2e8f9f7 146 #if defined(__cplusplus)
<> 144:ef7eb2e8f9f7 147 extern "C" {
<> 144:ef7eb2e8f9f7 148 #endif /*_cplusplus*/
<> 144:ef7eb2e8f9f7 149
<> 144:ef7eb2e8f9f7 150 /*Transactional APIs*/
<> 144:ef7eb2e8f9f7 151
<> 144:ef7eb2e8f9f7 152 /*!
<> 144:ef7eb2e8f9f7 153 * @brief Initializes the DSPI master eDMA handle.
<> 144:ef7eb2e8f9f7 154 *
<> 144:ef7eb2e8f9f7 155 * This function initializes the DSPI eDMA handle which can be used for other DSPI transactional APIs. Usually, for a
<> 144:ef7eb2e8f9f7 156 * specified DSPI instance, user need only call this API once to get the initialized handle.
<> 144:ef7eb2e8f9f7 157 *
<> 144:ef7eb2e8f9f7 158 * Note that DSPI eDMA has separated (RX and TX as two sources) or shared (RX and TX are the same source) DMA request source.
<> 144:ef7eb2e8f9f7 159 * (1)For the separated DMA request source, enable and set the RX DMAMUX source for edmaRxRegToRxDataHandle and
<> 144:ef7eb2e8f9f7 160 * TX DMAMUX source for edmaIntermediaryToTxRegHandle.
<> 144:ef7eb2e8f9f7 161 * (2)For the shared DMA request source, enable and set the RX/RX DMAMUX source for the edmaRxRegToRxDataHandle.
<> 144:ef7eb2e8f9f7 162 *
<> 144:ef7eb2e8f9f7 163 * @param base DSPI peripheral base address.
<> 144:ef7eb2e8f9f7 164 * @param handle DSPI handle pointer to dspi_master_edma_handle_t.
<> 144:ef7eb2e8f9f7 165 * @param callback DSPI callback.
<> 144:ef7eb2e8f9f7 166 * @param userData callback function parameter.
<> 144:ef7eb2e8f9f7 167 * @param edmaRxRegToRxDataHandle edmaRxRegToRxDataHandle pointer to edma_handle_t.
<> 144:ef7eb2e8f9f7 168 * @param edmaTxDataToIntermediaryHandle edmaTxDataToIntermediaryHandle pointer to edma_handle_t.
<> 144:ef7eb2e8f9f7 169 * @param edmaIntermediaryToTxRegHandle edmaIntermediaryToTxRegHandle pointer to edma_handle_t.
<> 144:ef7eb2e8f9f7 170 */
<> 144:ef7eb2e8f9f7 171 void DSPI_MasterTransferCreateHandleEDMA(SPI_Type *base,
<> 144:ef7eb2e8f9f7 172 dspi_master_edma_handle_t *handle,
<> 144:ef7eb2e8f9f7 173 dspi_master_edma_transfer_callback_t callback,
<> 144:ef7eb2e8f9f7 174 void *userData,
<> 144:ef7eb2e8f9f7 175 edma_handle_t *edmaRxRegToRxDataHandle,
<> 144:ef7eb2e8f9f7 176 edma_handle_t *edmaTxDataToIntermediaryHandle,
<> 144:ef7eb2e8f9f7 177 edma_handle_t *edmaIntermediaryToTxRegHandle);
<> 144:ef7eb2e8f9f7 178
<> 144:ef7eb2e8f9f7 179 /*!
<> 144:ef7eb2e8f9f7 180 * @brief DSPI master transfer data using eDMA.
<> 144:ef7eb2e8f9f7 181 *
<> 144:ef7eb2e8f9f7 182 * This function transfer data using eDMA. This is non-blocking function, which returns right away. When all data
<> 144:ef7eb2e8f9f7 183 * have been transfer, the callback function is called.
<> 144:ef7eb2e8f9f7 184 *
<> 144:ef7eb2e8f9f7 185 * @param base DSPI peripheral base address.
<> 144:ef7eb2e8f9f7 186 * @param handle pointer to dspi_master_edma_handle_t structure which stores the transfer state.
<> 144:ef7eb2e8f9f7 187 * @param transfer pointer to dspi_transfer_t structure.
<> 144:ef7eb2e8f9f7 188 * @return status of status_t.
<> 144:ef7eb2e8f9f7 189 */
<> 144:ef7eb2e8f9f7 190 status_t DSPI_MasterTransferEDMA(SPI_Type *base, dspi_master_edma_handle_t *handle, dspi_transfer_t *transfer);
<> 144:ef7eb2e8f9f7 191
<> 144:ef7eb2e8f9f7 192 /*!
<> 144:ef7eb2e8f9f7 193 * @brief DSPI master aborts a transfer which using eDMA.
<> 144:ef7eb2e8f9f7 194 *
<> 144:ef7eb2e8f9f7 195 * This function aborts a transfer which using eDMA.
<> 144:ef7eb2e8f9f7 196 *
<> 144:ef7eb2e8f9f7 197 * @param base DSPI peripheral base address.
<> 144:ef7eb2e8f9f7 198 * @param handle pointer to dspi_master_edma_handle_t structure which stores the transfer state.
<> 144:ef7eb2e8f9f7 199 */
<> 144:ef7eb2e8f9f7 200 void DSPI_MasterTransferAbortEDMA(SPI_Type *base, dspi_master_edma_handle_t *handle);
<> 144:ef7eb2e8f9f7 201
<> 144:ef7eb2e8f9f7 202 /*!
<> 144:ef7eb2e8f9f7 203 * @brief Gets the master eDMA transfer count.
<> 144:ef7eb2e8f9f7 204 *
<> 144:ef7eb2e8f9f7 205 * This function get the master eDMA transfer count.
<> 144:ef7eb2e8f9f7 206 *
<> 144:ef7eb2e8f9f7 207 * @param base DSPI peripheral base address.
<> 144:ef7eb2e8f9f7 208 * @param handle pointer to dspi_master_edma_handle_t structure which stores the transfer state.
<> 144:ef7eb2e8f9f7 209 * @param count Number of bytes transferred so far by the non-blocking transaction.
<> 144:ef7eb2e8f9f7 210 * @return status of status_t.
<> 144:ef7eb2e8f9f7 211 */
<> 144:ef7eb2e8f9f7 212 status_t DSPI_MasterTransferGetCountEDMA(SPI_Type *base, dspi_master_edma_handle_t *handle, size_t *count);
<> 144:ef7eb2e8f9f7 213
<> 144:ef7eb2e8f9f7 214 /*!
<> 144:ef7eb2e8f9f7 215 * @brief Initializes the DSPI slave eDMA handle.
<> 144:ef7eb2e8f9f7 216 *
<> 144:ef7eb2e8f9f7 217 * This function initializes the DSPI eDMA handle which can be used for other DSPI transactional APIs. Usually, for a
<> 144:ef7eb2e8f9f7 218 * specified DSPI instance, call this API once to get the initialized handle.
<> 144:ef7eb2e8f9f7 219 *
<> 144:ef7eb2e8f9f7 220 * Note that DSPI eDMA has separated (RN and TX in 2 sources) or shared (RX and TX are the same source) DMA request source.
<> 144:ef7eb2e8f9f7 221 * (1)For the separated DMA request source, enable and set the RX DMAMUX source for edmaRxRegToRxDataHandle and
<> 144:ef7eb2e8f9f7 222 * TX DMAMUX source for edmaTxDataToTxRegHandle.
<> 144:ef7eb2e8f9f7 223 * (2)For the shared DMA request source, enable and set the RX/RX DMAMUX source for the edmaRxRegToRxDataHandle.
<> 144:ef7eb2e8f9f7 224 *
<> 144:ef7eb2e8f9f7 225 * @param base DSPI peripheral base address.
<> 144:ef7eb2e8f9f7 226 * @param handle DSPI handle pointer to dspi_slave_edma_handle_t.
<> 144:ef7eb2e8f9f7 227 * @param callback DSPI callback.
<> 144:ef7eb2e8f9f7 228 * @param userData callback function parameter.
<> 144:ef7eb2e8f9f7 229 * @param edmaRxRegToRxDataHandle edmaRxRegToRxDataHandle pointer to edma_handle_t.
<> 144:ef7eb2e8f9f7 230 * @param edmaTxDataToTxRegHandle edmaTxDataToTxRegHandle pointer to edma_handle_t.
<> 144:ef7eb2e8f9f7 231 */
<> 144:ef7eb2e8f9f7 232 void DSPI_SlaveTransferCreateHandleEDMA(SPI_Type *base,
<> 144:ef7eb2e8f9f7 233 dspi_slave_edma_handle_t *handle,
<> 144:ef7eb2e8f9f7 234 dspi_slave_edma_transfer_callback_t callback,
<> 144:ef7eb2e8f9f7 235 void *userData,
<> 144:ef7eb2e8f9f7 236 edma_handle_t *edmaRxRegToRxDataHandle,
<> 144:ef7eb2e8f9f7 237 edma_handle_t *edmaTxDataToTxRegHandle);
<> 144:ef7eb2e8f9f7 238
<> 144:ef7eb2e8f9f7 239 /*!
<> 144:ef7eb2e8f9f7 240 * @brief DSPI slave transfer data using eDMA.
<> 144:ef7eb2e8f9f7 241 *
<> 144:ef7eb2e8f9f7 242 * This function transfer data using eDMA. This is non-blocking function, which returns right away. When all data
<> 144:ef7eb2e8f9f7 243 * have been transfer, the callback function is called.
<> 144:ef7eb2e8f9f7 244 * Note that slave EDMA transfer cannot support the situation that transfer_size is 1 when the bitsPerFrame is greater
<> 144:ef7eb2e8f9f7 245 * than 8 .
<> 144:ef7eb2e8f9f7 246
<> 144:ef7eb2e8f9f7 247 * @param base DSPI peripheral base address.
<> 144:ef7eb2e8f9f7 248 * @param handle pointer to dspi_slave_edma_handle_t structure which stores the transfer state.
<> 144:ef7eb2e8f9f7 249 * @param transfer pointer to dspi_transfer_t structure.
<> 144:ef7eb2e8f9f7 250 * @return status of status_t.
<> 144:ef7eb2e8f9f7 251 */
<> 144:ef7eb2e8f9f7 252 status_t DSPI_SlaveTransferEDMA(SPI_Type *base, dspi_slave_edma_handle_t *handle, dspi_transfer_t *transfer);
<> 144:ef7eb2e8f9f7 253
<> 144:ef7eb2e8f9f7 254 /*!
<> 144:ef7eb2e8f9f7 255 * @brief DSPI slave aborts a transfer which using eDMA.
<> 144:ef7eb2e8f9f7 256 *
<> 144:ef7eb2e8f9f7 257 * This function aborts a transfer which using eDMA.
<> 144:ef7eb2e8f9f7 258 *
<> 144:ef7eb2e8f9f7 259 * @param base DSPI peripheral base address.
<> 144:ef7eb2e8f9f7 260 * @param handle pointer to dspi_slave_edma_handle_t structure which stores the transfer state.
<> 144:ef7eb2e8f9f7 261 */
<> 144:ef7eb2e8f9f7 262 void DSPI_SlaveTransferAbortEDMA(SPI_Type *base, dspi_slave_edma_handle_t *handle);
<> 144:ef7eb2e8f9f7 263
<> 144:ef7eb2e8f9f7 264 /*!
<> 144:ef7eb2e8f9f7 265 * @brief Gets the slave eDMA transfer count.
<> 144:ef7eb2e8f9f7 266 *
<> 144:ef7eb2e8f9f7 267 * This function gets the slave eDMA transfer count.
<> 144:ef7eb2e8f9f7 268 *
<> 144:ef7eb2e8f9f7 269 * @param base DSPI peripheral base address.
<> 144:ef7eb2e8f9f7 270 * @param handle pointer to dspi_slave_edma_handle_t structure which stores the transfer state.
<> 144:ef7eb2e8f9f7 271 * @param count Number of bytes transferred so far by the non-blocking transaction.
<> 144:ef7eb2e8f9f7 272 * @return status of status_t.
<> 144:ef7eb2e8f9f7 273 */
<> 144:ef7eb2e8f9f7 274 status_t DSPI_SlaveTransferGetCountEDMA(SPI_Type *base, dspi_slave_edma_handle_t *handle, size_t *count);
<> 144:ef7eb2e8f9f7 275
<> 144:ef7eb2e8f9f7 276 #if defined(__cplusplus)
<> 144:ef7eb2e8f9f7 277 }
<> 144:ef7eb2e8f9f7 278 #endif /*_cplusplus*/
<> 144:ef7eb2e8f9f7 279 /*!
<> 144:ef7eb2e8f9f7 280 *@}
<> 144:ef7eb2e8f9f7 281 */
<> 144:ef7eb2e8f9f7 282
<> 144:ef7eb2e8f9f7 283 #endif /*_FSL_DSPI_EDMA_H_*/