91 lines
3.0 KiB
C
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
|
|
|