text: /* mbed Microcontroller Library
   * Copyright (c) 2006-2013 ARM Limited
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *     http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  #include "gpio_api.h"
  #include "clock_config.h"
  #include "fsl_power.h"
  
  // called before main
  void mbed_sdk_init()
  {
      BOARD_BootClockFROHF48M();
  }
  
  // Change the NMI pin to an input. This allows NMI pin to
  //  be used as a low power mode wakeup.  The application will
  //  need to change the pin back to NMI_b or wakeup only occurs once!
  void NMI_Handler(void)
  {
      //gpio_t gpio;
      //gpio_init_in(&gpio, PTA4);
  }
  
  void ADC_ClockPower_Configuration(void)
  {
      /* SYSCON power. */
      POWER_DisablePD(kPDRUNCFG_PD_ADC0);     /* Power on the ADC converter. */
      POWER_DisablePD(kPDRUNCFG_PD_VD7_ENA);  /* Power on the analog power supply. */
      POWER_DisablePD(kPDRUNCFG_PD_VREFP_SW); /* Power on the reference voltage source. */
      POWER_DisablePD(kPDRUNCFG_PD_TEMPS);    /* Power on the temperature sensor. */
  
      /* Enable the clock. */
      CLOCK_EnableClock(kCLOCK_Adc0);
  }
  
  // Enable the RTC oscillator if available on the board
  void rtc_setup_oscillator(void)
  {
      /* Enable the RTC 32K Oscillator */
      SYSCON->RTCOSCCTRL |= SYSCON_RTCOSCCTRL_EN_MASK;
  }
  
  uint32_t us_ticker_get_clock()
  {
      return CLOCK_GetFreq(kCLOCK_BusClk);;
  }
  
  