]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - tmk_core/tool/mbed/mbed-sdk/libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_KPSDK_CODE/hal/can/fsl_flexcan_hal.h
Cleans up quantum/keymap situation, removes extra lufa folders (#416)
[qmk_firmware.git] / tmk_core / tool / mbed / mbed-sdk / libraries / mbed / targets / hal / TARGET_Freescale / TARGET_KPSDK_MCUS / TARGET_KPSDK_CODE / hal / can / fsl_flexcan_hal.h
diff --git a/tmk_core/tool/mbed/mbed-sdk/libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_KPSDK_CODE/hal/can/fsl_flexcan_hal.h b/tmk_core/tool/mbed/mbed-sdk/libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_KPSDK_CODE/hal/can/fsl_flexcan_hal.h
deleted file mode 100644 (file)
index deed4a9..0000000
+++ /dev/null
@@ -1,837 +0,0 @@
-/*
- * Copyright (c) 2013 - 2014, 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_HAL_H__
-#define __FSL_FLEXCAN_HAL_H__
-
-#include <assert.h>
-#include <stdint.h>
-#include <stdbool.h>
-#include "fsl_flexcan_features.h"
-#include "fsl_device_registers.h"
-
-#ifndef MBED_NO_FLEXCAN
-
-/*!
- * @addtogroup flexcan_hal
- * @{
- */
-
-/*******************************************************************************
- * Definitions
- ******************************************************************************/
-
-/*! @brief FlexCAN constants*/
-enum _flexcan_constants
-{
-    kFlexCanMessageSize = 8,               /*!< FlexCAN message buffer data size in bytes*/
-};
-
-/*! @brief The Status enum is used to report current status of the FlexCAN interface.*/
-enum _flexcan_err_status
-{
-    kFlexCan_RxWrn   = 0x0080, /*!< Reached warning level for RX errors*/
-    kFlexCan_TxWrn   = 0x0100, /*!< Reached warning level for TX errors*/
-    kFlexCan_StfErr  = 0x0200, /*!< Stuffing Error*/
-    kFlexCan_FrmErr  = 0x0400, /*!< Form Error*/
-    kFlexCan_CrcErr  = 0x0800, /*!< Cyclic Redundancy Check Error*/
-    kFlexCan_AckErr  = 0x1000, /*!< Received no ACK on transmission*/
-    kFlexCan_Bit0Err = 0x2000, /*!< Unable to send dominant bit*/
-    kFlexCan_Bit1Err = 0x4000, /*!< Unable to send recessive bit*/
-};
-
-/*! @brief FlexCAN status return codes*/
-typedef enum _flexcan_status
-{
-    kStatus_FLEXCAN_Success = 0,
-    kStatus_FLEXCAN_OutOfRange,
-    kStatus_FLEXCAN_UnknownProperty,
-    kStatus_FLEXCAN_InvalidArgument,
-    kStatus_FLEXCAN_Fail,
-    kStatus_FLEXCAN_TimeOut,
-} flexcan_status_t;
-
-
-/*! @brief FlexCAN operation modes*/
-typedef enum _flexcan_operation_modes {
-    kFlexCanNormalMode,        /*!< Normal mode or user mode*/
-    kFlexCanListenOnlyMode,    /*!< Listen-only mode*/
-    kFlexCanLoopBackMode,      /*!< Loop-back mode*/
-    kFlexCanFreezeMode,        /*!< Freeze mode*/
-    kFlexCanDisableMode,       /*!< Module disable mode*/
-} flexcan_operation_modes_t;
-
-/*! @brief FlexCAN message buffer CODE for Rx buffers*/
-typedef enum _flexcan_mb_code_rx {
-    kFlexCanRX_Inactive  = 0x0, /*!< MB is not active.*/
-    kFlexCanRX_Full      = 0x2, /*!< MB is full.*/
-    kFlexCanRX_Empty     = 0x4, /*!< MB is active and empty.*/
-    kFlexCanRX_Overrun   = 0x6, /*!< MB is overwritten into a full buffer.*/
-    kFlexCanRX_Busy      = 0x8, /*!< FlexCAN is updating the contents of the MB.*/
-                                /*!  The CPU must not access the MB.*/
-    kFlexCanRX_Ranswer   = 0xA, /*!< A frame was configured to recognize a Remote Request Frame*/
-                                /*!  and transmit a Response Frame in return.*/
-    kFlexCanRX_NotUsed   = 0xF, /*!< Not used*/
-} flexcan_mb_code_rx_t;
-
-/*! @brief FlexCAN message buffer CODE FOR Tx buffers*/
-typedef enum _flexcan_mb_code_tx {
-    kFlexCanTX_Inactive  = 0x08, /*!< MB is not active.*/
-    kFlexCanTX_Abort     = 0x09, /*!< MB is aborted.*/
-    kFlexCanTX_Data      = 0x0C, /*!< MB is a TX Data Frame(MB RTR must be 0).*/
-    kFlexCanTX_Remote    = 0x1C, /*!< MB is a TX Remote Request Frame (MB RTR must be 1).*/
-    kFlexCanTX_Tanswer   = 0x0E, /*!< MB is a TX Response Request Frame from.*/
-                                 /*!  an incoming Remote Request Frame.*/
-    kFlexCanTX_NotUsed   = 0xF,  /*!< Not used*/
-} flexcan_mb_code_tx_t;
-
-/*! @brief FlexCAN message buffer transmission types*/
-typedef enum _flexcan_mb_transmission_type {
-    kFlexCanMBStatusType_TX,          /*!< Transmit MB*/
-    kFlexCanMBStatusType_TXRemote,    /*!< Transmit remote request MB*/
-    kFlexCanMBStatusType_RX,          /*!< Receive MB*/
-    kFlexCanMBStatusType_RXRemote,    /*!< Receive remote request MB*/
-    kFlexCanMBStatusType_RXTXRemote,  /*!< FlexCAN remote frame receives remote request and*/
-                                      /*!  transmits MB.*/
-} flexcan_mb_transmission_type_t;
-
-typedef enum _flexcan_rx_fifo_id_element_format {
-    kFlexCanRxFifoIdElementFormat_A, /*!< One full ID (standard and extended) per ID Filter Table*/
-                                     /*!  element.*/
-    kFlexCanRxFifoIdElementFormat_B, /*!< Two full standard IDs or two partial 14-bit (standard and*/
-                                     /*!  extended) IDs per ID Filter Table element.*/
-    kFlexCanRxFifoIdElementFormat_C, /*!< Four partial 8-bit Standard IDs per ID Filter Table*/
-                                     /*!  element.*/
-    kFlexCanRxFifoIdElementFormat_D, /*!< All frames rejected.*/
-} flexcan_rx_fifo_id_element_format_t;
-
-/*! @brief FlexCAN Rx FIFO filters number*/
-typedef enum _flexcan_rx_fifo_id_filter_number {
-    kFlexCanRxFifoIDFilters_8   = 0x0,         /*!<   8 Rx FIFO Filters*/
-    kFlexCanRxFifoIDFilters_16  = 0x1,         /*!<  16 Rx FIFO Filters*/
-    kFlexCanRxFifoIDFilters_24  = 0x2,         /*!<  24 Rx FIFO Filters*/
-    kFlexCanRxFifoIDFilters_32  = 0x3,         /*!<  32 Rx FIFO Filters*/
-    kFlexCanRxFifoIDFilters_40  = 0x4,         /*!<  40 Rx FIFO Filters*/
-    kFlexCanRxFifoIDFilters_48  = 0x5,         /*!<  48 Rx FIFO Filters*/
-    kFlexCanRxFifoIDFilters_56  = 0x6,         /*!<  56 Rx FIFO Filters*/
-    kFlexCanRxFifoIDFilters_64  = 0x7,         /*!<  64 Rx FIFO Filters*/
-    kFlexCanRxFifoIDFilters_72  = 0x8,         /*!<  72 Rx FIFO Filters*/
-    kFlexCanRxFifoIDFilters_80  = 0x9,         /*!<  80 Rx FIFO Filters*/
-    kFlexCanRxFifoIDFilters_88  = 0xA,         /*!<  88 Rx FIFO Filters*/
-    kFlexCanRxFifoIDFilters_96  = 0xB,         /*!<  96 Rx FIFO Filters*/
-    kFlexCanRxFifoIDFilters_104 = 0xC,         /*!< 104 Rx FIFO Filters*/
-    kFlexCanRxFifoIDFilters_112 = 0xD,         /*!< 112 Rx FIFO Filters*/
-    kFlexCanRxFifoIDFilters_120 = 0xE,         /*!< 120 Rx FIFO Filters*/
-    kFlexCanRxFifoIDFilters_128 = 0xF          /*!< 128 Rx FIFO Filters*/
-} flexcan_rx_fifo_id_filter_num_t;
-
-/*! @brief FlexCAN RX FIFO ID filter table structure*/
-typedef struct FLEXCANIdTable {
-    bool is_remote_mb;      /*!< Remote frame*/
-    bool is_extended_mb;    /*!< Extended frame*/
-    uint32_t *id_filter;    /*!< Rx FIFO ID filter elements*/
-} flexcan_id_table_t;
-
-/*! @brief FlexCAN RX mask type.*/
-typedef enum _flexcan_rx_mask_type {
-    kFlexCanRxMask_Global,      /*!< Rx global mask*/
-    kFlexCanRxMask_Individual,  /*!< Rx individual mask*/
-} flexcan_rx_mask_type_t;
-
-/*! @brief FlexCAN MB ID type*/
-typedef enum _flexcan_mb_id_type {
-    kFlexCanMbId_Std,         /*!< Standard ID*/
-    kFlexCanMbId_Ext,         /*!< Extended ID*/
-} flexcan_mb_id_type_t;
-
-/*! @brief FlexCAN clock source*/
-typedef enum _flexcan_clk_source {
-    kFlexCanClkSource_Osc,    /*!< Oscillator clock*/
-    kFlexCanClkSource_Ipbus,  /*!< Peripheral clock*/
-} flexcan_clk_source_t;
-
-/*! @brief FlexCAN error interrupt types*/
-typedef enum _flexcan_int_type {
-    kFlexCanInt_Buf,           /*!< OR'd message buffers interrupt*/
-    kFlexCanInt_Err,           /*!< Error interrupt*/
-    kFlexCanInt_Boff,          /*!< Bus off interrupt*/
-    kFlexCanInt_Wakeup,        /*!< Wakeup interrupt*/
-    kFlexCanInt_Txwarning,     /*!< TX warning interrupt*/
-    kFlexCanInt_Rxwarning,     /*!< RX warning interrupt*/
-} flexcan_int_type_t;
-
-/*! @brief FlexCAN bus error counters*/
-typedef struct FLEXCANBerrCounter {
-    uint16_t txerr;           /*!< Transmit error counter*/
-    uint16_t rxerr;           /*!< Receive error counter*/
-} flexcan_berr_counter_t;
-
-/*! @brief FlexCAN MB code and status for transmit and receive */
-typedef struct FLEXCANMbCodeStatus {
-    uint32_t code;                    /*!< MB code for TX or RX buffers.
-                                        Defined by flexcan_mb_code_rx_t and flexcan_mb_code_tx_t */
-    flexcan_mb_id_type_t msg_id_type; /*!< Type of message ID (standard or extended)*/
-    uint32_t data_length;             /*!< Length of Data in Bytes*/
-} flexcan_mb_code_status_t;
-
-/*! @brief FlexCAN message buffer structure*/
-typedef struct FLEXCANMb {
-    uint32_t cs;                        /*!< Code and Status*/
-    uint32_t msg_id;                    /*!< Message Buffer ID*/
-    uint8_t data[kFlexCanMessageSize];  /*!< Bytes of the FlexCAN message*/
-} flexcan_mb_t;
-
-/*! @brief FlexCAN configuration*/
-typedef struct FLEXCANUserConfig {
-    uint32_t max_num_mb;                            /*!< The maximum number of Message Buffers*/
-    flexcan_rx_fifo_id_filter_num_t num_id_filters; /*!< The number of Rx FIFO ID filters needed*/
-    bool is_rx_fifo_needed;                         /*!< 1 if needed; 0 if not*/
-} flexcan_user_config_t;
-
-/*! @brief FlexCAN timing related structures*/
-typedef struct FLEXCANTimeSegment {
-    uint32_t propseg;     /*!< Propagation segment*/
-    uint32_t pseg1;       /*!< Phase segment 1*/
-    uint32_t pseg2;       /*!< Phase segment 2*/
-    uint32_t pre_divider; /*!< Clock pre divider*/
-    uint32_t rjw;         /*!< Resync jump width*/
-} flexcan_time_segment_t;
-
-
-/*******************************************************************************
- * API
- ******************************************************************************/
-
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-/*!
- * @name Configuration
- * @{
- */
-
-/*!
- * @brief Enables FlexCAN controller.
- *
- * @param   canBaseAddr    The FlexCAN base address
- * @return  0 if successful; non-zero failed
- */
-flexcan_status_t FLEXCAN_HAL_Enable(uint32_t canBaseAddr);
-
-/*!
- * @brief Disables FlexCAN controller.
- *
- * @param   canBaseAddr    The FlexCAN base address
- * @return  0 if successful; non-zero failed
- */
-flexcan_status_t FLEXCAN_HAL_Disable(uint32_t canBaseAddr);
-
-/*!
- * @brief Checks whether the FlexCAN is enabled or disabled.
- *
- * @param   canBaseAddr    The FlexCAN base address
- * @return  State of FlexCAN enable(0)/disable(1)
- */
-static inline bool FLEXCAN_HAL_IsEnabled(uint32_t canBaseAddr)
-{
-    return BR_CAN_MCR_MDIS(canBaseAddr);
-}
-
-/*!
- * @brief Selects the clock source for FlexCAN.
- *
- * @param   canBaseAddr The FlexCAN base address
- * @param   clk         The FlexCAN clock source
- * @return  0 if successful; non-zero failed
- */
-flexcan_status_t FLEXCAN_HAL_SelectClock(uint32_t canBaseAddr, flexcan_clk_source_t clk);
-
-/*!
- * @brief Initializes the FlexCAN controller.
- *
- * @param   canBaseAddr  The FlexCAN base address
- * @param   data         The FlexCAN platform data.
- * @return  0 if successful; non-zero failed
- */
-flexcan_status_t FLEXCAN_HAL_Init(uint32_t canBaseAddr, const flexcan_user_config_t *data);
-
-/*!
- * @brief Sets the FlexCAN time segments for setting up bit rate.
- *
- * @param   canBaseAddr The FlexCAN base address
- * @param   time_seg    FlexCAN time segments, which need to be set for the bit rate.
- * @return  0 if successful; non-zero failed
- */
-void FLEXCAN_HAL_SetTimeSegments(uint32_t canBaseAddr, flexcan_time_segment_t *time_seg);
-
-/*!
- * @brief Gets the  FlexCAN time segments to calculate the bit rate.
- *
- * @param   canBaseAddr The FlexCAN base address
- * @param   time_seg    FlexCAN time segments read for bit rate
- * @return  0 if successful; non-zero failed
- */
-void FLEXCAN_HAL_GetTimeSegments(uint32_t canBaseAddr, flexcan_time_segment_t *time_seg);
-
-/*!
- * @brief Un freezes the FlexCAN module.
- *
- * @param   canBaseAddr     The FlexCAN base address
- * @return  0 if successful; non-zero failed.
- */
-void FLEXCAN_HAL_ExitFreezeMode(uint32_t canBaseAddr);
-
-/*!
- * @brief Freezes the FlexCAN module.
- *
- * @param   canBaseAddr     The FlexCAN base address
- */
-void FLEXCAN_HAL_EnterFreezeMode(uint32_t canBaseAddr);
-
-/*!
- * @brief Enables operation mode.
- *
- * @param   canBaseAddr  The FlexCAN base address
- * @param   mode         An operation mode to be enabled
- * @return  0 if successful; non-zero failed.
- */
-flexcan_status_t FLEXCAN_HAL_EnableOperationMode(
-    uint32_t canBaseAddr,
-    flexcan_operation_modes_t mode);
-
-/*!
- * @brief Disables operation mode.
- *
- * @param   canBaseAddr  The FlexCAN base address
- * @param   mode         An operation mode to be disabled
- * @return  0 if successful; non-zero failed.
- */
-flexcan_status_t FLEXCAN_HAL_DisableOperationMode(
-    uint32_t canBaseAddr,
-    flexcan_operation_modes_t mode);
-
-/*@}*/
-
-/*!
- * @name Data transfer
- * @{
- */
-
-/*!
- * @brief Sets the FlexCAN message buffer fields for transmitting.
- *
- * @param   canBaseAddr  The FlexCAN base address
- * @param   data         The FlexCAN platform data
- * @param   mb_idx       Index of the message buffer
- * @param   cs           CODE/status values (TX)
- * @param   msg_id       ID of the message to transmit
- * @param   mb_data      Bytes of the FlexCAN message
- * @return  0 if successful; non-zero failed
- */
-flexcan_status_t FLEXCAN_HAL_SetMbTx(
-    uint32_t canBaseAddr,
-    const flexcan_user_config_t *data,
-    uint32_t mb_idx,
-    flexcan_mb_code_status_t *cs,
-    uint32_t msg_id,
-    uint8_t *mb_data);
-
-/*!
- * @brief Sets the FlexCAN message buffer fields for receiving.
- *
- * @param   canBaseAddr  The FlexCAN base address
- * @param   data         The FlexCAN platform data
- * @param   mb_idx       Index of the message buffer
- * @param   cs           CODE/status values (RX)
- * @param   msg_id       ID of the message to receive
- * @return  0 if successful; non-zero failed
- */
-flexcan_status_t FLEXCAN_HAL_SetMbRx(
-    uint32_t canBaseAddr,
-    const flexcan_user_config_t *data,
-    uint32_t mb_idx,
-    flexcan_mb_code_status_t *cs,
-    uint32_t msg_id);
-
-/*!
- * @brief Gets the FlexCAN message buffer fields.
- *
- * @param   canBaseAddr  The FlexCAN base address
- * @param   data         The FlexCAN platform data
- * @param   mb_idx       Index of the message buffer
- * @param   mb           The fields of the message buffer
- * @return  0 if successful; non-zero failed
- */
-flexcan_status_t FLEXCAN_HAL_GetMb(
-    uint32_t canBaseAddr,
-    const flexcan_user_config_t *data,
-    uint32_t mb_idx,
-    flexcan_mb_t *mb);
-
-/*!
- * @brief Locks the FlexCAN Rx message buffer.
- *
- * @param   canBaseAddr  The FlexCAN base address
- * @param   data         The FlexCAN platform data
- * @param   mb_idx       Index of the message buffer
- * @return  0 if successful; non-zero failed
- */
-flexcan_status_t FLEXCAN_HAL_LockRxMb(
-    uint32_t canBaseAddr,
-    const flexcan_user_config_t *data,
-    uint32_t mb_idx);
-
-/*!
- * @brief Unlocks the FlexCAN Rx message buffer.
- *
- * @param   canBaseAddr     The FlexCAN base address
- * @return  0 if successful; non-zero failed
- */
-static inline void FLEXCAN_HAL_UnlockRxMb(uint32_t canBaseAddr)
-{
-    /* Unlock the mailbox */
-    HW_CAN_TIMER_RD(canBaseAddr);
-}
-
-/*!
- * @brief Enables the Rx FIFO.
- *
- * @param   canBaseAddr     The FlexCAN base address
- */
-void FLEXCAN_HAL_EnableRxFifo(uint32_t canBaseAddr);
-
-/*!
- * @brief Disables the Rx FIFO.
- *
- * @param   canBaseAddr     The FlexCAN base address
- */
-void FLEXCAN_HAL_DisableRxFifo(uint32_t canBaseAddr);
-
-/*!
- * @brief Sets the number of the Rx FIFO filters.
- *
- * @param   canBaseAddr  The FlexCAN base address
- * @param   number       The number of Rx FIFO filters
- */
-void FLEXCAN_HAL_SetRxFifoFiltersNumber(uint32_t canBaseAddr, uint32_t number);
-
-/*!
- * @brief Sets  the maximum number of Message Buffers.
- *
- * @param   canBaseAddr  The FlexCAN base address
- * @param   data         The FlexCAN platform data
- */
-void FLEXCAN_HAL_SetMaxMbNumber(
-    uint32_t canBaseAddr,
-    const flexcan_user_config_t *data);
-
-/*!
- * @brief Sets the Rx FIFO ID filter table elements.
- *
- * @param   canBaseAddr      The FlexCAN base address
- * @param   data             The FlexCAN platform data
- * @param   id_format        The format of the Rx FIFO ID Filter Table Elements
- * @param   id_filter_table  The ID filter table elements which contain if RTR bit,
- *                           IDE bit and RX message ID need to be set.
- * @return  0 if successful; non-zero failed.
- */
-flexcan_status_t FLEXCAN_HAL_SetIdFilterTableElements(
-    uint32_t canBaseAddr,
-    const flexcan_user_config_t *data,
-    flexcan_rx_fifo_id_element_format_t id_format,
-    flexcan_id_table_t *id_filter_table);
-
-/*!
- * @brief Sets the FlexCAN Rx FIFO fields.
- *
- * @param   canBaseAddr             The FlexCAN base address
- * @param   data                    The FlexCAN platform data
- * @param   id_format               The format of the Rx FIFO ID Filter Table Elements
- * @param   id_filter_table         The ID filter table elements which contain RTR bit, IDE bit,
- *                                  and RX message ID.
- * @return  0 if successful; non-zero failed.
- */
-flexcan_status_t FLEXCAN_HAL_SetRxFifo(
-    uint32_t canBaseAddr,
-    const flexcan_user_config_t *data,
-    flexcan_rx_fifo_id_element_format_t id_format,
-    flexcan_id_table_t *id_filter_table);
-
-/*!
- * @brief Gets the FlexCAN Rx FIFO data.
- *
- * @param   canBaseAddr  The FlexCAN base address
- * @param   rx_fifo      The FlexCAN receive FIFO data
- * @return  0 if successful; non-zero failed.
- */
-flexcan_status_t FLEXCAN_HAL_ReadFifo(
-    uint32_t canBaseAddr,
-    flexcan_mb_t *rx_fifo);
-
-/*@}*/
-
-/*!
- * @name Interrupts
- * @{
- */
-
-/*!
- * @brief Enables the FlexCAN Message Buffer interrupt.
- *
- * @param   canBaseAddr  The FlexCAN base address
- * @param   data         The FlexCAN platform data
- * @param   mb_idx       Index of the message buffer
- * @return  0 if successful; non-zero failed
- */
-flexcan_status_t FLEXCAN_HAL_EnableMbInt(
-    uint32_t canBaseAddr,
-    const flexcan_user_config_t *data,
-    uint32_t mb_idx);
-
-/*!
- * @brief Disables the FlexCAN Message Buffer interrupt.
- *
- * @param   canBaseAddr  The FlexCAN base address
- * @param   data         The FlexCAN platform data
- * @param   mb_idx       Index of the message buffer
- * @return  0 if successful; non-zero failed
- */
-flexcan_status_t FLEXCAN_HAL_DisableMbInt(
-    uint32_t canBaseAddr,
-    const flexcan_user_config_t *data,
-    uint32_t mb_idx);
-
-/*!
- * @brief Enables error interrupt of the FlexCAN module.
- * @param   canBaseAddr     The FlexCAN base address
- */
-void FLEXCAN_HAL_EnableErrInt(uint32_t canBaseAddr);
-
-/*!
- * @brief Disables error interrupt of the FlexCAN module.
- *
- * @param   canBaseAddr     The FlexCAN base address
- */
-void FLEXCAN_HAL_DisableErrInt(uint32_t canBaseAddr);
-
-/*!
- * @brief Enables Bus off interrupt of the FlexCAN module.
- *
- * @param   canBaseAddr     The FlexCAN base address
- */
-void FLEXCAN_HAL_EnableBusOffInt(uint32_t canBaseAddr);
-
-/*!
- * @brief Disables Bus off interrupt of the FlexCAN module.
- *
- * @param   canBaseAddr     The FlexCAN base address
- */
-void FLEXCAN_HAL_DisableBusOffInt(uint32_t canBaseAddr);
-
-/*!
- * @brief Enables Wakeup interrupt of the FlexCAN module.
- *
- * @param   canBaseAddr     The FlexCAN base address
- */
-void FLEXCAN_HAL_EnableWakeupInt(uint32_t canBaseAddr);
-
-/*!
- * @brief Disables Wakeup interrupt of the FlexCAN module.
- *
- * @param   canBaseAddr     The FlexCAN base address
- */
-void FLEXCAN_HAL_DisableWakeupInt(uint32_t canBaseAddr);
-
-/*!
- * @brief Enables TX warning interrupt of the FlexCAN module
- *
- * @param   canBaseAddr     The FlexCAN base address
- */
-void FLEXCAN_HAL_EnableTxWarningInt(uint32_t canBaseAddr);
-
-/*!
- * @brief Disables TX warning interrupt of the FlexCAN module.
- *
- * @param   canBaseAddr     The FlexCAN base address
- */
-void FLEXCAN_HAL_DisableTxWarningInt(uint32_t canBaseAddr);
-
-/*!
- * @brief Enables RX warning interrupt of the FlexCAN module.
- *
- * @param   canBaseAddr     The FlexCAN base address
- */
-void FLEXCAN_HAL_EnableRxWarningInt(uint32_t canBaseAddr);
-
-/*!
- * @brief Disables RX warning interrupt of the FlexCAN module.
- *
- * @param   canBaseAddr     The FlexCAN base address
- */
-void FLEXCAN_HAL_DisableRxWarningInt(uint32_t canBaseAddr);
-
-/*@}*/
-
-/*!
- * @name Status
- * @{
- */
-
-/*!
- * @brief Gets the value of FlexCAN freeze ACK.
- *
- * @param   canBaseAddr     The FlexCAN base address
- * @return  freeze ACK state (1-freeze mode, 0-not in freeze mode).
- */
-static inline uint32_t FLEXCAN_HAL_GetFreezeAck(uint32_t canBaseAddr)
-{
-    return HW_CAN_MCR(canBaseAddr).B.FRZACK;
-}
-
-/*!
- * @brief Gets the individual FlexCAN MB interrupt flag.
- *
- * @param   canBaseAddr  The FlexCAN base address
- * @param   data         The FlexCAN platform data
- * @param   mb_idx       Index of the message buffer
- * @return  the individual MB interrupt flag (0 and 1 are the flag value)
- */
-uint8_t FLEXCAN_HAL_GetMbIntFlag(
-    uint32_t canBaseAddr,
-    const flexcan_user_config_t *data,
-    uint32_t mb_idx);
-
-/*!
- * @brief Gets all FlexCAN MB interrupt flags.
- *
- * @param   canBaseAddr     The FlexCAN base address
- * @return  all MB interrupt flags
- */
-static inline uint32_t FLEXCAN_HAL_GetAllMbIntFlags(uint32_t canBaseAddr)
-{
-    return HW_CAN_IFLAG1_RD(canBaseAddr);
-}
-
-/*!
- * @brief Clears the interrupt flag of the message buffers.
- *
- * @param   canBaseAddr  The FlexCAN base address
- * @param   reg_val      The value to be written to the interrupt flag1 register.
- */
-/* See fsl_flexcan_hal.h for documentation of this function.*/
-static inline void FLEXCAN_HAL_ClearMbIntFlag(
-    uint32_t canBaseAddr,
-    uint32_t reg_val)
-{
-    /* Clear the corresponding message buffer interrupt flag*/
-    HW_CAN_IFLAG1_SET(canBaseAddr, reg_val);
-}
-
-/*!
- * @brief Gets the transmit error counter and receives the error counter.
- *
- * @param   canBaseAddr  The FlexCAN base address
- * @param   err_cnt      Transmit error counter and receive error counter
- */
-void FLEXCAN_HAL_GetErrCounter(
-    uint32_t canBaseAddr,
-    flexcan_berr_counter_t *err_cnt);
-
-/*!
- * @brief Gets error and status.
- *
- * @param   canBaseAddr     The FlexCAN base address
- * @return  The current error and status
- */
-static inline uint32_t FLEXCAN_HAL_GetErrStatus(uint32_t canBaseAddr)
-{
-    return HW_CAN_ESR1_RD(canBaseAddr);
-}
-
-/*!
- * @brief Clears all other interrupts in ERRSTAT register (Error, Busoff, Wakeup).
- *
- * @param   canBaseAddr     The FlexCAN base address
- */
-void FLEXCAN_HAL_ClearErrIntStatus(uint32_t canBaseAddr);
-
-/*@}*/
-
-/*!
- * @name Mask
- * @{
- */
-
-/*!
- * @brief Sets the Rx masking type.
- *
- * @param   canBaseAddr  The FlexCAN base address
- * @param   type         The FlexCAN Rx mask type
- */
-void FLEXCAN_HAL_SetMaskType(uint32_t canBaseAddr, flexcan_rx_mask_type_t type);
-
-/*!
- * @brief Sets the FlexCAN RX FIFO global standard mask.
- *
- * @param   canBaseAddr  The FlexCAN base address
- * @param   std_mask     Standard mask
- */
-void FLEXCAN_HAL_SetRxFifoGlobalStdMask(
-    uint32_t canBaseAddr,
-    uint32_t std_mask);
-
-/*!
- * @brief Sets the FlexCAN Rx FIFO global extended mask.
- *
- * @param   canBaseAddr  The FlexCAN base address
- * @param   ext_mask     Extended mask
- */
-void FLEXCAN_HAL_SetRxFifoGlobalExtMask(
-    uint32_t canBaseAddr,
-    uint32_t ext_mask);
-
-/*!
- * @brief Sets the FlexCAN Rx individual standard mask for ID filtering in the Rx MBs and the Rx FIFO.
- *
- * @param   canBaseAddr  The FlexCAN base address
- * @param   data         The FlexCAN platform data
- * @param   mb_idx       Index of the message buffer
- * @param   std_mask     Individual standard mask
- * @return  0 if successful; non-zero failed
-*/
-flexcan_status_t FLEXCAN_HAL_SetRxIndividualStdMask(
-    uint32_t canBaseAddr,
-    const flexcan_user_config_t * data,
-    uint32_t mb_idx,
-    uint32_t std_mask);
-
-/*!
- * @brief Sets the FlexCAN Rx individual extended mask for ID filtering in the Rx MBs and the Rx FIFO.
- *
- * @param   canBaseAddr  The FlexCAN base address
- * @param   data         The FlexCAN platform data
- * @param   mb_idx       Index of the message buffer
- * @param   ext_mask     Individual extended mask
- * @return  0 if successful; non-zero failed
-*/
-flexcan_status_t FLEXCAN_HAL_SetRxIndividualExtMask(
-    uint32_t canBaseAddr,
-    const flexcan_user_config_t * data,
-    uint32_t mb_idx,
-    uint32_t ext_mask);
-
-/*!
- * @brief Sets the FlexCAN Rx MB global standard mask.
- *
- * @param   canBaseAddr  The FlexCAN base address
- * @param   std_mask     Standard mask
- */
-void FLEXCAN_HAL_SetRxMbGlobalStdMask(
-    uint32_t canBaseAddr,
-    uint32_t std_mask);
-
-/*!
- * @brief Sets the FlexCAN RX MB BUF14 standard mask.
- *
- * @param   canBaseAddr  The FlexCAN base address
- * @param   std_mask     Standard mask
- */
-void FLEXCAN_HAL_SetRxMbBuf14StdMask(
-    uint32_t canBaseAddr,
-    uint32_t std_mask);
-
-/*!
- * @brief Sets the FlexCAN Rx MB BUF15 standard mask.
- *
- * @param   canBaseAddr  The FlexCAN base address
- * @param   std_mask     Standard mask
- * @return  0 if successful; non-zero failed
- */
-void FLEXCAN_HAL_SetRxMbBuf15StdMask(
-    uint32_t canBaseAddr,
-    uint32_t std_mask);
-
-/*!
- * @brief Sets the FlexCAN RX MB global extended mask.
- *
- * @param   canBaseAddr  The FlexCAN base address
- * @param   ext_mask     Extended mask
- */
-void FLEXCAN_HAL_SetRxMbGlobalExtMask(
-    uint32_t canBaseAddr,
-    uint32_t ext_mask);
-
-/*!
- * @brief Sets the FlexCAN RX MB BUF14 extended mask.
- *
- * @param   canBaseAddr  The FlexCAN base address
- * @param   ext_mask     Extended mask
- */
-void FLEXCAN_HAL_SetRxMbBuf14ExtMask(
-    uint32_t canBaseAddr,
-    uint32_t ext_mask);
-
-/*!
- * @brief Sets the FlexCAN RX MB BUF15 extended mask.
- *
- * @param   canBaseAddr  The FlexCAN base address
- * @param   ext_mask     Extended mask
- */
-void FLEXCAN_HAL_SetRxMbBuf15ExtMask(
-    uint32_t canBaseAddr,
-    uint32_t ext_mask);
-
-/*!
- * @brief Gets the FlexCAN ID acceptance filter hit indicator on Rx FIFO.
- *
- * @param   canBaseAddr  The FlexCAN base address
- * @return  RX FIFO information
- */
-static inline uint32_t  FLEXCAN_HAL_GetIdAcceptanceFilterRxFifo(uint32_t canBaseAddr)
-{
-    return BR_CAN_RXFIR_IDHIT(canBaseAddr);
-}
-
-/*@}*/
-
-#if defined(__cplusplus)
-}
-#endif
-
-/*! @}*/
-
-#endif /* MBED_NO_FLEXCAN */
-
-#endif /* __FSL_FLEXCAN_HAL_H__*/
-
-/*******************************************************************************
- * EOF
- ******************************************************************************/
-