diff options
author | Keith Packard <keithp@keithp.com> | 2013-05-01 08:58:17 -0700 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2013-05-07 20:08:01 -0700 |
commit | 091582c446319fe4a79154153ece5372b2faec83 (patch) | |
tree | a0b16053cc636cac751129db75e3cdc20fe857d1 /src/stm/stm32l.h | |
parent | b7b0ddfddee3f8e21f21d67cd9f522fa50777265 (diff) |
altos: Use SYSTICK on STM32L
It's probably more power efficient than using one of the timers, and
it's certainly easier to configure.
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src/stm/stm32l.h')
-rw-r--r-- | src/stm/stm32l.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/stm/stm32l.h b/src/stm/stm32l.h index 1d636037..5c0748a6 100644 --- a/src/stm/stm32l.h +++ b/src/stm/stm32l.h @@ -811,6 +811,24 @@ extern struct stm_lcd stm_lcd; #define STM_LCD_CLR_UDDC (3) #define STM_LCD_CLR_SOFC (1) +/* The SYSTICK starts at 0xe000e010 */ + +struct stm_systick { + vuint32_t csr; + vuint32_t rvr; + vuint32_t cvr; + vuint32_t calib; +}; + +extern struct stm_systick stm_systick; + +#define STM_SYSTICK_CSR_ENABLE 0 +#define STM_SYSTICK_CSR_TICKINT 1 +#define STM_SYSTICK_CSR_CLKSOURCE 2 +#define STM_SYSTICK_CSR_CLKSOURCE_HCLK_8 0 +#define STM_SYSTICK_CSR_CLKSOURCE_HCLK 1 +#define STM_SYSTICK_CSR_COUNTFLAG 16 + /* The NVIC starts at 0xe000e100, so add that to the offsets to find the absolute address */ struct stm_nvic { |