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

/*!
 * @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 PORTE4 (number 5), BUTTON1
  @{ */
#define BOARD_SW3_GPIO GPIOE /*!<@brief GPIO device name: GPIOE */
#define BOARD_SW3_PORT PORTE /*!<@brief PORT device name: PORTE */
#define BOARD_SW3_PIN 4U     /*!<@brief PORTE pin index: 4 */
                             /* @} */

/*! @name PORTA4 (number 38), BUTTON2
  @{ */
#define BOARD_SW2_FGPIO FGPIOA /*!<@brief FGPIO device name: FGPIOA */
#define BOARD_SW2_GPIO GPIOA /*!<@brief GPIO device name: GPIOA */
#define BOARD_SW2_PORT PORTA /*!<@brief PORT device name: PORTA */
#define BOARD_SW2_PIN 4U     /*!<@brief PORTA pin index: 4 */
                             /* @} */

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

/*! @name PORTE29 (number 26), LEDRGB_RED
  @{ */
#define BOARD_LED_RED_GPIO GPIOE /*!<@brief GPIO device name: GPIOE */
#define BOARD_LED_RED_PORT PORTE /*!<@brief PORT device name: PORTE */
#define BOARD_LED_RED_PIN 29U    /*!<@brief PORTE pin index: 29 */
                                 /* @} */

/*! @name PORTE31 (number 28), LEDRGB_BLUE
  @{ */
#define BOARD_LED_BLUE_GPIO GPIOE /*!<@brief GPIO device name: GPIOE */
#define BOARD_LED_BLUE_PORT PORTE /*!<@brief PORT device name: PORTE */
#define BOARD_LED_BLUE_PIN 31U    /*!<@brief PORTE pin index: 31 */
                                  /* @} */

/*! @name PORTC4 (number 76), LEDRGB_GREEN
  @{ */
#define BOARD_LED_GREEN_GPIO GPIOC /*!<@brief GPIO device name: GPIOC */
#define BOARD_LED_GREEN_PORT PORTC /*!<@brief PORT device name: PORTC */
#define BOARD_LED_GREEN_PIN 4U     /*!<@brief PORTC pin index: 4 */
                                   /* @} */

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

/*! @name PORTA1 (number 35), TSI_ELECTRODE1/TSI0_CH2
  @{ */
#define BOARD_TSI_ELECTRODE_1_PORT PORTA /*!<@brief PORT device name: PORTA */
#define BOARD_TSI_ELECTRODE_1_PIN 1U     /*!<@brief PORTA pin index: 1 */
                                         /* @} */

/*! @name PORTA2 (number 36), TSI_ELECTRODE2/TSI0_CH3
  @{ */
#define BOARD_TSI_ELECTRODE_2_PORT PORTA /*!<@brief PORT device name: PORTA */
#define BOARD_TSI_ELECTRODE_2_PIN 2U     /*!<@brief PORTA pin index: 2 */
                                         /* @} */

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

/*! @name PORTD5 (number 98), Q1[1]/LIGHT_SENSOR
  @{ */
#define BOARD_LIGHT_SENSOR_PORT PORTD /*!<@brief PORT device name: PORTD */
#define BOARD_LIGHT_SENSOR_PIN 5U     /*!<@brief PORTD pin index: 5 */
                                      /* @} */

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

/*! @name USB0_DM (number 11), J10[2]/K32L2A_USB_DN
  @{ */
/* @} */

/*! @name USB0_DP (number 10), J10[3]/K32L2A_USB_DP
  @{ */
/* @} */

/*! @name VREGIN (number 13), P5V_K32L2A
  @{ */
/* @} */

/*! @name PORTC7 (number 79), J1[11]/SOF_OUT/FXIO_D20
  @{ */
#define BOARD_SOF_OUT_PORT PORTC /*!<@brief PORT device name: PORTC */
#define BOARD_SOF_OUT_PIN 7U     /*!<@brief PORTC pin index: 7 */
                                 /* @} */

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

/*! @name PORTB16 (number 62), J1[2]/U7[25]/D0/UART0_RX/FXIO_D16/UART1_RX_TGTMCU
  @{ */
#define BOARD_DEBUG_UART_RX_PORT PORTB /*!<@brief PORT device name: PORTB */
#define BOARD_DEBUG_UART_RX_PIN 16U    /*!<@brief PORTB pin index: 16 */
                                       /* @} */

/*! @name PORTB17 (number 63), J1[4]/U7[24]/D1/UART0_TX/FXIO_D17/UART1_TX_TGTMCU
  @{ */
#define BOARD_DEBUG_UART_TX_PORT PORTB /*!<@brief PORT device name: PORTB */
#define BOARD_DEBUG_UART_TX_PIN 17U    /*!<@brief PORTB pin index: 17 */
                                       /* @} */

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

/*! @name PORTE25 (number 32), U2[12]/U10[6]/ACCEL_I2C0_SDA
  @{ */
#define BOARD_ACCEL_SDA_PORT PORTE /*!<@brief PORT device name: PORTE */
#define BOARD_ACCEL_SDA_PIN 25U    /*!<@brief PORTE pin index: 25 */
                                   /* @} */

/*! @name PORTE24 (number 31), U2[11]/U10[4]/ACCEL_I2C0_SCL
  @{ */
#define BOARD_ACCEL_SCL_PORT PORTE /*!<@brief PORT device name: PORTE */
#define BOARD_ACCEL_SCL_PIN 24U    /*!<@brief PORTE pin index: 24 */
                                   /* @} */

/*! @name PORTD4 (number 97), U10[11]/INT1_8700
  @{ */
#define BOARD_ACCEL_INT1_GPIO GPIOD /*!<@brief GPIO device name: GPIOD */
#define BOARD_ACCEL_INT1_PORT PORTD /*!<@brief PORT device name: PORTD */
#define BOARD_ACCEL_INT1_PIN 4U     /*!<@brief PORTD pin index: 4 */
                                    /* @} */

/*! @name PORTE5 (number 6), U10[9]/INT2_8700
  @{ */
#define BOARD_ACCEL_INT2_GPIO GPIOE /*!<@brief GPIO device name: GPIOE */
#define BOARD_ACCEL_INT2_PORT PORTE /*!<@brief PORT device name: PORTE */
#define BOARD_ACCEL_INT2_PIN 5U     /*!<@brief PORTE pin index: 5 */
                                    /* @} */

/*! @name PORTE26 (number 33), U10[16]/U11[2]/ACCEL_RST
  @{ */
#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 26U    /*!<@brief PORTE pin index: 26 */
                                   /* @} */

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

/*! @name PORTE24 (number 31), U2[11]/U10[4]/ACCEL_I2C0_SCL
  @{ */
#define BOARD_GYRO_SCL_PORT PORTE /*!<@brief PORT device name: PORTE */
#define BOARD_GYRO_SCL_PIN 24U    /*!<@brief PORTE pin index: 24 */
                                  /* @} */

/*! @name PORTE25 (number 32), U2[12]/U10[6]/ACCEL_I2C0_SDA
  @{ */
#define BOARD_GYRO_SDA_PORT PORTE /*!<@brief PORT device name: PORTE */
#define BOARD_GYRO_SDA_PIN 25U    /*!<@brief PORTE pin index: 25 */
                                  /* @} */

/*! @name PORTE0 (number 1), U2[3]/INT1_21002
  @{ */
#define BOARD_GYRO_INT1_GPIO GPIOE /*!<@brief GPIO device name: GPIOE */
#define BOARD_GYRO_INT1_PORT PORTE /*!<@brief PORT device name: PORTE */
#define BOARD_GYRO_INT1_PIN 0U     /*!<@brief PORTE pin index: 0 */
                                   /* @} */

/*! @name PORTE1 (number 2), U2[2]/INT2_21002
  @{ */
#define BOARD_GYRO_INT2_GPIO GPIOE /*!<@brief GPIO device name: GPIOE */
#define BOARD_GYRO_INT2_PORT PORTE /*!<@brief PORT device name: PORTE */
#define BOARD_GYRO_INT2_PIN 1U     /*!<@brief PORTE pin index: 1 */
                                   /* @} */

/*! @name PORTE26 (number 33), U10[16]/U11[2]/ACCEL_RST
  @{ */
#define BOARD_GYRO_RST_GPIO GPIOE /*!<@brief GPIO device name: GPIOE */
#define BOARD_GYRO_RST_PORT PORTE /*!<@brief PORT device name: PORTE */
#define BOARD_GYRO_RST_PIN 26U    /*!<@brief PORTE pin index: 26 */
                                  /* @} */

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

/*! @name PORTA18 (number 50), Y1[1]/EXTAL_32KHZ
  @{ */
#define BOARD_EXTAL0_PORT PORTA /*!<@brief PORT device name: PORTA */
#define BOARD_EXTAL0_PIN 18U    /*!<@brief PORTA pin index: 18 */
                                /* @} */

/*! @name PORTA19 (number 51), Y1[2]/XTAL_32KHZ
  @{ */
#define BOARD_XTAL0_PORT PORTA /*!<@brief PORT device name: PORTA */
#define BOARD_XTAL0_PIN 19U    /*!<@brief PORTA pin index: 19 */
                               /* @} */

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

#if defined(__cplusplus)
}
#endif

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

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