Skip to content

Commit 23054ad

Browse files
committed
Refactor timer taxonomy
1 parent e45b202 commit 23054ad

File tree

4 files changed

+39
-35
lines changed

4 files changed

+39
-35
lines changed

data/registers/timer_l0.yaml

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -197,10 +197,6 @@ fieldset/CR1_CORE:
197197
description: Auto-reload preload enable
198198
bit_offset: 7
199199
bit_size: 1
200-
- name: UIFREMAP
201-
description: UIF status bit remapping enable
202-
bit_offset: 11
203-
bit_size: 1
204200
fieldset/CR1_1CH:
205201
extends: CR1_CORE
206202
description: control register 1
@@ -241,12 +237,7 @@ fieldset/CR2_MMS:
241237
fieldset/CR2_2CH:
242238
extends: CR2_MMS
243239
description: control register 2
244-
fields:
245-
- name: TI1S
246-
description: TI1 selection
247-
bit_offset: 7
248-
bit_size: 1
249-
enum: TI1S
240+
fields: []
250241
fieldset/CR2_CCDMA:
251242
description: control register 2
252243
fields:
@@ -259,6 +250,11 @@ fieldset/CR2_TRIGDMA:
259250
extends: CR2_CCDMA
260251
description: control register 2
261252
fields:
253+
- name: MMS
254+
description: Master mode selection
255+
bit_offset: 4
256+
bit_size: 3
257+
enum: MMS
262258
- name: TI1S
263259
description: TI1 selection
264260
bit_offset: 7

data/registers/timer_v1.yaml

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -415,14 +415,14 @@ fieldset/CR2_CCDMA:
415415
bit_size: 1
416416
enum: CCDS
417417
fieldset/CR2_TRIGDMA:
418-
extends: CR2_CCDMA
418+
extends: CR2_2CH
419419
description: control register 2
420420
fields:
421-
- name: TI1S
422-
description: TI1 selection
423-
bit_offset: 7
421+
- name: CCDS
422+
description: Capture/compare DMA selection
423+
bit_offset: 3
424424
bit_size: 1
425-
enum: TI1S
425+
enum: CCDS
426426
fieldset/CR2_ADV1CH:
427427
extends: CR2_CCDMA
428428
description: control register 2
@@ -453,6 +453,11 @@ fieldset/CR2_ADV2CH:
453453
extends: CR2_ADV1CH
454454
description: control register 2
455455
fields:
456+
- name: MMS
457+
description: Master mode selection
458+
bit_offset: 4
459+
bit_size: 3
460+
enum: MMS
456461
- name: TI1S
457462
description: TI1 selection
458463
bit_offset: 7

data/registers/timer_v2.yaml

Lines changed: 22 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ block/TIM_1CH:
113113
description: |-
114114
Option register 1
115115
Note: Check Reference Manual to parse this register content
116-
byte_offset: 80
116+
byte_offset: 104
117117

118118
block/TIM_2CH:
119119
extends: TIM_1CH
@@ -181,11 +181,11 @@ block/TIM_4CH:
181181
fieldset: CCMR_Output_4CH
182182
- name: DCR
183183
description: DMA control register
184-
byte_offset: 72
184+
byte_offset: 988
185185
fieldset: DCR_CCDMA
186186
- name: DMAR
187187
description: DMA address for full transfer
188-
byte_offset: 76
188+
byte_offset: 992
189189
- name: ECR
190190
description: encoder control register
191191
byte_offset: 88
@@ -477,14 +477,14 @@ fieldset/CR2_CCDMA:
477477
bit_size: 1
478478
enum: CCDS
479479
fieldset/CR2_TRIGDMA:
480-
extends: CR2_CCDMA
480+
extends: CR2_2CH
481481
description: control register 2
482482
fields:
483-
- name: TI1S
484-
description: TI1 selection
485-
bit_offset: 7
483+
- name: CCDS
484+
description: Capture/compare DMA selection
485+
bit_offset: 3
486486
bit_size: 1
487-
enum: TI1S
487+
enum: CCDS
488488
fieldset/CR2_ADV1CH:
489489
extends: CR2_CCDMA
490490
description: control register 2
@@ -515,6 +515,15 @@ fieldset/CR2_ADV2CH:
515515
extends: CR2_ADV1CH
516516
description: control register 2
517517
fields:
518+
- name: MMS
519+
description: Master mode selection
520+
bit_offset:
521+
- start: 4
522+
end: 6
523+
- start: 25
524+
end: 25
525+
bit_size: 4
526+
enum: MMS
518527
- name: TI1S
519528
description: TI1 selection
520529
bit_offset: 7
@@ -1138,7 +1147,7 @@ fieldset/CCR5_ADV4CH:
11381147
stride: 1
11391148
enum: GC5C
11401149
fieldset/CCR_DITHER_1CH:
1141-
description: capture/compare register x (x=1-4,6)
1150+
description: capture/compare register x (x=1-4,6) (Dither mode enabled)
11421151
fields:
11431152
- name: DITHER
11441153
description: capture/compare x (x=1-4,6) value
@@ -1331,27 +1340,23 @@ fieldset/AF1_ADV1CH:
13311340
bit_offset: 0
13321341
bit_size: 1
13331342
- name: BKCMPE
1334-
description: TIM_BRK_CMPx (x=1-2) enable
1343+
description: TIM_BRK_CMPx (x=1-8) enable
13351344
bit_offset: 1
13361345
bit_size: 1
13371346
array:
1338-
len: 2
1347+
len: 8
13391348
stride: 1
1340-
- name: BKDF1BKE
1341-
description: BRK DFSDM1_BREAKx enable (x=0 if TIM15, x=1 if TIM16, x=2 if TIM17)
1342-
bit_offset: 8
1343-
bit_size: 1
13441349
- name: BKINP
13451350
description: TIMx_BKIN input polarity
13461351
bit_offset: 9
13471352
bit_size: 1
13481353
enum: BKINP
13491354
- name: BKCMPP
1350-
description: TIM_BRK_CMPx (x=1-2) input polarity
1355+
description: TIM_BRK_CMPx (x=1-3) input polarity
13511356
bit_offset: 10
13521357
bit_size: 1
13531358
array:
1354-
len: 2
1359+
len: 4
13551360
stride: 1
13561361
enum: BKINP
13571362
fieldset/AF1_ADV4CH:

stm32-data-gen/src/registers.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,7 @@ impl Registers {
1515
for f in glob::glob("data/registers/*")? {
1616
let f = f?;
1717
let ff = f.file_name().unwrap().to_string_lossy();
18-
let Some(ff) = ff.strip_suffix(".yaml") else {
19-
continue
20-
};
18+
let Some(ff) = ff.strip_suffix(".yaml") else { continue };
2119
let ff = ff.to_string();
2220

2321
let ir: IR = serde_yaml::from_str(&std::fs::read_to_string(&f)?)

0 commit comments

Comments
 (0)