aboutsummaryrefslogtreecommitdiffstats
path: root/os/hal/ports/TIVA/LLD/GPTM
diff options
context:
space:
mode:
Diffstat (limited to 'os/hal/ports/TIVA/LLD/GPTM')
-rw-r--r--os/hal/ports/TIVA/LLD/GPTM/hal_gpt_lld.c16
-rw-r--r--os/hal/ports/TIVA/LLD/GPTM/hal_st_lld.c16
-rw-r--r--os/hal/ports/TIVA/LLD/GPTM/hal_st_lld.h5
-rw-r--r--os/hal/ports/TIVA/LLD/GPTM/tiva_gpt.h135
4 files changed, 19 insertions, 153 deletions
diff --git a/os/hal/ports/TIVA/LLD/GPTM/hal_gpt_lld.c b/os/hal/ports/TIVA/LLD/GPTM/hal_gpt_lld.c
index fdf7c17..60d2b82 100644
--- a/os/hal/ports/TIVA/LLD/GPTM/hal_gpt_lld.c
+++ b/os/hal/ports/TIVA/LLD/GPTM/hal_gpt_lld.c
@@ -594,7 +594,7 @@ void gpt_lld_start(GPTDriver *gptp)
/* Timer configuration.*/
HWREG(gptp->gpt + TIMER_O_CTL) = 0;
- HWREG(gptp->gpt + TIMER_O_CFG) = GPTM_CFG_CFG_SPLIT;
+ HWREG(gptp->gpt + TIMER_O_CFG) = TIMER_CFG_16_BIT;
HWREG(gptp->gpt + TIMER_O_TAPR) = ((TIVA_SYSCLK / gptp->config->frequency) - 1);
}
@@ -710,9 +710,9 @@ void gpt_lld_start_timer(GPTDriver *gptp, gptcnt_t interval)
{
HWREG(gptp->gpt + TIMER_O_TAILR) = interval - 1;
HWREG(gptp->gpt + TIMER_O_ICR) = 0xfffffff;
- HWREG(gptp->gpt + TIMER_O_IMR) = GPTM_IMR_TATOIM;
- HWREG(gptp->gpt + TIMER_O_TAMR) = GPTM_TAMR_TAMR_PERIODIC | GPTM_TAMR_TAILD | GPTM_TAMR_TASNAPS;
- HWREG(gptp->gpt + TIMER_O_CTL) = GPTM_CTL_TAEN | GPTM_CTL_TASTALL;
+ HWREG(gptp->gpt + TIMER_O_IMR) = TIMER_IMR_TATOIM;
+ HWREG(gptp->gpt + TIMER_O_TAMR) = TIMER_TAMR_TAMR_PERIOD | TIMER_TAMR_TAILD | TIMER_TAMR_TASNAPS;
+ HWREG(gptp->gpt + TIMER_O_CTL) = TIMER_CTL_TAEN | TIMER_CTL_TASTALL;
}
/**
@@ -726,7 +726,7 @@ void gpt_lld_stop_timer(GPTDriver *gptp)
{
HWREG(gptp->gpt + TIMER_O_IMR) = 0;
HWREG(gptp->gpt + TIMER_O_TAILR) = 0;
- HWREG(gptp->gpt + TIMER_O_CTL) &= ~GPTM_CTL_TAEN;
+ HWREG(gptp->gpt + TIMER_O_CTL) &= ~TIMER_CTL_TAEN;
}
/**
@@ -742,11 +742,11 @@ void gpt_lld_stop_timer(GPTDriver *gptp)
*/
void gpt_lld_polled_delay(GPTDriver *gptp, gptcnt_t interval)
{
- HWREG(gptp->gpt + TIMER_O_TAMR) = GPTM_TAMR_TAMR_ONESHOT | GPTM_TAMR_TAILD | GPTM_TAMR_TASNAPS;
+ HWREG(gptp->gpt + TIMER_O_TAMR) = TIMER_TAMR_TAMR_1_SHOT | TIMER_TAMR_TAILD | TIMER_TAMR_TASNAPS;
HWREG(gptp->gpt + TIMER_O_TAILR) = interval - 1;
HWREG(gptp->gpt + TIMER_O_ICR) = 0xffffffff;
- HWREG(gptp->gpt + TIMER_O_CTL) = GPTM_CTL_TAEN | GPTM_CTL_TASTALL;
- while (!(HWREG(gptp->gpt + TIMER_O_RIS) & GPTM_IMR_TATOIM))
+ HWREG(gptp->gpt + TIMER_O_CTL) = TIMER_CTL_TAEN | TIMER_CTL_TASTALL;
+ while (!(HWREG(gptp->gpt + TIMER_O_RIS) & TIMER_IMR_TATOIM))
;
HWREG(gptp->gpt + TIMER_O_ICR) = 0xffffffff;
}
diff --git a/os/hal/ports/TIVA/LLD/GPTM/hal_st_lld.c b/os/hal/ports/TIVA/LLD/GPTM/hal_st_lld.c
index c98a30f..d87652b 100644
--- a/os/hal/ports/TIVA/LLD/GPTM/hal_st_lld.c
+++ b/os/hal/ports/TIVA/LLD/GPTM/hal_st_lld.c
@@ -187,7 +187,7 @@ OSAL_IRQ_HANDLER(ST_HANDLER)
mis = HWREG(TIVA_ST_TIM + TIMER_O_MIS);
HWREG(TIVA_ST_TIM + TIMER_O_ICR) = mis;
- if (mis & GPTM_IMR_TAMIM) {
+ if (mis & TIMER_IMR_TAMIM) {
osalSysLockFromISR();
osalOsTimerHandlerI();
osalSysUnlockFromISR();
@@ -219,14 +219,16 @@ void st_lld_init(void)
/* Initializing the counter in free running down mode.*/
HWREG(TIVA_ST_TIM + TIMER_O_CTL) = 0;
- HWREG(TIVA_ST_TIM + TIMER_O_CFG) = GPTM_CFG_CFG_SPLIT; /* Timer split mode */
- HWREG(TIVA_ST_TIM + TIMER_O_TAMR) = (GPTM_TAMR_TAMR_PERIODIC |/* Periodic mode */
- GPTM_TAMR_TAMIE | /* Match interrupt enable */
- GPTM_TAMR_TASNAPS); /* Snapshot mode */
+ HWREG(TIVA_ST_TIM + TIMER_O_CFG) = TIMER_CFG_16_BIT; /* Timer split mode */
+ HWREG(TIVA_ST_TIM + TIMER_O_TAMR) = (
+ TIMER_TAMR_TAMR_PERIOD | /* Periodic mode */
+ TIMER_TAMR_TAMIE | /* Match interrupt enable */
+ TIMER_TAMR_TASNAPS); /* Snapshot mode */
HWREG(TIVA_ST_TIM + TIMER_O_TAPR) = (TIVA_SYSCLK / OSAL_ST_FREQUENCY) - 1;
- HWREG(TIVA_ST_TIM + TIMER_O_CTL) = (GPTM_CTL_TAEN | /* Timer A enable */
- GPTM_CTL_TASTALL); /* Timer A stall when paused */
+ HWREG(TIVA_ST_TIM + TIMER_O_CTL) = (
+ TIMER_CTL_TAEN | /* Timer A enable */
+ TIMER_CTL_TASTALL); /* Timer A stall when paused */
/* IRQ enabled.*/
nvicEnableVector(ST_NUMBER, TIVA_ST_IRQ_PRIORITY);
diff --git a/os/hal/ports/TIVA/LLD/GPTM/hal_st_lld.h b/os/hal/ports/TIVA/LLD/GPTM/hal_st_lld.h
index c1c9494..cd076d6 100644
--- a/os/hal/ports/TIVA/LLD/GPTM/hal_st_lld.h
+++ b/os/hal/ports/TIVA/LLD/GPTM/hal_st_lld.h
@@ -29,7 +29,6 @@
#include "mcuconf.h"
#include "tiva_registry.h"
-#include "tiva_gpt.h"
/*===========================================================================*/
/* Driver constants. */
@@ -213,7 +212,7 @@ static inline void st_lld_start_alarm(systime_t time)
{
HWREG(TIVA_ST_TIM + TIMER_O_TAMATCHR) = (systime_t) (((systime_t) 0xffffffff) - time);
HWREG(TIVA_ST_TIM + TIMER_O_ICR) = HWREG(TIVA_ST_TIM + TIMER_O_MIS);
- HWREG(TIVA_ST_TIM + TIMER_O_IMR) = GPTM_IMR_TAMIM;
+ HWREG(TIVA_ST_TIM + TIMER_O_IMR) = TIMER_IMR_TAMIM;
}
/**
@@ -261,7 +260,7 @@ static inline systime_t st_lld_get_alarm(void)
*/
static inline bool st_lld_is_alarm_active(void)
{
- return (bool) ((HWREG(TIVA_ST_TIM + TIMER_O_IMR) & GPTM_IMR_TAMIM) !=0);
+ return (bool) ((HWREG(TIVA_ST_TIM + TIMER_O_IMR) & TIMER_IMR_TAMIM) !=0);
}
#endif /* HAL_ST_LLD_H */
diff --git a/os/hal/ports/TIVA/LLD/GPTM/tiva_gpt.h b/os/hal/ports/TIVA/LLD/GPTM/tiva_gpt.h
deleted file mode 100644
index 114831b..0000000
--- a/os/hal/ports/TIVA/LLD/GPTM/tiva_gpt.h
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- Copyright (C) 2014..2016 Marco Veeneman
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file tiva_gpt.h
- * @brief TIVA GPT registers layout header.
- *
- * @addtogroup TIVA_GPT
- * @{
- */
-
-#ifndef TIVA_GPT_H_
-#define TIVA_GPT_H_
-
-// cfg
-#define GPTM_CFG_CFG_MASK (7 << 0)
-#define GPTM_CFG_CFG_WHOLE (0 << 0)
-#define GPTM_CFG_CFG_RTC (1 << 0)
-#define GPTM_CFG_CFG_SPLIT (4 << 0)
-
-// tamr
-#define GPTM_TAMR_TAMR_MASK (3 << 0)
-#define GPTM_TAMR_TAMR_ONESHOT (1 << 0)
-#define GPTM_TAMR_TAMR_PERIODIC (2 << 0)
-#define GPTM_TAMR_TAMR_CAPTURE (3 << 0)
-
-#define GPTM_TAMR_TACMR (1 << 2)
-
-#define GPTM_TAMR_TAAMS (1 << 3)
-
-#define GPTM_TAMR_TACDIR (1 << 4)
-
-#define GPTM_TAMR_TAMIE (1 << 5)
-
-#define GPTM_TAMR_TAWOT (1 << 6)
-
-#define GPTM_TAMR_TASNAPS (1 << 7)
-
-#define GPTM_TAMR_TAILD (1 << 8)
-
-#define GPTM_TAMR_TAPWMIE (1 << 9)
-
-#define GPTM_TAMR_TAMRSU (1 << 10)
-
-#define GPTM_TAMR_TAPLO (1 << 11)
-
-// ctl
-#define GPTM_CTL_TAEN (1 << 0)
-
-#define GPTM_CTL_TASTALL (1 << 1)
-
-#define GPTM_CTL_TAEVENT_MASK (3 << 2)
-#define GPTM_CTL_TAEVENT_POS (0 << 2)
-#define GPTM_CTL_TAEVENT_NEG (1 << 2)
-#define GPTM_CTL_TAEVENT_BOTH (3 << 2)
-
-#define GPTM_CTL_RTCEN (1 << 4)
-
-#define GPTM_CTL_TAOTE (1 << 5)
-
-#define GPTM_CTL_TAPWML (1 << 6)
-
-#define GPTM_CTL_TBEN (1 << 8)
-
-#define GPTM_CTL_TBSTALL (1 << 9)
-
-#define GPTM_CTL_TBEVENT_MASK (3 << 10)
-#define GPTM_CTL_TBEVENT_POS (0 << 10)
-#define GPTM_CTL_TBEVENT_NEG (1 << 10)
-#define GPTM_CTL_TBEVENT_BOTH (3 << 10)
-
-#define GPTM_CTL_TBOTE (1 << 13)
-
-#define GPTM_CTL_TBPWML (1 << 14)
-
-// imr
-#define GPTM_IMR_TATOIM (1 << 0)
-
-#define GPTM_IMR_CAMIM (1 << 1)
-
-#define GPTM_IMR_CAEIM (1 << 2)
-
-#define GPTM_IMR_RTCIM (1 << 3)
-
-#define GPTM_IMR_TAMIM (1 << 4)
-
-#define GPTM_IMR_TBTOIM (1 << 8)
-
-#define GPTM_IMR_CBMIM (1 << 9)
-
-#define GPTM_IMR_CBEIM (1 << 10)
-
-#define GPTM_IMR_TBMIM (1 << 11)
-
-#define GPTM_IMR_WUEIM (1 << 16)
-
-// icr
-#define GPTM_ICR_TATOCINT (1 << 0)
-
-#define GPTM_ICR_CAMCINT (1 << 1)
-
-#define GPTM_ICR_CAECINT (1 << 2)
-
-#define GPTM_ICR_RTCCINT (1 << 3)
-
-#define GPTM_ICR_TAMCINT (1 << 4)
-
-#define GPTM_ICR_TBTOCINT (1 << 8)
-
-#define GPTM_ICR_CBMCINT (1 << 9)
-
-#define GPTM_ICR_CBECINT (1 << 10)
-
-#define GPTM_ICR_TBMCINT (1 << 11)
-
-#define GPTM_ICR_WUECINT (1 << 16)
-
-#endif /* TIVA_GPT_H_ */
-
-/*
- * @}
- */