/*
 * 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 FTM0 Fault 0 Select: FTM0_FLT0 pin */
#define SOPT4_FTM0FLT0_FTM 0x00u
/*!
 * @brief FTM0 channel 0 output PWM/OCMP mode source select: FTM0CH0 pin is the output of FTM0 channel 0 PWM/OCMP */
#define SOPT8_FTM0OCH0SRC_NO_MODULATION 0x00u
/*!
 * @brief FTM0 channel 1 output PWM/OCMP mode source select: FTM0CH1 pin is the output of FTM0 channel 1 PWM/OCMP */
#define SOPT8_FTM0OCH1SRC_NO_MODULATION 0x00u
/*!
 * @brief FTM0 channel 2 output PWM/OCMP mode source select: FTM0CH2 pin is the output of FTM0 channel 2 PWM/OCMP */
#define SOPT8_FTM0OCH2SRC_NO_MODULATION 0x00u
/*!
 * @brief FTM0 channel 3 output PWM/OCMP mode source select: FTM0CH3 pin is the output of FTM0 channel 3 PWM/OCMP */
#define SOPT8_FTM0OCH3SRC_NO_MODULATION 0x00u
/*!
 * @brief FTM0 channel 4 output PWM/OCMP mode source select: FTM0CH4 pin is the output of FTM0 channel 4 PWM/OCMP */
#define SOPT8_FTM0OCH4SRC_NO_MODULATION 0x00u
/*!
 * @brief FTM0 channel 5 output PWM/OCMP mode source select: FTM0CH5 pin is the output of FTM0 channel 5 PWM/OCMP */
#define SOPT8_FTM0OCH5SRC_NO_MODULATION 0x00u

/*! @name PORTE24 (number 15), MB_J11[A14]/MB_U12[18]/MB_PWM_AT/J4[A14]/PWM0
  @{ */
#define MB_PWM_AT_PORT PORTE /*!<@brief PORT device name: PORTE */
#define MB_PWM_AT_PIN 24U    /*!<@brief PORTE pin index: 24 */
                             /* @} */

/*! @name PORTC4 (number 37), MB_J11[A17]/MB_U12[13]/MB_PWM_BB/J4[A17]/PWM3
  @{ */
#define MB_PWM_BB_PORT PORTC /*!<@brief PORT device name: PORTC */
#define MB_PWM_BB_PIN 4U     /*!<@brief PORTC pin index: 4 */
                             /* @} */

/*! @name PORTC5 (number 38), MB_J11[A16]/MB_U12[19]/MB_PWM_BT/J4[A16]/PWM2
  @{ */
#define MB_PWM_BT_PORT PORTC /*!<@brief PORT device name: PORTC */
#define MB_PWM_BT_PIN 5U     /*!<@brief PORTC pin index: 5 */
                             /* @} */

/*! @name PORTD4 (number 45), MB_J11[A18]/MB_U12[20]/MB_PWM_CT/J4[A18]/PWM4
  @{ */
#define MB_PWM_CT_PORT PORTD /*!<@brief PORT device name: PORTD */
#define MB_PWM_CT_PIN 4U     /*!<@brief PORTD pin index: 4 */
                             /* @} */

/*! @name PORTD5 (number 46), MB_J11[A19]/MB_U12[14]/MB_PWM_CB/J4[A19]/PWM5
  @{ */
#define MB_PWM_CB_PORT PORTD /*!<@brief PORT device name: PORTD */
#define MB_PWM_CB_PIN 5U     /*!<@brief PORTD pin index: 5 */
                             /* @} */

/*! @name PORTE25 (number 16), MB_J11[A15]/MB_U12[12]/MB_PWM_AB/J4[A15]/PWM1
  @{ */
#define MB_PWM_AB_PORT PORTE /*!<@brief PORT device name: PORTE */
#define MB_PWM_AB_PIN 25U    /*!<@brief PORTE pin index: 25 */
                             /* @} */

/*! @name PORTC0 (number 33), MB_J11[A25]/MB_U12[11]/MB_TP28/MB_FAULT/MB_FAULT_1/MB_PFC_overcurrent/J4[A25]/FAULT_1
  @{ */
#define MB_FAULT_1_PORT PORTC /*!<@brief PORT device name: PORTC */
#define MB_FAULT_1_PIN 0U     /*!<@brief PORTC pin index: 0 */
                              /* @} */

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

/*!
 * @brief FTM0 channel 0 output PWM/OCMP mode source select: FTM0CH0 pin is the output of FTM0 channel 0 PWM/OCMP */
#define SOPT8_FTM0OCH0SRC_NO_MODULATION 0x00u
/*!
 * @brief FTM0 channel 1 output PWM/OCMP mode source select: FTM0CH1 pin is the output of FTM0 channel 1 PWM/OCMP */
#define SOPT8_FTM0OCH1SRC_NO_MODULATION 0x00u

/*! @name PORTC7 (number 40), MB_J11[B21]/MB_PFC_zc_2/J4[B21]/MB_TP_27
  @{ */
#define MB_PFC_ZC_2_PORT PORTC /*!<@brief PORT device name: PORTC */
#define MB_PFC_ZC_2_PIN 7U     /*!<@brief PORTC pin index: 7 */
                               /* @} */

/*! @name PORTA18 (number 24), MB_J11[B28]/MB_Q3[1]/MB_Relay/J4[B28]/Relay
  @{ */
#define MB_RELAY_GPIO GPIOA /*!<@brief GPIO device name: GPIOA */
#define MB_RELAY_PORT PORTA /*!<@brief PORT device name: PORTA */
#define MB_RELAY_PIN 18U    /*!<@brief PORTA pin index: 18 */
                            /* @} */

/*! @name PORTD7 (number 48), MB_J11[A23]/MB_U14[2]/MB_TP12/MB_PWM_PFC1/J4[A23]/PWM9
  @{ */
#define MB_PWM_PFC1_PORT PORTD /*!<@brief PORT device name: PORTD */
#define MB_PWM_PFC1_PIN 7U     /*!<@brief PORTD pin index: 7 */
                               /* @} */

/*! @name PORTD6 (number 47), MB_J11[A22]/MB_U14[4]/MB_TP15/MB_PWM_PFC2/J4[A22]/PWM8
  @{ */
#define MB_PWM_PFC2_PORT PORTD /*!<@brief PORT device name: PORTD */
#define MB_PWM_PFC2_PIN 6U     /*!<@brief PORTD pin index: 6 */
                               /* @} */

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

/*! @name PORTE18 (number 5), MB_J11[B3]/MB_U8B[7]/MB_TP34/MB_I_sense_DCB/J4[B3]/I_dcb
  @{ */
#define MB_I_DCB_PORT PORTE /*!<@brief PORT device name: PORTE */
#define MB_I_DCB_PIN 18U    /*!<@brief PORTE pin index: 18 */
                            /* @} */

/*! @name PORTE21 (number 8), MB_J11[B4]/MB_TP31/MB_V_sense_DCB/MB_DCB_Pos/J4[B4]/U_dcb
  @{ */
#define MB_U_DCB_PORT PORTE /*!<@brief PORT device name: PORTE */
#define MB_U_DCB_PIN 21U    /*!<@brief PORTE pin index: 21 */
                            /* @} */

/*! @name PORTC1 (number 34), MB_J11[B9]/MB_U12[2]/MB_TP38/MB_IPM_temp/J4[B9]/Temp_IPM
  @{ */
#define MB_TEMP_IPM_PORT PORTC /*!<@brief PORT device name: PORTC */
#define MB_TEMP_IPM_PIN 1U     /*!<@brief PORTC pin index: 1 */
                               /* @} */

/*! @name PORTB1 (number 28), MB_J11[A4]/MB_U11B[7]/MB_TP40/MB_I_sense_B/J4[A4]/I_phB
  @{ */
#define MB_I_PH_B_PORT PORTB /*!<@brief PORT device name: PORTB */
#define MB_I_PH_B_PIN 1U     /*!<@brief PORTB pin index: 1 */
                             /* @} */

/*! @name PORTE20 (number 7), MB_J11[A5]/MB_U8A[1]/MB_TP37/MB_I_sense_C/J4[A5]/I_phC
  @{ */
#define MB_I_PH_C_2_PORT PORTE /*!<@brief PORT device name: PORTE */
#define MB_I_PH_C_2_PIN 20U    /*!<@brief PORTE pin index: 20 */
                               /* @} */

/*! @name PORTE30 (number 14), MB_J11[A3]/MB_U11A[1]/MB_TP45/MB_I_sense_A/J4[A3]/I_phA
  @{ */
#define MB_I_PH_A_PORT PORTE /*!<@brief PORT device name: PORTE */
#define MB_I_PH_A_PIN 30U    /*!<@brief PORTE pin index: 30 */
                             /* @} */

/*! @name PORTE19 (number 6), MB_J11[A5]/MB_U8A[1]/MB_TP37/MB_I_sense_C/J4[A5]/I_phC
  @{ */
#define MB_I_PH_C_PORT PORTE /*!<@brief PORT device name: PORTE */
#define MB_I_PH_C_PIN 19U    /*!<@brief PORTE pin index: 19 */
                             /* @} */

/*! @name PORTC6 (number 39), MB_J11[A6]/MB_TP16/MB_TACHO/J4[A6]/TACHO
  @{ */
#define MB_TACHO_PORT PORTC /*!<@brief PORT device name: PORTC */
#define MB_TACHO_PIN 6U     /*!<@brief PORTC pin index: 6 */
                            /* @} */

/*! @name PORTB3 (number 30), MB_J11[A7]/MB_TP18/MB_Vin/J4[A7]/V_in
  @{ */
#define MB_V_IN_PORT PORTB /*!<@brief PORT device name: PORTB */
#define MB_V_IN_PIN 3U     /*!<@brief PORTB pin index: 3 */
                           /* @} */

/*! @name PORTC2 (number 35), MB_J11[A8]/MB_U2B[7]/MB_TP14/MB_Ipfc1/J4[A8]/I_pfc1
  @{ */
#define MB_I_PFC1_PORT PORTC /*!<@brief PORT device name: PORTC */
#define MB_I_PFC1_PIN 2U     /*!<@brief PORTC pin index: 2 */
                             /* @} */

/*! @name PORTE17 (number 4), MB_J11[A9]/MB_U2A[1]/MB_TP5/MB_Ipfc2/J4[A9]/I_pfc2
  @{ */
#define MB_I_PFC2_PORT PORTE /*!<@brief PORT device name: PORTE */
#define MB_I_PFC2_PIN 17U    /*!<@brief PORTE pin index: 17 */
                             /* @} */

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

/*! @name PORTB0 (number 27), MB_J11[B6]/MB_TP44/MB_BEMF_sense_A/MB_Phase_A/J4[B6]/BEMF_A
  @{ */
#define MB_BEMF_A_PORT PORTB /*!<@brief PORT device name: PORTB */
#define MB_BEMF_A_PIN 0U     /*!<@brief PORTB pin index: 0 */
                             /* @} */

/*! @name PORTB2 (number 29), MB_J11[B7]/MB_TP43/MB_BEMF_sense_B/MB_Phase_B/J4[B7]/BEMF_B
  @{ */
#define MB_BEMF_B_PORT PORTB /*!<@brief PORT device name: PORTB */
#define MB_BEMF_B_PIN 2U     /*!<@brief PORTB pin index: 2 */
                             /* @} */

/*! @name PORTE16 (number 3), MB_J11[B8]/MB_TP41/MB_BEMF_sense_C/MB_Phase_C/J4[B8]/BEMF_C
  @{ */
#define MB_BEMF_C_PORT PORTE /*!<@brief PORT device name: PORTE */
#define MB_BEMF_C_PIN 16U    /*!<@brief PORTE pin index: 16 */
                             /* @} */

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

/*! @name PORTE29 (number 13), MB_J9[5]/MB_J11[B16]/MB_TP19/MB_ENC_Index/J4[B16]/TM2
  @{ */
#define MB_ENC_INDEX_GPIO GPIOE /*!<@brief GPIO device name: GPIOE */
#define MB_ENC_INDEX_PORT PORTE /*!<@brief PORT device name: PORTE */
#define MB_ENC_INDEX_PIN 29U    /*!<@brief PORTE pin index: 29 */
                                /* @} */

/*! @name PORTA1 (number 18), MB_J9[3]/MB_J11[B14]/MB_TP13/MB_ENC_PhaseA/J4[B14]/TM0
  @{ */
#define MB_ENC_PHASE_A_PORT PORTA /*!<@brief PORT device name: PORTA */
#define MB_ENC_PHASE_A_PIN 1U     /*!<@brief PORTA pin index: 1 */
                                  /* @} */

/*! @name PORTA2 (number 19), MB_J9[4]/MB_J11[B15]/MB_TP17/MB_ENC_PhaseB/J4[B15]/TM1
  @{ */
#define MB_ENC_PHASE_B_PORT PORTA /*!<@brief PORT device name: PORTA */
#define MB_ENC_PHASE_B_PIN 2U     /*!<@brief PORTA pin index: 2 */
                                  /* @} */

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

#define SOPT5_UART0RXSRC_UART_RX 0x00u /*!<@brief UART 0 Receive Data Source Select: UART0_RX pin */
#define SOPT5_UART0TXSRC_UART_TX 0x00u /*!<@brief UART 0 Transmit Data Source Select: UART0_TX pin */

/*! @name PORTB17 (number 32), MB_J1[3]/MB_J11[B26]/MB_U1[13]/MB_U3[25]/MB_TP3/MB_TP7/MB_TxD/J4[B26]/TxD
  @{ */
#define MB_TXD_PORT PORTB /*!<@brief PORT device name: PORTB */
#define MB_TXD_PIN 17U    /*!<@brief PORTB pin index: 17 */
                          /* @} */

/*! @name PORTB16 (number 31), MB_J3[2]/MB_J11[B27]/MB_U1[12]/MB_U3[26]/MB_TP2/MB_TP10/MB_RxD/J4[B27]/RxD
  @{ */
#define MB_RXD_PORT PORTB /*!<@brief PORT device name: PORTB */
#define MB_RXD_PIN 16U    /*!<@brief PORTB pin index: 16 */
                          /* @} */

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

#define SOPT5_UART1RXSRC_UART_RX 0x00u /*!<@brief UART 1 Receive Data Source Select: UART1_RX pin */
#define SOPT5_UART1TXSRC_UART_TX 0x00u /*!<@brief UART 1 Transmit Data Source Select: UART1_TX pin */

/*! @name PORTD1 (number 42), MB_J1[1]/MB_J2[3]/MB_J11[A31]/MB_TxD_1/MB_TxD_EXT/U6[13]/J4[A31]/TxD_1/UART1_TX_TGTMCU
  @{ */
#define MB_TXD_1_PORT PORTD /*!<@brief PORT device name: PORTD */
#define MB_TXD_1_PIN 1U     /*!<@brief PORTD pin index: 1 */
                            /* @} */

/*! @name PORTD0 (number 41), MB_J2[4]/MB_J3[4]/MB_J11[A32]/MB_RxD_1/MB_RxD_EXT/U6[14]/J4[A32]/RxD1/UART1_TGT_MCU
  @{ */
#define MB_RXD_1_PORT PORTD /*!<@brief PORT device name: PORTD */
#define MB_RXD_1_PIN 0U     /*!<@brief PORTD pin index: 0 */
                            /* @} */

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

/*! @name PORTD3 (number 44), MB_J11[B25]/MB_U9[2]/MB_TP_35/MB_MCU_BRAKE/J4[B25]/MCU_BRAKE
  @{ */
#define MB_MCU_BRAKE_GPIO GPIOD /*!<@brief GPIO device name: GPIOD */
#define MB_MCU_BRAKE_PORT PORTD /*!<@brief PORT device name: PORTD */
#define MB_MCU_BRAKE_PIN 3U     /*!<@brief PORTD pin index: 3 */
                                /* @} */

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

/*!
 * @brief Enable alternative conversion triggers for ADC0.: PDB0 CH0 triggers ADC0 */
#define SOPT7_ADC0ALTTRGEN_PDB0 0x00u
/*!
 * @brief Enable alternative conversion triggers for ADC1.: PDB0 CH1 triggers ADC1 */
#define SOPT7_ADC1ALTTRGEN_PDB0 0x00u

/*! @name PORTA19 (number 25), MB_J11[A26]/MB_U9[2]/MB_TP35/MB_FAULT_2/MB_Over-voltage_FAULT/J4[A26]/FAULT_2
  @{ */
#define MB_FAULT_2_GPIO GPIOA /*!<@brief GPIO device name: GPIOA */
#define MB_FAULT_2_PORT PORTA /*!<@brief PORT device name: PORTA */
#define MB_FAULT_2_PIN 19U    /*!<@brief PORTA pin index: 19 */
                              /* @} */

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

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

#define SOPT5_UART1RXSRC_UART_RX 0x00u /*!<@brief UART 1 Receive Data Source Select: UART1_RX pin */
#define SOPT5_UART1TXSRC_UART_TX 0x00u /*!<@brief UART 1 Transmit Data Source Select: UART1_TX pin */

/*! @name PORTD0 (number 41), MB_J2[4]/MB_J3[4]/MB_J11[A32]/MB_RxD_1/MB_RxD_EXT/U6[14]/J4[A32]/RxD1/UART1_TGT_MCU
  @{ */
#define BOARD_UART_RX_TGTMCU_PORT PORTD /*!<@brief PORT device name: PORTD */
#define BOARD_UART_RX_TGTMCU_PIN 0U     /*!<@brief PORTD pin index: 0 */
                                        /* @} */

/*! @name PORTD1 (number 42), MB_J1[1]/MB_J2[3]/MB_J11[A31]/MB_TxD_1/MB_TxD_EXT/U6[13]/J4[A31]/TxD_1/UART1_TX_TGTMCU
  @{ */
#define BOARD_UART_TX_TGTMCU_PORT PORTD /*!<@brief PORT device name: PORTD */
#define BOARD_UART_TX_TGTMCU_PIN 1U     /*!<@brief PORTD pin index: 1 */
                                        /* @} */

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

/*! @name PORTC3 (number 36), USER_LED_2
  @{ */
#define BOARD_LED_RED_GPIO GPIOC /*!<@brief GPIO device name: GPIOC */
#define BOARD_LED_RED_PORT PORTC /*!<@brief PORT device name: PORTC */
#define BOARD_LED_RED_PIN 3U     /*!<@brief PORTC pin index: 3 */
                                 /* @} */

/*! @name PORTD2 (number 43), MB_J11[B20]/MB_U9[4]/MB_USER_LED/J4[B20]/USER_LED
  @{ */
#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 2U     /*!<@brief PORTD pin index: 2 */
                                   /* @} */

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

#if defined(__cplusplus)
}
#endif

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

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