blob: c61fd98279b4d7ab8212a9d2b4d48f9c5a0f5f6e [file] [log] [blame]
/* Coldfire C Header File
* Copyright Freescale Semiconductor Inc
* All rights reserved.
*
* 2008/04/17 Revision: 0.2
*
* (c) Copyright UNIS, spol. s r.o. 1997-2008
* UNIS, spol. s r.o.
* Jundrovska 33
* 624 00 Brno
* Czech Republic
* http : www.processorexpert.com
* mail : info@processorexpert.com
*/
#ifndef __MCF52259_GPT_H__
#define __MCF52259_GPT_H__
/*********************************************************************
*
* General Purpose Timer Module (GPT)
*
*********************************************************************/
/* Register read/write macros */
#define MCF_GPT_GPTIOS (*(vuint8 *)(0x401A0000))
#define MCF_GPT_GPTCFORC (*(vuint8 *)(0x401A0001))
#define MCF_GPT_GPTOC3M (*(vuint8 *)(0x401A0002))
#define MCF_GPT_GPTOC3D (*(vuint8 *)(0x401A0003))
#define MCF_GPT_GPTCNT (*(vuint16*)(0x401A0004))
#define MCF_GPT_GPTSCR1 (*(vuint8 *)(0x401A0006))
#define MCF_GPT_GPTTOV (*(vuint8 *)(0x401A0008))
#define MCF_GPT_GPTCTL1 (*(vuint8 *)(0x401A0009))
#define MCF_GPT_GPTCTL2 (*(vuint8 *)(0x401A000B))
#define MCF_GPT_GPTIE (*(vuint8 *)(0x401A000C))
#define MCF_GPT_GPTSCR2 (*(vuint8 *)(0x401A000D))
#define MCF_GPT_GPTFLG1 (*(vuint8 *)(0x401A000E))
#define MCF_GPT_GPTFLG2 (*(vuint8 *)(0x401A000F))
#define MCF_GPT_GPTC0 (*(vuint16*)(0x401A0010))
#define MCF_GPT_GPTC1 (*(vuint16*)(0x401A0012))
#define MCF_GPT_GPTC2 (*(vuint16*)(0x401A0014))
#define MCF_GPT_GPTC3 (*(vuint16*)(0x401A0016))
#define MCF_GPT_GPTPACTL (*(vuint8 *)(0x401A0018))
#define MCF_GPT_GPTPAFLG (*(vuint8 *)(0x401A0019))
#define MCF_GPT_GPTPACNT (*(vuint16*)(0x401A001A))
#define MCF_GPT_GPTPORT (*(vuint8 *)(0x401A001D))
#define MCF_GPT_GPTDDR (*(vuint8 *)(0x401A001E))
#define MCF_GPT_GPTC(x) (*(vuint16*)(0x401A0010 + ((x)*0x2)))
/* Bit definitions and macros for MCF_GPT_GPTIOS */
#define MCF_GPT_GPTIOS_IOS0 (0x1)
#define MCF_GPT_GPTIOS_IOS1 (0x2)
#define MCF_GPT_GPTIOS_IOS2 (0x4)
#define MCF_GPT_GPTIOS_IOS3 (0x8)
/* Bit definitions and macros for MCF_GPT_GPTCFORC */
#define MCF_GPT_GPTCFORC_FOC0 (0x1)
#define MCF_GPT_GPTCFORC_FOC1 (0x2)
#define MCF_GPT_GPTCFORC_FOC2 (0x4)
#define MCF_GPT_GPTCFORC_FOC3 (0x8)
/* Bit definitions and macros for MCF_GPT_GPTOC3M */
#define MCF_GPT_GPTOC3M_OC3M0 (0x1)
#define MCF_GPT_GPTOC3M_OC3M1 (0x2)
#define MCF_GPT_GPTOC3M_OC3M2 (0x4)
#define MCF_GPT_GPTOC3M_OC3M3 (0x8)
/* Bit definitions and macros for MCF_GPT_GPTOC3D */
#define MCF_GPT_GPTOC3D_OC3D0 (0x1)
#define MCF_GPT_GPTOC3D_OC3D1 (0x2)
#define MCF_GPT_GPTOC3D_OC3D2 (0x4)
#define MCF_GPT_GPTOC3D_OC3D3 (0x8)
/* Bit definitions and macros for MCF_GPT_GPTCNT */
#define MCF_GPT_GPTCNT_CNTR(x) (((x)&0xFFFF)<<0)
/* Bit definitions and macros for MCF_GPT_GPTSCR1 */
#define MCF_GPT_GPTSCR1_TFFCA (0x10)
#define MCF_GPT_GPTSCR1_GPTEN (0x80)
/* Bit definitions and macros for MCF_GPT_GPTTOV */
#define MCF_GPT_GPTTOV_TOV0 (0x1)
#define MCF_GPT_GPTTOV_TOV1 (0x2)
#define MCF_GPT_GPTTOV_TOV2 (0x4)
#define MCF_GPT_GPTTOV_TOV3 (0x8)
/* Bit definitions and macros for MCF_GPT_GPTCTL1 */
#define MCF_GPT_GPTCTL1_OL0 (0x1)
#define MCF_GPT_GPTCTL1_OM0 (0x2)
#define MCF_GPT_GPTCTL1_OL1 (0x4)
#define MCF_GPT_GPTCTL1_OM1 (0x8)
#define MCF_GPT_GPTCTL1_OL2 (0x10)
#define MCF_GPT_GPTCTL1_OM2 (0x20)
#define MCF_GPT_GPTCTL1_OL3 (0x40)
#define MCF_GPT_GPTCTL1_OM3 (0x80)
#define MCF_GPT_GPTCTL1_OUTPUT0_NOTHING (0)
#define MCF_GPT_GPTCTL1_OUTPUT0_TOGGLE (0x1)
#define MCF_GPT_GPTCTL1_OUTPUT0_CLEAR (0x2)
#define MCF_GPT_GPTCTL1_OUTPUT0_SET (0x3)
#define MCF_GPT_GPTCTL1_OUTPUT1_NOTHING (0)
#define MCF_GPT_GPTCTL1_OUTPUT1_TOGGLE (0x4)
#define MCF_GPT_GPTCTL1_OUTPUT1_CLEAR (0x8)
#define MCF_GPT_GPTCTL1_OUTPUT1_SET (0xC)
#define MCF_GPT_GPTCTL1_OUTPUT2_NOTHING (0)
#define MCF_GPT_GPTCTL1_OUTPUT2_TOGGLE (0x10)
#define MCF_GPT_GPTCTL1_OUTPUT2_CLEAR (0x20)
#define MCF_GPT_GPTCTL1_OUTPUT2_SET (0x30)
#define MCF_GPT_GPTCTL1_OUTPUT3_NOTHING (0)
#define MCF_GPT_GPTCTL1_OUTPUT3_TOGGLE (0x40)
#define MCF_GPT_GPTCTL1_OUTPUT3_CLEAR (0x80)
#define MCF_GPT_GPTCTL1_OUTPUT3_SET (0xC0)
/* Bit definitions and macros for MCF_GPT_GPTCTL2 */
#define MCF_GPT_GPTCTL2_EDG0A (0x1)
#define MCF_GPT_GPTCTL2_EDG0B (0x2)
#define MCF_GPT_GPTCTL2_EDG1A (0x4)
#define MCF_GPT_GPTCTL2_EDG1B (0x8)
#define MCF_GPT_GPTCTL2_EDG2A (0x10)
#define MCF_GPT_GPTCTL2_EDG2B (0x20)
#define MCF_GPT_GPTCTL2_EDG3A (0x40)
#define MCF_GPT_GPTCTL2_EDG3B (0x80)
#define MCF_GPT_GPTCTL2_INPUT0_DISABLED (0)
#define MCF_GPT_GPTCTL2_INPUT0_RISING (0x1)
#define MCF_GPT_GPTCTL2_INPUT0_FALLING (0x2)
#define MCF_GPT_GPTCTL2_INPUT0_ANY (0x3)
#define MCF_GPT_GPTCTL2_INPUT1_DISABLED (0)
#define MCF_GPT_GPTCTL2_INPUT1_RISING (0x4)
#define MCF_GPT_GPTCTL2_INPUT1_FALLING (0x8)
#define MCF_GPT_GPTCTL2_INPUT1_ANY (0xC)
#define MCF_GPT_GPTCTL2_INPUT2_DISABLED (0)
#define MCF_GPT_GPTCTL2_INPUT2_RISING (0x10)
#define MCF_GPT_GPTCTL2_INPUT2_FALLING (0x20)
#define MCF_GPT_GPTCTL2_INPUT2_ANY (0x30)
#define MCF_GPT_GPTCTL2_INPUT3_DISABLED (0)
#define MCF_GPT_GPTCTL2_INPUT3_RISING (0x40)
#define MCF_GPT_GPTCTL2_INPUT3_FALLING (0x80)
#define MCF_GPT_GPTCTL2_INPUT3_ANY (0xC0)
/* Bit definitions and macros for MCF_GPT_GPTIE */
#define MCF_GPT_GPTIE_CI0 (0x1)
#define MCF_GPT_GPTIE_CI1 (0x2)
#define MCF_GPT_GPTIE_CI2 (0x4)
#define MCF_GPT_GPTIE_CI3 (0x8)
/* Bit definitions and macros for MCF_GPT_GPTSCR2 */
#define MCF_GPT_GPTSCR2_PR(x) (((x)&0x7)<<0)
#define MCF_GPT_GPTSCR2_PR_1 (0)
#define MCF_GPT_GPTSCR2_PR_2 (0x1)
#define MCF_GPT_GPTSCR2_PR_4 (0x2)
#define MCF_GPT_GPTSCR2_PR_8 (0x3)
#define MCF_GPT_GPTSCR2_PR_16 (0x4)
#define MCF_GPT_GPTSCR2_PR_32 (0x5)
#define MCF_GPT_GPTSCR2_PR_64 (0x6)
#define MCF_GPT_GPTSCR2_PR_128 (0x7)
#define MCF_GPT_GPTSCR2_TCRE (0x8)
#define MCF_GPT_GPTSCR2_RDPT (0x10)
#define MCF_GPT_GPTSCR2_PUPT (0x20)
#define MCF_GPT_GPTSCR2_TOI (0x80)
/* Bit definitions and macros for MCF_GPT_GPTFLG1 */
#define MCF_GPT_GPTFLG1_CF0 (0x1)
#define MCF_GPT_GPTFLG1_CF1 (0x2)
#define MCF_GPT_GPTFLG1_CF2 (0x4)
#define MCF_GPT_GPTFLG1_CF3 (0x8)
/* Bit definitions and macros for MCF_GPT_GPTFLG2 */
#define MCF_GPT_GPTFLG2_TOF (0x80)
/* Bit definitions and macros for MCF_GPT_GPTC */
#define MCF_GPT_GPTC_CCNT(x) (((x)&0xFFFF)<<0)
/* Bit definitions and macros for MCF_GPT_GPTPACTL */
#define MCF_GPT_GPTPACTL_PAI (0x1)
#define MCF_GPT_GPTPACTL_PAOVI (0x2)
#define MCF_GPT_GPTPACTL_CLK(x) (((x)&0x3)<<0x2)
#define MCF_GPT_GPTPACTL_CLK_GPTPR (0)
#define MCF_GPT_GPTPACTL_CLK_PACLK (0x1)
#define MCF_GPT_GPTPACTL_CLK_PACLK_256 (0x2)
#define MCF_GPT_GPTPACTL_CLK_PACLK_65536 (0x3)
#define MCF_GPT_GPTPACTL_PEDGE (0x10)
#define MCF_GPT_GPTPACTL_PAMOD (0x20)
#define MCF_GPT_GPTPACTL_PAE (0x40)
/* Bit definitions and macros for MCF_GPT_GPTPAFLG */
#define MCF_GPT_GPTPAFLG_PAIF (0x1)
#define MCF_GPT_GPTPAFLG_PAOVF (0x2)
/* Bit definitions and macros for MCF_GPT_GPTPACNT */
#define MCF_GPT_GPTPACNT_PACNT(x) (((x)&0xFFFF)<<0)
/* Bit definitions and macros for MCF_GPT_GPTPORT */
#define MCF_GPT_GPTPORT_PORTT0 (0x1)
#define MCF_GPT_GPTPORT_PORTT1 (0x2)
#define MCF_GPT_GPTPORT_PORTT2 (0x4)
#define MCF_GPT_GPTPORT_PORTT3 (0x8)
/* Bit definitions and macros for MCF_GPT_GPTDDR */
#define MCF_GPT_GPTDDR_DDRT0 (0x1)
#define MCF_GPT_GPTDDR_DDRT1 (0x2)
#define MCF_GPT_GPTDDR_DDRT2 (0x4)
#define MCF_GPT_GPTDDR_DDRT3 (0x8)
#endif /* __MCF52259_GPT_H__ */