/*
 * Copyright 2018 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_

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

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

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

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

/*!
 * @brief Configures pin routing and optionally pin electrical features.
 *
 */
void BOARD_InitPins(void);

/*! @name PORTB7 (number 11), Y1[1]/Crystal8M_EXTAL
  @{ */
#define BOARD_EXTAL_PORT PORTB /*!<@brief PORT device name: PORTB */
#define BOARD_EXTAL_PIN 7U     /*!<@brief PORTB pin index: 7 */
                               /* @} */

/*! @name PORTB6 (number 12), Y1[3]/Crystal8M_XTAL
  @{ */
#define BOARD_XTAL_PORT PORTB /*!<@brief PORT device name: PORTB */
#define BOARD_XTAL_PIN 6U     /*!<@brief PORTB pin index: 6 */
                              /* @} */

/*!
 * @brief Configures pin routing and optionally pin electrical features.
 *
 */
void BOARD_InitOSCPins(void);

#define PORT_DFER_DFE_5_MASK 0x20u /*!<@brief Digital Filter Enable Mask for item 5. */

/*! @name PORTE5 (number 5), E1[1]/TouchPad_0
  @{ */
#define BOARD_TSI_ELECTRODE1_PORT PORTE /*!<@brief PORT device name: PORTE */
#define BOARD_TSI_ELECTRODE1_PIN 5U     /*!<@brief PORTE pin index: 5 */
                                        /* @} */

/*! @name PORTE4 (number 6), E2[1]/TouchPad_1
  @{ */
#define BOARD_TSI_ELECTRODE2_PORT PORTE /*!<@brief PORT device name: PORTE */
#define BOARD_TSI_ELECTRODE2_PIN 4U     /*!<@brief PORTE pin index: 4 */
                                        /* @} */

/*!
 * @brief Configures pin routing and optionally pin electrical features.
 *
 */
void BOARD_InitTOUCHPins(void);

/*! @name PORTD3 (number 33), J1[10]/BUTTON_0/SW2/Arduino_D4
  @{ */
#define BOARD_SW2_GPIO GPIOD /*!<@brief GPIO device name: GPIOD */
#define BOARD_SW2_PORT PORTD /*!<@brief PORT device name: PORTD */
#define BOARD_SW2_PIN 3U     /*!<@brief PORTD pin index: 3 */
                             /* @} */

/*! @name PORTD2 (number 34), J1[6]/BUTTON_1/SW3/Arduino_D2
  @{ */
#define BOARD_SW3_GPIO GPIOD /*!<@brief GPIO device name: GPIOD */
#define BOARD_SW3_PORT PORTD /*!<@brief PORT device name: PORTD */
#define BOARD_SW3_PIN 2U     /*!<@brief PORTD pin index: 2 */
                             /* @} */

/*!
 * @brief Configures pin routing and optionally pin electrical features.
 *
 */
void BOARD_InitBUTTONSPins(void);

/*! @name PORTA7 (number 28), J4[6]/THERM_0/Arduino_A2
  @{ */
#define BOARD_THER_A_PORT PORTA /*!<@brief PORT device name: PORTA */
#define BOARD_THER_A_PIN 7U     /*!<@brief PORTA pin index: 7 */
                                /* @} */

/*! @name PORTA6 (number 29), J4[8]/THERM_1/Arduino_A3
  @{ */
#define BOARD_THER_B_PORT PORTA /*!<@brief PORT device name: PORTA */
#define BOARD_THER_B_PIN 6U     /*!<@brief PORTA pin index: 6 */
                                /* @} */

/*!
 * @brief Configures pin routing and optionally pin electrical features.
 *
 */
void BOARD_InitTHERMISTORPins(void);

#define PORT_DFER_DFE_6_MASK 0x40u /*!<@brief Digital Filter Enable Mask for item 6. */

/*! @name PORTA3 (number 35), J2[20]/U12[2]/FXOS_SCL/Arduino_D15
  @{ */
#define BOARD_ACCEL_SCL_PORT PORTA /*!<@brief PORT device name: PORTA */
#define BOARD_ACCEL_SCL_PIN 3U     /*!<@brief PORTA pin index: 3 */
                                   /* @} */

/*! @name PORTA2 (number 36), J2[18]/U12[3]/FXOS_SDA/Arduino_D14
  @{ */
#define BOARD_ACCEL_SDA_PORT PORTA /*!<@brief PORT device name: PORTA */
#define BOARD_ACCEL_SDA_PIN 2U     /*!<@brief PORTA pin index: 2 */
                                   /* @} */

/*! @name PORTD4 (number 32), J2[2]/U14[2]/FXOS_INT/Arduino_D8
  @{ */
#define BOARD_ACCEL_INT_GPIO GPIOD /*!<@brief GPIO device name: GPIOD */
#define BOARD_ACCEL_INT_PORT PORTD /*!<@brief PORT device name: PORTD */
#define BOARD_ACCEL_INT_PIN 4U     /*!<@brief PORTD pin index: 4 */
                                   /* @} */

/*! @name PORTE6 (number 41), J1[3]/J1[16]/U14[3]/Arduino_D7/FXOS_RST/MC_ENC_I
  @{ */
#define BOARD_ACCEL_RST_GPIO GPIOE /*!<@brief GPIO device name: GPIOE */
#define BOARD_ACCEL_RST_PORT PORTE /*!<@brief PORT device name: PORTE */
#define BOARD_ACCEL_RST_PIN 6U     /*!<@brief PORTE pin index: 6 */
                                   /* @} */

/*!
 * @brief Configures pin routing and optionally pin electrical features.
 *
 */
void BOARD_InitACCELPins(void);

/*! @name PORTB1 (number 26), UART0_TX_TGTMCU
  @{ */
#define BOARD_DEBUG_UART_TX_PORT PORTB /*!<@brief PORT device name: PORTB */
#define BOARD_DEBUG_UART_TX_PIN 1U     /*!<@brief PORTB pin index: 1 */
                                       /* @} */

/*! @name PORTB0 (number 27), UART0_RX_TGTMCU
  @{ */
#define BOARD_DEBUG_UART_RX_PORT PORTB /*!<@brief PORT device name: PORTB */
#define BOARD_DEBUG_UART_RX_PIN 0U     /*!<@brief PORTB pin index: 0 */
                                       /* @} */

/*!
 * @brief Configures pin routing and optionally pin electrical features.
 *
 */
void BOARD_InitDEBUG_UARTPins(void);

/*! @name PORTD1 (number 1), D4[3]/RGB_BLUE
  @{ */
#define BOARD_LED_BLUE_GPIO GPIOD /*!<@brief GPIO device name: GPIOD */
#define BOARD_LED_BLUE_PORT PORTD /*!<@brief PORT device name: PORTD */
#define BOARD_LED_BLUE_PIN 1U     /*!<@brief PORTD pin index: 1 */
                                  /* @} */

/*! @name PORTB5 (number 15), D4[1]/RGB_RED
  @{ */
#define BOARD_LED_RED_GPIO GPIOB /*!<@brief GPIO device name: GPIOB */
#define BOARD_LED_RED_PORT PORTB /*!<@brief PORT device name: PORTB */
#define BOARD_LED_RED_PIN 5U     /*!<@brief PORTB pin index: 5 */
                                 /* @} */

/*! @name PORTB4 (number 16), D4[4]/RGB_GREEN
  @{ */
#define BOARD_LED_GREEN_GPIO GPIOB /*!<@brief GPIO device name: GPIOB */
#define BOARD_LED_GREEN_PORT PORTB /*!<@brief PORT device name: PORTB */
#define BOARD_LED_GREEN_PIN 4U     /*!<@brief PORTB pin index: 4 */
                                   /* @} */

/*!
 * @brief Configures pin routing and optionally pin electrical features.
 *
 */
void BOARD_InitLEDsPins(void);

/*! @name PORTC7 (number 39), U11[1]/CAN_TX
  @{ */
#define BOARD_CAN_TX_PORT PORTC /*!<@brief PORT device name: PORTC */
#define BOARD_CAN_TX_PIN 7U     /*!<@brief PORTC pin index: 7 */
                                /* @} */

/*! @name PORTC6 (number 40), U11[4]/CAN_RX
  @{ */
#define BOARD_CAN_RX_PORT PORTC /*!<@brief PORT device name: PORTC */
#define BOARD_CAN_RX_PIN 6U     /*!<@brief PORTC pin index: 6 */
                                /* @} */

/*! @name PORTB3 (number 24), U11[8]CAN_STANDBY
  @{ */
#define BOARD_CAN_STANDBY_GPIO GPIOB /*!<@brief GPIO device name: GPIOB */
#define BOARD_CAN_STANDBY_PORT PORTB /*!<@brief PORT device name: PORTB */
#define BOARD_CAN_STANDBY_PIN 3U     /*!<@brief PORTB pin index: 3 */
                                     /* @} */

/*!
 * @brief Configures pin routing and optionally pin electrical features.
 *
 */
void BOARD_InitCANPins(void);

#if defined(__cplusplus)
}
#endif

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

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