/*
 * Copyright 2019 NXP
 * All rights reserved.
 *
 * SPDX-License-Identifier: BSD-3-Clause
 */

/***********************************************************************************************************************
 * This file was generated by the MCUXpresso Config Tools. Any manual edits made to this file
 * will be overwritten if the respective MCUXpresso Config Tools is used to update this file.
 **********************************************************************************************************************/

#ifndef _PIN_MUX_H_
#define _PIN_MUX_H_

/***********************************************************************************************************************
 * Definitions
 **********************************************************************************************************************/

/*! @brief Direction type  */
typedef enum _pin_mux_direction
{
    kPIN_MUX_DirectionInput = 0U,        /* Input direction */
    kPIN_MUX_DirectionOutput = 1U,       /* Output direction */
    kPIN_MUX_DirectionInputOrOutput = 2U /* Input or output direction */
} pin_mux_direction_t;

/*!
 * @addtogroup pin_mux
 * @{
 */

/***********************************************************************************************************************
 * API
 **********************************************************************************************************************/

#if defined(__cplusplus)
extern "C" {
#endif

/*!
 * @brief Calls initialization functions.
 *
 */
void BOARD_InitBootPins(void);

#define IOCON_PIO_CLKDIV0 0x00u      /*!<@brief IOCONCLKDIV0 */
#define IOCON_PIO_HYS_EN 0x20u       /*!<@brief Enable hysteresis */
#define IOCON_PIO_INV_DI 0x00u       /*!<@brief Input not invert */
#define IOCON_PIO_MODE_PULLUP 0x10u  /*!<@brief Selects pull-up function */
#define IOCON_PIO_OD_DI 0x00u        /*!<@brief Disables Open-drain function */
#define IOCON_PIO_SMODE_BYPASS 0x00u /*!<@brief Bypass input filter */

/*! @name PIO1_17 (number 37), P3[13]/P6[1]/U4[31]/TARGET_TX_DEBUG_P1_17
  @{ */
/*!
 * @brief Device name: USART0 */
#define BOARD_DEBUG_UART_TX_PERIPHERAL USART0
/*!
 * @brief USART0 signal: TXD */
#define BOARD_DEBUG_UART_TX_SIGNAL TXD
/*!
 * @brief PORT device name: 1U */
#define BOARD_DEBUG_UART_TX_PORT 1U
/*!
 * @brief 1U pin index: 17 */
#define BOARD_DEBUG_UART_TX_PIN 17U
/*!
 * @brief Pin name */
#define BOARD_DEBUG_UART_TX_PIN_NAME PIO1_17
/*!
 * @brief Label */
#define BOARD_DEBUG_UART_TX_LABEL "P3[13]/P6[1]/U4[31]/TARGET_TX_DEBUG_P1_17"
/*!
 * @brief Identifier name */
#define BOARD_DEBUG_UART_TX_NAME "DEBUG_UART_TX"
/* @} */

/*! @name PIO1_16 (number 36), P7[1]/U4[32]/TARGET_RX_DEBUG_P1_16
  @{ */
#define BOARD_DEBUG_UART_RX_PERIPHERAL USART0                          /*!<@brief Device name: USART0 */
#define BOARD_DEBUG_UART_RX_SIGNAL RXD                                 /*!<@brief USART0 signal: RXD */
#define BOARD_DEBUG_UART_RX_PORT 1U                                    /*!<@brief PORT device name: 1U */
#define BOARD_DEBUG_UART_RX_PIN 16U                                    /*!<@brief 1U pin index: 16 */
#define BOARD_DEBUG_UART_RX_PIN_NAME PIO1_16                           /*!<@brief Pin name */
#define BOARD_DEBUG_UART_RX_LABEL "P7[1]/U4[32]/TARGET_RX_DEBUG_P1_16" /*!<@brief Label */
#define BOARD_DEBUG_UART_RX_NAME "DEBUG_UART_RX"                       /*!<@brief Identifier name */
                                                                       /* @} */

/*!
 * @brief Configures pin routing and optionally pin electrical features.
 *
 */
void BOARD_InitPins(void); /* Function assigned for the Cortex-M0P */

#if defined(__cplusplus)
}
#endif

/*!
 * @}
 */
#endif /* _PIN_MUX_H_ */

/***********************************************************************************************************************
 * EOF
 **********************************************************************************************************************/
