@@ -108,14 +108,12 @@ bus! {
108
108
GPIOD => ( AHB2 , gpioden, gpiodsmen, gpiodrst) , // 3
109
109
GPIOE => ( AHB2 , gpioeen, gpioesmen, gpioerst) , // 4
110
110
GPIOH => ( AHB2 , gpiohen, gpiohsmen, gpiohrst) , // 7
111
- ADC1 => ( AHB2 , adcen, adcfssmen, adcrst) , // 13
112
111
AES => ( AHB2 , aesen, aessmen, aesrst) , // 16
113
112
RNG => ( AHB2 , rngen, rngsmen, rngrst) , // 18
114
113
115
114
TIM2 => ( APB1R1 , tim2en, tim2smen, tim2rst) , // 0
116
115
TIM6 => ( APB1R1 , tim6en, tim6smen, tim6rst) , // 4
117
116
TIM7 => ( APB1R1 , tim7en, tim7smen, tim7rst) , // 5
118
- LCD => ( APB1R1 , lcden, lcdsmen, lcdrst) , // 9
119
117
WWDG => ( APB1R1 , wwdgen, wwdgsmen, ) , // 11
120
118
SPI2 => ( APB1R1 , spi2en, spi2smen, spi2rst) , // 14
121
119
SPI3 => ( APB1R1 , spi3en, sp3smen, spi3rst) , // 15 // TODO: fix typo
@@ -130,10 +128,9 @@ bus! {
130
128
LPTIM1 => ( APB1R1 , lptim1en, lptim1smen, lptim1rst) , // 31
131
129
132
130
LPUART1 => ( APB1R2 , lpuart1en, lpuart1smen, lpuart1rst) , // 0
133
- SWPMI1 => ( APB1R2 , swpmi1en, swpmi1smen, swpmi1rst) , // 2
134
131
LPTIM2 => ( APB1R2 , lptim2en, lptim2smen, lptim2rst) , // 5
132
+
135
133
SYSCFG => ( APB2 , syscfgen, syscfgsmen, syscfgrst) , // 0
136
- FIREWALL => ( APB2 , firewallen, , ) , // 7
137
134
TIM1 => ( APB2 , tim1en, tim1smen, tim1rst) , // 11
138
135
SPI1 => ( APB2 , spi1en, spi1smen, spi1rst) , // 12
139
136
USART1 => ( APB2 , usart1en, usart1smen, usart1rst) , // 14
@@ -142,6 +139,45 @@ bus! {
142
139
SAI1 => ( APB2 , sai1en, sai1smen, sai1rst) , // 21
143
140
}
144
141
142
+ // L4x1, L4x2, L4x3, L4x5 or L4x6
143
+ #[ cfg( not( any(
144
+ // feature = "stm32l4p5",
145
+ // feature = "stm32l4q5",
146
+ // feature = "stm32l4r5",
147
+ // feature = "stm32l4s5",
148
+ // feature = "stm32l4r7",
149
+ // feature = "stm32l4s7",
150
+ feature = "stm32l4r9" ,
151
+ feature = "stm32l4s9" ,
152
+ ) ) ) ]
153
+ bus ! {
154
+ ADC1 => ( AHB2 , adcen, adcfssmen, adcrst) , // 13
155
+
156
+ LCD => ( APB1R1 , lcden, lcdsmen, lcdrst) , // 9
157
+
158
+ SWPMI1 => ( APB1R2 , swpmi1en, swpmi1smen, swpmi1rst) , // 2
159
+
160
+ FIREWALL => ( APB2 , firewallen, , ) , // 7
161
+ }
162
+
163
+ // L4+
164
+ #[ cfg( any(
165
+ // feature = "stm32l4p5",
166
+ // feature = "stm32l4q5",
167
+ // feature = "stm32l4r5",
168
+ // feature = "stm32l4s5",
169
+ // feature = "stm32l4r7",
170
+ // feature = "stm32l4s7",
171
+ feature = "stm32l4r9" ,
172
+ feature = "stm32l4s9" ,
173
+ ) ) ]
174
+ bus ! {
175
+ ADC => ( AHB2 , adcen, adcfssmen, adcrst) , // 13
176
+
177
+ FIREWALL => ( APB2 , fwen, , ) , // 7
178
+ LTCD => ( APB2 , ltdcen, ltdcsmen, ltdcrst) , // 26
179
+ }
180
+
145
181
// L4x5 or L4x6
146
182
#[ cfg( any(
147
183
feature = "stm32l475" ,
@@ -215,9 +251,19 @@ bus! {
215
251
SDMMC => ( APB2 , sdmmcen, sdmmcsmen, sdmmcrst) , // 10
216
252
}
217
253
218
- // L4x1, L4x2, L4x5, or L4x6 (L4+ assumed)
219
-
220
- #[ cfg( not( any( feature = "stm32l433" , feature = "stm32l443" ) ) ) ]
254
+ // L4x1, L4x2, L4x5, or L4x6
255
+ #[ cfg( not( any(
256
+ feature = "stm32l433" ,
257
+ feature = "stm32l443" ,
258
+ // feature = "stm32l4p5",
259
+ // feature = "stm32l4q5",
260
+ // feature = "stm32l4r5",
261
+ // feature = "stm32l4s5",
262
+ // feature = "stm32l4r7",
263
+ // feature = "stm32l4s7",
264
+ feature = "stm32l4r9" ,
265
+ feature = "stm32l4s9" ,
266
+ ) ) ) ]
221
267
bus ! {
222
268
ADC2 => ( AHB2 , adcen, adcfssmen, adcrst) , // 13
223
269
QUADSPI => ( AHB3 , qspien, qspismen, qspirst) , // 8
@@ -291,13 +337,40 @@ bus! {
291
337
GPIOI => ( AHB2 , gpioien, gpioismen, gpioirst) , // 8
292
338
OTG_FS_GLOBAL => ( AHB2 , otgfsen, otgfssmen, otgfsrst) , // 12 // TODO: absent in x5
293
339
DCMI => ( AHB2 , dcmien, dcmismen, dcmirst) , // 14
294
- HASH => ( AHB2 , hash1en, hash1smen, hash1rst) , // 17
295
340
296
- CAN2 => ( APB1R1 , can2en, can2smen, can2rst) , // 26
297
341
DAC => ( APB1R1 , dac1en, dac1smen, dac1rst) , // 29
298
342
299
343
I2C4 => ( APB1R2 , i2c4en, i2c4smen, i2c4rst) , // 1
344
+ }
345
+
346
+ #[ cfg( any(
347
+ feature = "stm32l476" ,
348
+ feature = "stm32l486" ,
349
+ feature = "stm32l496" ,
350
+ feature = "stm32l4a6" ,
351
+ ) ) ]
352
+ bus ! {
353
+ CAN2 => ( APB1R1 , can2en, can2smen, can2rst) , // 26
354
+
355
+ HASH => ( AHB2 , hash1en, hash1smen, hash1rst) , // 17
300
356
301
357
SDMMC1 => ( APB2 , sdmmcen, sdmmcsmen, sdmmcrst) , // 10
302
358
DFSDM1 => ( APB2 , dfsdmen, dfsdmsmen, dfsdmrst) , // 24
303
359
}
360
+
361
+ #[ cfg( any(
362
+ // feature = "stm32l4p5",
363
+ // feature = "stm32l4q5",
364
+ // feature = "stm32l4r5",
365
+ // feature = "stm32l4s5",
366
+ // feature = "stm32l4r7",
367
+ // feature = "stm32l4s7",
368
+ feature = "stm32l4r9" ,
369
+ feature = "stm32l4s9" ,
370
+ ) ) ]
371
+ bus ! {
372
+ HASH => ( AHB2 , hashen, hashsmen, hashrst) , // 17
373
+ SDMMC1 => ( AHB2 , sdmmc1en, sdmmc1smen, sdmmc1rst) , // 22
374
+
375
+ DFSDM1 => ( APB2 , dfsdm1en, dfsdm1smen, dfsdm1rst) , // 24
376
+ }
0 commit comments