/* Coldfire C Header File
 * Copyright Freescale Semiconductor Inc
 * All rights reserved.
 *
 * 2007/03/19 Revision: 0.9
 */

#ifndef __MCF5282_GPTB_H__
#define __MCF5282_GPTB_H__


/*********************************************************************
*
* General Purpose Timer Module (GPT)
*
*********************************************************************/

/* Register read/write macros */
#define MCF_GPTB_GPTIOS                      (*(vuint8 *)(&__IPSBAR[0x1B0000]))
#define MCF_GPTB_GPTCFORC                    (*(vuint8 *)(&__IPSBAR[0x1B0001]))
#define MCF_GPTB_GPTOC3M                     (*(vuint8 *)(&__IPSBAR[0x1B0002]))
#define MCF_GPTB_GPTOC3D                     (*(vuint8 *)(&__IPSBAR[0x1B0003]))
#define MCF_GPTB_GPTCNT                      (*(vuint16*)(&__IPSBAR[0x1B0004]))
#define MCF_GPTB_GPTSCR1                     (*(vuint8 *)(&__IPSBAR[0x1B0006]))
#define MCF_GPTB_GPTTOV                      (*(vuint8 *)(&__IPSBAR[0x1B0008]))
#define MCF_GPTB_GPTCTL1                     (*(vuint8 *)(&__IPSBAR[0x1B0009]))
#define MCF_GPTB_GPTCTL2                     (*(vuint8 *)(&__IPSBAR[0x1B000B]))
#define MCF_GPTB_GPTIE                       (*(vuint8 *)(&__IPSBAR[0x1B000C]))
#define MCF_GPTB_GPTSCR2                     (*(vuint8 *)(&__IPSBAR[0x1B000D]))
#define MCF_GPTB_GPTFLG1                     (*(vuint8 *)(&__IPSBAR[0x1B000E]))
#define MCF_GPTB_GPTFLG2                     (*(vuint8 *)(&__IPSBAR[0x1B000F]))
#define MCF_GPTB_GPTC0                       (*(vuint16*)(&__IPSBAR[0x1B0010]))
#define MCF_GPTB_GPTC1                       (*(vuint16*)(&__IPSBAR[0x1B0012]))
#define MCF_GPTB_GPTC2                       (*(vuint16*)(&__IPSBAR[0x1B0014]))
#define MCF_GPTB_GPTC3                       (*(vuint16*)(&__IPSBAR[0x1B0016]))
#define MCF_GPTB_GPTPACTL                    (*(vuint8 *)(&__IPSBAR[0x1B0018]))
#define MCF_GPTB_GPTPAFLG                    (*(vuint8 *)(&__IPSBAR[0x1B0019]))
#define MCF_GPTB_GPTPACNT                    (*(vuint16*)(&__IPSBAR[0x1B001A]))
#define MCF_GPTB_GPTPORT                     (*(vuint8 *)(&__IPSBAR[0x1B001D]))
#define MCF_GPTB_GPTDDR                      (*(vuint8 *)(&__IPSBAR[0x1B001E]))
#define MCF_GPTB_GPTC(x)                     (*(vuint16*)(&__IPSBAR[0x1B0010 + ((x)*0x2)]))


/* Bit definitions and macros for MCF_GPTB_GPTIOS */
#define MCF_GPTB_GPTIOS_IOS0                 (0x1)
#define MCF_GPTB_GPTIOS_IOS1                 (0x2)
#define MCF_GPTB_GPTIOS_IOS2                 (0x4)
#define MCF_GPTB_GPTIOS_IOS3                 (0x8)

/* Bit definitions and macros for MCF_GPTB_GPTCFORC */
#define MCF_GPTB_GPTCFORC_FOC0               (0x1)
#define MCF_GPTB_GPTCFORC_FOC1               (0x2)
#define MCF_GPTB_GPTCFORC_FOC2               (0x4)
#define MCF_GPTB_GPTCFORC_FOC3               (0x8)

/* Bit definitions and macros for MCF_GPTB_GPTOC3M */
#define MCF_GPTB_GPTOC3M_OC3M0               (0x1)
#define MCF_GPTB_GPTOC3M_OC3M1               (0x2)
#define MCF_GPTB_GPTOC3M_OC3M2               (0x4)
#define MCF_GPTB_GPTOC3M_OC3M3               (0x8)

/* Bit definitions and macros for MCF_GPTB_GPTOC3D */
#define MCF_GPTB_GPTOC3D_OC3D0               (0x1)
#define MCF_GPTB_GPTOC3D_OC3D1               (0x2)
#define MCF_GPTB_GPTOC3D_OC3D2               (0x4)
#define MCF_GPTB_GPTOC3D_OC3D3               (0x8)

/* Bit definitions and macros for MCF_GPTB_GPTCNT */
#define MCF_GPTB_GPTCNT_CNTR(x)              (((x)&0xFFFF)<<0)

/* Bit definitions and macros for MCF_GPTB_GPTSCR1 */
#define MCF_GPTB_GPTSCR1_TFFCA               (0x10)
#define MCF_GPTB_GPTSCR1_GPTEN               (0x80)

/* Bit definitions and macros for MCF_GPTB_GPTTOV */
#define MCF_GPTB_GPTTOV_TOV0                 (0x1)
#define MCF_GPTB_GPTTOV_TOV1                 (0x2)
#define MCF_GPTB_GPTTOV_TOV2                 (0x4)
#define MCF_GPTB_GPTTOV_TOV3                 (0x8)

/* Bit definitions and macros for MCF_GPTB_GPTCTL1 */
#define MCF_GPTB_GPTCTL1_OL0                 (0x1)
#define MCF_GPTB_GPTCTL1_OM0                 (0x2)
#define MCF_GPTB_GPTCTL1_OL1                 (0x4)
#define MCF_GPTB_GPTCTL1_OM1                 (0x8)
#define MCF_GPTB_GPTCTL1_OL2                 (0x10)
#define MCF_GPTB_GPTCTL1_OM2                 (0x20)
#define MCF_GPTB_GPTCTL1_OL3                 (0x40)
#define MCF_GPTB_GPTCTL1_OM3                 (0x80)
#define MCF_GPTB_GPTCTL1_OUTPUT0_NOTHING     (0)
#define MCF_GPTB_GPTCTL1_OUTPUT0_TOGGLE      (0x1)
#define MCF_GPTB_GPTCTL1_OUTPUT0_CLEAR       (0x2)
#define MCF_GPTB_GPTCTL1_OUTPUT0_SET         (0x3)
#define MCF_GPTB_GPTCTL1_OUTPUT1_NOTHING     (0)
#define MCF_GPTB_GPTCTL1_OUTPUT1_TOGGLE      (0x4)
#define MCF_GPTB_GPTCTL1_OUTPUT1_CLEAR       (0x8)
#define MCF_GPTB_GPTCTL1_OUTPUT1_SET         (0xC)
#define MCF_GPTB_GPTCTL1_OUTPUT2_NOTHING     (0)
#define MCF_GPTB_GPTCTL1_OUTPUT2_TOGGLE      (0x10)
#define MCF_GPTB_GPTCTL1_OUTPUT2_CLEAR       (0x20)
#define MCF_GPTB_GPTCTL1_OUTPUT2_SET         (0x30)
#define MCF_GPTB_GPTCTL1_OUTPUT3_NOTHING     (0)
#define MCF_GPTB_GPTCTL1_OUTPUT3_TOGGLE      (0x40)
#define MCF_GPTB_GPTCTL1_OUTPUT3_CLEAR       (0x80)
#define MCF_GPTB_GPTCTL1_OUTPUT3_SET         (0xC0)

/* Bit definitions and macros for MCF_GPTB_GPTCTL2 */
#define MCF_GPTB_GPTCTL2_EDG0A               (0x1)
#define MCF_GPTB_GPTCTL2_EDG0B               (0x2)
#define MCF_GPTB_GPTCTL2_EDG1A               (0x4)
#define MCF_GPTB_GPTCTL2_EDG1B               (0x8)
#define MCF_GPTB_GPTCTL2_EDG2A               (0x10)
#define MCF_GPTB_GPTCTL2_EDG2B               (0x20)
#define MCF_GPTB_GPTCTL2_EDG3A               (0x40)
#define MCF_GPTB_GPTCTL2_EDG3B               (0x80)
#define MCF_GPTB_GPTCTL2_INPUT0_DISABLED     (0)
#define MCF_GPTB_GPTCTL2_INPUT0_RISING       (0x1)
#define MCF_GPTB_GPTCTL2_INPUT0_FALLING      (0x2)
#define MCF_GPTB_GPTCTL2_INPUT0_ANY          (0x3)
#define MCF_GPTB_GPTCTL2_INPUT1_DISABLED     (0)
#define MCF_GPTB_GPTCTL2_INPUT1_RISING       (0x4)
#define MCF_GPTB_GPTCTL2_INPUT1_FALLING      (0x8)
#define MCF_GPTB_GPTCTL2_INPUT1_ANY          (0xC)
#define MCF_GPTB_GPTCTL2_INPUT2_DISABLED     (0)
#define MCF_GPTB_GPTCTL2_INPUT2_RISING       (0x10)
#define MCF_GPTB_GPTCTL2_INPUT2_FALLING      (0x20)
#define MCF_GPTB_GPTCTL2_INPUT2_ANY          (0x30)
#define MCF_GPTB_GPTCTL2_INPUT3_DISABLED     (0)
#define MCF_GPTB_GPTCTL2_INPUT3_RISING       (0x40)
#define MCF_GPTB_GPTCTL2_INPUT3_FALLING      (0x80)
#define MCF_GPTB_GPTCTL2_INPUT3_ANY          (0xC0)

/* Bit definitions and macros for MCF_GPTB_GPTIE */
#define MCF_GPTB_GPTIE_CI0                   (0x1)
#define MCF_GPTB_GPTIE_CI1                   (0x2)
#define MCF_GPTB_GPTIE_CI2                   (0x4)
#define MCF_GPTB_GPTIE_CI3                   (0x8)

/* Bit definitions and macros for MCF_GPTB_GPTSCR2 */
#define MCF_GPTB_GPTSCR2_PR(x)               (((x)&0x7)<<0)
#define MCF_GPTB_GPTSCR2_PR_1                (0)
#define MCF_GPTB_GPTSCR2_PR_2                (0x1)
#define MCF_GPTB_GPTSCR2_PR_4                (0x2)
#define MCF_GPTB_GPTSCR2_PR_8                (0x3)
#define MCF_GPTB_GPTSCR2_PR_16               (0x4)
#define MCF_GPTB_GPTSCR2_PR_32               (0x5)
#define MCF_GPTB_GPTSCR2_PR_64               (0x6)
#define MCF_GPTB_GPTSCR2_PR_128              (0x7)
#define MCF_GPTB_GPTSCR2_TCRE                (0x8)
#define MCF_GPTB_GPTSCR2_RDPT                (0x10)
#define MCF_GPTB_GPTSCR2_PUPT                (0x20)
#define MCF_GPTB_GPTSCR2_TOI                 (0x80)

/* Bit definitions and macros for MCF_GPTB_GPTFLG1 */
#define MCF_GPTB_GPTFLG1_CF0                 (0x1)
#define MCF_GPTB_GPTFLG1_CF1                 (0x2)
#define MCF_GPTB_GPTFLG1_CF2                 (0x4)
#define MCF_GPTB_GPTFLG1_CF3                 (0x8)

/* Bit definitions and macros for MCF_GPTB_GPTFLG2 */
#define MCF_GPTB_GPTFLG2_TOF                 (0x80)

/* Bit definitions and macros for MCF_GPTB_GPTC */
#define MCF_GPTB_GPTC_CCNT(x)                (((x)&0xFFFF)<<0)

/* Bit definitions and macros for MCF_GPTB_GPTPACTL */
#define MCF_GPTB_GPTPACTL_PAI                (0x1)
#define MCF_GPTB_GPTPACTL_PAOVI              (0x2)
#define MCF_GPTB_GPTPACTL_CLK(x)             (((x)&0x3)<<0x2)
#define MCF_GPTB_GPTPACTL_CLK_GPTPR          (0)
#define MCF_GPTB_GPTPACTL_CLK_PACLK          (0x1)
#define MCF_GPTB_GPTPACTL_CLK_PACLK_256      (0x2)
#define MCF_GPTB_GPTPACTL_CLK_PACLK_65536    (0x3)
#define MCF_GPTB_GPTPACTL_PEDGE              (0x10)
#define MCF_GPTB_GPTPACTL_PAMOD              (0x20)
#define MCF_GPTB_GPTPACTL_PAE                (0x40)

/* Bit definitions and macros for MCF_GPTB_GPTPAFLG */
#define MCF_GPTB_GPTPAFLG_PAIF               (0x1)
#define MCF_GPTB_GPTPAFLG_PAOVF              (0x2)

/* Bit definitions and macros for MCF_GPTB_GPTPACNT */
#define MCF_GPTB_GPTPACNT_PACNT(x)           (((x)&0xFFFF)<<0)

/* Bit definitions and macros for MCF_GPTB_GPTPORT */
#define MCF_GPTB_GPTPORT_PORTT0              (0x1)
#define MCF_GPTB_GPTPORT_PORTT1              (0x2)
#define MCF_GPTB_GPTPORT_PORTT2              (0x4)
#define MCF_GPTB_GPTPORT_PORTT3              (0x8)

/* Bit definitions and macros for MCF_GPTB_GPTDDR */
#define MCF_GPTB_GPTDDR_DDRT0                (0x1)
#define MCF_GPTB_GPTDDR_DDRT1                (0x2)
#define MCF_GPTB_GPTDDR_DDRT2                (0x4)
#define MCF_GPTB_GPTDDR_DDRT3                (0x8)


#endif /* __MCF5282_GPTB_H__ */
