aboutsummaryrefslogtreecommitdiff
path: root/02-usart/include/rcc.h
diff options
context:
space:
mode:
Diffstat (limited to '02-usart/include/rcc.h')
-rw-r--r--02-usart/include/rcc.h18
1 files changed, 17 insertions, 1 deletions
diff --git a/02-usart/include/rcc.h b/02-usart/include/rcc.h
index 7ed4dee..05f5e5f 100644
--- a/02-usart/include/rcc.h
+++ b/02-usart/include/rcc.h
@@ -33,7 +33,21 @@ typedef struct {
__IO uint32_t reserved_4; /* Not used. offset 0x44. */
- __IO uint32_t ahb1en_r; /* AHB1 Peripheral enable register. 0x48 */
+ __IO union {
+ __IO uint32_t ahb1en_r; /* AHB1 Peripheral enable register. 0x48 */
+ struct {
+ bits_t dma1en:1; /* DMA1 clock enable. */
+ bits_t dma2en:1; /* DMA2 clock enable. */
+ bits_t reserved0:6;
+ bits_t flashen:1; /* Flash memory interface clock enable. */
+ bits_t reserved1:3;
+ bits_t crcen:1; /* CRC clock enable. */
+ bits_t reserved2:3;
+ bits_t tscen:1; /* Touch sensing controller clock enable. */
+ bits_t dmad2en:1; /* DMA2D clock enabled. */
+ bits_t reserved3:14;
+ } ahb1en_bf;
+ };
__IO uint32_t ahb2en_r; /* AHB2 Peripheral enable register. 0x4C */
__IO uint32_t ahb3en_r; /* AHB3 Peripheral enable register. 0x50 */
@@ -60,6 +74,8 @@ typedef struct {
__IO uint32_t ccip_r; /* 0x88 */
} PACKED rcc_t;
+static_assert(offsetof(rcc_t, ccip_r) == 0x88, "Offset check failed.");
+
#define RCC (*(__IO rcc_t*)RCC_BASE)
/* Macros to operate on the RCC registers. */