text: /*
   * Copyright (c) 2016, Freescale Semiconductor, Inc.
   * Copyright 2016-2017 NXP
   * All rights reserved.
   *
   * SPDX-License-Identifier: BSD-3-Clause
   */
  
  
  /* clang-format off */
  /*
   * TEXT BELOW IS USED AS SETTING FOR TOOLS *************************************
  !!GlobalInfo
  product: Pins v3.0
  processor: MK28FN2M0Axxx15
  package_id: MK28FN2M0AVMI15
  mcu_data: ksdk2_0
  processor_version: 0.0.8
   * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS ***********
   */
  /* clang-format on */
  
  #include "fsl_common.h"
  #include "fsl_port.h"
  #include "pin_mux.h"
  
  
  
  /* clang-format off */
  /*
   * TEXT BELOW IS USED AS SETTING FOR TOOLS *************************************
  
  BOARD_InitPins:
  
  - options: {callFromInitBoot: 'true', coreID: core0, enableClock: 'true'}
  
  - pin_list:
  
    - {pin_num: B7, peripheral: LPUART0, signal: TX, pin_signal: PTC24/LPUART0_TX/FB_A5/SDRAM_D5/QSPI0A_DATA3}
  
    - {pin_num: A7, peripheral: LPUART0, signal: RX, pin_signal: PTC25/LPUART0_RX/FB_A4/SDRAM_D4/QSPI0A_SCLK}
  
    - {pin_num: G11, peripheral: I2C0, signal: SCL, pin_signal: ADC0_SE12/TSI0_CH7/PTB2/I2C0_SCL/LPUART0_RTS_b/SDRAM_WE_b/FTM0_FLT3/FXIO0_D2, slew_rate: fast, open_drain: enable,
  
      pull_select: up, pull_enable: enable}
  
    - {pin_num: G10, peripheral: I2C0, signal: SDA, pin_signal: ADC0_SE13/TSI0_CH8/PTB3/I2C0_SDA/LPUART0_CTS_b/SDRAM_CS0_b/FTM0_FLT0/FXIO0_D3, slew_rate: fast, open_drain: enable,
  
      pull_select: up, pull_enable: enable}
  
   * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS ***********
   */
  /* clang-format on */
  
  /* FUNCTION ************************************************************************************************************
   *
   * Function Name : BOARD_InitPins
   * Description   : Configures pin routing and optionally pin electrical features.
   *
   * END ****************************************************************************************************************/
  void BOARD_InitPins(void)
  {
      /* Port B Clock Gate Control: Clock enabled */
      CLOCK_EnableClock(kCLOCK_PortB);
      /* Port C Clock Gate Control: Clock enabled */
      CLOCK_EnableClock(kCLOCK_PortC);
  
      const port_pin_config_t portb2_pinG11_config = {/* Internal pull-up resistor is enabled */
                                                      kPORT_PullUp,
                                                      /* Fast slew rate is configured */
                                                      kPORT_FastSlewRate,
                                                      /* Passive filter is disabled */
                                                      kPORT_PassiveFilterDisable,
                                                      /* Open drain is enabled */
                                                      kPORT_OpenDrainEnable,
                                                      /* Low drive strength is configured */
                                                      kPORT_LowDriveStrength,
                                                      /* Pin is configured as I2C0_SCL */
                                                      kPORT_MuxAlt2,
                                                      /* Pin Control Register fields [15:0] are not locked */
                                                      kPORT_UnlockRegister};
      /* PORTB2 (pin G11) is configured as I2C0_SCL */
      PORT_SetPinConfig(PORTB, 2U, &portb2_pinG11_config);
  
      const port_pin_config_t portb3_pinG10_config = {/* Internal pull-up resistor is enabled */
                                                      kPORT_PullUp,
                                                      /* Fast slew rate is configured */
                                                      kPORT_FastSlewRate,
                                                      /* Passive filter is disabled */
                                                      kPORT_PassiveFilterDisable,
                                                      /* Open drain is enabled */
                                                      kPORT_OpenDrainEnable,
                                                      /* Low drive strength is configured */
                                                      kPORT_LowDriveStrength,
                                                      /* Pin is configured as I2C0_SDA */
                                                      kPORT_MuxAlt2,
                                                      /* Pin Control Register fields [15:0] are not locked */
                                                      kPORT_UnlockRegister};
      /* PORTB3 (pin G10) is configured as I2C0_SDA */
      PORT_SetPinConfig(PORTB, 3U, &portb3_pinG10_config);
  
      /* PORTC24 (pin B7) is configured as LPUART0_TX */
      PORT_SetPinMux(PORTC, 24U, kPORT_MuxAlt3);
  
      /* PORTC25 (pin A7) is configured as LPUART0_RX */
      PORT_SetPinMux(PORTC, 25U, kPORT_MuxAlt3);
  
      SIM->SOPT5 = ((SIM->SOPT5 &
                     /* Mask bits to zero which are setting */
                     (~(SIM_SOPT5_LPUART0TXSRC_MASK | SIM_SOPT5_LPUART0RXSRC_MASK)))
  
                    /* LPUART0 transmit data source select: LPUART0_TX pin. */
                    | SIM_SOPT5_LPUART0TXSRC(SOPT5_LPUART0TXSRC_LPUART_TX)
  
                    /* LPUART0 receive data source select: LPUART0_RX pin. */
                    | SIM_SOPT5_LPUART0RXSRC(SOPT5_LPUART0RXSRC_LPUART_RX));
  }
  /***********************************************************************************************************************
   * EOF
   **********************************************************************************************************************/
  