linux/arch/powerpc/include/asm/fsl_gtm.h
<<
>>
Prefs
   1/*
   2 * Freescale General-purpose Timers Module
   3 *
   4 * Copyright (c) Freescale Semicondutor, Inc. 2006.
   5 *               Shlomi Gridish <gridish@freescale.com>
   6 *               Jerry Huang <Chang-Ming.Huang@freescale.com>
   7 * Copyright (c) MontaVista Software, Inc. 2008.
   8 *               Anton Vorontsov <avorontsov@ru.mvista.com>
   9 *
  10 * This program is free software; you can redistribute  it and/or modify it
  11 * under  the terms of  the GNU General  Public License as published by the
  12 * Free Software Foundation;  either version 2 of the  License, or (at your
  13 * option) any later version.
  14 */
  15
  16#ifndef __ASM_FSL_GTM_H
  17#define __ASM_FSL_GTM_H
  18
  19#include <linux/types.h>
  20
  21struct gtm;
  22
  23struct gtm_timer {
  24        unsigned int irq;
  25
  26        struct gtm *gtm;
  27        bool requested;
  28        u8 __iomem *gtcfr;
  29        __be16 __iomem *gtmdr;
  30        __be16 __iomem *gtpsr;
  31        __be16 __iomem *gtcnr;
  32        __be16 __iomem *gtrfr;
  33        __be16 __iomem *gtevr;
  34};
  35
  36extern struct gtm_timer *gtm_get_timer16(void);
  37extern struct gtm_timer *gtm_get_specific_timer16(struct gtm *gtm,
  38                                                  unsigned int timer);
  39extern void gtm_put_timer16(struct gtm_timer *tmr);
  40extern int gtm_set_timer16(struct gtm_timer *tmr, unsigned long usec,
  41                             bool reload);
  42extern int gtm_set_exact_timer16(struct gtm_timer *tmr, u16 usec,
  43                                 bool reload);
  44extern void gtm_stop_timer16(struct gtm_timer *tmr);
  45extern void gtm_ack_timer16(struct gtm_timer *tmr, u16 events);
  46
  47#endif /* __ASM_FSL_GTM_H */
  48