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

/* GPIO_AD_B0_13 (coord L14), UART1_RXD */
#define BOARD_UART1_RXD_PERIPHERAL                                       LPUART1   /*!< Device name: LPUART1 */
#define BOARD_UART1_RXD_SIGNAL                                                RX   /*!< LPUART1 signal: RX */

/* GPIO_AD_B0_12 (coord K14), UART1_TXD */
#define BOARD_UART1_TXD_PERIPHERAL                                       LPUART1   /*!< Device name: LPUART1 */
#define BOARD_UART1_TXD_SIGNAL                                                TX   /*!< LPUART1 signal: TX */

/* GPIO_B0_09 (coord C9), USER_LED_RED */
#define BOARD_USER_LED_RED_GPIO                                            GPIO2   /*!< GPIO device name: GPIO2 */
#define BOARD_USER_LED_RED_PORT                                            GPIO2   /*!< PORT device name: GPIO2 */
#define BOARD_USER_LED_RED_PIN                                                9U   /*!< GPIO2 pin index: 9 */

/* GPIO_B0_10 (coord D9), USER_LED_GREEN */
#define BOARD_USER_LED_GREEN_GPIO                                          GPIO2   /*!< GPIO device name: GPIO2 */
#define BOARD_USER_LED_GREEN_PORT                                          GPIO2   /*!< PORT device name: GPIO2 */
#define BOARD_USER_LED_GREEN_PIN                                             10U   /*!< GPIO2 pin index: 10 */

/* GPIO_B0_11 (coord A10), USER_LED_BLUE */
#define BOARD_USER_LED_BLUE_GPIO                                           GPIO2   /*!< GPIO device name: GPIO2 */
#define BOARD_USER_LED_BLUE_PORT                                           GPIO2   /*!< PORT device name: GPIO2 */
#define BOARD_USER_LED_BLUE_PIN                                              11U   /*!< GPIO2 pin index: 11 */

/* GPIO_B1_04 (coord E12), ENET_RXD0 */
#define BOARD_ENET_RXD0_PERIPHERAL                                          ENET   /*!< Device name: ENET */
#define BOARD_ENET_RXD0_SIGNAL                                      enet_rx_data   /*!< ENET signal: enet_rx_data */
#define BOARD_ENET_RXD0_CHANNEL                                               0U   /*!< ENET enet_rx_data channel: 0 */

/* GPIO_B1_05 (coord D12), ENET_RXD1 */
#define BOARD_ENET_RXD1_PERIPHERAL                                          ENET   /*!< Device name: ENET */
#define BOARD_ENET_RXD1_SIGNAL                                      enet_rx_data   /*!< ENET signal: enet_rx_data */
#define BOARD_ENET_RXD1_CHANNEL                                               1U   /*!< ENET enet_rx_data channel: 1 */

/* GPIO_B1_06 (coord C12), ENET_CRS_DV */
#define BOARD_ENET_CRS_DV_PERIPHERAL                                        ENET   /*!< Device name: ENET */
#define BOARD_ENET_CRS_DV_SIGNAL                                      enet_rx_en   /*!< ENET signal: enet_rx_en */

/* GPIO_B1_07 (coord B12), ENET_TXD0 */
#define BOARD_ENET_TXD0_PERIPHERAL                                          ENET   /*!< Device name: ENET */
#define BOARD_ENET_TXD0_SIGNAL                                      enet_tx_data   /*!< ENET signal: enet_tx_data */
#define BOARD_ENET_TXD0_CHANNEL                                               0U   /*!< ENET enet_tx_data channel: 0 */

/* GPIO_B1_08 (coord A12), ENET_TXD1 */
#define BOARD_ENET_TXD1_PERIPHERAL                                          ENET   /*!< Device name: ENET */
#define BOARD_ENET_TXD1_SIGNAL                                      enet_tx_data   /*!< ENET signal: enet_tx_data */
#define BOARD_ENET_TXD1_CHANNEL                                               1U   /*!< ENET enet_tx_data channel: 1 */

/* GPIO_B1_09 (coord A13), ENET_TXEN */
#define BOARD_ENET_TXEN_PERIPHERAL                                          ENET   /*!< Device name: ENET */
#define BOARD_ENET_TXEN_SIGNAL                                        enet_tx_en   /*!< ENET signal: enet_tx_en */

/* GPIO_B1_10 (coord B13), ENET_TX_CLK */
#define BOARD_ENET_TX_CLK_PERIPHERAL                                        ENET   /*!< Device name: ENET */
#define BOARD_ENET_TX_CLK_SIGNAL                                    enet_ref_clk   /*!< ENET signal: enet_ref_clk */

/* GPIO_B1_11 (coord C13), ENET_RXER */
#define BOARD_ENET_RXER_PERIPHERAL                                          ENET   /*!< Device name: ENET */
#define BOARD_ENET_RXER_SIGNAL                                        enet_rx_er   /*!< ENET signal: enet_rx_er */

/* GPIO_EMC_40 (coord A7), ENET_MDC */
#define BOARD_ENET_MDC_PERIPHERAL                                           ENET   /*!< Device name: ENET */
#define BOARD_ENET_MDC_SIGNAL                                           enet_mdc   /*!< ENET signal: enet_mdc */

/* GPIO_EMC_41 (coord C7), ENET_MDIO */
#define BOARD_ENET_MDIO_PERIPHERAL                                          ENET   /*!< Device name: ENET */
#define BOARD_ENET_MDIO_SIGNAL                                         enet_mdio   /*!< ENET signal: enet_mdio */

/* GPIO_AD_B1_02 (coord L11), SPDIF_OUT/J22[7] */
#define BOARD_SPDIF_OUT_PERIPHERAL                                          ENET   /*!< Device name: ENET */
#define BOARD_SPDIF_OUT_SIGNAL                                   1588_EVENT2_OUT   /*!< ENET signal: 1588_EVENT2_OUT */

/* GPIO_B1_01 (coord B11), LCDIF_D13 */
#define BOARD_LCDIF_D13_PERIPHERAL                                         ENET2   /*!< Device name: ENET2 */
#define BOARD_LCDIF_D13_SIGNAL                                      enet_rx_data   /*!< ENET2 signal: enet_rx_data */
#define BOARD_LCDIF_D13_CHANNEL                                               0U   /*!< ENET2 enet_rx_data channel: 0 */

/* GPIO_B1_02 (coord C11), LCDIF_D14 */
#define BOARD_LCDIF_D14_PERIPHERAL                                         ENET2   /*!< Device name: ENET2 */
#define BOARD_LCDIF_D14_SIGNAL                                      enet_rx_data   /*!< ENET2 signal: enet_rx_data */
#define BOARD_LCDIF_D14_CHANNEL                                               1U   /*!< ENET2 enet_rx_data channel: 1 */

/* GPIO_B1_03 (coord D11), LCDIF_D15 */
#define BOARD_LCDIF_D15_PERIPHERAL                                         ENET2   /*!< Device name: ENET2 */
#define BOARD_LCDIF_D15_SIGNAL                                        enet_rx_en   /*!< ENET2 signal: enet_rx_en */

/* GPIO_B0_12 (coord C10), LCDIF_D8/BT_CFG[8] */
#define BOARD_LCDIF_D8_PERIPHERAL                                          ENET2   /*!< Device name: ENET2 */
#define BOARD_LCDIF_D8_SIGNAL                                       enet_tx_data   /*!< ENET2 signal: enet_tx_data */
#define BOARD_LCDIF_D8_CHANNEL                                                0U   /*!< ENET2 enet_tx_data channel: 0 */

/* GPIO_B0_13 (coord D10), LCDIF_D9/BT_CFG[9] */
#define BOARD_LCDIF_D9_PERIPHERAL                                          ENET2   /*!< Device name: ENET2 */
#define BOARD_LCDIF_D9_SIGNAL                                       enet_tx_data   /*!< ENET2 signal: enet_tx_data */
#define BOARD_LCDIF_D9_CHANNEL                                                1U   /*!< ENET2 enet_tx_data channel: 1 */

/* GPIO_B0_14 (coord E10), LCDIF_D10/BT_CFG[10] */
#define BOARD_LCDIF_D10_PERIPHERAL                                         ENET2   /*!< Device name: ENET2 */
#define BOARD_LCDIF_D10_SIGNAL                                        enet_tx_en   /*!< ENET2 signal: enet_tx_en */

/* GPIO_B0_15 (coord E11), LCDIF_D11/BT_CFG[11] */
#define BOARD_LCDIF_D11_PERIPHERAL                                         ENET2   /*!< Device name: ENET2 */
#define BOARD_LCDIF_D11_SIGNAL                                      enet_ref_clk   /*!< ENET2 signal: enet_ref_clk */

/* GPIO_B1_00 (coord A11), LCDIF_D12 */
#define BOARD_LCDIF_D12_PERIPHERAL                                         ENET2   /*!< Device name: ENET2 */
#define BOARD_LCDIF_D12_SIGNAL                                        enet_rx_er   /*!< ENET2 signal: enet_rx_er */

/* GPIO_SD_B0_00 (coord J4), SD1_CMD/J24[6] */
#define BOARD_SD1_CMD_PERIPHERAL                                          LPSPI1   /*!< Device name: LPSPI1 */
#define BOARD_SD1_CMD_SIGNAL                                                 SCK   /*!< LPSPI1 signal: SCK */

/* GPIO_SD_B0_01 (coord J3), SD1_CLK/J24[3] */
#define BOARD_SD1_CLK_PERIPHERAL                                          LPSPI1   /*!< Device name: LPSPI1 */
#define BOARD_SD1_CLK_SIGNAL                                                PCS0   /*!< LPSPI1 signal: PCS0 */

/* GPIO_SD_B0_02 (coord J1), SD1_D0/J24[4]/SPI_MOSI/PWM */
#define BOARD_SD1_D0_PERIPHERAL                                           LPSPI1   /*!< Device name: LPSPI1 */
#define BOARD_SD1_D0_SIGNAL                                                  SDO   /*!< LPSPI1 signal: SDO */

/* GPIO_SD_B0_03 (coord K1), SD1_D1/J24[5]/SPI_MISO */
#define BOARD_SD1_D1_PERIPHERAL                                           LPSPI1   /*!< Device name: LPSPI1 */
#define BOARD_SD1_D1_SIGNAL                                                  SDI   /*!< LPSPI1 signal: SDI */

/* GPIO_AD_B1_15 (coord J14), SAI1_TX_SYNC/CSI_D2/J35[6]/U13[13] */
#define BOARD_CSI_D2_PERIPHERAL                                           LPSPI3   /*!< Device name: LPSPI3 */
#define BOARD_CSI_D2_SIGNAL                                                  SCK   /*!< LPSPI3 signal: SCK */

/* GPIO_AD_B1_12 (coord H12), SAI1_RXD/CSI_D5/J35[5]/U13[16] */
#define BOARD_CSI_D5_PERIPHERAL                                           LPSPI3   /*!< Device name: LPSPI3 */
#define BOARD_CSI_D5_SIGNAL                                                 PCS0   /*!< LPSPI3 signal: PCS0 */

/* GPIO_AD_B1_13 (coord H11), SAI1_TXD/CSI_D4/J35[3]/U13[14] */
#define BOARD_CSI_D4_PERIPHERAL                                           LPSPI3   /*!< Device name: LPSPI3 */
#define BOARD_CSI_D4_SIGNAL                                                  SDI   /*!< LPSPI3 signal: SDI */

/* GPIO_AD_B1_14 (coord G12), SAI1_TX_BCLK/CSI_D3/J35[4]/U13[12] */
#define BOARD_CSI_D3_PERIPHERAL                                           LPSPI3   /*!< Device name: LPSPI3 */
#define BOARD_CSI_D3_SIGNAL                                                  SDO   /*!< LPSPI3 signal: SDO */

/* GPIO_SD_B0_05 (coord J2), SD1_D3 */
#define BOARD_SD1_D3_GPIO                                                  GPIO3   /*!< GPIO device name: GPIO3 */
#define BOARD_SD1_D3_PORT                                                  GPIO3   /*!< PORT device name: GPIO3 */
#define BOARD_SD1_D3_PIN                                                     17U   /*!< GPIO3 pin index: 17 */

/* GPIO_EMC_39 (coord B7), SEMC_DQS */
#define BOARD_SEMC_DQS_GPIO                                                GPIO3   /*!< GPIO device name: GPIO3 */
#define BOARD_SEMC_DQS_PORT                                                GPIO3   /*!< PORT device name: GPIO3 */
#define BOARD_SEMC_DQS_PIN                                                   25U   /*!< GPIO3 pin index: 25 */

/* GPIO_SD_B1_06 (coord L3), FlexSPI_SS0 */
#define BOARD_FlexSPI_SS0_PERIPHERAL                                     FLEXSPI   /*!< Device name: FLEXSPI */
#define BOARD_FlexSPI_SS0_SIGNAL                                 FLEXSPI_A_SS0_B   /*!< FLEXSPI signal: FLEXSPI_A_SS0_B */

/* GPIO_SD_B1_07 (coord L4), FlexSPI_CLK */
#define BOARD_FlexSPI_CLK_PERIPHERAL                                     FLEXSPI   /*!< Device name: FLEXSPI */
#define BOARD_FlexSPI_CLK_SIGNAL                                  FLEXSPI_A_SCLK   /*!< FLEXSPI signal: FLEXSPI_A_SCLK */

/* GPIO_SD_B1_08 (coord P3), FlexSPI_D0_A */
#define BOARD_FlexSPI_D0_A_PERIPHERAL                                    FLEXSPI   /*!< Device name: FLEXSPI */
#define BOARD_FlexSPI_D0_A_SIGNAL                                FLEXSPI_A_DATA0   /*!< FLEXSPI signal: FLEXSPI_A_DATA0 */

/* GPIO_SD_B1_09 (coord N4), FlexSPI_D1_A */
#define BOARD_FlexSPI_D1_A_PERIPHERAL                                    FLEXSPI   /*!< Device name: FLEXSPI */
#define BOARD_FlexSPI_D1_A_SIGNAL                                FLEXSPI_A_DATA1   /*!< FLEXSPI signal: FLEXSPI_A_DATA1 */

/* GPIO_SD_B1_10 (coord P4), FlexSPI_D2_A */
#define BOARD_FlexSPI_D2_A_PERIPHERAL                                    FLEXSPI   /*!< Device name: FLEXSPI */
#define BOARD_FlexSPI_D2_A_SIGNAL                                FLEXSPI_A_DATA2   /*!< FLEXSPI signal: FLEXSPI_A_DATA2 */

/* GPIO_SD_B1_11 (coord P5), FlexSPI_D3_A */
#define BOARD_FlexSPI_D3_A_PERIPHERAL                                    FLEXSPI   /*!< Device name: FLEXSPI */
#define BOARD_FlexSPI_D3_A_SIGNAL                                FLEXSPI_A_DATA3   /*!< FLEXSPI signal: FLEXSPI_A_DATA3 */


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

#if defined(__cplusplus)
}
#endif

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

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