The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Dependents:   hello SerialTestv11 SerialTestv12 Sierpinski ... more

mbed 2

This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.

Committer:
AnnaBridge
Date:
Wed Feb 20 20:53:29 2019 +0000
Revision:
172:65be27845400
Parent:
171:3a7713b1edbc
mbed library release version 165

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AnnaBridge 171:3a7713b1edbc 1 /*
AnnaBridge 171:3a7713b1edbc 2 * The Clear BSD License
AnnaBridge 171:3a7713b1edbc 3 * Copyright (c) 2016, Freescale Semiconductor, Inc.
AnnaBridge 171:3a7713b1edbc 4 * Copyright 2016-2017 NXP
AnnaBridge 171:3a7713b1edbc 5 * All rights reserved.
AnnaBridge 171:3a7713b1edbc 6 *
AnnaBridge 171:3a7713b1edbc 7 * Redistribution and use in source and binary forms, with or without modification,
AnnaBridge 171:3a7713b1edbc 8 * are permitted (subject to the limitations in the disclaimer below) provided
AnnaBridge 171:3a7713b1edbc 9 * that the following conditions are met:
AnnaBridge 171:3a7713b1edbc 10 *
AnnaBridge 171:3a7713b1edbc 11 * o Redistributions of source code must retain the above copyright notice, this list
AnnaBridge 171:3a7713b1edbc 12 * of conditions and the following disclaimer.
AnnaBridge 171:3a7713b1edbc 13 *
AnnaBridge 171:3a7713b1edbc 14 * o Redistributions in binary form must reproduce the above copyright notice, this
AnnaBridge 171:3a7713b1edbc 15 * list of conditions and the following disclaimer in the documentation and/or
AnnaBridge 171:3a7713b1edbc 16 * other materials provided with the distribution.
AnnaBridge 171:3a7713b1edbc 17 *
AnnaBridge 171:3a7713b1edbc 18 * o Neither the name of the copyright holder nor the names of its
AnnaBridge 171:3a7713b1edbc 19 * contributors may be used to endorse or promote products derived from this
AnnaBridge 171:3a7713b1edbc 20 * software without specific prior written permission.
AnnaBridge 171:3a7713b1edbc 21 *
AnnaBridge 171:3a7713b1edbc 22 * NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY THIS LICENSE.
AnnaBridge 171:3a7713b1edbc 23 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
AnnaBridge 171:3a7713b1edbc 24 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
AnnaBridge 171:3a7713b1edbc 25 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
AnnaBridge 171:3a7713b1edbc 26 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
AnnaBridge 171:3a7713b1edbc 27 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
AnnaBridge 171:3a7713b1edbc 28 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
AnnaBridge 171:3a7713b1edbc 29 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
AnnaBridge 171:3a7713b1edbc 30 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
AnnaBridge 171:3a7713b1edbc 31 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
AnnaBridge 171:3a7713b1edbc 32 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
AnnaBridge 171:3a7713b1edbc 33 */
AnnaBridge 171:3a7713b1edbc 34
AnnaBridge 171:3a7713b1edbc 35 #ifndef _FSL_PINT_H_
AnnaBridge 171:3a7713b1edbc 36 #define _FSL_PINT_H_
AnnaBridge 171:3a7713b1edbc 37
AnnaBridge 171:3a7713b1edbc 38 #include "fsl_common.h"
AnnaBridge 171:3a7713b1edbc 39
AnnaBridge 171:3a7713b1edbc 40 /*!
AnnaBridge 171:3a7713b1edbc 41 * @addtogroup pint_driver
AnnaBridge 171:3a7713b1edbc 42 * @{
AnnaBridge 171:3a7713b1edbc 43 */
AnnaBridge 171:3a7713b1edbc 44
AnnaBridge 171:3a7713b1edbc 45 /*! @file */
AnnaBridge 171:3a7713b1edbc 46
AnnaBridge 171:3a7713b1edbc 47 /*******************************************************************************
AnnaBridge 171:3a7713b1edbc 48 * Definitions
AnnaBridge 171:3a7713b1edbc 49 ******************************************************************************/
AnnaBridge 171:3a7713b1edbc 50
AnnaBridge 171:3a7713b1edbc 51 /*! @name Driver version */
AnnaBridge 171:3a7713b1edbc 52 /*@{*/
AnnaBridge 171:3a7713b1edbc 53 #define FSL_PINT_DRIVER_VERSION (MAKE_VERSION(2, 0, 0)) /*!< Version 2.0.0 */
AnnaBridge 171:3a7713b1edbc 54 /*@}*/
AnnaBridge 171:3a7713b1edbc 55
AnnaBridge 171:3a7713b1edbc 56 /* Number of interrupt line supported by PINT */
AnnaBridge 171:3a7713b1edbc 57 #define PINT_PIN_INT_COUNT 8U
AnnaBridge 171:3a7713b1edbc 58
AnnaBridge 171:3a7713b1edbc 59 /* Number of input sources supported by PINT */
AnnaBridge 171:3a7713b1edbc 60 #define PINT_INPUT_COUNT 8U
AnnaBridge 171:3a7713b1edbc 61
AnnaBridge 171:3a7713b1edbc 62 /* PININT Bit slice source register bits */
AnnaBridge 171:3a7713b1edbc 63 #define PININT_BITSLICE_SRC_START 8U
AnnaBridge 171:3a7713b1edbc 64 #define PININT_BITSLICE_SRC_MASK 7U
AnnaBridge 171:3a7713b1edbc 65
AnnaBridge 171:3a7713b1edbc 66 /* PININT Bit slice configuration register bits */
AnnaBridge 171:3a7713b1edbc 67 #define PININT_BITSLICE_CFG_START 8U
AnnaBridge 171:3a7713b1edbc 68 #define PININT_BITSLICE_CFG_MASK 7U
AnnaBridge 171:3a7713b1edbc 69 #define PININT_BITSLICE_ENDP_MASK 7U
AnnaBridge 171:3a7713b1edbc 70
AnnaBridge 171:3a7713b1edbc 71 #define PINT_PIN_INT_LEVEL 0x10U
AnnaBridge 171:3a7713b1edbc 72 #define PINT_PIN_INT_EDGE 0x00U
AnnaBridge 171:3a7713b1edbc 73 #define PINT_PIN_INT_FALL_OR_HIGH_LEVEL 0x02U
AnnaBridge 171:3a7713b1edbc 74 #define PINT_PIN_INT_RISE 0x01U
AnnaBridge 171:3a7713b1edbc 75 #define PINT_PIN_RISE_EDGE (PINT_PIN_INT_EDGE | PINT_PIN_INT_RISE)
AnnaBridge 171:3a7713b1edbc 76 #define PINT_PIN_FALL_EDGE (PINT_PIN_INT_EDGE | PINT_PIN_INT_FALL_OR_HIGH_LEVEL)
AnnaBridge 171:3a7713b1edbc 77 #define PINT_PIN_BOTH_EDGE (PINT_PIN_INT_EDGE | PINT_PIN_INT_RISE | PINT_PIN_INT_FALL_OR_HIGH_LEVEL)
AnnaBridge 171:3a7713b1edbc 78 #define PINT_PIN_LOW_LEVEL (PINT_PIN_INT_LEVEL)
AnnaBridge 171:3a7713b1edbc 79 #define PINT_PIN_HIGH_LEVEL (PINT_PIN_INT_LEVEL | PINT_PIN_INT_FALL_OR_HIGH_LEVEL)
AnnaBridge 171:3a7713b1edbc 80
AnnaBridge 171:3a7713b1edbc 81 /*! @brief PINT Pin Interrupt enable type */
AnnaBridge 171:3a7713b1edbc 82 typedef enum _pint_pin_enable
AnnaBridge 171:3a7713b1edbc 83 {
AnnaBridge 171:3a7713b1edbc 84 kPINT_PinIntEnableNone = 0U, /*!< Do not generate Pin Interrupt */
AnnaBridge 171:3a7713b1edbc 85 kPINT_PinIntEnableRiseEdge = PINT_PIN_RISE_EDGE, /*!< Generate Pin Interrupt on rising edge */
AnnaBridge 171:3a7713b1edbc 86 kPINT_PinIntEnableFallEdge = PINT_PIN_FALL_EDGE, /*!< Generate Pin Interrupt on falling edge */
AnnaBridge 171:3a7713b1edbc 87 kPINT_PinIntEnableBothEdges = PINT_PIN_BOTH_EDGE, /*!< Generate Pin Interrupt on both edges */
AnnaBridge 171:3a7713b1edbc 88 kPINT_PinIntEnableLowLevel = PINT_PIN_LOW_LEVEL, /*!< Generate Pin Interrupt on low level */
AnnaBridge 171:3a7713b1edbc 89 kPINT_PinIntEnableHighLevel = PINT_PIN_HIGH_LEVEL /*!< Generate Pin Interrupt on high level */
AnnaBridge 171:3a7713b1edbc 90 } pint_pin_enable_t;
AnnaBridge 171:3a7713b1edbc 91
AnnaBridge 171:3a7713b1edbc 92 /*! @brief PINT Pin Interrupt type */
AnnaBridge 171:3a7713b1edbc 93 typedef enum _pint_int
AnnaBridge 171:3a7713b1edbc 94 {
AnnaBridge 171:3a7713b1edbc 95 kPINT_PinInt0 = 0U, /*!< Pin Interrupt 0 */
AnnaBridge 171:3a7713b1edbc 96 #if (FSL_FEATURE_PINT_NUMBER_OF_CONNECTED_OUTPUTS > 1U)
AnnaBridge 171:3a7713b1edbc 97 kPINT_PinInt1 = 1U, /*!< Pin Interrupt 1 */
AnnaBridge 171:3a7713b1edbc 98 #endif
AnnaBridge 171:3a7713b1edbc 99 #if (FSL_FEATURE_PINT_NUMBER_OF_CONNECTED_OUTPUTS > 2U)
AnnaBridge 171:3a7713b1edbc 100 kPINT_PinInt2 = 2U, /*!< Pin Interrupt 2 */
AnnaBridge 171:3a7713b1edbc 101 #endif
AnnaBridge 171:3a7713b1edbc 102 #if (FSL_FEATURE_PINT_NUMBER_OF_CONNECTED_OUTPUTS > 3U)
AnnaBridge 171:3a7713b1edbc 103 kPINT_PinInt3 = 3U, /*!< Pin Interrupt 3 */
AnnaBridge 171:3a7713b1edbc 104 #endif
AnnaBridge 171:3a7713b1edbc 105 #if (FSL_FEATURE_PINT_NUMBER_OF_CONNECTED_OUTPUTS > 4U)
AnnaBridge 171:3a7713b1edbc 106 kPINT_PinInt4 = 4U, /*!< Pin Interrupt 4 */
AnnaBridge 171:3a7713b1edbc 107 #endif
AnnaBridge 171:3a7713b1edbc 108 #if (FSL_FEATURE_PINT_NUMBER_OF_CONNECTED_OUTPUTS > 5U)
AnnaBridge 171:3a7713b1edbc 109 kPINT_PinInt5 = 5U, /*!< Pin Interrupt 5 */
AnnaBridge 171:3a7713b1edbc 110 #endif
AnnaBridge 171:3a7713b1edbc 111 #if (FSL_FEATURE_PINT_NUMBER_OF_CONNECTED_OUTPUTS > 6U)
AnnaBridge 171:3a7713b1edbc 112 kPINT_PinInt6 = 6U, /*!< Pin Interrupt 6 */
AnnaBridge 171:3a7713b1edbc 113 #endif
AnnaBridge 171:3a7713b1edbc 114 #if (FSL_FEATURE_PINT_NUMBER_OF_CONNECTED_OUTPUTS > 7U)
AnnaBridge 171:3a7713b1edbc 115 kPINT_PinInt7 = 7U, /*!< Pin Interrupt 7 */
AnnaBridge 171:3a7713b1edbc 116 #endif
AnnaBridge 171:3a7713b1edbc 117 } pint_pin_int_t;
AnnaBridge 171:3a7713b1edbc 118
AnnaBridge 171:3a7713b1edbc 119 /*! @brief PINT Pattern Match bit slice input source type */
AnnaBridge 171:3a7713b1edbc 120 typedef enum _pint_pmatch_input_src
AnnaBridge 171:3a7713b1edbc 121 {
AnnaBridge 171:3a7713b1edbc 122 kPINT_PatternMatchInp0Src = 0U, /*!< Input source 0 */
AnnaBridge 171:3a7713b1edbc 123 kPINT_PatternMatchInp1Src = 1U, /*!< Input source 1 */
AnnaBridge 171:3a7713b1edbc 124 kPINT_PatternMatchInp2Src = 2U, /*!< Input source 2 */
AnnaBridge 171:3a7713b1edbc 125 kPINT_PatternMatchInp3Src = 3U, /*!< Input source 3 */
AnnaBridge 171:3a7713b1edbc 126 kPINT_PatternMatchInp4Src = 4U, /*!< Input source 4 */
AnnaBridge 171:3a7713b1edbc 127 kPINT_PatternMatchInp5Src = 5U, /*!< Input source 5 */
AnnaBridge 171:3a7713b1edbc 128 kPINT_PatternMatchInp6Src = 6U, /*!< Input source 6 */
AnnaBridge 171:3a7713b1edbc 129 kPINT_PatternMatchInp7Src = 7U, /*!< Input source 7 */
AnnaBridge 171:3a7713b1edbc 130 } pint_pmatch_input_src_t;
AnnaBridge 171:3a7713b1edbc 131
AnnaBridge 171:3a7713b1edbc 132 /*! @brief PINT Pattern Match bit slice type */
AnnaBridge 171:3a7713b1edbc 133 typedef enum _pint_pmatch_bslice
AnnaBridge 171:3a7713b1edbc 134 {
AnnaBridge 171:3a7713b1edbc 135 kPINT_PatternMatchBSlice0 = 0U, /*!< Bit slice 0 */
AnnaBridge 171:3a7713b1edbc 136 #if (FSL_FEATURE_PINT_NUMBER_OF_CONNECTED_OUTPUTS > 1U)
AnnaBridge 171:3a7713b1edbc 137 kPINT_PatternMatchBSlice1 = 1U, /*!< Bit slice 1 */
AnnaBridge 171:3a7713b1edbc 138 #endif
AnnaBridge 171:3a7713b1edbc 139 #if (FSL_FEATURE_PINT_NUMBER_OF_CONNECTED_OUTPUTS > 2U)
AnnaBridge 171:3a7713b1edbc 140 kPINT_PatternMatchBSlice2 = 2U, /*!< Bit slice 2 */
AnnaBridge 171:3a7713b1edbc 141 #endif
AnnaBridge 171:3a7713b1edbc 142 #if (FSL_FEATURE_PINT_NUMBER_OF_CONNECTED_OUTPUTS > 3U)
AnnaBridge 171:3a7713b1edbc 143 kPINT_PatternMatchBSlice3 = 3U, /*!< Bit slice 3 */
AnnaBridge 171:3a7713b1edbc 144 #endif
AnnaBridge 171:3a7713b1edbc 145 #if (FSL_FEATURE_PINT_NUMBER_OF_CONNECTED_OUTPUTS > 4U)
AnnaBridge 171:3a7713b1edbc 146 kPINT_PatternMatchBSlice4 = 4U, /*!< Bit slice 4 */
AnnaBridge 171:3a7713b1edbc 147 #endif
AnnaBridge 171:3a7713b1edbc 148 #if (FSL_FEATURE_PINT_NUMBER_OF_CONNECTED_OUTPUTS > 5U)
AnnaBridge 171:3a7713b1edbc 149 kPINT_PatternMatchBSlice5 = 5U, /*!< Bit slice 5 */
AnnaBridge 171:3a7713b1edbc 150 #endif
AnnaBridge 171:3a7713b1edbc 151 #if (FSL_FEATURE_PINT_NUMBER_OF_CONNECTED_OUTPUTS > 6U)
AnnaBridge 171:3a7713b1edbc 152 kPINT_PatternMatchBSlice6 = 6U, /*!< Bit slice 6 */
AnnaBridge 171:3a7713b1edbc 153 #endif
AnnaBridge 171:3a7713b1edbc 154 #if (FSL_FEATURE_PINT_NUMBER_OF_CONNECTED_OUTPUTS > 7U)
AnnaBridge 171:3a7713b1edbc 155 kPINT_PatternMatchBSlice7 = 7U, /*!< Bit slice 7 */
AnnaBridge 171:3a7713b1edbc 156 #endif
AnnaBridge 171:3a7713b1edbc 157 } pint_pmatch_bslice_t;
AnnaBridge 171:3a7713b1edbc 158
AnnaBridge 171:3a7713b1edbc 159 /*! @brief PINT Pattern Match configuration type */
AnnaBridge 171:3a7713b1edbc 160 typedef enum _pint_pmatch_bslice_cfg
AnnaBridge 171:3a7713b1edbc 161 {
AnnaBridge 171:3a7713b1edbc 162 kPINT_PatternMatchAlways = 0U, /*!< Always Contributes to product term match */
AnnaBridge 171:3a7713b1edbc 163 kPINT_PatternMatchStickyRise = 1U, /*!< Sticky Rising edge */
AnnaBridge 171:3a7713b1edbc 164 kPINT_PatternMatchStickyFall = 2U, /*!< Sticky Falling edge */
AnnaBridge 171:3a7713b1edbc 165 kPINT_PatternMatchStickyBothEdges = 3U, /*!< Sticky Rising or Falling edge */
AnnaBridge 171:3a7713b1edbc 166 kPINT_PatternMatchHigh = 4U, /*!< High level */
AnnaBridge 171:3a7713b1edbc 167 kPINT_PatternMatchLow = 5U, /*!< Low level */
AnnaBridge 171:3a7713b1edbc 168 kPINT_PatternMatchNever = 6U, /*!< Never contributes to product term match */
AnnaBridge 171:3a7713b1edbc 169 kPINT_PatternMatchBothEdges = 7U, /*!< Either rising or falling edge */
AnnaBridge 171:3a7713b1edbc 170 } pint_pmatch_bslice_cfg_t;
AnnaBridge 171:3a7713b1edbc 171
AnnaBridge 171:3a7713b1edbc 172 /*! @brief PINT Callback function. */
AnnaBridge 171:3a7713b1edbc 173 typedef void (*pint_cb_t)(pint_pin_int_t pintr, uint32_t pmatch_status);
AnnaBridge 171:3a7713b1edbc 174
AnnaBridge 171:3a7713b1edbc 175 typedef struct _pint_pmatch_cfg
AnnaBridge 171:3a7713b1edbc 176 {
AnnaBridge 171:3a7713b1edbc 177 pint_pmatch_input_src_t bs_src;
AnnaBridge 171:3a7713b1edbc 178 pint_pmatch_bslice_cfg_t bs_cfg;
AnnaBridge 171:3a7713b1edbc 179 bool end_point;
AnnaBridge 171:3a7713b1edbc 180 pint_cb_t callback;
AnnaBridge 171:3a7713b1edbc 181 } pint_pmatch_cfg_t;
AnnaBridge 171:3a7713b1edbc 182
AnnaBridge 171:3a7713b1edbc 183 /*******************************************************************************
AnnaBridge 171:3a7713b1edbc 184 * API
AnnaBridge 171:3a7713b1edbc 185 ******************************************************************************/
AnnaBridge 171:3a7713b1edbc 186
AnnaBridge 171:3a7713b1edbc 187 #if defined(__cplusplus)
AnnaBridge 171:3a7713b1edbc 188 extern "C" {
AnnaBridge 171:3a7713b1edbc 189 #endif
AnnaBridge 171:3a7713b1edbc 190
AnnaBridge 171:3a7713b1edbc 191 /*!
AnnaBridge 171:3a7713b1edbc 192 * @brief Initialize PINT peripheral.
AnnaBridge 171:3a7713b1edbc 193
AnnaBridge 171:3a7713b1edbc 194 * This function initializes the PINT peripheral and enables the clock.
AnnaBridge 171:3a7713b1edbc 195 *
AnnaBridge 171:3a7713b1edbc 196 * @param base Base address of the PINT peripheral.
AnnaBridge 171:3a7713b1edbc 197 *
AnnaBridge 171:3a7713b1edbc 198 * @retval None.
AnnaBridge 171:3a7713b1edbc 199 */
AnnaBridge 171:3a7713b1edbc 200 void PINT_Init(PINT_Type *base);
AnnaBridge 171:3a7713b1edbc 201
AnnaBridge 171:3a7713b1edbc 202 /*!
AnnaBridge 171:3a7713b1edbc 203 * @brief Configure PINT peripheral pin interrupt.
AnnaBridge 171:3a7713b1edbc 204
AnnaBridge 171:3a7713b1edbc 205 * This function configures a given pin interrupt.
AnnaBridge 171:3a7713b1edbc 206 *
AnnaBridge 171:3a7713b1edbc 207 * @param base Base address of the PINT peripheral.
AnnaBridge 171:3a7713b1edbc 208 * @param intr Pin interrupt.
AnnaBridge 171:3a7713b1edbc 209 * @param enable Selects detection logic.
AnnaBridge 171:3a7713b1edbc 210 * @param callback Callback.
AnnaBridge 171:3a7713b1edbc 211 *
AnnaBridge 171:3a7713b1edbc 212 * @retval None.
AnnaBridge 171:3a7713b1edbc 213 */
AnnaBridge 171:3a7713b1edbc 214 void PINT_PinInterruptConfig(PINT_Type *base, pint_pin_int_t intr, pint_pin_enable_t enable, pint_cb_t callback);
AnnaBridge 171:3a7713b1edbc 215
AnnaBridge 171:3a7713b1edbc 216 /*!
AnnaBridge 171:3a7713b1edbc 217 * @brief Get PINT peripheral pin interrupt configuration.
AnnaBridge 171:3a7713b1edbc 218
AnnaBridge 171:3a7713b1edbc 219 * This function returns the configuration of a given pin interrupt.
AnnaBridge 171:3a7713b1edbc 220 *
AnnaBridge 171:3a7713b1edbc 221 * @param base Base address of the PINT peripheral.
AnnaBridge 171:3a7713b1edbc 222 * @param pintr Pin interrupt.
AnnaBridge 171:3a7713b1edbc 223 * @param enable Pointer to store the detection logic.
AnnaBridge 171:3a7713b1edbc 224 * @param callback Callback.
AnnaBridge 171:3a7713b1edbc 225 *
AnnaBridge 171:3a7713b1edbc 226 * @retval None.
AnnaBridge 171:3a7713b1edbc 227 */
AnnaBridge 171:3a7713b1edbc 228 void PINT_PinInterruptGetConfig(PINT_Type *base, pint_pin_int_t pintr, pint_pin_enable_t *enable, pint_cb_t *callback);
AnnaBridge 171:3a7713b1edbc 229
AnnaBridge 171:3a7713b1edbc 230 /*!
AnnaBridge 171:3a7713b1edbc 231 * @brief Clear Selected pin interrupt status.
AnnaBridge 171:3a7713b1edbc 232
AnnaBridge 171:3a7713b1edbc 233 * This function clears the selected pin interrupt status.
AnnaBridge 171:3a7713b1edbc 234 *
AnnaBridge 171:3a7713b1edbc 235 * @param base Base address of the PINT peripheral.
AnnaBridge 171:3a7713b1edbc 236 * @param pintr Pin interrupt.
AnnaBridge 171:3a7713b1edbc 237 *
AnnaBridge 171:3a7713b1edbc 238 * @retval None.
AnnaBridge 171:3a7713b1edbc 239 */
AnnaBridge 171:3a7713b1edbc 240 static inline void PINT_PinInterruptClrStatus(PINT_Type *base, pint_pin_int_t pintr)
AnnaBridge 171:3a7713b1edbc 241 {
AnnaBridge 171:3a7713b1edbc 242 base->IST = (1U << pintr);
AnnaBridge 171:3a7713b1edbc 243 }
AnnaBridge 171:3a7713b1edbc 244
AnnaBridge 171:3a7713b1edbc 245 /*!
AnnaBridge 171:3a7713b1edbc 246 * @brief Get Selected pin interrupt status.
AnnaBridge 171:3a7713b1edbc 247
AnnaBridge 171:3a7713b1edbc 248 * This function returns the selected pin interrupt status.
AnnaBridge 171:3a7713b1edbc 249 *
AnnaBridge 171:3a7713b1edbc 250 * @param base Base address of the PINT peripheral.
AnnaBridge 171:3a7713b1edbc 251 * @param pintr Pin interrupt.
AnnaBridge 171:3a7713b1edbc 252 *
AnnaBridge 171:3a7713b1edbc 253 * @retval status = 0 No pin interrupt request. = 1 Selected Pin interrupt request active.
AnnaBridge 171:3a7713b1edbc 254 */
AnnaBridge 171:3a7713b1edbc 255 static inline uint32_t PINT_PinInterruptGetStatus(PINT_Type *base, pint_pin_int_t pintr)
AnnaBridge 171:3a7713b1edbc 256 {
AnnaBridge 171:3a7713b1edbc 257 return ((base->IST & (1U << pintr)) ? 1U : 0U);
AnnaBridge 171:3a7713b1edbc 258 }
AnnaBridge 171:3a7713b1edbc 259
AnnaBridge 171:3a7713b1edbc 260 /*!
AnnaBridge 171:3a7713b1edbc 261 * @brief Clear all pin interrupts status.
AnnaBridge 171:3a7713b1edbc 262
AnnaBridge 171:3a7713b1edbc 263 * This function clears the status of all pin interrupts.
AnnaBridge 171:3a7713b1edbc 264 *
AnnaBridge 171:3a7713b1edbc 265 * @param base Base address of the PINT peripheral.
AnnaBridge 171:3a7713b1edbc 266 *
AnnaBridge 171:3a7713b1edbc 267 * @retval None.
AnnaBridge 171:3a7713b1edbc 268 */
AnnaBridge 171:3a7713b1edbc 269 static inline void PINT_PinInterruptClrStatusAll(PINT_Type *base)
AnnaBridge 171:3a7713b1edbc 270 {
AnnaBridge 171:3a7713b1edbc 271 base->IST = PINT_IST_PSTAT_MASK;
AnnaBridge 171:3a7713b1edbc 272 }
AnnaBridge 171:3a7713b1edbc 273
AnnaBridge 171:3a7713b1edbc 274 /*!
AnnaBridge 171:3a7713b1edbc 275 * @brief Get all pin interrupts status.
AnnaBridge 171:3a7713b1edbc 276
AnnaBridge 171:3a7713b1edbc 277 * This function returns the status of all pin interrupts.
AnnaBridge 171:3a7713b1edbc 278 *
AnnaBridge 171:3a7713b1edbc 279 * @param base Base address of the PINT peripheral.
AnnaBridge 171:3a7713b1edbc 280 *
AnnaBridge 171:3a7713b1edbc 281 * @retval status Each bit position indicates the status of corresponding pin interrupt.
AnnaBridge 171:3a7713b1edbc 282 * = 0 No pin interrupt request. = 1 Pin interrupt request active.
AnnaBridge 171:3a7713b1edbc 283 */
AnnaBridge 171:3a7713b1edbc 284 static inline uint32_t PINT_PinInterruptGetStatusAll(PINT_Type *base)
AnnaBridge 171:3a7713b1edbc 285 {
AnnaBridge 171:3a7713b1edbc 286 return (base->IST);
AnnaBridge 171:3a7713b1edbc 287 }
AnnaBridge 171:3a7713b1edbc 288
AnnaBridge 171:3a7713b1edbc 289 /*!
AnnaBridge 171:3a7713b1edbc 290 * @brief Clear Selected pin interrupt fall flag.
AnnaBridge 171:3a7713b1edbc 291
AnnaBridge 171:3a7713b1edbc 292 * This function clears the selected pin interrupt fall flag.
AnnaBridge 171:3a7713b1edbc 293 *
AnnaBridge 171:3a7713b1edbc 294 * @param base Base address of the PINT peripheral.
AnnaBridge 171:3a7713b1edbc 295 * @param pintr Pin interrupt.
AnnaBridge 171:3a7713b1edbc 296 *
AnnaBridge 171:3a7713b1edbc 297 * @retval None.
AnnaBridge 171:3a7713b1edbc 298 */
AnnaBridge 171:3a7713b1edbc 299 static inline void PINT_PinInterruptClrFallFlag(PINT_Type *base, pint_pin_int_t pintr)
AnnaBridge 171:3a7713b1edbc 300 {
AnnaBridge 171:3a7713b1edbc 301 base->FALL = (1U << pintr);
AnnaBridge 171:3a7713b1edbc 302 }
AnnaBridge 171:3a7713b1edbc 303
AnnaBridge 171:3a7713b1edbc 304 /*!
AnnaBridge 171:3a7713b1edbc 305 * @brief Get selected pin interrupt fall flag.
AnnaBridge 171:3a7713b1edbc 306
AnnaBridge 171:3a7713b1edbc 307 * This function returns the selected pin interrupt fall flag.
AnnaBridge 171:3a7713b1edbc 308 *
AnnaBridge 171:3a7713b1edbc 309 * @param base Base address of the PINT peripheral.
AnnaBridge 171:3a7713b1edbc 310 * @param pintr Pin interrupt.
AnnaBridge 171:3a7713b1edbc 311 *
AnnaBridge 171:3a7713b1edbc 312 * @retval flag = 0 Falling edge has not been detected. = 1 Falling edge has been detected.
AnnaBridge 171:3a7713b1edbc 313 */
AnnaBridge 171:3a7713b1edbc 314 static inline uint32_t PINT_PinInterruptGetFallFlag(PINT_Type *base, pint_pin_int_t pintr)
AnnaBridge 171:3a7713b1edbc 315 {
AnnaBridge 171:3a7713b1edbc 316 return ((base->FALL & (1U << pintr)) ? 1U : 0U);
AnnaBridge 171:3a7713b1edbc 317 }
AnnaBridge 171:3a7713b1edbc 318
AnnaBridge 171:3a7713b1edbc 319 /*!
AnnaBridge 171:3a7713b1edbc 320 * @brief Clear all pin interrupt fall flags.
AnnaBridge 171:3a7713b1edbc 321
AnnaBridge 171:3a7713b1edbc 322 * This function clears the fall flag for all pin interrupts.
AnnaBridge 171:3a7713b1edbc 323 *
AnnaBridge 171:3a7713b1edbc 324 * @param base Base address of the PINT peripheral.
AnnaBridge 171:3a7713b1edbc 325 *
AnnaBridge 171:3a7713b1edbc 326 * @retval None.
AnnaBridge 171:3a7713b1edbc 327 */
AnnaBridge 171:3a7713b1edbc 328 static inline void PINT_PinInterruptClrFallFlagAll(PINT_Type *base)
AnnaBridge 171:3a7713b1edbc 329 {
AnnaBridge 171:3a7713b1edbc 330 base->FALL = PINT_FALL_FDET_MASK;
AnnaBridge 171:3a7713b1edbc 331 }
AnnaBridge 171:3a7713b1edbc 332
AnnaBridge 171:3a7713b1edbc 333 /*!
AnnaBridge 171:3a7713b1edbc 334 * @brief Get all pin interrupt fall flags.
AnnaBridge 171:3a7713b1edbc 335
AnnaBridge 171:3a7713b1edbc 336 * This function returns the fall flag of all pin interrupts.
AnnaBridge 171:3a7713b1edbc 337 *
AnnaBridge 171:3a7713b1edbc 338 * @param base Base address of the PINT peripheral.
AnnaBridge 171:3a7713b1edbc 339 *
AnnaBridge 171:3a7713b1edbc 340 * @retval flags Each bit position indicates the falling edge detection of the corresponding pin interrupt.
AnnaBridge 171:3a7713b1edbc 341 * 0 Falling edge has not been detected. = 1 Falling edge has been detected.
AnnaBridge 171:3a7713b1edbc 342 */
AnnaBridge 171:3a7713b1edbc 343 static inline uint32_t PINT_PinInterruptGetFallFlagAll(PINT_Type *base)
AnnaBridge 171:3a7713b1edbc 344 {
AnnaBridge 171:3a7713b1edbc 345 return (base->FALL);
AnnaBridge 171:3a7713b1edbc 346 }
AnnaBridge 171:3a7713b1edbc 347
AnnaBridge 171:3a7713b1edbc 348 /*!
AnnaBridge 171:3a7713b1edbc 349 * @brief Clear Selected pin interrupt rise flag.
AnnaBridge 171:3a7713b1edbc 350
AnnaBridge 171:3a7713b1edbc 351 * This function clears the selected pin interrupt rise flag.
AnnaBridge 171:3a7713b1edbc 352 *
AnnaBridge 171:3a7713b1edbc 353 * @param base Base address of the PINT peripheral.
AnnaBridge 171:3a7713b1edbc 354 * @param pintr Pin interrupt.
AnnaBridge 171:3a7713b1edbc 355 *
AnnaBridge 171:3a7713b1edbc 356 * @retval None.
AnnaBridge 171:3a7713b1edbc 357 */
AnnaBridge 171:3a7713b1edbc 358 static inline void PINT_PinInterruptClrRiseFlag(PINT_Type *base, pint_pin_int_t pintr)
AnnaBridge 171:3a7713b1edbc 359 {
AnnaBridge 171:3a7713b1edbc 360 base->RISE = (1U << pintr);
AnnaBridge 171:3a7713b1edbc 361 }
AnnaBridge 171:3a7713b1edbc 362
AnnaBridge 171:3a7713b1edbc 363 /*!
AnnaBridge 171:3a7713b1edbc 364 * @brief Get selected pin interrupt rise flag.
AnnaBridge 171:3a7713b1edbc 365
AnnaBridge 171:3a7713b1edbc 366 * This function returns the selected pin interrupt rise flag.
AnnaBridge 171:3a7713b1edbc 367 *
AnnaBridge 171:3a7713b1edbc 368 * @param base Base address of the PINT peripheral.
AnnaBridge 171:3a7713b1edbc 369 * @param pintr Pin interrupt.
AnnaBridge 171:3a7713b1edbc 370 *
AnnaBridge 171:3a7713b1edbc 371 * @retval flag = 0 Rising edge has not been detected. = 1 Rising edge has been detected.
AnnaBridge 171:3a7713b1edbc 372 */
AnnaBridge 171:3a7713b1edbc 373 static inline uint32_t PINT_PinInterruptGetRiseFlag(PINT_Type *base, pint_pin_int_t pintr)
AnnaBridge 171:3a7713b1edbc 374 {
AnnaBridge 171:3a7713b1edbc 375 return ((base->RISE & (1U << pintr)) ? 1U : 0U);
AnnaBridge 171:3a7713b1edbc 376 }
AnnaBridge 171:3a7713b1edbc 377
AnnaBridge 171:3a7713b1edbc 378 /*!
AnnaBridge 171:3a7713b1edbc 379 * @brief Clear all pin interrupt rise flags.
AnnaBridge 171:3a7713b1edbc 380
AnnaBridge 171:3a7713b1edbc 381 * This function clears the rise flag for all pin interrupts.
AnnaBridge 171:3a7713b1edbc 382 *
AnnaBridge 171:3a7713b1edbc 383 * @param base Base address of the PINT peripheral.
AnnaBridge 171:3a7713b1edbc 384 *
AnnaBridge 171:3a7713b1edbc 385 * @retval None.
AnnaBridge 171:3a7713b1edbc 386 */
AnnaBridge 171:3a7713b1edbc 387 static inline void PINT_PinInterruptClrRiseFlagAll(PINT_Type *base)
AnnaBridge 171:3a7713b1edbc 388 {
AnnaBridge 171:3a7713b1edbc 389 base->RISE = PINT_RISE_RDET_MASK;
AnnaBridge 171:3a7713b1edbc 390 }
AnnaBridge 171:3a7713b1edbc 391
AnnaBridge 171:3a7713b1edbc 392 /*!
AnnaBridge 171:3a7713b1edbc 393 * @brief Get all pin interrupt rise flags.
AnnaBridge 171:3a7713b1edbc 394
AnnaBridge 171:3a7713b1edbc 395 * This function returns the rise flag of all pin interrupts.
AnnaBridge 171:3a7713b1edbc 396 *
AnnaBridge 171:3a7713b1edbc 397 * @param base Base address of the PINT peripheral.
AnnaBridge 171:3a7713b1edbc 398 *
AnnaBridge 171:3a7713b1edbc 399 * @retval flags Each bit position indicates the rising edge detection of the corresponding pin interrupt.
AnnaBridge 171:3a7713b1edbc 400 * 0 Rising edge has not been detected. = 1 Rising edge has been detected.
AnnaBridge 171:3a7713b1edbc 401 */
AnnaBridge 171:3a7713b1edbc 402 static inline uint32_t PINT_PinInterruptGetRiseFlagAll(PINT_Type *base)
AnnaBridge 171:3a7713b1edbc 403 {
AnnaBridge 171:3a7713b1edbc 404 return (base->RISE);
AnnaBridge 171:3a7713b1edbc 405 }
AnnaBridge 171:3a7713b1edbc 406
AnnaBridge 171:3a7713b1edbc 407 /*!
AnnaBridge 171:3a7713b1edbc 408 * @brief Configure PINT pattern match.
AnnaBridge 171:3a7713b1edbc 409
AnnaBridge 171:3a7713b1edbc 410 * This function configures a given pattern match bit slice.
AnnaBridge 171:3a7713b1edbc 411 *
AnnaBridge 171:3a7713b1edbc 412 * @param base Base address of the PINT peripheral.
AnnaBridge 171:3a7713b1edbc 413 * @param bslice Pattern match bit slice number.
AnnaBridge 171:3a7713b1edbc 414 * @param cfg Pointer to bit slice configuration.
AnnaBridge 171:3a7713b1edbc 415 *
AnnaBridge 171:3a7713b1edbc 416 * @retval None.
AnnaBridge 171:3a7713b1edbc 417 */
AnnaBridge 171:3a7713b1edbc 418 void PINT_PatternMatchConfig(PINT_Type *base, pint_pmatch_bslice_t bslice, pint_pmatch_cfg_t *cfg);
AnnaBridge 171:3a7713b1edbc 419
AnnaBridge 171:3a7713b1edbc 420 /*!
AnnaBridge 171:3a7713b1edbc 421 * @brief Get PINT pattern match configuration.
AnnaBridge 171:3a7713b1edbc 422
AnnaBridge 171:3a7713b1edbc 423 * This function returns the configuration of a given pattern match bit slice.
AnnaBridge 171:3a7713b1edbc 424 *
AnnaBridge 171:3a7713b1edbc 425 * @param base Base address of the PINT peripheral.
AnnaBridge 171:3a7713b1edbc 426 * @param bslice Pattern match bit slice number.
AnnaBridge 171:3a7713b1edbc 427 * @param cfg Pointer to bit slice configuration.
AnnaBridge 171:3a7713b1edbc 428 *
AnnaBridge 171:3a7713b1edbc 429 * @retval None.
AnnaBridge 171:3a7713b1edbc 430 */
AnnaBridge 171:3a7713b1edbc 431 void PINT_PatternMatchGetConfig(PINT_Type *base, pint_pmatch_bslice_t bslice, pint_pmatch_cfg_t *cfg);
AnnaBridge 171:3a7713b1edbc 432
AnnaBridge 171:3a7713b1edbc 433 /*!
AnnaBridge 171:3a7713b1edbc 434 * @brief Get pattern match bit slice status.
AnnaBridge 171:3a7713b1edbc 435
AnnaBridge 171:3a7713b1edbc 436 * This function returns the status of selected bit slice.
AnnaBridge 171:3a7713b1edbc 437 *
AnnaBridge 171:3a7713b1edbc 438 * @param base Base address of the PINT peripheral.
AnnaBridge 171:3a7713b1edbc 439 * @param bslice Pattern match bit slice number.
AnnaBridge 171:3a7713b1edbc 440 *
AnnaBridge 171:3a7713b1edbc 441 * @retval status = 0 Match has not been detected. = 1 Match has been detected.
AnnaBridge 171:3a7713b1edbc 442 */
AnnaBridge 171:3a7713b1edbc 443 static inline uint32_t PINT_PatternMatchGetStatus(PINT_Type *base, pint_pmatch_bslice_t bslice)
AnnaBridge 171:3a7713b1edbc 444 {
AnnaBridge 171:3a7713b1edbc 445 return ((base->PMCTRL >> PINT_PMCTRL_PMAT_SHIFT) & (0x1U << bslice)) >> bslice;
AnnaBridge 171:3a7713b1edbc 446 }
AnnaBridge 171:3a7713b1edbc 447
AnnaBridge 171:3a7713b1edbc 448 /*!
AnnaBridge 171:3a7713b1edbc 449 * @brief Get status of all pattern match bit slices.
AnnaBridge 171:3a7713b1edbc 450
AnnaBridge 171:3a7713b1edbc 451 * This function returns the status of all bit slices.
AnnaBridge 171:3a7713b1edbc 452 *
AnnaBridge 171:3a7713b1edbc 453 * @param base Base address of the PINT peripheral.
AnnaBridge 171:3a7713b1edbc 454 *
AnnaBridge 171:3a7713b1edbc 455 * @retval status Each bit position indicates the match status of corresponding bit slice.
AnnaBridge 171:3a7713b1edbc 456 * = 0 Match has not been detected. = 1 Match has been detected.
AnnaBridge 171:3a7713b1edbc 457 */
AnnaBridge 171:3a7713b1edbc 458 static inline uint32_t PINT_PatternMatchGetStatusAll(PINT_Type *base)
AnnaBridge 171:3a7713b1edbc 459 {
AnnaBridge 171:3a7713b1edbc 460 return base->PMCTRL >> PINT_PMCTRL_PMAT_SHIFT;
AnnaBridge 171:3a7713b1edbc 461 }
AnnaBridge 171:3a7713b1edbc 462
AnnaBridge 171:3a7713b1edbc 463 /*!
AnnaBridge 171:3a7713b1edbc 464 * @brief Reset pattern match detection logic.
AnnaBridge 171:3a7713b1edbc 465
AnnaBridge 171:3a7713b1edbc 466 * This function resets the pattern match detection logic if any of the product term is matching.
AnnaBridge 171:3a7713b1edbc 467 *
AnnaBridge 171:3a7713b1edbc 468 * @param base Base address of the PINT peripheral.
AnnaBridge 171:3a7713b1edbc 469 *
AnnaBridge 171:3a7713b1edbc 470 * @retval pmstatus Each bit position indicates the match status of corresponding bit slice.
AnnaBridge 171:3a7713b1edbc 471 * = 0 Match was detected. = 1 Match was not detected.
AnnaBridge 171:3a7713b1edbc 472 */
AnnaBridge 171:3a7713b1edbc 473 uint32_t PINT_PatternMatchResetDetectLogic(PINT_Type *base);
AnnaBridge 171:3a7713b1edbc 474
AnnaBridge 171:3a7713b1edbc 475 /*!
AnnaBridge 171:3a7713b1edbc 476 * @brief Enable pattern match function.
AnnaBridge 171:3a7713b1edbc 477
AnnaBridge 171:3a7713b1edbc 478 * This function enables the pattern match function.
AnnaBridge 171:3a7713b1edbc 479 *
AnnaBridge 171:3a7713b1edbc 480 * @param base Base address of the PINT peripheral.
AnnaBridge 171:3a7713b1edbc 481 *
AnnaBridge 171:3a7713b1edbc 482 * @retval None.
AnnaBridge 171:3a7713b1edbc 483 */
AnnaBridge 171:3a7713b1edbc 484 static inline void PINT_PatternMatchEnable(PINT_Type *base)
AnnaBridge 171:3a7713b1edbc 485 {
AnnaBridge 171:3a7713b1edbc 486 base->PMCTRL = (base->PMCTRL & PINT_PMCTRL_ENA_RXEV_MASK) | PINT_PMCTRL_SEL_PMATCH_MASK;
AnnaBridge 171:3a7713b1edbc 487 }
AnnaBridge 171:3a7713b1edbc 488
AnnaBridge 171:3a7713b1edbc 489 /*!
AnnaBridge 171:3a7713b1edbc 490 * @brief Disable pattern match function.
AnnaBridge 171:3a7713b1edbc 491
AnnaBridge 171:3a7713b1edbc 492 * This function disables the pattern match function.
AnnaBridge 171:3a7713b1edbc 493 *
AnnaBridge 171:3a7713b1edbc 494 * @param base Base address of the PINT peripheral.
AnnaBridge 171:3a7713b1edbc 495 *
AnnaBridge 171:3a7713b1edbc 496 * @retval None.
AnnaBridge 171:3a7713b1edbc 497 */
AnnaBridge 171:3a7713b1edbc 498 static inline void PINT_PatternMatchDisable(PINT_Type *base)
AnnaBridge 171:3a7713b1edbc 499 {
AnnaBridge 171:3a7713b1edbc 500 base->PMCTRL = (base->PMCTRL & PINT_PMCTRL_ENA_RXEV_MASK) & ~PINT_PMCTRL_SEL_PMATCH_MASK;
AnnaBridge 171:3a7713b1edbc 501 }
AnnaBridge 171:3a7713b1edbc 502
AnnaBridge 171:3a7713b1edbc 503 /*!
AnnaBridge 171:3a7713b1edbc 504 * @brief Enable RXEV output.
AnnaBridge 171:3a7713b1edbc 505
AnnaBridge 171:3a7713b1edbc 506 * This function enables the pattern match RXEV output.
AnnaBridge 171:3a7713b1edbc 507 *
AnnaBridge 171:3a7713b1edbc 508 * @param base Base address of the PINT peripheral.
AnnaBridge 171:3a7713b1edbc 509 *
AnnaBridge 171:3a7713b1edbc 510 * @retval None.
AnnaBridge 171:3a7713b1edbc 511 */
AnnaBridge 171:3a7713b1edbc 512 static inline void PINT_PatternMatchEnableRXEV(PINT_Type *base)
AnnaBridge 171:3a7713b1edbc 513 {
AnnaBridge 171:3a7713b1edbc 514 base->PMCTRL = (base->PMCTRL & PINT_PMCTRL_SEL_PMATCH_MASK) | PINT_PMCTRL_ENA_RXEV_MASK;
AnnaBridge 171:3a7713b1edbc 515 }
AnnaBridge 171:3a7713b1edbc 516
AnnaBridge 171:3a7713b1edbc 517 /*!
AnnaBridge 171:3a7713b1edbc 518 * @brief Disable RXEV output.
AnnaBridge 171:3a7713b1edbc 519
AnnaBridge 171:3a7713b1edbc 520 * This function disables the pattern match RXEV output.
AnnaBridge 171:3a7713b1edbc 521 *
AnnaBridge 171:3a7713b1edbc 522 * @param base Base address of the PINT peripheral.
AnnaBridge 171:3a7713b1edbc 523 *
AnnaBridge 171:3a7713b1edbc 524 * @retval None.
AnnaBridge 171:3a7713b1edbc 525 */
AnnaBridge 171:3a7713b1edbc 526 static inline void PINT_PatternMatchDisableRXEV(PINT_Type *base)
AnnaBridge 171:3a7713b1edbc 527 {
AnnaBridge 171:3a7713b1edbc 528 base->PMCTRL = (base->PMCTRL & PINT_PMCTRL_SEL_PMATCH_MASK) & ~PINT_PMCTRL_ENA_RXEV_MASK;
AnnaBridge 171:3a7713b1edbc 529 }
AnnaBridge 171:3a7713b1edbc 530
AnnaBridge 171:3a7713b1edbc 531 /*!
AnnaBridge 171:3a7713b1edbc 532 * @brief Enable callback.
AnnaBridge 171:3a7713b1edbc 533
AnnaBridge 171:3a7713b1edbc 534 * This function enables the interrupt for the selected PINT peripheral. Although the pin(s) are monitored
AnnaBridge 171:3a7713b1edbc 535 * as soon as they are enabled, the callback function is not enabled until this function is called.
AnnaBridge 171:3a7713b1edbc 536 *
AnnaBridge 171:3a7713b1edbc 537 * @param base Base address of the PINT peripheral.
AnnaBridge 171:3a7713b1edbc 538 *
AnnaBridge 171:3a7713b1edbc 539 * @retval None.
AnnaBridge 171:3a7713b1edbc 540 */
AnnaBridge 171:3a7713b1edbc 541 void PINT_EnableCallback(PINT_Type *base);
AnnaBridge 171:3a7713b1edbc 542
AnnaBridge 171:3a7713b1edbc 543 /*!
AnnaBridge 171:3a7713b1edbc 544 * @brief Disable callback.
AnnaBridge 171:3a7713b1edbc 545
AnnaBridge 171:3a7713b1edbc 546 * This function disables the interrupt for the selected PINT peripheral. Although the pins are still
AnnaBridge 171:3a7713b1edbc 547 * being monitored but the callback function is not called.
AnnaBridge 171:3a7713b1edbc 548 *
AnnaBridge 171:3a7713b1edbc 549 * @param base Base address of the peripheral.
AnnaBridge 171:3a7713b1edbc 550 *
AnnaBridge 171:3a7713b1edbc 551 * @retval None.
AnnaBridge 171:3a7713b1edbc 552 */
AnnaBridge 171:3a7713b1edbc 553 void PINT_DisableCallback(PINT_Type *base);
AnnaBridge 171:3a7713b1edbc 554
AnnaBridge 171:3a7713b1edbc 555 /*!
AnnaBridge 171:3a7713b1edbc 556 * @brief Deinitialize PINT peripheral.
AnnaBridge 171:3a7713b1edbc 557
AnnaBridge 171:3a7713b1edbc 558 * This function disables the PINT clock.
AnnaBridge 171:3a7713b1edbc 559 *
AnnaBridge 171:3a7713b1edbc 560 * @param base Base address of the PINT peripheral.
AnnaBridge 171:3a7713b1edbc 561 *
AnnaBridge 171:3a7713b1edbc 562 * @retval None.
AnnaBridge 171:3a7713b1edbc 563 */
AnnaBridge 171:3a7713b1edbc 564 void PINT_Deinit(PINT_Type *base);
AnnaBridge 171:3a7713b1edbc 565
AnnaBridge 171:3a7713b1edbc 566 #ifdef __cplusplus
AnnaBridge 171:3a7713b1edbc 567 }
AnnaBridge 171:3a7713b1edbc 568 #endif
AnnaBridge 171:3a7713b1edbc 569
AnnaBridge 171:3a7713b1edbc 570 /*@}*/
AnnaBridge 171:3a7713b1edbc 571
AnnaBridge 171:3a7713b1edbc 572 #endif /* _FSL_PINT_H_ */