text: //   
  //   BSD 3-Clause License
  //   
  //   Copyright (c) 2020, Kurt Kennett
  //   All rights reserved.
  //   
  //   Redistribution and use in source and binary forms, with or without
  //   modification, are permitted provided that the following conditions are met:
  //   
  //   1. Redistributions of source code must retain the above copyright notice, this
  //      list of conditions and the following disclaimer.
  //   
  //   2. Redistributions in binary form must reproduce the above copyright notice,
  //      this list of conditions and the following disclaimer in the documentation
  //      and/or other materials provided with the distribution.
  //   
  //   3. Neither the name of the copyright holder nor the names of its
  //      contributors may be used to endorse or promote products derived from
  //      this software without specific prior written permission.
  //   
  //   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  //   AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  //   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  //   DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
  //   FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  //   DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
  //   SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
  //   CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  //   OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  //   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  //
  #ifndef __IMX6GPTLIB_H__
  #define __IMX6GPTLIB_H__
  
  #include <Uefi.h>
  #include "../../IMX6def.inc"
  #include <Library/IMX6/IMX6ClockLib.h>
  
  // -----------------------------------------------------------------------------
  
  UINT32
  EFIAPI
  IMX6_GPT_GetRate(
      UINT32 Regs_CCM,
      UINT32 Regs_GPT
  );
  
  UINT32
  EFIAPI
  IMX6_GPT_TicksFromUs(
      UINT32 GPTRate,
      UINT32 uSeconds
  );
  
  void
  IMX6_GPT_DelayUs(
      UINT32 Regs_GPT,
      UINT32 GPTRate,
      UINT32 usDelay
  );
  
  // -----------------------------------------------------------------------------
  
  #endif  // __IMX6GPTLIB_H__
  