Skip to content

Commit e41202e

Browse files
committed
feat(comp, g4): Add COMP pin definitions and register enums
Add pin definitions for COMP1-7 in data/extra/family/STM32G4.yaml. Add enum definitions and link them in data/registers/comp_v2.yaml. Signed-off-by: Ivan Li <[email protected]>
1 parent f9d7f47 commit e41202e

File tree

2 files changed

+181
-0
lines changed

2 files changed

+181
-0
lines changed

data/extra/family/STM32G4.yaml

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,3 +56,73 @@ peripherals:
5656
signal: VP1
5757
- pin: PB13
5858
signal: VP2
59+
- name: COMP1
60+
pins:
61+
- pin: PA1
62+
signal: INP0
63+
- pin: PB1
64+
signal: INP1
65+
- pin: PA4
66+
signal: INM0
67+
- pin: PA0
68+
signal: INM1
69+
- name: COMP2
70+
pins:
71+
- pin: PA7
72+
signal: INP0
73+
- pin: PA3
74+
signal: INP1
75+
- pin: PA5
76+
signal: INM0
77+
- pin: PA2
78+
signal: INM1
79+
- name: COMP3
80+
pins:
81+
- pin: PA0
82+
signal: INP0
83+
- pin: PC1
84+
signal: INP1
85+
- pin: PF1
86+
signal: INM0
87+
- pin: PC0
88+
signal: INM1
89+
- name: COMP4
90+
pins:
91+
- pin: PB0
92+
signal: INP0
93+
- pin: PE7
94+
signal: INP1
95+
- pin: PE8
96+
signal: INM0
97+
- pin: PB2
98+
signal: INM1
99+
- name: COMP5
100+
pins:
101+
- pin: PB13
102+
signal: INP0
103+
- pin: PD12
104+
signal: INP1
105+
- pin: PB10
106+
signal: INM0
107+
- pin: PD13
108+
signal: INM1
109+
- name: COMP6
110+
pins:
111+
- pin: PB11
112+
signal: INP0
113+
- pin: PD11
114+
signal: INP1
115+
- pin: PD10
116+
signal: INM0
117+
- pin: PB15
118+
signal: INM1
119+
- name: COMP7
120+
pins:
121+
- pin: PB14
122+
signal: INP0
123+
- pin: PD14
124+
signal: INP1
125+
- pin: PD15
126+
signal: INM0
127+
- pin: PB12
128+
signal: INM1

data/registers/comp_v2.yaml

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,17 @@ fieldset/CSR:
1212
description: COMP enable bit.
1313
bit_offset: 0
1414
bit_size: 1
15+
enum: ENABLED
1516
- name: INMSEL
1617
description: Comparator signal selector for inverting input INM. (RM0440 24.3.2 Table 197)
1718
bit_offset: 4
1819
bit_size: 3
20+
enum: INMSELECTED
1921
- name: INPSEL
2022
description: Comparator signal selector for non-inverting input INP. (RM0440 24.3.2 Table 196)
2123
bit_offset: 8
2224
bit_size: 1
25+
enum: INPSELECTED
2326
- name: POLARITY
2427
description: Comparator polarity selector.
2528
bit_offset: 15
@@ -34,14 +37,17 @@ fieldset/CSR:
3437
description: Comparator blanking source selector. (RM0440 24.3.6 Table 198)
3538
bit_offset: 19
3639
bit_size: 3
40+
enum: BLANKSELECTED
3741
- name: BRGEN
3842
description: Vrefint resistor bridge enable. (RM0440 24.6)
3943
bit_offset: 22
4044
bit_size: 1
45+
enum: BRGENABLED
4146
- name: SCALEN
4247
description: Vrefint scaled input enable. (RM0440 24.6)
4348
bit_offset: 23
4449
bit_size: 1
50+
enum: SCALENABLED
4551
- name: VALUE_DO_NOT_SET
4652
description: Comparator output status. (READ ONLY)
4753
bit_offset: 30
@@ -50,10 +56,12 @@ fieldset/CSR:
5056
description: CSR register lock.
5157
bit_offset: 31
5258
bit_size: 1
59+
enum: LOCKED
5360
enum/HYST:
5461
bit_size: 3
5562
variants:
5663
- name: None
64+
description: No hysteresis
5765
value: 0
5866
- name: Hyst10m
5967
description: 10mV hysteresis
@@ -85,3 +93,106 @@ enum/POLARITY:
8593
- name: Inverted
8694
description: Inverted polarity
8795
value: 1
96+
97+
enum/LOCKED:
98+
bit_size: 1
99+
variants:
100+
- name: Unlocked
101+
description: COMP_CxCSR register is unlocked
102+
value: 0
103+
- name: Locked
104+
description: COMP_CxCSR register is locked
105+
value: 1
106+
107+
enum/SCALENABLED:
108+
bit_size: 1
109+
variants:
110+
- name: Disabled
111+
description: VREFINT scaler disable
112+
value: 0
113+
- name: Enabled
114+
description: VREFINT scaler enable
115+
value: 1
116+
117+
enum/BRGENABLED:
118+
bit_size: 1
119+
variants:
120+
- name: Disabled
121+
description: VREFINT resistor bridge disable
122+
value: 0
123+
- name: Enabled
124+
description: VREFINT resistor bridge enable
125+
value: 1
126+
127+
enum/BLANKSELECTED:
128+
bit_size: 3
129+
variants:
130+
- name: TIM1_OC5
131+
description: Timer 1 OC5 output
132+
value: 1
133+
- name: TIM2_OC3
134+
description: Timer 2 OC3 output
135+
value: 2
136+
- name: TIM3_OC3_TIM2_OC4_TIM15_OC1
137+
description: TIM3_OC3 / TIM2_OC4 / TIM15_OC1
138+
value: 3
139+
- name: TIM8_OC5_TIM1_OC5_TIM15_OC2
140+
description: TIM8_OC5 / TIM1_OC5 / TIM15_OC2
141+
value: 4
142+
- name: TIM20_OC5_TIM1_OC5
143+
description: TIM20_OC5 / TIM1_OC5
144+
value: 5
145+
- name: TIM15_OC1
146+
description: Timer 15 OC1 output
147+
value: 6
148+
- name: TIM4_OC3
149+
description: Timer 4 OC3 output
150+
value: 7
151+
152+
enum/INPSELECTED:
153+
bit_size: 1
154+
variants:
155+
- name: INP0
156+
description: Input PA1 (COMP1) or PA7 (COMP2) or PA0 (COMP3) or PE7 (COMP4) or PD12 (COMP5) or PD11 (COMP6) or PB14 (COMP7)
157+
value: 0
158+
- name: INP1
159+
description: Input PB1 (COMP1) or PA3 (COMP2) or PC1 (COMP3) or PE7 (COMP4) or PD12 (COMP5) or PD11 (COMP6) or PD14 (COMP7)
160+
value: 1
161+
162+
enum/INMSELECTED:
163+
bit_size: 3
164+
variants:
165+
- name: VREFINT_1_4
166+
description: 1/4 VREFINT
167+
value: 0
168+
- name: VREFINT_1_2
169+
description: 1/2 VREFINT
170+
value: 1
171+
- name: VREFINT_3_4
172+
description: 3/4 VREFINT
173+
value: 2
174+
- name: VREFINT
175+
description: VREFINT
176+
value: 3
177+
- name: DAC_CH1
178+
description: DAC1_CH1 or DAC3_CH1
179+
value: 4
180+
- name: DAC_CH2
181+
description: DAC1_CH2 or DAC3_CH2
182+
value: 5
183+
- name: INP0
184+
description: IO pin (PA4/PA5/PF1/PE8/PB10/PD10/PD15 depending on COMPx)
185+
value: 6
186+
- name: INP1
187+
description: IO pin (PA0/PA2/PC0/PB2/PD13/PB15/PB12 depending on COMPx)
188+
value: 7
189+
190+
enum/ENABLED:
191+
bit_size: 1
192+
variants:
193+
- name: Disabled
194+
description: Comparator disable
195+
value: 0
196+
- name: Enabled
197+
description: Comparator enable
198+
value: 1

0 commit comments

Comments
 (0)