Files
m241Neelima/vxworks-6.9/target/h/hwif/timer/mcfPit.h
T
2026-07-30 11:19:44 +05:30

91 lines
3.0 KiB
C

/* mcfPit.h - coldfire programmable interrupt timer device header */
/*
* Copyright (c) 2007 Wind River Systems, Inc.
*
* The right to copy, distribute, modify or otherwise make use
* of this software may be licensed only pursuant to the terms
* of an applicable Wind River license agreement.
*/
/*
modification history
--------------------
01a,14nov07,rec created
*/
#ifndef __INCmcfPith
#define __INCmcfPith
/* register offsets */
#define VXB_MCF_PIT_PCSR 0
#define VXB_MCF_PIT_PMR 2
#define VXB_MCF_PIT_PCNTR 4
/* Register read/write macros */
#ifndef MCF_PIT_REG_OFFSET
#define MCF_PIT_REG_OFFSET 0x4000
#endif
#define MCF_PIT0_PCSR ((volatile UINT16*)(MCF_PIT0_BASE + \
VXB_MCF_PIT_PCSR))
#define MCF_PIT0_PMR ((volatile UINT16*)(MCF_PIT0_BASE + \
VXB_MCF_PIT_PMR))
#define MCF_PIT0_PCNTR ((volatile UINT16*)(MCF_PIT0_BASE + \
VXB_MCF_PIT_PCNTR))
#define MCF_PIT1_PCSR ((volatile UINT16*)(MCF_PIT1_BASE + \
VXB_MCF_PIT_PCSR))
#define MCF_PIT1_PMR ((volatile UINT16*)(MCF_PIT1_BASE + \
VXB_MCF_PIT_PMR))
#define MCF_PIT1_PCNTR ((volatile UINT16*)(MCF_PIT1_BASE + \
VXB_MCF_PIT_PCNTR))
#define MCF_PIT2_PCSR ((volatile UINT16*)(MCF_PIT2_BASE + \
VXB_MCF_PIT_PCSR))
#define MCF_PIT2_PMR ((volatile UINT16*)(MCF_PIT2_BASE + \
VXB_MCF_PIT_PMR))
#define MCF_PIT2_PCNTR ((volatile UINT16*)(MCF_PIT2_BASE + \
VXB_MCF_PIT_PCNTR))
#define MCF_PIT3_PCSR ((volatile UINT16*)(MCF_PIT3_BASE + \
VXB_MCF_PIT_PCSR))
#define MCF_PIT3_PMR ((volatile UINT16*)(MCF_PIT3_BASE + \
VXB_MCF_PIT_PMR))
#define MCF_PIT3_PCNTR ((volatile UINT16*)(MCF_PIT3_BASE + \
VXB_MCF_PIT_PCNTR))
#define MCF_PIT_PCSR(x) ((volatile UINT16*)((MCF_PIT0_BASE + \
(x) * MCF_PIT_REG_OFFSET)))
#define MCF_PIT_PMR(x) ((volatile UINT16*)((MCF_PIT0_BASE + \
(x) * MCF_PIT_REG_OFFSET)))
#define MCF_PIT_PCNTR(x) ((volatile UINT16*)((MCF_PIT0_BASE + \
(x) * MCF_PIT_REG_OFFSET)))
/* Bit definitions and macros for MCF_PIT_PCSR */
#define MCF_PIT_PCSR_EN (0x0001)
#define MCF_PIT_PCSR_RLD (0x0002)
#define MCF_PIT_PCSR_PIF (0x0004)
#define MCF_PIT_PCSR_PIE (0x0008)
#define MCF_PIT_PCSR_OVW (0x0010)
#define MCF_PIT_PCSR_HALTED (0x0020)
#define MCF_PIT_PCSR_DOZE (0x0040)
#define MCF_PIT_PCSR_PRE(x) (((x)&0x000F)<<8)
/* Bit definitions and macros for MCF_PIT_PMR */
#define MCF_PIT_PMR_PM(x) (((x)&0xFFFF)<<0)
/* Bit definitions and macros for MCF_PIT_PCNTR */
#define MCF_PIT_PCNTR_PC(x) (((x)&0xFFFF)<<0)
#endif