aboutsummaryrefslogtreecommitdiffstats
path: root/os/hal/platforms/STM32L1xx
diff options
context:
space:
mode:
Diffstat (limited to 'os/hal/platforms/STM32L1xx')
-rw-r--r--os/hal/platforms/STM32L1xx/hal_lld.h55
-rw-r--r--os/hal/platforms/STM32L1xx/stm32l1xx.h3
2 files changed, 48 insertions, 10 deletions
diff --git a/os/hal/platforms/STM32L1xx/hal_lld.h b/os/hal/platforms/STM32L1xx/hal_lld.h
index 8d8f1b23b..d62176a16 100644
--- a/os/hal/platforms/STM32L1xx/hal_lld.h
+++ b/os/hal/platforms/STM32L1xx/hal_lld.h
@@ -37,13 +37,11 @@
#ifndef _HAL_LLD_H_
#define _HAL_LLD_H_
-/* Tricks required to make the TRUE/FALSE declaration inside the library
- compatible.*/
-#undef FALSE
-#undef TRUE
#include "stm32l1xx.h"
-#define FALSE 0
-#define TRUE (!FALSE)
+
+/* STM32 DMA and RCC helpers.*/
+#include "stm32_dma.h"
+#include "stm32_rcc.h"
/*===========================================================================*/
/* Driver constants. */
@@ -933,6 +931,47 @@
/* Driver data structures and types. */
/*===========================================================================*/
+/**
+ * @brief STM32 TIM registers block.
+ * @note Removed from the ST headers and redefined because the non uniform
+ * declaration of the CCR registers among the various sub-families.
+ */
+typedef struct {
+ volatile uint16_t CR1;
+ uint16_t _resvd0;
+ volatile uint16_t CR2;
+ uint16_t _resvd1;
+ volatile uint16_t SMCR;
+ uint16_t _resvd2;
+ volatile uint16_t DIER;
+ uint16_t _resvd3;
+ volatile uint16_t SR;
+ uint16_t _resvd4;
+ volatile uint16_t EGR;
+ uint16_t _resvd5;
+ volatile uint16_t CCMR1;
+ uint16_t _resvd6;
+ volatile uint16_t CCMR2;
+ uint16_t _resvd7;
+ volatile uint16_t CCER;
+ uint16_t _resvd8;
+ volatile uint32_t CNT;
+ volatile uint16_t PSC;
+ uint16_t _resvd9;
+ volatile uint32_t ARR;
+ volatile uint16_t RCR;
+ uint16_t _resvd10;
+ volatile uint32_t CCR[4];
+ volatile uint16_t BDTR;
+ uint16_t _resvd11;
+ volatile uint16_t DCR;
+ uint16_t _resvd12;
+ volatile uint16_t DMAR;
+ uint16_t _resvd13;
+ volatile uint16_t OR;
+ uint16_t _resvd14;
+} TIM_TypeDef;
+
/*===========================================================================*/
/* Driver macros. */
/*===========================================================================*/
@@ -941,10 +980,6 @@
/* External declarations. */
/*===========================================================================*/
-/* STM32 DMA and RCC helpers.*/
-#include "stm32_dma.h"
-#include "stm32_rcc.h"
-
#ifdef __cplusplus
extern "C" {
#endif
diff --git a/os/hal/platforms/STM32L1xx/stm32l1xx.h b/os/hal/platforms/STM32L1xx/stm32l1xx.h
index 32ddcb79d..5fadee5db 100644
--- a/os/hal/platforms/STM32L1xx/stm32l1xx.h
+++ b/os/hal/platforms/STM32L1xx/stm32l1xx.h
@@ -615,6 +615,8 @@ typedef struct
* @brief TIM
*/
+/* CHIBIOS FIX */
+#if 0
typedef struct
{
__IO uint16_t CR1;
@@ -658,6 +660,7 @@ typedef struct
__IO uint16_t OR;
uint16_t RESERVED20;
} TIM_TypeDef;
+#endif
/**
* @brief Universal Synchronous Asynchronous Receiver Transmitter