summaryrefslogtreecommitdiff
path: root/nuttx/arch/arm/src/tiva/tiva_timerlib.c
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2015-01-13 07:49:20 -0600
committerGregory Nutt <gnutt@nuttx.org>2015-01-13 07:49:20 -0600
commitfe9a6e048b5db747ec2f827f2edf8c81d416d81f (patch)
tree59e1bf940afbefbe02b459e91fff5affee4a88f7 /nuttx/arch/arm/src/tiva/tiva_timerlib.c
parent136864097e628fc6cfe4ba36ba66e3b132e06284 (diff)
downloadnuttx-fe9a6e048b5db747ec2f827f2edf8c81d416d81f.tar.gz
nuttx-fe9a6e048b5db747ec2f827f2edf8c81d416d81f.tar.bz2
nuttx-fe9a6e048b5db747ec2f827f2edf8c81d416d81f.zip
Tiva Timer: Add conditional compilation to enable/disable each timer feature. Not only does this reduce the footprint by suppressing unused features, it also protects from partially implemented features that are now conditioned on EXPERIMENTAL
Diffstat (limited to 'nuttx/arch/arm/src/tiva/tiva_timerlib.c')
-rw-r--r--nuttx/arch/arm/src/tiva/tiva_timerlib.c123
1 files changed, 122 insertions, 1 deletions
diff --git a/nuttx/arch/arm/src/tiva/tiva_timerlib.c b/nuttx/arch/arm/src/tiva/tiva_timerlib.c
index 837693e6b..f5c32b0c3 100644
--- a/nuttx/arch/arm/src/tiva/tiva_timerlib.c
+++ b/nuttx/arch/arm/src/tiva/tiva_timerlib.c
@@ -72,9 +72,13 @@
struct tiva_gptmattr_s
{
uintptr_t base; /* Register base address */
- int irq[2]; /* Timer A/B interrupt numbers */
+ uint16_t irq[2]; /* Timer A/B interrupt numbers */
+#ifdef CONFIG_TIVA_TIMER_32BIT
xcpt_t handler32; /* Handler for 32-bit timer interrupts */
+#endif
+#ifdef CONFIG_TIVA_TIMER_16BIT
xcpt_t handler16[2]; /* Handlers for 16-bit timer A/B interrupts */
+#endif
};
/* This structure represents the state of a GPTM module */
@@ -116,6 +120,7 @@ static void tiva_putreg(struct tiva_gptmstate_s *priv, unsigned int offset,
/* Interrupt handling */
+#ifdef CONFIG_TIVA_TIMER_32BIT
static int tiva_timer32_interrupt(struct tiva_gptmstate_s *priv);
#ifdef CONFIG_TIVA_TIMER0
static int tiva_gptm0_interrupt(int irq, FAR void *context);
@@ -141,7 +146,9 @@ static int tiva_gptm6_interrupt(int irq, FAR void *context);
#ifdef CONFIG_TIVA_TIMER7
static int tiva_gptm7_interrupt(int irq, FAR void *context);
#endif
+#endif
+#ifdef CONFIG_TIVA_TIMER_16BIT
static int tiva_timer16_interrupt(struct tiva_gptmstate_s *priv,
int tmndx);
#ifdef CONFIG_TIVA_TIMER0
@@ -176,26 +183,43 @@ static int tiva_timer6b_interrupt(int irq, FAR void *context);
static int tiva_timer7a_interrupt(int irq, FAR void *context);
static int tiva_timer7b_interrupt(int irq, FAR void *context);
#endif
+#endif
/* Timer initialization and configuration */
+#ifdef CONFIG_TIVA_TIMER32_PERIODIC
static int tiva_oneshot_periodic_mode32(struct tiva_gptmstate_s *priv,
const struct tiva_timer32config_s *timer);
+#endif
+#ifdef CONFIG_TIVA_TIMER16_PERIODIC
static int tiva_oneshot_periodic_mode16(struct tiva_gptmstate_s *priv,
const struct tiva_timer16config_s *timer, int tmndx);
+#endif
+#ifdef CONFIG_TIVA_TIMER32_RTC
static int tiva_rtc_mode32(struct tiva_gptmstate_s *priv,
const struct tiva_timer32config_s *timer);
+#endif
+#ifdef CONFIG_TIVA_TIMER32_EDGECOUNT
static int tiva_input_edgecount_mode16(struct tiva_gptmstate_s *priv,
const struct tiva_timer16config_s *timer, int tmndx);
+#endif
+#ifdef CONFIG_TIVA_TIMER32_TIMECAP
static int tiva_input_time_mode16(struct tiva_gptmstate_s *priv,
const struct tiva_timer16config_s *timer, int tmndx);
+#endif
+#ifdef CONFIG_TIVA_TIMER32_PWM
static int tiva_pwm_mode16(struct tiva_gptmstate_s *priv,
const struct tiva_timer16config_s *timer, int tmndx);
+#endif
+#ifdef CONFIG_TIVA_TIMER_32BIT
static int tiva_timer32_configure(struct tiva_gptmstate_s *priv,
const struct tiva_timer32config_s *timer);
+#endif
+#ifdef CONFIG_TIVA_TIMER_16BIT
static int tiva_timer16_configure(struct tiva_gptmstate_s *priv,
const struct tiva_timer16config_s *timer, int tmndx);
+#endif
/****************************************************************************
* Private Data
@@ -206,8 +230,12 @@ static const struct tiva_gptmattr_s g_gptm0_attr =
{
.base = TIVA_TIMER0_BASE,
.irq = { TIVA_IRQ_TIMER0A, TIVA_IRQ_TIMER0B },
+#ifdef CONFIG_TIVA_TIMER_32BIT
.handler32 = tiva_gptm0_interrupt,
+#endif
+#ifdef CONFIG_TIVA_TIMER_16BIT
.handler16 = { tiva_timer0a_interrupt, tiva_timer0b_interrupt },
+#endif
};
static struct tiva_gptmstate_s g_gptm0_state;
@@ -218,8 +246,12 @@ static const struct tiva_gptmattr_s g_gptm1_attr =
{
.base = TIVA_TIMER1_BASE,
.irq = { TIVA_IRQ_TIMER1A, TIVA_IRQ_TIMER1B },
+#ifdef CONFIG_TIVA_TIMER_32BIT
.handler32 = tiva_gptm1_interrupt,
+#endif
+#ifdef CONFIG_TIVA_TIMER_16BIT
.handler16 = { tiva_timer1a_interrupt, tiva_timer1b_interrupt },
+#endif
};
static struct tiva_gptmstate_s g_gptm1_state;
@@ -230,8 +262,12 @@ static const struct tiva_gptmattr_s g_gptm2_attr =
{
.base = TIVA_TIMER2_BASE,
.irq = { TIVA_IRQ_TIMER2A, TIVA_IRQ_TIMER2B },
+#ifdef CONFIG_TIVA_TIMER_32BIT
.handler32 = tiva_gptm2_interrupt,
+#endif
+#ifdef CONFIG_TIVA_TIMER_16BIT
.handler16 = { tiva_timer2a_interrupt, tiva_timer2b_interrupt },
+#endif
};
static struct tiva_gptmstate_s g_gptm2_state;
@@ -242,8 +278,12 @@ static const struct tiva_gptmattr_s g_gptm3_attr =
{
.base = TIVA_TIMER3_BASE,
.irq = { TIVA_IRQ_TIMER3A, TIVA_IRQ_TIMER3B },
+#ifdef CONFIG_TIVA_TIMER_32BIT
.handler32 = tiva_gptm3_interrupt,
+#endif
+#ifdef CONFIG_TIVA_TIMER_16BIT
.handler16 = { tiva_timer3a_interrupt, tiva_timer3b_interrupt },
+#endif
};
static struct tiva_gptmstate_s g_gptm3_state;
@@ -254,8 +294,12 @@ static const struct tiva_gptmattr_s g_gptm4_attr =
{
.base = TIVA_TIMER4_BASE,
.irq = { TIVA_IRQ_TIMER4A, TIVA_IRQ_TIMER4B },
+#ifdef CONFIG_TIVA_TIMER_32BIT
.handler32 = tiva_gptm4_interrupt,
+#endif
+#ifdef CONFIG_TIVA_TIMER_16BIT
.handler16 = { tiva_timer4a_interrupt, tiva_timer4b_interrupt },
+#endif
};
static struct tiva_gptmstate_s g_gptm4_state;
@@ -266,8 +310,12 @@ static const struct tiva_gptmattr_s g_gptm5_attr =
{
.base = TIVA_TIMER5_BASE,
.irq = { TIVA_IRQ_TIMER5A, TIVA_IRQ_TIMER5B },
+#ifdef CONFIG_TIVA_TIMER_32BIT
.handler32 = tiva_gptm5_interrupt,
+#endif
+#ifdef CONFIG_TIVA_TIMER_16BIT
.handler16 = { tiva_timer5a_interrupt, tiva_timer5b_interrupt },
+#endif
};
static struct tiva_gptmstate_s g_gptm5_state;
@@ -278,8 +326,12 @@ static const struct tiva_gptmattr_s g_gptm6_attr =
{
.base = TIVA_TIMER6_BASE,
.irq = { TIVA_IRQ_TIMER6A, TIVA_IRQ_TIMER6B },
+#ifdef CONFIG_TIVA_TIMER_32BIT
.handler32 = tiva_gptm6_interrupt,
+#endif
+#ifdef CONFIG_TIVA_TIMER_16BIT
.handler16 = { tiva_timer6a_interrupt, tiva_timer6b_interrupt },
+#endif
};
static struct tiva_gptmstate_s g_gptm6_state;
@@ -290,8 +342,12 @@ static const struct tiva_gptmattr_s g_gptm7_attr =
{
.base = TIVA_TIMER7_BASE,
.irq = { TIVA_IRQ_TIMER7A, TIVA_IRQ_TIMER7B },
+#ifdef CONFIG_TIVA_TIMER_32BIT
.handler32 = tiva_gptm7_interrupt,
+#endif
+#ifdef CONFIG_TIVA_TIMER_16BIT
.handler16 = { tiva_timer7a_interrupt, tiva_timer7b_interrupt },
+#endif
};
static struct tiva_gptmstate_s g_gptm7_state;
@@ -438,6 +494,7 @@ static void tiva_modifyreg(struct tiva_gptmstate_s *priv, unsigned int offset,
*
****************************************************************************/
+#ifdef CONFIG_TIVA_TIMER_32BIT
static int tiva_timer32_interrupt(struct tiva_gptmstate_s *priv)
{
const struct tiva_gptm32config_s *config32;
@@ -485,6 +542,7 @@ static int tiva_timer32_interrupt(struct tiva_gptmstate_s *priv)
return OK;
}
+#endif
/****************************************************************************
* Name: tiva_gptmN_interrupt, N=0..7
@@ -494,6 +552,7 @@ static int tiva_timer32_interrupt(struct tiva_gptmstate_s *priv)
*
****************************************************************************/
+#ifdef CONFIG_TIVA_TIMER_32BIT
#ifdef CONFIG_TIVA_TIMER0
static int tiva_gptm0_interrupt(int irq, FAR void *context)
{
@@ -549,6 +608,7 @@ static int tiva_gptm7_interrupt(int irq, FAR void *context)
return tiva_timer32_interrupt(&g_gptm7_state);
}
#endif
+#endif
/****************************************************************************
* Name: tiva_timer16_interrupt
@@ -558,6 +618,7 @@ static int tiva_gptm7_interrupt(int irq, FAR void *context)
*
****************************************************************************/
+#ifdef CONFIG_TIVA_TIMER_16BIT
static int tiva_timer16_interrupt(struct tiva_gptmstate_s *priv, int tmndx)
{
const struct tiva_gptm16config_s *config16;
@@ -607,6 +668,7 @@ static int tiva_timer16_interrupt(struct tiva_gptmstate_s *priv, int tmndx)
return OK;
}
+#endif
/****************************************************************************
* Name: tiva_timerNa_interrupt, tiva_timerNb_interrupt, N=0..7
@@ -616,6 +678,7 @@ static int tiva_timer16_interrupt(struct tiva_gptmstate_s *priv, int tmndx)
*
****************************************************************************/
+#ifdef CONFIG_TIVA_TIMER_16BIT
#ifdef CONFIG_TIVA_TIMER0
static int tiva_timer0a_interrupt(int irq, FAR void *context)
{
@@ -711,6 +774,7 @@ static int tiva_timer7b_interrupt(int irq, FAR void *context)
return tiva_timer16_interrupt(&g_gptm7_state, TIMER16B);
}
#endif
+#endif
/****************************************************************************
* Name: tiva_oneshot_periodic_mode32
@@ -720,6 +784,7 @@ static int tiva_timer7b_interrupt(int irq, FAR void *context)
*
****************************************************************************/
+#ifdef CONFIG_TIVA_TIMER32_PERIODIC
static int tiva_oneshot_periodic_mode32(struct tiva_gptmstate_s *priv,
const struct tiva_timer32config_s *timer)
{
@@ -929,6 +994,7 @@ static int tiva_oneshot_periodic_mode32(struct tiva_gptmstate_s *priv,
return OK;
}
+#endif
/****************************************************************************
* Name: tiva_oneshot_periodic_mode16
@@ -938,6 +1004,7 @@ static int tiva_oneshot_periodic_mode32(struct tiva_gptmstate_s *priv,
*
****************************************************************************/
+#ifdef CONFIG_TIVA_TIMER16_PERIODIC
static int tiva_oneshot_periodic_mode16(struct tiva_gptmstate_s *priv,
const struct tiva_timer16config_s *timer,
int tmndx)
@@ -1149,6 +1216,7 @@ static int tiva_oneshot_periodic_mode16(struct tiva_gptmstate_s *priv,
return OK;
}
+#endif
/****************************************************************************
* Name: tiva_rtc_mode32
@@ -1162,6 +1230,7 @@ static int tiva_oneshot_periodic_mode16(struct tiva_gptmstate_s *priv,
*
****************************************************************************/
+#ifdef CONFIG_TIVA_TIMER32_RTC
static int tiva_rtc_mode32(struct tiva_gptmstate_s *priv,
const struct tiva_timer32config_s *timer)
{
@@ -1235,6 +1304,7 @@ static int tiva_rtc_mode32(struct tiva_gptmstate_s *priv,
return OK;
}
+#endif
/****************************************************************************
* Name: tiva_input_edgecount_mode16
@@ -1244,6 +1314,7 @@ static int tiva_rtc_mode32(struct tiva_gptmstate_s *priv,
*
****************************************************************************/
+#ifdef CONFIG_TIVA_TIMER32_EDGECOUNT
static int tiva_input_edgecount_mode16(struct tiva_gptmstate_s *priv,
const struct tiva_timer16config_s *timer,
int tmndx)
@@ -1302,6 +1373,7 @@ static int tiva_input_edgecount_mode16(struct tiva_gptmstate_s *priv,
return -ENOSYS;
}
+#endif
/****************************************************************************
* Name: tiva_input_time_mode16
@@ -1311,6 +1383,7 @@ static int tiva_input_edgecount_mode16(struct tiva_gptmstate_s *priv,
*
****************************************************************************/
+#ifdef CONFIG_TIVA_TIMER32_TIMECAP
static int tiva_input_time_mode16(struct tiva_gptmstate_s *priv,
const struct tiva_timer16config_s *timer,
int tmndx)
@@ -1370,6 +1443,7 @@ static int tiva_input_time_mode16(struct tiva_gptmstate_s *priv,
return -ENOSYS;
}
+#endif
/****************************************************************************
* Name: tiva_pwm_mode16
@@ -1379,6 +1453,7 @@ static int tiva_input_time_mode16(struct tiva_gptmstate_s *priv,
*
****************************************************************************/
+#ifdef CONFIG_TIVA_TIMER32_PWM
static int tiva_pwm_mode16(struct tiva_gptmstate_s *priv,
const struct tiva_timer16config_s *timer,
int tmndx)
@@ -1438,6 +1513,7 @@ static int tiva_pwm_mode16(struct tiva_gptmstate_s *priv,
return -ENOSYS;
}
+#endif
/****************************************************************************
* Name: tiva_timer16_configure
@@ -1447,23 +1523,29 @@ static int tiva_pwm_mode16(struct tiva_gptmstate_s *priv,
*
****************************************************************************/
+#ifdef CONFIG_TIVA_TIMER_32BIT
static int tiva_timer32_configure(struct tiva_gptmstate_s *priv,
const struct tiva_timer32config_s *timer)
{
switch (priv->config->mode)
{
+#ifdef CONFIG_TIVA_TIMER32_PERIODIC
case TIMER32_MODE_ONESHOT: /* 32-bit programmable one-shot timer */
case TIMER32_MODE_PERIODIC: /* 32-bit programmable periodic timer */
return tiva_oneshot_periodic_mode32(priv, timer);
+#endif
+#ifdef CONFIG_TIVA_TIMER32_RTC
case TIMER32_MODE_RTC: /* 32-bit RTC with external 32.768-KHz
* input */
return tiva_rtc_mode32(priv, timer);
+#endif
default:
return -EINVAL;
}
}
+#endif
/****************************************************************************
* Name: tiva_timer16_configure
@@ -1473,6 +1555,7 @@ static int tiva_timer32_configure(struct tiva_gptmstate_s *priv,
*
****************************************************************************/
+#ifdef CONFIG_TIVA_TIMER_16BIT
static int tiva_timer16_configure(struct tiva_gptmstate_s *priv,
const struct tiva_timer16config_s *timer,
int tmndx)
@@ -1484,26 +1567,35 @@ static int tiva_timer16_configure(struct tiva_gptmstate_s *priv,
case TIMER16_MODE_NONE:
return OK;
+#ifdef CONFIG_TIVA_TIMER16_PERIODIC
case TIMER16_MODE_ONESHOT: /* 16-bit programmable one-shot timer */
case TIMER16_MODE_PERIODIC: /* 16-bit programmable periodic timer */
return tiva_oneshot_periodic_mode16(priv, timer, tmndx);
+#endif
+#ifdef CONFIG_TIVA_TIMER32_EDGECOUNT
case TIMER16_MODE_COUNT_CAPTURE: /* 16-bit input-edge count-capture
* mode w/8-bit prescaler */
return tiva_input_edgecount_mode16(priv, timer, tmndx);
+#endif
+#ifdef CONFIG_TIVA_TIMER32_TIMECAP
case TIMER16_MODE_TIME_CAPTURE: /* 16-bit input-edge time-capture
* mode w/8-bit prescaler */
return tiva_input_time_mode16(priv, timer, tmndx);
+#endif
+#ifdef CONFIG_TIVA_TIMER32_PWM
case TIMER16_MODE_PWM: /* 16-bit PWM output mode w/8-bit
* prescaler */
return tiva_pwm_mode16(priv, timer, tmndx);
+#endif
default:
return -EINVAL;
}
}
+#endif
/****************************************************************************
* Public Functions
@@ -1687,6 +1779,7 @@ TIMER_HANDLE tiva_gptm_configure(const struct tiva_gptmconfig_s *config)
if (config->mode != TIMER16_MODE)
{
+#ifdef CONFIG_TIVA_TIMER_32BIT
const struct tiva_gptm32config_s *config32 =
(const struct tiva_gptm32config_s *)config;
@@ -1701,9 +1794,13 @@ TIMER_HANDLE tiva_gptm_configure(const struct tiva_gptmconfig_s *config)
ret = tiva_timer32_configure(priv, &config32->config);
}
+#else
+ return (TIMER_HANDLE)NULL;
+#endif
}
else
{
+#ifdef CONFIG_TIVA_TIMER_16BIT
const struct tiva_gptm16config_s *config16 =
(const struct tiva_gptm16config_s *)config;
@@ -1738,6 +1835,9 @@ TIMER_HANDLE tiva_gptm_configure(const struct tiva_gptmconfig_s *config)
ret = tiva_timer16_configure(priv, &config16->config[TIMER16B],
TIMER16B);
}
+#else
+ return (TIMER_HANDLE)NULL;
+#endif
}
/* Return the timer handler if successfully configured */
@@ -1894,6 +1994,7 @@ void tiva_gptm_modifyreg(TIMER_HANDLE handle, unsigned int offset,
*
****************************************************************************/
+#ifdef CONFIG_TIVA_TIMER_32BIT
void tiva_timer32_start(TIMER_HANDLE handle)
{
struct tiva_gptmstate_s *priv = (struct tiva_gptmstate_s *)handle;
@@ -1913,6 +2014,7 @@ void tiva_timer32_start(TIMER_HANDLE handle)
up_enable_irq(priv->attr->irq[TIMER32]);
}
}
+#endif
/****************************************************************************
* Name: tiva_timer16_start
@@ -1930,6 +2032,7 @@ void tiva_timer32_start(TIMER_HANDLE handle)
*
****************************************************************************/
+#ifdef CONFIG_TIVA_TIMER_16BIT
void tiva_timer16_start(TIMER_HANDLE handle, int tmndx)
{
struct tiva_gptmstate_s *priv = (struct tiva_gptmstate_s *)handle;
@@ -1953,6 +2056,7 @@ void tiva_timer16_start(TIMER_HANDLE handle, int tmndx)
up_enable_irq(priv->attr->irq[tmndx]);
}
}
+#endif
/****************************************************************************
* Name: tiva_timer32_stop
@@ -1969,6 +2073,7 @@ void tiva_timer16_start(TIMER_HANDLE handle, int tmndx)
*
****************************************************************************/
+#ifdef CONFIG_TIVA_TIMER_32BIT
void tiva_timer32_stop(TIMER_HANDLE handle)
{
struct tiva_gptmstate_s *priv = (struct tiva_gptmstate_s *)handle;
@@ -1983,6 +2088,7 @@ void tiva_timer32_stop(TIMER_HANDLE handle)
tiva_modifyreg(priv, TIVA_TIMER_CTL_OFFSET, TIMER_CTL_TAEN, 0);
}
+#endif
/****************************************************************************
* Name: tiva_timer16_stop
@@ -2000,6 +2106,7 @@ void tiva_timer32_stop(TIMER_HANDLE handle)
*
****************************************************************************/
+#ifdef CONFIG_TIVA_TIMER_16BIT
void tiva_timer16_stop(TIMER_HANDLE handle, int tmndx)
{
struct tiva_gptmstate_s *priv = (struct tiva_gptmstate_s *)handle;
@@ -2016,6 +2123,7 @@ void tiva_timer16_stop(TIMER_HANDLE handle, int tmndx)
clrbits = tmndx ? TIMER_CTL_TBEN : TIMER_CTL_TAEN;
tiva_gptm_modifyreg(handle, TIVA_TIMER_CTL_OFFSET, clrbits, 0);
}
+#endif
/****************************************************************************
* Name: tiva_timer16_counter
@@ -2041,6 +2149,7 @@ void tiva_timer16_stop(TIMER_HANDLE handle, int tmndx)
*
****************************************************************************/
+#ifdef CONFIG_TIVA_TIMER_16BIT
uint32_t tiva_timer16_counter(TIMER_HANDLE handle, int tmndx)
{
struct tiva_gptmstate_s *priv = (struct tiva_gptmstate_s *)handle;
@@ -2141,6 +2250,7 @@ uint32_t tiva_timer16_counter(TIMER_HANDLE handle, int tmndx)
return counter;
}
+#endif
/****************************************************************************
* Name: tiva_timer32_setinterval
@@ -2158,6 +2268,7 @@ uint32_t tiva_timer16_counter(TIMER_HANDLE handle, int tmndx)
*
****************************************************************************/
+#ifdef CONFIG_TIVA_TIMER_32BIT
void tiva_timer32_setinterval(TIMER_HANDLE handle, uint32_t interval)
{
struct tiva_gptmstate_s *priv = (struct tiva_gptmstate_s *)handle;
@@ -2251,6 +2362,7 @@ void tiva_timer32_setinterval(TIMER_HANDLE handle, uint32_t interval)
lldbg("%08x<-%08x\n", imrr, priv->imr);
#endif
}
+#endif
/****************************************************************************
* Name: tiva_timer16_setinterval
@@ -2269,6 +2381,7 @@ void tiva_timer32_setinterval(TIMER_HANDLE handle, uint32_t interval)
*
****************************************************************************/
+#ifdef CONFIG_TIVA_TIMER_16BIT
void tiva_timer16_setinterval(TIMER_HANDLE handle, uint16_t interval, int tmndx)
{
struct tiva_gptmstate_s *priv = (struct tiva_gptmstate_s *)handle;
@@ -2376,6 +2489,7 @@ void tiva_timer16_setinterval(TIMER_HANDLE handle, uint16_t interval, int tmndx)
lldbg("%08x<-%08x\n", imrr, priv->imr);
#endif
}
+#endif
/****************************************************************************
* Name: tiva_rtc_setalarm
@@ -2397,6 +2511,7 @@ void tiva_timer16_setinterval(TIMER_HANDLE handle, uint16_t interval, int tmndx)
*
****************************************************************************/
+#ifdef CONFIG_TIVA_TIMER32_RTC
void tiva_rtc_setalarm(TIMER_HANDLE handle, uint32_t delay)
{
struct tiva_gptmstate_s *priv = (struct tiva_gptmstate_s *)handle;
@@ -2464,6 +2579,7 @@ void tiva_rtc_setalarm(TIMER_HANDLE handle, uint32_t delay)
lldbg("%08x<-%08x\n", base + TIVA_TIMER_IMR_OFFSET, priv->imr);
#endif
}
+#endif
/****************************************************************************
* Name: tiva_timer32_relmatch
@@ -2494,6 +2610,7 @@ void tiva_rtc_setalarm(TIMER_HANDLE handle, uint32_t delay)
*
****************************************************************************/
+#ifdef CONFIG_TIVA_TIMER32_PERIODIC
void tiva_timer32_relmatch(TIMER_HANDLE handle, uint32_t relmatch)
{
struct tiva_gptmstate_s *priv = (struct tiva_gptmstate_s *)handle;
@@ -2561,6 +2678,7 @@ void tiva_timer32_relmatch(TIMER_HANDLE handle, uint32_t relmatch)
lldbg("%08x<-%08x\n", base + TIVA_TIMER_IMR_OFFSET, priv->imr);
#endif
}
+#endif
/****************************************************************************
* Name: tiva_timer16_relmatch
@@ -2602,6 +2720,7 @@ void tiva_timer32_relmatch(TIMER_HANDLE handle, uint32_t relmatch)
*
****************************************************************************/
+#ifdef CONFIG_TIVA_TIMER16_PERIODIC
void tiva_timer16_relmatch(TIMER_HANDLE handle, uint32_t relmatch, int tmndx)
{
struct tiva_gptmstate_s *priv = (struct tiva_gptmstate_s *)handle;
@@ -2749,3 +2868,5 @@ void tiva_timer16_relmatch(TIMER_HANDLE handle, uint32_t relmatch, int tmndx)
lldbg("%08x<-%08x\n", imr, priv->imr);
#endif
}
+#endif
+