blob: 4682ba1d4f1ebbb7162823f05f7ecfeea894a6d5 [file] [log] [blame]
/******************************************************************************
* Filename: hw_gpt_h
* Revised: 2016-03-14 09:20:59 +0100 (Mon, 14 Mar 2016)
* Revision: 45924
*
* Copyright (c) 2015 - 2016, Texas Instruments Incorporated
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1) Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* 2) Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* 3) Neither the name of the ORGANIZATION nor the names of its contributors may
* be used to endorse or promote products derived from this software without
* specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
******************************************************************************/
#ifndef __HW_GPT_H__
#define __HW_GPT_H__
//*****************************************************************************
//
// This section defines the register offsets of
// GPT component
//
//*****************************************************************************
// Configuration
#define GPT_O_CFG 0x00000000
// Timer A Mode
#define GPT_O_TAMR 0x00000004
// Timer B Mode
#define GPT_O_TBMR 0x00000008
// Control
#define GPT_O_CTL 0x0000000C
// Synch Register
#define GPT_O_SYNC 0x00000010
// Interrupt Mask
#define GPT_O_IMR 0x00000018
// Raw Interrupt Status
#define GPT_O_RIS 0x0000001C
// Masked Interrupt Status
#define GPT_O_MIS 0x00000020
// Interrupt Clear
#define GPT_O_ICLR 0x00000024
// Timer A Interval Load Register
#define GPT_O_TAILR 0x00000028
// Timer B Interval Load Register
#define GPT_O_TBILR 0x0000002C
// Timer A Match Register
#define GPT_O_TAMATCHR 0x00000030
// Timer B Match Register
#define GPT_O_TBMATCHR 0x00000034
// Timer A Pre-scale
#define GPT_O_TAPR 0x00000038
// Timer B Pre-scale
#define GPT_O_TBPR 0x0000003C
// Timer A Pre-scale Match
#define GPT_O_TAPMR 0x00000040
// Timer B Pre-scale Match
#define GPT_O_TBPMR 0x00000044
// Timer A Register
#define GPT_O_TAR 0x00000048
// Timer B Register
#define GPT_O_TBR 0x0000004C
// Timer A Value
#define GPT_O_TAV 0x00000050
// Timer B Value
#define GPT_O_TBV 0x00000054
// Timer A Pre-scale Snap-shot
#define GPT_O_TAPS 0x0000005C
// Timer B Pre-scale Snap-shot
#define GPT_O_TBPS 0x00000060
// Timer A Pre-scale Value
#define GPT_O_TAPV 0x00000064
// Timer B Pre-scale Value
#define GPT_O_TBPV 0x00000068
// DMA Event
#define GPT_O_DMAEV 0x0000006C
// Peripheral Version
#define GPT_O_VERSION 0x00000FB0
// Combined CCP Output
#define GPT_O_ANDCCP 0x00000FB4
//*****************************************************************************
//
// Register: GPT_O_CFG
//
//*****************************************************************************
// Field: [2:0] CFG
//
// GPT Configuration
// 0x2- 0x3 - Reserved
// 0x5- 0x7 - Reserved
// ENUMs:
// 16BIT_TIMER 16-bit timer configuration.
// Configure for two 16-bit
// timers.
// Also see TAMR.TAMR and
// TBMR.TBMR.
// 32BIT_TIMER 32-bit timer configuration
#define GPT_CFG_CFG_W 3
#define GPT_CFG_CFG_M 0x00000007
#define GPT_CFG_CFG_S 0
#define GPT_CFG_CFG_16BIT_TIMER 0x00000004
#define GPT_CFG_CFG_32BIT_TIMER 0x00000000
//*****************************************************************************
//
// Register: GPT_O_TAMR
//
//*****************************************************************************
// Field: [15:13] TCACT
//
// Timer Compare Action Select
// ENUMs:
// CLRSET_ON_TO Clear CCP output pin immediately and set on
// Time-Out
// SETCLR_ON_TO Set CCP output pin immediately and clear on
// Time-Out
// CLRTOG_ON_TO Clear CCP output pin immediately and toggle on
// Time-Out
// SETTOG_ON_TO Set CCP output pin immediately and toggle on
// Time-Out
// SET_ON_TO Set CCP output pin on Time-Out
// CLR_ON_TO Clear CCP output pin on Time-Out
// TOG_ON_TO Toggle State on Time-Out
// DIS_CMP Disable compare operations
#define GPT_TAMR_TCACT_W 3
#define GPT_TAMR_TCACT_M 0x0000E000
#define GPT_TAMR_TCACT_S 13
#define GPT_TAMR_TCACT_CLRSET_ON_TO 0x0000E000
#define GPT_TAMR_TCACT_SETCLR_ON_TO 0x0000C000
#define GPT_TAMR_TCACT_CLRTOG_ON_TO 0x0000A000
#define GPT_TAMR_TCACT_SETTOG_ON_TO 0x00008000
#define GPT_TAMR_TCACT_SET_ON_TO 0x00006000
#define GPT_TAMR_TCACT_CLR_ON_TO 0x00004000
#define GPT_TAMR_TCACT_TOG_ON_TO 0x00002000
#define GPT_TAMR_TCACT_DIS_CMP 0x00000000
// Field: [12] TACINTD
//
// One-Shot/Periodic Interrupt Disable
// ENUMs:
// DIS_TO_INTR Time-out interrupt are disabled
// EN_TO_INTR Time-out interrupt function as normal
#define GPT_TAMR_TACINTD 0x00001000
#define GPT_TAMR_TACINTD_BITN 12
#define GPT_TAMR_TACINTD_M 0x00001000
#define GPT_TAMR_TACINTD_S 12
#define GPT_TAMR_TACINTD_DIS_TO_INTR 0x00001000
#define GPT_TAMR_TACINTD_EN_TO_INTR 0x00000000
// Field: [11] TAPLO
//
// GPTM Timer A PWM Legacy Operation
//
// 0 Legacy operation with CCP pin driven Low when the TAILR
// register is reloaded after the timer reaches 0.
//
// 1 CCP is driven High when the TAILR register is reloaded after the timer
// reaches 0.
//
// This bit is only valid in PWM mode.
// ENUMs:
// CCP_ON_TO CCP output pin is set to 1 on time-out
// LEGACY Legacy operation
#define GPT_TAMR_TAPLO 0x00000800
#define GPT_TAMR_TAPLO_BITN 11
#define GPT_TAMR_TAPLO_M 0x00000800
#define GPT_TAMR_TAPLO_S 11
#define GPT_TAMR_TAPLO_CCP_ON_TO 0x00000800
#define GPT_TAMR_TAPLO_LEGACY 0x00000000
// Field: [10] TAMRSU
//
// Timer A Match Register Update mode
//
// This bit defines when the TAMATCHR and TAPR registers are updated.
//
// If the timer is disabled (CTL.TAEN = 0) when this bit is set, TAMATCHR and
// TAPR are updated when the timer is enabled.
// If the timer is stalled (CTL.TASTALL = 1) when this bit is set, TAMATCHR and
// TAPR are updated according to the configuration of this bit.
// ENUMs:
// TOUPDATE Update TAMATCHR and TAPR, if used, on the next
// time-out.
// CYCLEUPDATE Update TAMATCHR and TAPR, if used, on the next
// cycle.
#define GPT_TAMR_TAMRSU 0x00000400
#define GPT_TAMR_TAMRSU_BITN 10
#define GPT_TAMR_TAMRSU_M 0x00000400
#define GPT_TAMR_TAMRSU_S 10
#define GPT_TAMR_TAMRSU_TOUPDATE 0x00000400
#define GPT_TAMR_TAMRSU_CYCLEUPDATE 0x00000000
// Field: [9] TAPWMIE
//
// GPTM Timer A PWM Interrupt Enable
// This bit enables interrupts in PWM mode on rising, falling, or both edges of
// the CCP output, as defined by the CTL.TAEVENT
// In addition, when this bit is set and a capture event occurs, Timer A
// automatically generates triggers to the DMA if the trigger capability is
// enabled by setting the CTL.TAOTE bit and the DMAEV.CAEDMAEN bit
// respectively.
//
// 0 Capture event interrupt is disabled.
// 1 Capture event interrupt is enabled.
// This bit is only valid in PWM mode.
// ENUMs:
// EN Interrupt is enabled. This bit is only valid in
// PWM mode.
// DIS Interrupt is disabled.
#define GPT_TAMR_TAPWMIE 0x00000200
#define GPT_TAMR_TAPWMIE_BITN 9
#define GPT_TAMR_TAPWMIE_M 0x00000200
#define GPT_TAMR_TAPWMIE_S 9
#define GPT_TAMR_TAPWMIE_EN 0x00000200
#define GPT_TAMR_TAPWMIE_DIS 0x00000000
// Field: [8] TAILD
//
// GPT Timer A PWM Interval Load Write
// ENUMs:
// TOUPDATE Update the TAR register with the value in the
// TAILR register on the next timeout. If the
// prescaler is used, update the TAPS register
// with the value in the TAPR register on the next
// timeout.
// CYCLEUPDATE Update the TAR register with the value in the
// TAILR register on the next clock cycle. If the
// pre-scaler is used, update the TAPS register
// with the value in the TAPR register on the next
// clock cycle.
#define GPT_TAMR_TAILD 0x00000100
#define GPT_TAMR_TAILD_BITN 8
#define GPT_TAMR_TAILD_M 0x00000100
#define GPT_TAMR_TAILD_S 8
#define GPT_TAMR_TAILD_TOUPDATE 0x00000100
#define GPT_TAMR_TAILD_CYCLEUPDATE 0x00000000
// Field: [7] TASNAPS
//
// GPT Timer A Snap-Shot Mode
// ENUMs:
// EN If Timer A is configured in the periodic mode, the
// actual free-running value of Timer A is loaded
// at the time-out event into the GPT Timer A
// (TAR) register.
// DIS Snap-shot mode is disabled.
#define GPT_TAMR_TASNAPS 0x00000080
#define GPT_TAMR_TASNAPS_BITN 7
#define GPT_TAMR_TASNAPS_M 0x00000080
#define GPT_TAMR_TASNAPS_S 7
#define GPT_TAMR_TASNAPS_EN 0x00000080
#define GPT_TAMR_TASNAPS_DIS 0x00000000
// Field: [6] TAWOT
//
// GPT Timer A Wait-On-Trigger
// ENUMs:
// WAIT If Timer A is enabled (CTL.TAEN = 1), Timer A does
// not begin counting until it receives a trigger
// from the timer in the previous position in the
// daisy chain. This bit must be clear for GPT
// Module 0, Timer A. This function is valid for
// one-shot, periodic, and PWM modes
// NOWAIT Timer A begins counting as soon as it is enabled.
#define GPT_TAMR_TAWOT 0x00000040
#define GPT_TAMR_TAWOT_BITN 6
#define GPT_TAMR_TAWOT_M 0x00000040
#define GPT_TAMR_TAWOT_S 6
#define GPT_TAMR_TAWOT_WAIT 0x00000040
#define GPT_TAMR_TAWOT_NOWAIT 0x00000000
// Field: [5] TAMIE
//
// GPT Timer A Match Interrupt Enable
// ENUMs:
// EN An interrupt is generated when the match value in
// TAMATCHR is reached in the one-shot and
// periodic modes.
// DIS The match interrupt is disabled for match events.
// Additionally, output triggers on match events
// are prevented.
#define GPT_TAMR_TAMIE 0x00000020
#define GPT_TAMR_TAMIE_BITN 5
#define GPT_TAMR_TAMIE_M 0x00000020
#define GPT_TAMR_TAMIE_S 5
#define GPT_TAMR_TAMIE_EN 0x00000020
#define GPT_TAMR_TAMIE_DIS 0x00000000
// Field: [4] TACDIR
//
// GPT Timer A Count Direction
// ENUMs:
// UP The timer counts up. When counting up, the timer
// starts from a value of 0x0.
// DOWN The timer counts down.
#define GPT_TAMR_TACDIR 0x00000010
#define GPT_TAMR_TACDIR_BITN 4
#define GPT_TAMR_TACDIR_M 0x00000010
#define GPT_TAMR_TACDIR_S 4
#define GPT_TAMR_TACDIR_UP 0x00000010
#define GPT_TAMR_TACDIR_DOWN 0x00000000
// Field: [3] TAAMS
//
// GPT Timer A Alternate Mode
//
// Note: To enable PWM mode, you must also clear TACM and then configure TAMR
// field to 0x2.
// ENUMs:
// PWM PWM mode is enabled
// CAP_COMP Capture/Compare mode is enabled.
#define GPT_TAMR_TAAMS 0x00000008
#define GPT_TAMR_TAAMS_BITN 3
#define GPT_TAMR_TAAMS_M 0x00000008
#define GPT_TAMR_TAAMS_S 3
#define GPT_TAMR_TAAMS_PWM 0x00000008
#define GPT_TAMR_TAAMS_CAP_COMP 0x00000000
// Field: [2] TACM
//
// GPT Timer A Capture Mode
// ENUMs:
// EDGTIME Edge-Time mode
// EDGCNT Edge-Count mode
#define GPT_TAMR_TACM 0x00000004
#define GPT_TAMR_TACM_BITN 2
#define GPT_TAMR_TACM_M 0x00000004
#define GPT_TAMR_TACM_S 2
#define GPT_TAMR_TACM_EDGTIME 0x00000004
#define GPT_TAMR_TACM_EDGCNT 0x00000000
// Field: [1:0] TAMR
//
// GPT Timer A Mode
//
// 0x0 Reserved
// 0x1 One-Shot Timer mode
// 0x2 Periodic Timer mode
// 0x3 Capture mode
// The Timer mode is based on the timer configuration defined by bits 2:0 in
// the CFG register
// ENUMs:
// CAPTURE Capture mode
// PERIODIC Periodic Timer mode
// ONE_SHOT One-Shot Timer mode
#define GPT_TAMR_TAMR_W 2
#define GPT_TAMR_TAMR_M 0x00000003
#define GPT_TAMR_TAMR_S 0
#define GPT_TAMR_TAMR_CAPTURE 0x00000003
#define GPT_TAMR_TAMR_PERIODIC 0x00000002
#define GPT_TAMR_TAMR_ONE_SHOT 0x00000001
//*****************************************************************************
//
// Register: GPT_O_TBMR
//
//*****************************************************************************
// Field: [15:13] TCACT
//
// Timer Compare Action Select
// ENUMs:
// CLRSET_ON_TO Clear CCP output pin immediately and set on
// Time-Out
// SETCLR_ON_TO Set CCP output pin immediately and clear on
// Time-Out
// CLRTOG_ON_TO Clear CCP output pin immediately and toggle on
// Time-Out
// SETTOG_ON_TO Set CCP output pin immediately and toggle on
// Time-Out
// SET_ON_TO Set CCP output pin on Time-Out
// CLR_ON_TO Clear CCP output pin on Time-Out
// TOG_ON_TO Toggle State on Time-Out
// DIS_CMP Disable compare operations
#define GPT_TBMR_TCACT_W 3
#define GPT_TBMR_TCACT_M 0x0000E000
#define GPT_TBMR_TCACT_S 13
#define GPT_TBMR_TCACT_CLRSET_ON_TO 0x0000E000
#define GPT_TBMR_TCACT_SETCLR_ON_TO 0x0000C000
#define GPT_TBMR_TCACT_CLRTOG_ON_TO 0x0000A000
#define GPT_TBMR_TCACT_SETTOG_ON_TO 0x00008000
#define GPT_TBMR_TCACT_SET_ON_TO 0x00006000
#define GPT_TBMR_TCACT_CLR_ON_TO 0x00004000
#define GPT_TBMR_TCACT_TOG_ON_TO 0x00002000
#define GPT_TBMR_TCACT_DIS_CMP 0x00000000
// Field: [12] TBCINTD
//
// One-Shot/Periodic Interrupt Mode
// ENUMs:
// DIS_TO_INTR Mask Time-Out Interrupt
// EN_TO_INTR Normal Time-Out Interrupt
#define GPT_TBMR_TBCINTD 0x00001000
#define GPT_TBMR_TBCINTD_BITN 12
#define GPT_TBMR_TBCINTD_M 0x00001000
#define GPT_TBMR_TBCINTD_S 12
#define GPT_TBMR_TBCINTD_DIS_TO_INTR 0x00001000
#define GPT_TBMR_TBCINTD_EN_TO_INTR 0x00000000
// Field: [11] TBPLO
//
// GPTM Timer B PWM Legacy Operation
//
// 0 Legacy operation with CCP pin driven Low when the TBILR
// register is reloaded after the timer reaches 0.
//
// 1 CCP is driven High when the TBILR register is reloaded after the timer
// reaches 0.
//
// This bit is only valid in PWM mode.
// ENUMs:
// CCP_ON_TO CCP output pin is set to 1 on time-out
// LEGACY Legacy operation
#define GPT_TBMR_TBPLO 0x00000800
#define GPT_TBMR_TBPLO_BITN 11
#define GPT_TBMR_TBPLO_M 0x00000800
#define GPT_TBMR_TBPLO_S 11
#define GPT_TBMR_TBPLO_CCP_ON_TO 0x00000800
#define GPT_TBMR_TBPLO_LEGACY 0x00000000
// Field: [10] TBMRSU
//
// Timer B Match Register Update mode
//
// This bit defines when the TBMATCHR and TBPR registers are updated
//
// If the timer is disabled (CTL.TBEN is clear) when this bit is set, TBMATCHR
// and TBPR are updated when the timer is enabled.
// If the timer is stalled (CTL.TBSTALL is set) when this bit is set, TBMATCHR
// and TBPR are updated according to the configuration of this bit.
// ENUMs:
// TOUPDATE Update the TBMATCHR and the TBPR, if used on the
// next time-out.
// CYCLEUPDATE Update TBMATCHR and TBPR, if used on the next
// cycle.
#define GPT_TBMR_TBMRSU 0x00000400
#define GPT_TBMR_TBMRSU_BITN 10
#define GPT_TBMR_TBMRSU_M 0x00000400
#define GPT_TBMR_TBMRSU_S 10
#define GPT_TBMR_TBMRSU_TOUPDATE 0x00000400
#define GPT_TBMR_TBMRSU_CYCLEUPDATE 0x00000000
// Field: [9] TBPWMIE
//
// GPTM Timer B PWM Interrupt Enable
// This bit enables interrupts in PWM mode on rising, falling, or both edges of
// the CCP output, as defined by the CTL.TBEVENT
// In addition, when this bit is set and a capture event occurs, Timer A
// automatically generates triggers to the DMA if the trigger capability is
// enabled by setting the CTL.TBOTE bit and the DMAEV.CBEDMAEN bit
// respectively.
//
// 0 Capture event interrupt is disabled.
// 1 Capture event interrupt is enabled.
// This bit is only valid in PWM mode.
// ENUMs:
// EN Interrupt is enabled. This bit is only valid in
// PWM mode.
// DIS Interrupt is disabled.
#define GPT_TBMR_TBPWMIE 0x00000200
#define GPT_TBMR_TBPWMIE_BITN 9
#define GPT_TBMR_TBPWMIE_M 0x00000200
#define GPT_TBMR_TBPWMIE_S 9
#define GPT_TBMR_TBPWMIE_EN 0x00000200
#define GPT_TBMR_TBPWMIE_DIS 0x00000000
// Field: [8] TBILD
//
// GPT Timer B PWM Interval Load Write
// ENUMs:
// TOUPDATE Update the TBR register with the value in the
// TBILR register on the next timeout. If the
// prescaler is used, update the TBPS register
// with the value in the TBPR register on the next
// timeout.
// CYCLEUPDATE Update the TBR register with the value in the
// TBILR register on the next clock cycle. If the
// prescaler is used, update the TBPS register
// with the value in the TBPR register on the next
// timeout.
#define GPT_TBMR_TBILD 0x00000100
#define GPT_TBMR_TBILD_BITN 8
#define GPT_TBMR_TBILD_M 0x00000100
#define GPT_TBMR_TBILD_S 8
#define GPT_TBMR_TBILD_TOUPDATE 0x00000100
#define GPT_TBMR_TBILD_CYCLEUPDATE 0x00000000
// Field: [7] TBSNAPS
//
// GPT Timer B Snap-Shot Mode
// ENUMs:
// EN If Timer B is configured in the periodic mode
// DIS Snap-shot mode is disabled.
#define GPT_TBMR_TBSNAPS 0x00000080
#define GPT_TBMR_TBSNAPS_BITN 7
#define GPT_TBMR_TBSNAPS_M 0x00000080
#define GPT_TBMR_TBSNAPS_S 7
#define GPT_TBMR_TBSNAPS_EN 0x00000080
#define GPT_TBMR_TBSNAPS_DIS 0x00000000
// Field: [6] TBWOT
//
// GPT Timer B Wait-On-Trigger
// ENUMs:
// WAIT If Timer B is enabled (CTL.TBEN is set), Timer B
// does not begin counting until it receives a
// trigger from the timer in the previous position
// in the daisy chain. This function is valid for
// one-shot, periodic, and PWM modes
// NOWAIT Timer B begins counting as soon as it is enabled.
#define GPT_TBMR_TBWOT 0x00000040
#define GPT_TBMR_TBWOT_BITN 6
#define GPT_TBMR_TBWOT_M 0x00000040
#define GPT_TBMR_TBWOT_S 6
#define GPT_TBMR_TBWOT_WAIT 0x00000040
#define GPT_TBMR_TBWOT_NOWAIT 0x00000000
// Field: [5] TBMIE
//
// GPT Timer B Match Interrupt Enable.
// ENUMs:
// EN An interrupt is generated when the match value in
// the TBMATCHR register is reached in the
// one-shot and periodic modes.
// DIS The match interrupt is disabled for match events.
// Additionally, output triggers on match events
// are prevented.
#define GPT_TBMR_TBMIE 0x00000020
#define GPT_TBMR_TBMIE_BITN 5
#define GPT_TBMR_TBMIE_M 0x00000020
#define GPT_TBMR_TBMIE_S 5
#define GPT_TBMR_TBMIE_EN 0x00000020
#define GPT_TBMR_TBMIE_DIS 0x00000000
// Field: [4] TBCDIR
//
// grep
// ENUMs:
// UP The timer counts up. When counting up, the timer
// starts from a value of 0x0.
// DOWN The timer counts down.
#define GPT_TBMR_TBCDIR 0x00000010
#define GPT_TBMR_TBCDIR_BITN 4
#define GPT_TBMR_TBCDIR_M 0x00000010
#define GPT_TBMR_TBCDIR_S 4
#define GPT_TBMR_TBCDIR_UP 0x00000010
#define GPT_TBMR_TBCDIR_DOWN 0x00000000
// Field: [3] TBAMS
//
// GPT Timer B Alternate Mode
//
// Note: To enable PWM mode, you must also clear TBCM bit and configure TBMR
// field to 0x2.
// ENUMs:
// PWM PWM mode is enabled
// CAP_COMP Capture/Compare mode is enabled.
#define GPT_TBMR_TBAMS 0x00000008
#define GPT_TBMR_TBAMS_BITN 3
#define GPT_TBMR_TBAMS_M 0x00000008
#define GPT_TBMR_TBAMS_S 3
#define GPT_TBMR_TBAMS_PWM 0x00000008
#define GPT_TBMR_TBAMS_CAP_COMP 0x00000000
// Field: [2] TBCM
//
// GPT Timer B Capture Mode
// ENUMs:
// EDGTIME Edge-Time mode
// EDGCNT Edge-Count mode
#define GPT_TBMR_TBCM 0x00000004
#define GPT_TBMR_TBCM_BITN 2
#define GPT_TBMR_TBCM_M 0x00000004
#define GPT_TBMR_TBCM_S 2
#define GPT_TBMR_TBCM_EDGTIME 0x00000004
#define GPT_TBMR_TBCM_EDGCNT 0x00000000
// Field: [1:0] TBMR
//
// GPT Timer B Mode
//
// 0x0 Reserved
// 0x1 One-Shot Timer mode
// 0x2 Periodic Timer mode
// 0x3 Capture mode
// The Timer mode is based on the timer configuration defined by bits 2:0 in
// the CFG register
// ENUMs:
// CAPTURE Capture mode
// PERIODIC Periodic Timer mode
// ONE_SHOT One-Shot Timer mode
#define GPT_TBMR_TBMR_W 2
#define GPT_TBMR_TBMR_M 0x00000003
#define GPT_TBMR_TBMR_S 0
#define GPT_TBMR_TBMR_CAPTURE 0x00000003
#define GPT_TBMR_TBMR_PERIODIC 0x00000002
#define GPT_TBMR_TBMR_ONE_SHOT 0x00000001
//*****************************************************************************
//
// Register: GPT_O_CTL
//
//*****************************************************************************
// Field: [14] TBPWML
//
// GPT Timer B PWM Output Level
//
// 0: Output is unaffected.
// 1: Output is inverted.
// ENUMs:
// INVERTED Inverted
// NORMAL Not inverted
#define GPT_CTL_TBPWML 0x00004000
#define GPT_CTL_TBPWML_BITN 14
#define GPT_CTL_TBPWML_M 0x00004000
#define GPT_CTL_TBPWML_S 14
#define GPT_CTL_TBPWML_INVERTED 0x00004000
#define GPT_CTL_TBPWML_NORMAL 0x00000000
// Field: [11:10] TBEVENT
//
// GPT Timer B Event Mode
//
// The values in this register are defined as follows:
// Value Description
// 0x0 Positive edge
// 0x1 Negative edge
// 0x2 Reserved
// 0x3 Both edges
// Note: If PWM output inversion is enabled, edge detection interrupt
// behavior is reversed. Thus, if a positive-edge interrupt trigger
// has been set and the PWM inversion generates a postive
// edge, no event-trigger interrupt asserts. Instead, the interrupt
// is generated on the negative edge of the PWM signal.
// ENUMs:
// BOTH Both edges
// NEG Negative edge
// POS Positive edge
#define GPT_CTL_TBEVENT_W 2
#define GPT_CTL_TBEVENT_M 0x00000C00
#define GPT_CTL_TBEVENT_S 10
#define GPT_CTL_TBEVENT_BOTH 0x00000C00
#define GPT_CTL_TBEVENT_NEG 0x00000400
#define GPT_CTL_TBEVENT_POS 0x00000000
// Field: [9] TBSTALL
//
// GPT Timer B Stall Enable
// ENUMs:
// EN Timer B freezes counting while the processor is
// halted by the debugger.
// DIS Timer B continues counting while the processor is
// halted by the debugger.
#define GPT_CTL_TBSTALL 0x00000200
#define GPT_CTL_TBSTALL_BITN 9
#define GPT_CTL_TBSTALL_M 0x00000200
#define GPT_CTL_TBSTALL_S 9
#define GPT_CTL_TBSTALL_EN 0x00000200
#define GPT_CTL_TBSTALL_DIS 0x00000000
// Field: [8] TBEN
//
// GPT Timer B Enable
// ENUMs:
// EN Timer B is enabled and begins counting or the
// capture logic is enabled based on CFG register.
// DIS Timer B is disabled.
#define GPT_CTL_TBEN 0x00000100
#define GPT_CTL_TBEN_BITN 8
#define GPT_CTL_TBEN_M 0x00000100
#define GPT_CTL_TBEN_S 8
#define GPT_CTL_TBEN_EN 0x00000100
#define GPT_CTL_TBEN_DIS 0x00000000
// Field: [6] TAPWML
//
// GPT Timer A PWM Output Level
// ENUMs:
// INVERTED Inverted
// NORMAL Not inverted
#define GPT_CTL_TAPWML 0x00000040
#define GPT_CTL_TAPWML_BITN 6
#define GPT_CTL_TAPWML_M 0x00000040
#define GPT_CTL_TAPWML_S 6
#define GPT_CTL_TAPWML_INVERTED 0x00000040
#define GPT_CTL_TAPWML_NORMAL 0x00000000
// Field: [3:2] TAEVENT
//
// GPT Timer A Event Mode
//
// The values in this register are defined as follows:
// Value Description
// 0x0 Positive edge
// 0x1 Negative edge
// 0x2 Reserved
// 0x3 Both edges
// Note: If PWM output inversion is enabled, edge detection interrupt
// behavior is reversed. Thus, if a positive-edge interrupt trigger
// has been set and the PWM inversion generates a postive
// edge, no event-trigger interrupt asserts. Instead, the interrupt
// is generated on the negative edge of the PWM signal.
// ENUMs:
// BOTH Both edges
// NEG Negative edge
// POS Positive edge
#define GPT_CTL_TAEVENT_W 2
#define GPT_CTL_TAEVENT_M 0x0000000C
#define GPT_CTL_TAEVENT_S 2
#define GPT_CTL_TAEVENT_BOTH 0x0000000C
#define GPT_CTL_TAEVENT_NEG 0x00000004
#define GPT_CTL_TAEVENT_POS 0x00000000
// Field: [1] TASTALL
//
// GPT Timer A Stall Enable
// ENUMs:
// EN Timer A freezes counting while the processor is
// halted by the debugger.
// DIS Timer A continues counting while the processor is
// halted by the debugger.
#define GPT_CTL_TASTALL 0x00000002
#define GPT_CTL_TASTALL_BITN 1
#define GPT_CTL_TASTALL_M 0x00000002
#define GPT_CTL_TASTALL_S 1
#define GPT_CTL_TASTALL_EN 0x00000002
#define GPT_CTL_TASTALL_DIS 0x00000000
// Field: [0] TAEN
//
// GPT Timer A Enable
// ENUMs:
// EN Timer A is enabled and begins counting or the
// capture logic is enabled based on the CFG
// register.
// DIS Timer A is disabled.
#define GPT_CTL_TAEN 0x00000001
#define GPT_CTL_TAEN_BITN 0
#define GPT_CTL_TAEN_M 0x00000001
#define GPT_CTL_TAEN_S 0
#define GPT_CTL_TAEN_EN 0x00000001
#define GPT_CTL_TAEN_DIS 0x00000000
//*****************************************************************************
//
// Register: GPT_O_SYNC
//
//*****************************************************************************
// Field: [7:6] SYNC3
//
// Synchronize GPT Timer 3.
// ENUMs:
// BOTH A timeout event for both Timer A and Timer B of
// GPT3 is triggered
// TIMERB A timeout event for Timer B of GPT3 is triggered
// TIMERA A timeout event for Timer A of GPT3 is triggered
// NOSYNC No Sync. GPT3 is not affected.
#define GPT_SYNC_SYNC3_W 2
#define GPT_SYNC_SYNC3_M 0x000000C0
#define GPT_SYNC_SYNC3_S 6
#define GPT_SYNC_SYNC3_BOTH 0x000000C0
#define GPT_SYNC_SYNC3_TIMERB 0x00000080
#define GPT_SYNC_SYNC3_TIMERA 0x00000040
#define GPT_SYNC_SYNC3_NOSYNC 0x00000000
// Field: [5:4] SYNC2
//
// Synchronize GPT Timer 2.
// ENUMs:
// BOTH A timeout event for both Timer A and Timer B of
// GPT2 is triggered
// TIMERB A timeout event for Timer B of GPT2 is triggered
// TIMERA A timeout event for Timer A of GPT2 is triggered
// NOSYNC No Sync. GPT2 is not affected.
#define GPT_SYNC_SYNC2_W 2
#define GPT_SYNC_SYNC2_M 0x00000030
#define GPT_SYNC_SYNC2_S 4
#define GPT_SYNC_SYNC2_BOTH 0x00000030
#define GPT_SYNC_SYNC2_TIMERB 0x00000020
#define GPT_SYNC_SYNC2_TIMERA 0x00000010
#define GPT_SYNC_SYNC2_NOSYNC 0x00000000
// Field: [3:2] SYNC1
//
// Synchronize GPT Timer 1
// ENUMs:
// BOTH A timeout event for both Timer A and Timer B of
// GPT1 is triggered
// TIMERB A timeout event for Timer B of GPT1 is triggered
// TIMERA A timeout event for Timer A of GPT1 is triggered
// NOSYNC No Sync. GPT1 is not affected.
#define GPT_SYNC_SYNC1_W 2
#define GPT_SYNC_SYNC1_M 0x0000000C
#define GPT_SYNC_SYNC1_S 2
#define GPT_SYNC_SYNC1_BOTH 0x0000000C
#define GPT_SYNC_SYNC1_TIMERB 0x00000008
#define GPT_SYNC_SYNC1_TIMERA 0x00000004
#define GPT_SYNC_SYNC1_NOSYNC 0x00000000
// Field: [1:0] SYNC0
//
// Synchronize GPT Timer 0
// ENUMs:
// BOTH A timeout event for both Timer A and Timer B of
// GPT0 is triggered
// TIMERB A timeout event for Timer B of GPT0 is triggered
// TIMERA A timeout event for Timer A of GPT0 is triggered
// NOSYNC No Sync. GPT0 is not affected.
#define GPT_SYNC_SYNC0_W 2
#define GPT_SYNC_SYNC0_M 0x00000003
#define GPT_SYNC_SYNC0_S 0
#define GPT_SYNC_SYNC0_BOTH 0x00000003
#define GPT_SYNC_SYNC0_TIMERB 0x00000002
#define GPT_SYNC_SYNC0_TIMERA 0x00000001
#define GPT_SYNC_SYNC0_NOSYNC 0x00000000
//*****************************************************************************
//
// Register: GPT_O_IMR
//
//*****************************************************************************
// Field: [13] DMABIM
//
// Enabling this bit will make the RIS.DMABRIS interrupt propagate to
// MIS.DMABMIS
// ENUMs:
// EN Enable Interrupt
// DIS Disable Interrupt
#define GPT_IMR_DMABIM 0x00002000
#define GPT_IMR_DMABIM_BITN 13
#define GPT_IMR_DMABIM_M 0x00002000
#define GPT_IMR_DMABIM_S 13
#define GPT_IMR_DMABIM_EN 0x00002000
#define GPT_IMR_DMABIM_DIS 0x00000000
// Field: [11] TBMIM
//
// Enabling this bit will make the RIS.TBMRIS interrupt propagate to MIS.TBMMIS
// ENUMs:
// EN Enable Interrupt
// DIS Disable Interrupt
#define GPT_IMR_TBMIM 0x00000800
#define GPT_IMR_TBMIM_BITN 11
#define GPT_IMR_TBMIM_M 0x00000800
#define GPT_IMR_TBMIM_S 11
#define GPT_IMR_TBMIM_EN 0x00000800
#define GPT_IMR_TBMIM_DIS 0x00000000
// Field: [10] CBEIM
//
// Enabling this bit will make the RIS.CBERIS interrupt propagate to MIS.CBEMIS
// ENUMs:
// EN Enable Interrupt
// DIS Disable Interrupt
#define GPT_IMR_CBEIM 0x00000400
#define GPT_IMR_CBEIM_BITN 10
#define GPT_IMR_CBEIM_M 0x00000400
#define GPT_IMR_CBEIM_S 10
#define GPT_IMR_CBEIM_EN 0x00000400
#define GPT_IMR_CBEIM_DIS 0x00000000
// Field: [9] CBMIM
//
// Enabling this bit will make the RIS.CBMRIS interrupt propagate to MIS.CBMMIS
// ENUMs:
// EN Enable Interrupt
// DIS Disable Interrupt
#define GPT_IMR_CBMIM 0x00000200
#define GPT_IMR_CBMIM_BITN 9
#define GPT_IMR_CBMIM_M 0x00000200
#define GPT_IMR_CBMIM_S 9
#define GPT_IMR_CBMIM_EN 0x00000200
#define GPT_IMR_CBMIM_DIS 0x00000000
// Field: [8] TBTOIM
//
// Enabling this bit will make the RIS.TBTORIS interrupt propagate to
// MIS.TBTOMIS
// ENUMs:
// EN Enable Interrupt
// DIS Disable Interrupt
#define GPT_IMR_TBTOIM 0x00000100
#define GPT_IMR_TBTOIM_BITN 8
#define GPT_IMR_TBTOIM_M 0x00000100
#define GPT_IMR_TBTOIM_S 8
#define GPT_IMR_TBTOIM_EN 0x00000100
#define GPT_IMR_TBTOIM_DIS 0x00000000
// Field: [5] DMAAIM
//
// Enabling this bit will make the RIS.DMAARIS interrupt propagate to
// MIS.DMAAMIS
// ENUMs:
// EN Enable Interrupt
// DIS Disable Interrupt
#define GPT_IMR_DMAAIM 0x00000020
#define GPT_IMR_DMAAIM_BITN 5
#define GPT_IMR_DMAAIM_M 0x00000020
#define GPT_IMR_DMAAIM_S 5
#define GPT_IMR_DMAAIM_EN 0x00000020
#define GPT_IMR_DMAAIM_DIS 0x00000000
// Field: [4] TAMIM
//
// Enabling this bit will make the RIS.TAMRIS interrupt propagate to MIS.TAMMIS
// ENUMs:
// EN Enable Interrupt
// DIS Disable Interrupt
#define GPT_IMR_TAMIM 0x00000010
#define GPT_IMR_TAMIM_BITN 4
#define GPT_IMR_TAMIM_M 0x00000010
#define GPT_IMR_TAMIM_S 4
#define GPT_IMR_TAMIM_EN 0x00000010
#define GPT_IMR_TAMIM_DIS 0x00000000
// Field: [2] CAEIM
//
// Enabling this bit will make the RIS.CAERIS interrupt propagate to MIS.CAEMIS
// ENUMs:
// EN Enable Interrupt
// DIS Disable Interrupt
#define GPT_IMR_CAEIM 0x00000004
#define GPT_IMR_CAEIM_BITN 2
#define GPT_IMR_CAEIM_M 0x00000004
#define GPT_IMR_CAEIM_S 2
#define GPT_IMR_CAEIM_EN 0x00000004
#define GPT_IMR_CAEIM_DIS 0x00000000
// Field: [1] CAMIM
//
// Enabling this bit will make the RIS.CAMRIS interrupt propagate to MIS.CAMMIS
// ENUMs:
// EN Enable Interrupt
// DIS Disable Interrupt
#define GPT_IMR_CAMIM 0x00000002
#define GPT_IMR_CAMIM_BITN 1
#define GPT_IMR_CAMIM_M 0x00000002
#define GPT_IMR_CAMIM_S 1
#define GPT_IMR_CAMIM_EN 0x00000002
#define GPT_IMR_CAMIM_DIS 0x00000000
// Field: [0] TATOIM
//
// Enabling this bit will make the RIS.TATORIS interrupt propagate to
// MIS.TATOMIS
// ENUMs:
// EN Enable Interrupt
// DIS Disable Interrupt
#define GPT_IMR_TATOIM 0x00000001
#define GPT_IMR_TATOIM_BITN 0
#define GPT_IMR_TATOIM_M 0x00000001
#define GPT_IMR_TATOIM_S 0
#define GPT_IMR_TATOIM_EN 0x00000001
#define GPT_IMR_TATOIM_DIS 0x00000000
//*****************************************************************************
//
// Register: GPT_O_RIS
//
//*****************************************************************************
// Field: [13] DMABRIS
//
// GPT Timer B DMA Done Raw Interrupt Status
//
// 0: Transfer has not completed
// 1: Transfer has completed
#define GPT_RIS_DMABRIS 0x00002000
#define GPT_RIS_DMABRIS_BITN 13
#define GPT_RIS_DMABRIS_M 0x00002000
#define GPT_RIS_DMABRIS_S 13
// Field: [11] TBMRIS
//
// GPT Timer B Match Raw Interrupt
//
// 0: The match value has not been reached
// 1: The match value is reached.
//
// TBMR.TBMIE is set, and the match values in TBMATCHR and optionally TBPMR
// have been reached when configured in one-shot or periodic mode.
#define GPT_RIS_TBMRIS 0x00000800
#define GPT_RIS_TBMRIS_BITN 11
#define GPT_RIS_TBMRIS_M 0x00000800
#define GPT_RIS_TBMRIS_S 11
// Field: [10] CBERIS
//
// GPT Timer B Capture Mode Event Raw Interrupt
//
// 0: The event has not occured.
// 1: The event has occured.
//
// This interrupt asserts when the subtimer is configured in Input Edge-Time
// mode
#define GPT_RIS_CBERIS 0x00000400
#define GPT_RIS_CBERIS_BITN 10
#define GPT_RIS_CBERIS_M 0x00000400
#define GPT_RIS_CBERIS_S 10
// Field: [9] CBMRIS
//
// GPT Timer B Capture Mode Match Raw Interrupt
//
// 0: The capture mode match for Timer B has not occurred.
// 1: A capture mode match has occurred for Timer B. This interrupt
// asserts when the values in the TBR and TBPR
// match the values in the TBMATCHR and TBPMR
// when configured in Input Edge-Time mode.
//
// This bit is cleared by writing a 1 to the ICLR.CBMCINT bit.
#define GPT_RIS_CBMRIS 0x00000200
#define GPT_RIS_CBMRIS_BITN 9
#define GPT_RIS_CBMRIS_M 0x00000200
#define GPT_RIS_CBMRIS_S 9
// Field: [8] TBTORIS
//
// GPT Timer B Time-out Raw Interrupt
//
// 0: Timer B has not timed out
// 1: Timer B has timed out.
//
// This interrupt is asserted when a one-shot or periodic mode timer reaches
// its count limit. The count limit is 0 or the value loaded into TBILR,
// depending on the count direction.
#define GPT_RIS_TBTORIS 0x00000100
#define GPT_RIS_TBTORIS_BITN 8
#define GPT_RIS_TBTORIS_M 0x00000100
#define GPT_RIS_TBTORIS_S 8
// Field: [5] DMAARIS
//
// GPT Timer A DMA Done Raw Interrupt Status
//
// 0: Transfer has not completed
// 1: Transfer has completed
#define GPT_RIS_DMAARIS 0x00000020
#define GPT_RIS_DMAARIS_BITN 5
#define GPT_RIS_DMAARIS_M 0x00000020
#define GPT_RIS_DMAARIS_S 5
// Field: [4] TAMRIS
//
// GPT Timer A Match Raw Interrupt
//
// 0: The match value has not been reached
// 1: The match value is reached.
//
// TAMR.TAMIE is set, and the match values in TAMATCHR and optionally TAPMR
// have been reached when configured in one-shot or periodic mode.
#define GPT_RIS_TAMRIS 0x00000010
#define GPT_RIS_TAMRIS_BITN 4
#define GPT_RIS_TAMRIS_M 0x00000010
#define GPT_RIS_TAMRIS_S 4
// Field: [2] CAERIS
//
// GPT Timer A Capture Mode Event Raw Interrupt
//
// 0: The event has not occured.
// 1: The event has occured.
//
// This interrupt asserts when the subtimer is configured in Input Edge-Time
// mode
#define GPT_RIS_CAERIS 0x00000004
#define GPT_RIS_CAERIS_BITN 2
#define GPT_RIS_CAERIS_M 0x00000004
#define GPT_RIS_CAERIS_S 2
// Field: [1] CAMRIS
//
// GPT Timer A Capture Mode Match Raw Interrupt
//
// 0: The capture mode match for Timer A has not occurred.
// 1: A capture mode match has occurred for Timer A. This interrupt
// asserts when the values in the TAR and TAPR
// match the values in the TAMATCHR and TAPMR
// when configured in Input Edge-Time mode.
//
// This bit is cleared by writing a 1 to the ICLR.CAMCINT bit.
#define GPT_RIS_CAMRIS 0x00000002
#define GPT_RIS_CAMRIS_BITN 1
#define GPT_RIS_CAMRIS_M 0x00000002
#define GPT_RIS_CAMRIS_S 1
// Field: [0] TATORIS
//
// GPT Timer A Time-out Raw Interrupt
//
// 0: Timer A has not timed out
// 1: Timer A has timed out.
//
// This interrupt is asserted when a one-shot or periodic mode timer reaches
// its count limit. The count limit is 0 or the value loaded into TAILR,
// depending on the count direction.
#define GPT_RIS_TATORIS 0x00000001
#define GPT_RIS_TATORIS_BITN 0
#define GPT_RIS_TATORIS_M 0x00000001
#define GPT_RIS_TATORIS_S 0
//*****************************************************************************
//
// Register: GPT_O_MIS
//
//*****************************************************************************
// Field: [13] DMABMIS
//
// 0: No interrupt or interrupt not enabled
// 1: RIS.DMABRIS = 1 && IMR.DMABIM = 1
#define GPT_MIS_DMABMIS 0x00002000
#define GPT_MIS_DMABMIS_BITN 13
#define GPT_MIS_DMABMIS_M 0x00002000
#define GPT_MIS_DMABMIS_S 13
// Field: [11] TBMMIS
//
// 0: No interrupt or interrupt not enabled
// 1: RIS.TBMRIS = 1 && IMR.TBMIM = 1
#define GPT_MIS_TBMMIS 0x00000800
#define GPT_MIS_TBMMIS_BITN 11
#define GPT_MIS_TBMMIS_M 0x00000800
#define GPT_MIS_TBMMIS_S 11
// Field: [10] CBEMIS
//
// 0: No interrupt or interrupt not enabled
// 1: RIS.CBERIS = 1 && IMR.CBEIM = 1
#define GPT_MIS_CBEMIS 0x00000400
#define GPT_MIS_CBEMIS_BITN 10
#define GPT_MIS_CBEMIS_M 0x00000400
#define GPT_MIS_CBEMIS_S 10
// Field: [9] CBMMIS
//
// 0: No interrupt or interrupt not enabled
// 1: RIS.CBMRIS = 1 && IMR.CBMIM = 1
#define GPT_MIS_CBMMIS 0x00000200
#define GPT_MIS_CBMMIS_BITN 9
#define GPT_MIS_CBMMIS_M 0x00000200
#define GPT_MIS_CBMMIS_S 9
// Field: [8] TBTOMIS
//
// 0: No interrupt or interrupt not enabled
// 1: RIS.TBTORIS = 1 && IMR.TBTOIM = 1
#define GPT_MIS_TBTOMIS 0x00000100
#define GPT_MIS_TBTOMIS_BITN 8
#define GPT_MIS_TBTOMIS_M 0x00000100
#define GPT_MIS_TBTOMIS_S 8
// Field: [5] DMAAMIS
//
// 0: No interrupt or interrupt not enabled
// 1: RIS.DMAARIS = 1 && IMR.DMAAIM = 1
#define GPT_MIS_DMAAMIS 0x00000020
#define GPT_MIS_DMAAMIS_BITN 5
#define GPT_MIS_DMAAMIS_M 0x00000020
#define GPT_MIS_DMAAMIS_S 5
// Field: [4] TAMMIS
//
// 0: No interrupt or interrupt not enabled
// 1: RIS.TAMRIS = 1 && IMR.TAMIM = 1
#define GPT_MIS_TAMMIS 0x00000010
#define GPT_MIS_TAMMIS_BITN 4
#define GPT_MIS_TAMMIS_M 0x00000010
#define GPT_MIS_TAMMIS_S 4
// Field: [2] CAEMIS
//
// 0: No interrupt or interrupt not enabled
// 1: RIS.CAERIS = 1 && IMR.CAEIM = 1
#define GPT_MIS_CAEMIS 0x00000004
#define GPT_MIS_CAEMIS_BITN 2
#define GPT_MIS_CAEMIS_M 0x00000004
#define GPT_MIS_CAEMIS_S 2
// Field: [1] CAMMIS
//
// 0: No interrupt or interrupt not enabled
// 1: RIS.CAMRIS = 1 && IMR.CAMIM = 1
#define GPT_MIS_CAMMIS 0x00000002
#define GPT_MIS_CAMMIS_BITN 1
#define GPT_MIS_CAMMIS_M 0x00000002
#define GPT_MIS_CAMMIS_S 1
// Field: [0] TATOMIS
//
// 0: No interrupt or interrupt not enabled
// 1: RIS.TATORIS = 1 && IMR.TATOIM = 1
#define GPT_MIS_TATOMIS 0x00000001
#define GPT_MIS_TATOMIS_BITN 0
#define GPT_MIS_TATOMIS_M 0x00000001
#define GPT_MIS_TATOMIS_S 0
//*****************************************************************************
//
// Register: GPT_O_ICLR
//
//*****************************************************************************
// Field: [13] DMABINT
//
// 0: Do nothing.
// 1: Clear RIS.DMABRIS and MIS.DMABMIS
#define GPT_ICLR_DMABINT 0x00002000
#define GPT_ICLR_DMABINT_BITN 13
#define GPT_ICLR_DMABINT_M 0x00002000
#define GPT_ICLR_DMABINT_S 13
// Field: [11] TBMCINT
//
// 0: Do nothing.
// 1: Clear RIS.TBMRIS and MIS.TBMMIS
#define GPT_ICLR_TBMCINT 0x00000800
#define GPT_ICLR_TBMCINT_BITN 11
#define GPT_ICLR_TBMCINT_M 0x00000800
#define GPT_ICLR_TBMCINT_S 11
// Field: [10] CBECINT
//
// 0: Do nothing.
// 1: Clear RIS.CBERIS and MIS.CBEMIS
#define GPT_ICLR_CBECINT 0x00000400
#define GPT_ICLR_CBECINT_BITN 10
#define GPT_ICLR_CBECINT_M 0x00000400
#define GPT_ICLR_CBECINT_S 10
// Field: [9] CBMCINT
//
// 0: Do nothing.
// 1: Clear RIS.CBMRIS and MIS.CBMMIS
#define GPT_ICLR_CBMCINT 0x00000200
#define GPT_ICLR_CBMCINT_BITN 9
#define GPT_ICLR_CBMCINT_M 0x00000200
#define GPT_ICLR_CBMCINT_S 9
// Field: [8] TBTOCINT
//
// 0: Do nothing.
// 1: Clear RIS.TBTORIS and MIS.TBTOMIS
#define GPT_ICLR_TBTOCINT 0x00000100
#define GPT_ICLR_TBTOCINT_BITN 8
#define GPT_ICLR_TBTOCINT_M 0x00000100
#define GPT_ICLR_TBTOCINT_S 8
// Field: [5] DMAAINT
//
// 0: Do nothing.
// 1: Clear RIS.DMAARIS and MIS.DMAAMIS
#define GPT_ICLR_DMAAINT 0x00000020
#define GPT_ICLR_DMAAINT_BITN 5
#define GPT_ICLR_DMAAINT_M 0x00000020
#define GPT_ICLR_DMAAINT_S 5
// Field: [4] TAMCINT
//
// 0: Do nothing.
// 1: Clear RIS.TAMRIS and MIS.TAMMIS
#define GPT_ICLR_TAMCINT 0x00000010
#define GPT_ICLR_TAMCINT_BITN 4
#define GPT_ICLR_TAMCINT_M 0x00000010
#define GPT_ICLR_TAMCINT_S 4
// Field: [2] CAECINT
//
// 0: Do nothing.
// 1: Clear RIS.CAERIS and MIS.CAEMIS
#define GPT_ICLR_CAECINT 0x00000004
#define GPT_ICLR_CAECINT_BITN 2
#define GPT_ICLR_CAECINT_M 0x00000004
#define GPT_ICLR_CAECINT_S 2
// Field: [1] CAMCINT
//
// 0: Do nothing.
// 1: Clear RIS.CAMRIS and MIS.CAMMIS
#define GPT_ICLR_CAMCINT 0x00000002
#define GPT_ICLR_CAMCINT_BITN 1
#define GPT_ICLR_CAMCINT_M 0x00000002
#define GPT_ICLR_CAMCINT_S 1
// Field: [0] TATOCINT
//
// 0: Do nothing.
// 1: Clear RIS.TATORIS and MIS.TATOMIS
#define GPT_ICLR_TATOCINT 0x00000001
#define GPT_ICLR_TATOCINT_BITN 0
#define GPT_ICLR_TATOCINT_M 0x00000001
#define GPT_ICLR_TATOCINT_S 0
//*****************************************************************************
//
// Register: GPT_O_TAILR
//
//*****************************************************************************
// Field: [31:0] TAILR
//
// GPT Timer A Interval Load Register
//
// Writing this field loads the counter for Timer A. A read returns the current
// value of TAILR.
#define GPT_TAILR_TAILR_W 32
#define GPT_TAILR_TAILR_M 0xFFFFFFFF
#define GPT_TAILR_TAILR_S 0
//*****************************************************************************
//
// Register: GPT_O_TBILR
//
//*****************************************************************************
// Field: [31:0] TBILR
//
// GPT Timer B Interval Load Register
//
// Writing this field loads the counter for Timer B. A read returns the current
// value of TBILR.
#define GPT_TBILR_TBILR_W 32
#define GPT_TBILR_TBILR_M 0xFFFFFFFF
#define GPT_TBILR_TBILR_S 0
//*****************************************************************************
//
// Register: GPT_O_TAMATCHR
//
//*****************************************************************************
// Field: [31:0] TAMATCHR
//
// GPT Timer A Match Register
#define GPT_TAMATCHR_TAMATCHR_W 32
#define GPT_TAMATCHR_TAMATCHR_M 0xFFFFFFFF
#define GPT_TAMATCHR_TAMATCHR_S 0
//*****************************************************************************
//
// Register: GPT_O_TBMATCHR
//
//*****************************************************************************
// Field: [15:0] TBMATCHR
//
// GPT Timer B Match Register
#define GPT_TBMATCHR_TBMATCHR_W 16
#define GPT_TBMATCHR_TBMATCHR_M 0x0000FFFF
#define GPT_TBMATCHR_TBMATCHR_S 0
//*****************************************************************************
//
// Register: GPT_O_TAPR
//
//*****************************************************************************
// Field: [7:0] TAPSR
//
// Timer A Pre-scale.
//
// Prescaler ratio in one-shot and periodic count mode is TAPSR + 1, that is:
//
// 0: Prescaler ratio = 1
// 1: Prescaler ratio = 2
// 2: Prescaler ratio = 3
// ...
// 255: Prescaler ratio = 256
#define GPT_TAPR_TAPSR_W 8
#define GPT_TAPR_TAPSR_M 0x000000FF
#define GPT_TAPR_TAPSR_S 0
//*****************************************************************************
//
// Register: GPT_O_TBPR
//
//*****************************************************************************
// Field: [7:0] TBPSR
//
// Timer B Pre-scale.
//
// Prescale ratio in one-shot and periodic count mode is TBPSR + 1, that is:
//
// 0: Prescaler ratio = 1
// 1: Prescaler ratio = 2
// 2: Prescaler ratio = 3
// ...
// 255: Prescaler ratio = 256
#define GPT_TBPR_TBPSR_W 8
#define GPT_TBPR_TBPSR_M 0x000000FF
#define GPT_TBPR_TBPSR_S 0
//*****************************************************************************
//
// Register: GPT_O_TAPMR
//
//*****************************************************************************
// Field: [7:0] TAPSMR
//
// GPT Timer A Pre-scale Match. In 16 bit mode this field holds bits 23 to 16.
#define GPT_TAPMR_TAPSMR_W 8
#define GPT_TAPMR_TAPSMR_M 0x000000FF
#define GPT_TAPMR_TAPSMR_S 0
//*****************************************************************************
//
// Register: GPT_O_TBPMR
//
//*****************************************************************************
// Field: [7:0] TBPSMR
//
// GPT Timer B Pre-scale Match Register. In 16 bit mode this field holds bits
// 23 to 16.
#define GPT_TBPMR_TBPSMR_W 8
#define GPT_TBPMR_TBPSMR_M 0x000000FF
#define GPT_TBPMR_TBPSMR_S 0
//*****************************************************************************
//
// Register: GPT_O_TAR
//
//*****************************************************************************
// Field: [31:0] TAR
//
// GPT Timer A Register
//
// Based on the value in the register field TAMR.TAILD, this register is
// updated with the value from TAILR register either on the next cycle or on
// the next timeout.
//
// A read returns the current value of the Timer A Count Register, in all cases
// except for Input Edge count and Timer modes.
// In the Input Edge Count Mode, this register contains the number of edges
// that have occurred. In the Input Edge Time mode, this register contains the
// time at which the last edge event took place.
#define GPT_TAR_TAR_W 32
#define GPT_TAR_TAR_M 0xFFFFFFFF
#define GPT_TAR_TAR_S 0
//*****************************************************************************
//
// Register: GPT_O_TBR
//
//*****************************************************************************
// Field: [31:0] TBR
//
// GPT Timer B Register
//
// Based on the value in the register field TBMR.TBILD, this register is
// updated with the value from TBILR register either on the next cycle or on
// the next timeout.
//
// A read returns the current value of the Timer B Count Register, in all cases
// except for Input Edge count and Timer modes.
// In the Input Edge Count Mode, this register contains the number of edges
// that have occurred. In the Input Edge Time mode, this register contains the
// time at which the last edge event took place.
#define GPT_TBR_TBR_W 32
#define GPT_TBR_TBR_M 0xFFFFFFFF
#define GPT_TBR_TBR_S 0
//*****************************************************************************
//
// Register: GPT_O_TAV
//
//*****************************************************************************
// Field: [31:0] TAV
//
// GPT Timer A Register
// A read returns the current, free-running value of Timer A in all modes.
// When written, the value written into this register is loaded into the
// TAR register on the next clock cycle.
// Note: In 16-bit mode, only the lower 16-bits of this
// register can be written with a new value. Writes to the prescaler bits have
// no effect
#define GPT_TAV_TAV_W 32
#define GPT_TAV_TAV_M 0xFFFFFFFF
#define GPT_TAV_TAV_S 0
//*****************************************************************************
//
// Register: GPT_O_TBV
//
//*****************************************************************************
// Field: [31:0] TBV
//
// GPT Timer B Register
// A read returns the current, free-running value of Timer B in all modes.
// When written, the value written into this register is loaded into the
// TBR register on the next clock cycle.
// Note: In 16-bit mode, only the lower 16-bits of this
// register can be written with a new value. Writes to the prescaler bits have
// no effect
#define GPT_TBV_TBV_W 32
#define GPT_TBV_TBV_M 0xFFFFFFFF
#define GPT_TBV_TBV_S 0
//*****************************************************************************
//
// Register: GPT_O_TAPS
//
//*****************************************************************************
// Field: [7:0] PSS
//
// GPT Timer A Pre-scaler
#define GPT_TAPS_PSS_W 8
#define GPT_TAPS_PSS_M 0x000000FF
#define GPT_TAPS_PSS_S 0
//*****************************************************************************
//
// Register: GPT_O_TBPS
//
//*****************************************************************************
// Field: [7:0] PSS
//
// GPT Timer B Pre-scaler
#define GPT_TBPS_PSS_W 8
#define GPT_TBPS_PSS_M 0x000000FF
#define GPT_TBPS_PSS_S 0
//*****************************************************************************
//
// Register: GPT_O_TAPV
//
//*****************************************************************************
// Field: [7:0] PSV
//
// GPT Timer A Pre-scaler Value
#define GPT_TAPV_PSV_W 8
#define GPT_TAPV_PSV_M 0x000000FF
#define GPT_TAPV_PSV_S 0
//*****************************************************************************
//
// Register: GPT_O_TBPV
//
//*****************************************************************************
// Field: [7:0] PSV
//
// GPT Timer B Pre-scaler Value
#define GPT_TBPV_PSV_W 8
#define GPT_TBPV_PSV_M 0x000000FF
#define GPT_TBPV_PSV_S 0
//*****************************************************************************
//
// Register: GPT_O_DMAEV
//
//*****************************************************************************
// Field: [11] TBMDMAEN
//
// GPT Timer B Match DMA Trigger Enable
#define GPT_DMAEV_TBMDMAEN 0x00000800
#define GPT_DMAEV_TBMDMAEN_BITN 11
#define GPT_DMAEV_TBMDMAEN_M 0x00000800
#define GPT_DMAEV_TBMDMAEN_S 11
// Field: [10] CBEDMAEN
//
// GPT Timer B Capture Event DMA Trigger Enable
#define GPT_DMAEV_CBEDMAEN 0x00000400
#define GPT_DMAEV_CBEDMAEN_BITN 10
#define GPT_DMAEV_CBEDMAEN_M 0x00000400
#define GPT_DMAEV_CBEDMAEN_S 10
// Field: [9] CBMDMAEN
//
// GPT Timer B Capture Match DMA Trigger Enable
#define GPT_DMAEV_CBMDMAEN 0x00000200
#define GPT_DMAEV_CBMDMAEN_BITN 9
#define GPT_DMAEV_CBMDMAEN_M 0x00000200
#define GPT_DMAEV_CBMDMAEN_S 9
// Field: [8] TBTODMAEN
//
// GPT Timer B Time-Out DMA Trigger Enable
#define GPT_DMAEV_TBTODMAEN 0x00000100
#define GPT_DMAEV_TBTODMAEN_BITN 8
#define GPT_DMAEV_TBTODMAEN_M 0x00000100
#define GPT_DMAEV_TBTODMAEN_S 8
// Field: [4] TAMDMAEN
//
// GPT Timer A Match DMA Trigger Enable
#define GPT_DMAEV_TAMDMAEN 0x00000010
#define GPT_DMAEV_TAMDMAEN_BITN 4
#define GPT_DMAEV_TAMDMAEN_M 0x00000010
#define GPT_DMAEV_TAMDMAEN_S 4
// Field: [2] CAEDMAEN
//
// GPT Timer A Capture Event DMA Trigger Enable
#define GPT_DMAEV_CAEDMAEN 0x00000004
#define GPT_DMAEV_CAEDMAEN_BITN 2
#define GPT_DMAEV_CAEDMAEN_M 0x00000004
#define GPT_DMAEV_CAEDMAEN_S 2
// Field: [1] CAMDMAEN
//
// GPT Timer A Capture Match DMA Trigger Enable
#define GPT_DMAEV_CAMDMAEN 0x00000002
#define GPT_DMAEV_CAMDMAEN_BITN 1
#define GPT_DMAEV_CAMDMAEN_M 0x00000002
#define GPT_DMAEV_CAMDMAEN_S 1
// Field: [0] TATODMAEN
//
// GPT Timer A Time-Out DMA Trigger Enable
#define GPT_DMAEV_TATODMAEN 0x00000001
#define GPT_DMAEV_TATODMAEN_BITN 0
#define GPT_DMAEV_TATODMAEN_M 0x00000001
#define GPT_DMAEV_TATODMAEN_S 0
//*****************************************************************************
//
// Register: GPT_O_VERSION
//
//*****************************************************************************
// Field: [31:0] VERSION
//
// Timer Revision.
#define GPT_VERSION_VERSION_W 32
#define GPT_VERSION_VERSION_M 0xFFFFFFFF
#define GPT_VERSION_VERSION_S 0
//*****************************************************************************
//
// Register: GPT_O_ANDCCP
//
//*****************************************************************************
// Field: [0] CCP_AND_EN
//
// Enables AND operation of the CCP outputs for timers A and B.
//
// 0 : PWM outputs of Timer A and Timer B are the internal generated PWM
// signals of the respective timers.
// 1 : PWM output of Timer A is ANDed version of Timer A and Timer B PWM
// signals and Timer B PWM ouput is Timer B PWM signal only.
#define GPT_ANDCCP_CCP_AND_EN 0x00000001
#define GPT_ANDCCP_CCP_AND_EN_BITN 0
#define GPT_ANDCCP_CCP_AND_EN_M 0x00000001
#define GPT_ANDCCP_CCP_AND_EN_S 0
#endif // __GPT__