mirror of
https://github.com/apache/nuttx.git
synced 2026-05-29 04:19:37 +08:00
arch/arm/src/tiva/common/tiva_timerlib.c: Fix one code error and some comment errors. tiva_timer16_setinterval(): Was DEBUGASSERTing on mode != TIMER16_MODE. Fixed to DEBUGASSERT on mode == TIMER16_MODE.
This commit is contained in:
committed by
Gregory Nutt
parent
ad122066ea
commit
2f0a3b6d75
@@ -515,6 +515,8 @@ static int tiva_timer32_interrupt(struct tiva_gptmstate_s *priv)
|
|||||||
|
|
||||||
if (status != 0)
|
if (status != 0)
|
||||||
{
|
{
|
||||||
|
/* Acknowledge (clear) the interrupt */
|
||||||
|
|
||||||
tiva_putreg(priv, TIVA_TIMER_ICR_OFFSET, status);
|
tiva_putreg(priv, TIVA_TIMER_ICR_OFFSET, status);
|
||||||
|
|
||||||
/* If this was a match (or RTC match) interrupt, then disable further
|
/* If this was a match (or RTC match) interrupt, then disable further
|
||||||
@@ -980,7 +982,7 @@ static int tiva_oneshot_periodic_mode32(struct tiva_gptmstate_s *priv,
|
|||||||
* a 1 to the appropriate bit of the GPTM Interrupt Clear Register
|
* a 1 to the appropriate bit of the GPTM Interrupt Clear Register
|
||||||
* (GPTMICR).
|
* (GPTMICR).
|
||||||
*
|
*
|
||||||
* NOTE: This timer is not started until tiva_gptm_enableclk() is called.
|
* NOTE: This timer is not started until tiva_timer32_start() is called.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
return OK;
|
return OK;
|
||||||
@@ -1190,7 +1192,7 @@ static int tiva_oneshot_periodic_mode16(struct tiva_gptmstate_s *priv,
|
|||||||
* a 1 to the appropriate bit of the GPTM Interrupt Clear Register
|
* a 1 to the appropriate bit of the GPTM Interrupt Clear Register
|
||||||
* (GPTMICR).
|
* (GPTMICR).
|
||||||
*
|
*
|
||||||
* NOTE: This timer is not started until tiva_gptm_enableclk() is called.
|
* NOTE: This timer is not started until tiva_timer16_start() is called.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
return OK;
|
return OK;
|
||||||
@@ -1349,7 +1351,7 @@ static int tiva_input_edgecount_mode16(struct tiva_gptmstate_s *priv,
|
|||||||
* programmed number of edge events has been detected. To re-enable the
|
* programmed number of edge events has been detected. To re-enable the
|
||||||
* timer, ensure that the TnEN bit is cleared and repeat steps 4 through 8.
|
* timer, ensure that the TnEN bit is cleared and repeat steps 4 through 8.
|
||||||
*
|
*
|
||||||
* NOTE: This timer is not started until tiva_gptm_enableclk() is called.
|
* NOTE: This timer is not started until tiva_timer16_start() is called.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
return -ENOSYS;
|
return -ENOSYS;
|
||||||
@@ -1435,7 +1437,7 @@ static int tiva_input_time_mode16(struct tiva_gptmstate_s *priv,
|
|||||||
* the GPTMTnMR register. The change takes effect at the next cycle after
|
* the GPTMTnMR register. The change takes effect at the next cycle after
|
||||||
* the write.
|
* the write.
|
||||||
*
|
*
|
||||||
* NOTE: This timer is not started until tiva_gptm_enableclk() is called.
|
* NOTE: This timer is not started until tiva_timer16_start() is called.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
return -ENOSYS;
|
return -ENOSYS;
|
||||||
@@ -1446,7 +1448,18 @@ static int tiva_input_time_mode16(struct tiva_gptmstate_s *priv,
|
|||||||
* Name: tiva_pwm_mode16
|
* Name: tiva_pwm_mode16
|
||||||
*
|
*
|
||||||
* Description:
|
* Description:
|
||||||
* Configure 16-bit timer A/B to operate in PWM mode
|
* Configure 16-bit timer A/B to operate in PWM mode. The timer is not
|
||||||
|
* started until tiva_timer16_start() is called.
|
||||||
|
*
|
||||||
|
* Input Parameters:
|
||||||
|
* handle - The handle value returned by tiva_gptm_configure()
|
||||||
|
* timer - The timer A or B configuration structure. This is located
|
||||||
|
* within the configuration passed to tiva_gptm_configure().
|
||||||
|
* tmndx - Either TIMER16A or TIMER16B to select the 16-bit timer
|
||||||
|
*
|
||||||
|
* Returned Value:
|
||||||
|
* Zero (OK) returned on success; a negated errno value is returned on
|
||||||
|
* any failure.
|
||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
@@ -1533,6 +1546,7 @@ static int tiva_pwm_mode16(struct tiva_gptmstate_s *priv,
|
|||||||
*
|
*
|
||||||
* Description:
|
* Description:
|
||||||
* Configure the 32-bit timer to operate in the provided mode.
|
* Configure the 32-bit timer to operate in the provided mode.
|
||||||
|
* The timer is not started until tiva_timer32_start() is called.
|
||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
#ifdef CONFIG_TIVA_TIMER_32BIT
|
#ifdef CONFIG_TIVA_TIMER_32BIT
|
||||||
@@ -1564,6 +1578,7 @@ static int tiva_timer32_configure(struct tiva_gptmstate_s *priv,
|
|||||||
*
|
*
|
||||||
* Description:
|
* Description:
|
||||||
* Configure 16-bit timer A or B to operate in the provided mode.
|
* Configure 16-bit timer A or B to operate in the provided mode.
|
||||||
|
* The timer is not started until tiva_timer16_start() is called.
|
||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
@@ -2298,7 +2313,7 @@ uint32_t tiva_timer16_counter(TIMER_HANDLE handle, int tmndx)
|
|||||||
* interrupt enabled are: GPTMTAMATCHR = 0x23 GPTMTAILR = 0x46"
|
* interrupt enabled are: GPTMTAMATCHR = 0x23 GPTMTAILR = 0x46"
|
||||||
*
|
*
|
||||||
* Input Parameters:
|
* Input Parameters:
|
||||||
* handle - The handle value returned by tiva_gptm_configure()
|
* handle - The handle value returned by tiva_gptm_configure()
|
||||||
* interval - The value to write to the timer interval load register
|
* interval - The value to write to the timer interval load register
|
||||||
*
|
*
|
||||||
* Returned Value:
|
* Returned Value:
|
||||||
@@ -2452,8 +2467,9 @@ void tiva_timer16_setinterval(TIMER_HANDLE handle, uint16_t interval, int tmndx)
|
|||||||
uint32_t intbit;
|
uint32_t intbit;
|
||||||
bool toints;
|
bool toints;
|
||||||
|
|
||||||
DEBUGASSERT(priv && priv->attr && priv->config &&
|
DEBUGASSERT(priv && priv->attr && priv->config &&
|
||||||
priv->config->mode != TIMER16_MODE);
|
priv->config->mode == TIMER16_MODE && (unsigned)tmndx < 2);
|
||||||
|
|
||||||
config = (const struct tiva_gptm16config_s *)priv->config;
|
config = (const struct tiva_gptm16config_s *)priv->config;
|
||||||
timer = &config->config[tmndx];
|
timer = &config->config[tmndx];
|
||||||
|
|
||||||
@@ -2474,8 +2490,8 @@ void tiva_timer16_setinterval(TIMER_HANDLE handle, uint16_t interval, int tmndx)
|
|||||||
imrr = base + TIVA_TIMER_IMR_OFFSET;
|
imrr = base + TIVA_TIMER_IMR_OFFSET;
|
||||||
|
|
||||||
/* Do we need to enable timeout interrupts? Interrupts are only enabled
|
/* Do we need to enable timeout interrupts? Interrupts are only enabled
|
||||||
* if (1) the user has provided a handler, and (2) the timer timer is
|
* if (1) the user has provided a handler, and (2) the timer is
|
||||||
* configure as a one-short or periodic timer.
|
* configured as a one-shot or periodic timer.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
toints = false;
|
toints = false;
|
||||||
|
|||||||
Reference in New Issue
Block a user