diff options
Diffstat (limited to 'bsps/sparc/include/bsp/grctm.h')
-rw-r--r-- | bsps/sparc/include/bsp/grctm.h | 171 |
1 files changed, 0 insertions, 171 deletions
diff --git a/bsps/sparc/include/bsp/grctm.h b/bsps/sparc/include/bsp/grctm.h deleted file mode 100644 index 5ff81559aa..0000000000 --- a/bsps/sparc/include/bsp/grctm.h +++ /dev/null @@ -1,171 +0,0 @@ -/* GRCTM - CCSDS Time Manager - register driver interface. - * - * COPYRIGHT (c) 2009. - * Cobham Gaisler AB - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - -#ifndef __GRCTM_H__ -#define __GRCTM_H__ - -#define DAT0_IRQ 0x1 -#define DAT1_IRQ 0x2 -#define DAT2_IRQ 0x4 -#define PULSE0_IRQ 0x10 -#define PULSE1_IRQ 0x20 -#define PULSE2_IRQ 0x40 -#define PULSE3_IRQ 0x80 -#define PULSE4_IRQ 0x100 -#define PULSE5_IRQ 0x200 -#define PULSE6_IRQ 0x400 -#define PULSE7_IRQ 0x800 - -struct grctm_regs { - volatile unsigned int grr; - volatile unsigned int gcr; - volatile unsigned int gsr; - volatile unsigned int unused[2]; - volatile unsigned int pfr; - volatile unsigned int etcr; - volatile unsigned int etfr; - volatile unsigned int dcr0; - volatile unsigned int dfr0; - volatile unsigned int dcr1; - volatile unsigned int dfr1; - volatile unsigned int dcr2; - volatile unsigned int dfr2; - volatile unsigned int stcr; - volatile unsigned int stfr; - volatile unsigned int pdr[8]; - volatile unsigned int pimsr; - volatile unsigned int pimr; - volatile unsigned int pisr; - volatile unsigned int pir; - volatile unsigned int imr; - volatile unsigned int picr; - volatile unsigned int unused1[2]; - volatile unsigned int etir; - volatile unsigned int fsir; - volatile unsigned int serconf; - volatile unsigned int unused2; - volatile unsigned int twsc; - volatile unsigned int twadj; - volatile unsigned int twtx; - volatile unsigned int twrx; -}; - -struct grctm_stats { - - /* IRQ Stats */ - unsigned int nirqs; - unsigned int pulse; -}; - -/* Function ISR callback prototype */ -typedef void (*grctm_isr_t)(unsigned int pimr, void *data); - -/* Open a GRCTM device by minor number. */ -extern void *grctm_open(int minor); - -/* Close a previously opened GRCTM device */ -extern void grctm_close(void *spwcuc); - -/* Hardware Reset of GRCTM */ -extern int grctm_reset(void *grctm); - -/* Enable Interrupts at Interrupt controller */ -extern void grctm_int_enable(void *grctm); - -/* Disable Interrupts at Interrupt controller */ -extern void grctm_int_disable(void *grctm); - -/* Clear Statistics gathered by the driver */ -extern void grctm_clr_stats(void *grctm); - -/* Get Statistics gathered by the driver */ -extern void grctm_get_stats(void *grctm, struct grctm_stats *stats); - -/* Register an Interrupt handler and custom data, the function call is - * removed by setting func to NULL. - */ -extern void grctm_int_register(void *grctm, grctm_isr_t func, void *data); - -/* Enable external synchronisation (from spwcuc) */ -extern void grctm_enable_ext_sync(void *grctm); - -/* Disable external synchronisation (from spwcuc) */ -extern void grctm_disable_ext_sync(void *grctm); - -/* Enable TimeWire synchronisation */ -extern void grctm_enable_tw_sync(void *grctm); - -/* Disable TimeWire synchronisation */ -extern void grctm_disable_tw_sync(void *grctm); - -/* Disable frequency synthesizer from driving ET */ -extern void grctm_disable_fs(void *grctm); - -/* Enable frequency synthesizer to drive ET */ -extern void grctm_enable_fs(void *grctm); - -/* Return elapsed coarse time */ -extern unsigned int grctm_get_et_coarse(void *grctm); - -/* Return elapsed fine time */ -extern unsigned int grctm_get_et_fine(void *grctm); - -/* Return elapsed time (coarse and fine) */ -extern unsigned long long grctm_get_et(void *grctm); - -/* Return 1 if specified datation has been latched */ -extern int grctm_is_dat_latched(void *grctm, int dat); - -/* Set triggering edge of datation input */ -extern void grctm_set_dat_edge(void *grctm, int dat, int edge); - -/* Return latched datation coarse time */ -extern unsigned int grctm_get_dat_coarse(void *grctm, int dat); - -/* Return latched datation fine time */ -extern unsigned int grctm_get_dat_fine(void *grctm, int dat); - -/* Return latched datation ET */ -extern unsigned long long grctm_get_dat_et(void *grctm, int dat); - -/* Return current pulse configuration */ -extern unsigned int grctm_get_pulse_reg(void *grctm, int pulse); - -/* Set pulse register */ -extern void grctm_set_pulse_reg(void *grctm, int pulse, unsigned int val); - -/* Configure pulse: pp = period, pw = width, pl = level, en = enable */ -extern void grctm_cfg_pulse(void *grctm, int pulse, int pp, int pw, int pl, int en); - -/* Enable pulse output */ -extern void grctm_enable_pulse(void *grctm, int pulse); - -/* Disable pulse output */ -extern void grctm_disable_pulse(void *grctm, int pulse); - -/* Clear interrupts */ -extern void grctm_clear_irqs(void *grctm, int irqs); - -/* Enable interrupts */ -extern void grctm_enable_irqs(void *grctm, int irqs); - -/* Set Frequency synthesizer increment */ -void grctm_set_fs_incr(void *grctm, int incr); - -/* Set ET increment */ -void grctm_set_et_incr(void *grctm, int incr); - -/* Get register base address */ -struct grctm_regs *grctm_get_regs(void *grctm); - -/* Register the GRCTM driver to Driver Manager */ -extern void grctm_register(void); - -#endif |