/*
 * 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);

#define PORT_DFER_DFE_0_MASK 0x01u /*!<@brief Digital Filter Enable Mask for item 0. */
#define PORT_DFER_DFE_1_MASK 0x02u /*!<@brief Digital Filter Enable Mask for item 1. */

/*! @name PORTC0 (number 40), E1[1]/TOUCH_PAD_0_TSI_22
  @{ */
#define BOARD_TSI_ELECTRODE_1_PORT PORTC /*!<@brief PORT device name: PORTC */
#define BOARD_TSI_ELECTRODE_1_PIN 0U     /*!<@brief PORTC pin index: 0 */
                                         /* @} */

/*! @name PORTC1 (number 39), E2[1]/TOUCH_PAD_1_TSI_23
  @{ */
#define BOARD_TSI_ELECTRODE_2_PORT PORTC /*!<@brief PORT device name: PORTC */
#define BOARD_TSI_ELECTRODE_2_PIN 1U     /*!<@brief PORTC pin index: 1 */
                                         /* @} */

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

#define PORT_DFER_DFE_11_MASK 0x0800u /*!<@brief Digital Filter Enable Mask for item 11. */
#define PORT_DFER_DFE_3_MASK 0x08u    /*!<@brief Digital Filter Enable Mask for item 3. */

/*! @name PORTB11 (number 74), SW2
  @{ */
#define BOARD_SW2_GPIO GPIOB /*!<@brief GPIO device name: GPIOB */
#define BOARD_SW2_PORT PORTB /*!<@brief PORT device name: PORTB */
#define BOARD_SW2_PIN 11U    /*!<@brief PORTB pin index: 11 */
                             /* @} */

/*! @name PORTD3 (number 70), SW3
  @{ */
#define BOARD_SW3_GPIO GPIOD /*!<@brief GPIO device name: GPIOD */
#define BOARD_SW3_PORT PORTD /*!<@brief PORT device name: PORTD */
#define BOARD_SW3_PIN 3U     /*!<@brief PORTD pin index: 3 */
                             /* @} */

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

#define PORT_DFER_DFE_0_MASK 0x01u      /*!<@brief Digital Filter Enable Mask for item 0. */
#define PORT_DFER_DFE_15_MASK 0x8000u   /*!<@brief Digital Filter Enable Mask for item 15. */
#define PORT_DFER_DFE_16_MASK 0x010000u /*!<@brief Digital Filter Enable Mask for item 16. */

/*! @name PORTD0 (number 4), D4[1]/RGB_RED
  @{ */
#define BOARD_LED_RED_GPIO GPIOD /*!<@brief GPIO device name: GPIOD */
#define BOARD_LED_RED_PORT PORTD /*!<@brief PORT device name: PORTD */
#define BOARD_LED_RED_PIN 0U     /*!<@brief PORTD pin index: 0 */
                                 /* @} */

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

/*! @name PORTD15 (number 22), 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 15U    /*!<@brief PORTD pin index: 15 */
                                  /* @} */

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

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

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

/*! @name PORTC3 (number 29), Y2[1]/EXTAL32
  @{ */
#define BOARD_EXTAL32_PORT PORTC /*!<@brief PORT device name: PORTC */
#define BOARD_EXTAL32_PIN 3U     /*!<@brief PORTC pin index: 3 */
                                 /* @} */

/*! @name PORTC2 (number 30), Y2[2]/XTAL32
  @{ */
#define BOARD_XTAL32_PORT PORTC /*!<@brief PORT device name: PORTC */
#define BOARD_XTAL32_PIN 2U     /*!<@brief PORTC pin index: 2 */
                                /* @} */

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

#define PORT_DFER_DFE_2_MASK 0x04u /*!<@brief Digital Filter Enable Mask for item 2. */
#define PORT_DFER_DFE_4_MASK 0x10u /*!<@brief Digital Filter Enable Mask for item 4. */

/*! @name PORTD4 (number 69), THERM_1
  @{ */
#define BOARD_THERM_1_PORT PORTD /*!<@brief PORT device name: PORTD */
#define BOARD_THERM_1_PIN 4U     /*!<@brief PORTD pin index: 4 */
                                 /* @} */

/*! @name PORTD2 (number 71), THERM_0
  @{ */
#define BOARD_THERM_0_PORT PORTD /*!<@brief PORT device name: PORTD */
#define BOARD_THERM_0_PIN 2U     /*!<@brief PORTD pin index: 2 */
                                 /* @} */

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

#define PORT_DFER_DFE_10_MASK 0x0400u /*!<@brief Digital Filter Enable Mask for item 10. */
#define PORT_DFER_DFE_2_MASK 0x04u    /*!<@brief Digital Filter Enable Mask for item 2. */
#define PORT_DFER_DFE_3_MASK 0x08u    /*!<@brief Digital Filter Enable Mask for item 3. */
#define PORT_DFER_DFE_9_MASK 0x0200u  /*!<@brief Digital Filter Enable Mask for item 9. */

/*! @name PORTB10 (number 75), U1[2]/FXOS_INT
  @{ */
#define BOARD_ACCEL_INT_GPIO GPIOB /*!<@brief GPIO device name: GPIOB */
#define BOARD_ACCEL_INT_PORT PORTB /*!<@brief PORT device name: PORTB */
#define BOARD_ACCEL_INT_PIN 10U    /*!<@brief PORTB pin index: 10 */
                                   /* @} */

/*! @name PORTB9 (number 76), U1[3]/FXOS_RST
  @{ */
#define BOARD_ACCEL_RST_GPIO GPIOB /*!<@brief GPIO device name: GPIOB */
#define BOARD_ACCEL_RST_PORT PORTB /*!<@brief PORT device name: PORTB */
#define BOARD_ACCEL_RST_PIN 9U     /*!<@brief PORTB pin index: 9 */
                                   /* @} */

/*! @name PORTA3 (number 72), J4[12]/Arduino_A5_ADC1_SE1/FXOS_SCL
  @{ */
#define BOARD_ACCEL_I2C_SCL_PORT PORTA /*!<@brief PORT device name: PORTA */
#define BOARD_ACCEL_I2C_SCL_PIN 3U     /*!<@brief PORTA pin index: 3 */
                                       /* @} */

/*! @name PORTA2 (number 73), J4[10]/Arduino_A4_ADC1_SE0/FXOS_SDA
  @{ */
#define BOARD_ACCEL_I2C_SDA_PORT PORTA /*!<@brief PORT device name: PORTA */
#define BOARD_ACCEL_I2C_SDA_PIN 2U     /*!<@brief PORTA pin index: 2 */
                                       /* @} */

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

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

/*! @name PORTC7 (number 80), UART1_TX_TGTMCU
  @{ */
#define BOARD_DEBUG_UART_TX_PORT PORTC /*!<@brief PORT device name: PORTC */
#define BOARD_DEBUG_UART_TX_PIN 7U     /*!<@brief PORTC pin index: 7 */
                                       /* @} */

/*! @name PORTC6 (number 81), UART1_RX_TGTMCU
  @{ */
#define BOARD_DEBUG_UART_RX_PORT PORTC /*!<@brief PORT device name: PORTC */
#define BOARD_DEBUG_UART_RX_PIN 6U     /*!<@brief PORTC pin index: 6 */
                                       /* @} */

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

#if defined(__cplusplus)
}
#endif

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

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