diff options
Diffstat (limited to '')
-rw-r--r-- | bsps/arm/imxrt/include/fsl_gpio.h | 342 |
1 files changed, 0 insertions, 342 deletions
diff --git a/bsps/arm/imxrt/include/fsl_gpio.h b/bsps/arm/imxrt/include/fsl_gpio.h deleted file mode 100644 index 81bccca50f..0000000000 --- a/bsps/arm/imxrt/include/fsl_gpio.h +++ /dev/null @@ -1,342 +0,0 @@ -/* - * Copyright (c) 2016, Freescale Semiconductor, Inc. - * Copyright 2016-2020 NXP - * All rights reserved. - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#ifndef _FSL_GPIO_H_ -#define _FSL_GPIO_H_ - -#include "fsl_common.h" - -/*! - * @addtogroup gpio_driver - * @{ - */ - -/******************************************************************************* - * Definitions - ******************************************************************************/ - -/*! @name Driver version */ -/*@{*/ -/*! @brief GPIO driver version 2.0.3. */ -#define FSL_GPIO_DRIVER_VERSION (MAKE_VERSION(2, 0, 3)) -/*@}*/ - -/*! @brief GPIO direction definition. */ -typedef enum _gpio_pin_direction -{ - kGPIO_DigitalInput = 0U, /*!< Set current pin as digital input.*/ - kGPIO_DigitalOutput = 1U, /*!< Set current pin as digital output.*/ -} gpio_pin_direction_t; - -/*! @brief GPIO interrupt mode definition. */ -typedef enum _gpio_interrupt_mode -{ - kGPIO_NoIntmode = 0U, /*!< Set current pin general IO functionality.*/ - kGPIO_IntLowLevel = 1U, /*!< Set current pin interrupt is low-level sensitive.*/ - kGPIO_IntHighLevel = 2U, /*!< Set current pin interrupt is high-level sensitive.*/ - kGPIO_IntRisingEdge = 3U, /*!< Set current pin interrupt is rising-edge sensitive.*/ - kGPIO_IntFallingEdge = 4U, /*!< Set current pin interrupt is falling-edge sensitive.*/ - kGPIO_IntRisingOrFallingEdge = 5U, /*!< Enable the edge select bit to override the ICR register's configuration.*/ -} gpio_interrupt_mode_t; - -/*! @brief GPIO Init structure definition. */ -typedef struct _gpio_pin_config -{ - gpio_pin_direction_t direction; /*!< Specifies the pin direction. */ - uint8_t outputLogic; /*!< Set a default output logic, which has no use in input */ - gpio_interrupt_mode_t - interruptMode; /*!< Specifies the pin interrupt mode, a value of @ref gpio_interrupt_mode_t. */ -} gpio_pin_config_t; - -/******************************************************************************* - * API - ******************************************************************************/ - -#if defined(__cplusplus) -extern "C" { -#endif - -/*! - * @name GPIO Initialization and Configuration functions - * @{ - */ - -/*! - * @brief Initializes the GPIO peripheral according to the specified - * parameters in the initConfig. - * - * @param base GPIO base pointer. - * @param pin Specifies the pin number - * @param Config pointer to a @ref gpio_pin_config_t structure that - * contains the configuration information. - */ -void GPIO_PinInit(GPIO_Type *base, uint32_t pin, const gpio_pin_config_t *Config); -/*@}*/ - -/*! - * @name GPIO Reads and Write Functions - * @{ - */ - -/*! - * @brief Sets the output level of the individual GPIO pin to logic 1 or 0. - * - * @param base GPIO base pointer. - * @param pin GPIO port pin number. - * @param output GPIOpin output logic level. - * - 0: corresponding pin output low-logic level. - * - 1: corresponding pin output high-logic level. - */ -void GPIO_PinWrite(GPIO_Type *base, uint32_t pin, uint8_t output); - -/*! - * @brief Sets the output level of the individual GPIO pin to logic 1 or 0. - * @deprecated Do not use this function. It has been superceded by @ref GPIO_PinWrite. - */ -static inline void GPIO_WritePinOutput(GPIO_Type *base, uint32_t pin, uint8_t output) -{ - GPIO_PinWrite(base, pin, output); -} - -/*! - * @brief Sets the output level of the multiple GPIO pins to the logic 1. - * - * @param base GPIO peripheral base pointer (GPIO1, GPIO2, GPIO3, and so on.) - * @param mask GPIO pin number macro - */ -static inline void GPIO_PortSet(GPIO_Type *base, uint32_t mask) -{ -#if (defined(FSL_FEATURE_IGPIO_HAS_DR_SET) && (FSL_FEATURE_IGPIO_HAS_DR_SET == 1)) - base->DR_SET = mask; -#else - base->DR |= mask; -#endif /* FSL_FEATURE_IGPIO_HAS_DR_SET */ -} - -/*! - * @brief Sets the output level of the multiple GPIO pins to the logic 1. - * @deprecated Do not use this function. It has been superceded by @ref GPIO_PortSet. - */ -static inline void GPIO_SetPinsOutput(GPIO_Type *base, uint32_t mask) -{ - GPIO_PortSet(base, mask); -} - -/*! - * @brief Sets the output level of the multiple GPIO pins to the logic 0. - * - * @param base GPIO peripheral base pointer (GPIO1, GPIO2, GPIO3, and so on.) - * @param mask GPIO pin number macro - */ -static inline void GPIO_PortClear(GPIO_Type *base, uint32_t mask) -{ -#if (defined(FSL_FEATURE_IGPIO_HAS_DR_CLEAR) && (FSL_FEATURE_IGPIO_HAS_DR_CLEAR == 1)) - base->DR_CLEAR = mask; -#else - base->DR &= ~mask; -#endif /* FSL_FEATURE_IGPIO_HAS_DR_CLEAR */ -} - -/*! - * @brief Sets the output level of the multiple GPIO pins to the logic 0. - * @deprecated Do not use this function. It has been superceded by @ref GPIO_PortClear. - */ -static inline void GPIO_ClearPinsOutput(GPIO_Type *base, uint32_t mask) -{ - GPIO_PortClear(base, mask); -} - -/*! - * @brief Reverses the current output logic of the multiple GPIO pins. - * - * @param base GPIO peripheral base pointer (GPIO1, GPIO2, GPIO3, and so on.) - * @param mask GPIO pin number macro - */ -static inline void GPIO_PortToggle(GPIO_Type *base, uint32_t mask) -{ -#if (defined(FSL_FEATURE_IGPIO_HAS_DR_TOGGLE) && (FSL_FEATURE_IGPIO_HAS_DR_TOGGLE == 1)) - base->DR_TOGGLE = mask; -#endif /* FSL_FEATURE_IGPIO_HAS_DR_TOGGLE */ -} - -/*! - * @brief Reads the current input value of the GPIO port. - * - * @param base GPIO base pointer. - * @param pin GPIO port pin number. - * @retval GPIO port input value. - */ -static inline uint32_t GPIO_PinRead(GPIO_Type *base, uint32_t pin) -{ - assert(pin < 32U); - - return (((base->DR) >> pin) & 0x1U); -} - -/*! - * @brief Reads the current input value of the GPIO port. - * @deprecated Do not use this function. It has been superceded by @ref GPIO_PinRead. - */ -static inline uint32_t GPIO_ReadPinInput(GPIO_Type *base, uint32_t pin) -{ - return GPIO_PinRead(base, pin); -} -/*@}*/ - -/*! - * @name GPIO Reads Pad Status Functions - * @{ - */ - -/*! - * @brief Reads the current GPIO pin pad status. - * - * @param base GPIO base pointer. - * @param pin GPIO port pin number. - * @retval GPIO pin pad status value. - */ -static inline uint8_t GPIO_PinReadPadStatus(GPIO_Type *base, uint32_t pin) -{ - assert(pin < 32U); - - return (uint8_t)(((base->PSR) >> pin) & 0x1U); -} - -/*! - * @brief Reads the current GPIO pin pad status. - * @deprecated Do not use this function. It has been superceded by @ref GPIO_PinReadPadStatus. - */ -static inline uint8_t GPIO_ReadPadStatus(GPIO_Type *base, uint32_t pin) -{ - return GPIO_PinReadPadStatus(base, pin); -} - -/*@}*/ - -/*! - * @name Interrupts and flags management functions - * @{ - */ - -/*! - * @brief Sets the current pin interrupt mode. - * - * @param base GPIO base pointer. - * @param pin GPIO port pin number. - * @param pinInterruptMode pointer to a @ref gpio_interrupt_mode_t structure - * that contains the interrupt mode information. - */ -void GPIO_PinSetInterruptConfig(GPIO_Type *base, uint32_t pin, gpio_interrupt_mode_t pinInterruptMode); - -/*! - * @brief Sets the current pin interrupt mode. - * @deprecated Do not use this function. It has been superceded by @ref GPIO_PinSetInterruptConfig. - */ -static inline void GPIO_SetPinInterruptConfig(GPIO_Type *base, uint32_t pin, gpio_interrupt_mode_t pinInterruptMode) -{ - GPIO_PinSetInterruptConfig(base, pin, pinInterruptMode); -} - -/*! - * @brief Enables the specific pin interrupt. - * - * @param base GPIO base pointer. - * @param mask GPIO pin number macro. - */ -static inline void GPIO_PortEnableInterrupts(GPIO_Type *base, uint32_t mask) -{ - base->IMR |= mask; -} - -/*! - * @brief Enables the specific pin interrupt. - * - * @param base GPIO base pointer. - * @param mask GPIO pin number macro. - */ -static inline void GPIO_EnableInterrupts(GPIO_Type *base, uint32_t mask) -{ - GPIO_PortEnableInterrupts(base, mask); -} - -/*! - * @brief Disables the specific pin interrupt. - * - * @param base GPIO base pointer. - * @param mask GPIO pin number macro. - */ -static inline void GPIO_PortDisableInterrupts(GPIO_Type *base, uint32_t mask) -{ - base->IMR &= ~mask; -} - -/*! - * @brief Disables the specific pin interrupt. - * @deprecated Do not use this function. It has been superceded by @ref GPIO_PortDisableInterrupts. - */ -static inline void GPIO_DisableInterrupts(GPIO_Type *base, uint32_t mask) -{ - GPIO_PortDisableInterrupts(base, mask); -} - -/*! - * @brief Reads individual pin interrupt status. - * - * @param base GPIO base pointer. - * @retval current pin interrupt status flag. - */ -static inline uint32_t GPIO_PortGetInterruptFlags(GPIO_Type *base) -{ - return base->ISR; -} - -/*! - * @brief Reads individual pin interrupt status. - * - * @param base GPIO base pointer. - * @retval current pin interrupt status flag. - */ -static inline uint32_t GPIO_GetPinsInterruptFlags(GPIO_Type *base) -{ - return GPIO_PortGetInterruptFlags(base); -} - -/*! - * @brief Clears pin interrupt flag. Status flags are cleared by - * writing a 1 to the corresponding bit position. - * - * @param base GPIO base pointer. - * @param mask GPIO pin number macro. - */ -static inline void GPIO_PortClearInterruptFlags(GPIO_Type *base, uint32_t mask) -{ - base->ISR = mask; -} - -/*! - * @brief Clears pin interrupt flag. Status flags are cleared by - * writing a 1 to the corresponding bit position. - * - * @param base GPIO base pointer. - * @param mask GPIO pin number macro. - */ -static inline void GPIO_ClearPinsInterruptFlags(GPIO_Type *base, uint32_t mask) -{ - GPIO_PortClearInterruptFlags(base, mask); -} -/*@}*/ - -#if defined(__cplusplus) -} -#endif - -/*! - * @} - */ - -#endif /* _FSL_GPIO_H_*/ |