@@ -96,6 +96,28 @@ typedef enum
96
96
97
97
#define IS_SYSCFG_VREFBUF_TRIMMING (__VALUE__ ) (((__VALUE__) > 0UL) && ((__VALUE__) <= VREFBUF_CCR_TRIM))
98
98
99
+ /**
100
+ * @}
101
+ */
102
+
103
+ #if !defined(SYSCFG_PMCR_BOOSTEN )
104
+ /** @defgroup SYSCFG_FastModePlus_GPIO Fast-mode Plus on GPIO
105
+ * @{
106
+ */
107
+
108
+ /** @brief Fast-mode Plus driving capability on a specific GPIO
109
+ */
110
+ #define SYSCFG_FASTMODEPLUS_PB6 SYSCFG_PMCR_I2C_PB6_FMP /*!< Enable Fast-mode Plus on PB6 */
111
+ #define SYSCFG_FASTMODEPLUS_PB7 SYSCFG_PMCR_I2C_PB7_FMP /*!< Enable Fast-mode Plus on PB7 */
112
+ #define SYSCFG_FASTMODEPLUS_PB8 SYSCFG_PMCR_I2C_PB8_FMP /*!< Enable Fast-mode Plus on PB8 */
113
+ #define SYSCFG_FASTMODEPLUS_PB9 SYSCFG_PMCR_I2C_PB9_FMP /*!< Enable Fast-mode Plus on PB9 */
114
+
115
+ #define IS_SYSCFG_FASTMODEPLUS (__PIN__ ) ((((__PIN__) & SYSCFG_FASTMODEPLUS_PB6) == SYSCFG_FASTMODEPLUS_PB6) || \
116
+ (((__PIN__) & SYSCFG_FASTMODEPLUS_PB7) == SYSCFG_FASTMODEPLUS_PB7) || \
117
+ (((__PIN__) & SYSCFG_FASTMODEPLUS_PB8) == SYSCFG_FASTMODEPLUS_PB8) || \
118
+ (((__PIN__) & SYSCFG_FASTMODEPLUS_PB9) == SYSCFG_FASTMODEPLUS_PB9))
119
+
120
+ #endif /* ! SYSCFG_PMCR_BOOSTEN */
99
121
/**
100
122
* @}
101
123
*/
@@ -241,17 +263,16 @@ typedef enum
241
263
#define EXTI_LINE41 ((uint32_t)0x29)
242
264
#define EXTI_LINE42 ((uint32_t)0x2A)
243
265
#define EXTI_LINE43 ((uint32_t)0x2B)
244
- #define EXTI_LINE44 ((uint32_t)0x2C)
266
+ #define EXTI_LINE44 ((uint32_t)0x2C) /* Not available in all family lines */
245
267
/* EXTI_LINE45 Reserved */
246
268
#if defined(DUAL_CORE )
247
269
#define EXTI_LINE46 ((uint32_t)0x2E)
248
270
#else
249
271
/* EXTI_LINE46 Reserved */
250
- #endif
272
+ #endif /* DUAL_CORE */
251
273
#define EXTI_LINE47 ((uint32_t)0x2F)
252
274
#define EXTI_LINE48 ((uint32_t)0x30)
253
275
#define EXTI_LINE49 ((uint32_t)0x31)
254
-
255
276
#define EXTI_LINE50 ((uint32_t)0x32)
256
277
#define EXTI_LINE51 ((uint32_t)0x33)
257
278
#define EXTI_LINE52 ((uint32_t)0x34)
@@ -262,7 +283,6 @@ typedef enum
262
283
#define EXTI_LINE57 ((uint32_t)0x39)
263
284
#define EXTI_LINE58 ((uint32_t)0x3A)
264
285
#define EXTI_LINE59 ((uint32_t)0x3B)
265
-
266
286
#define EXTI_LINE60 ((uint32_t)0x3C)
267
287
#define EXTI_LINE61 ((uint32_t)0x3D)
268
288
#define EXTI_LINE62 ((uint32_t)0x3E)
@@ -273,45 +293,40 @@ typedef enum
273
293
#define EXTI_LINE67 ((uint32_t)0x43)
274
294
#define EXTI_LINE68 ((uint32_t)0x44)
275
295
#define EXTI_LINE69 ((uint32_t)0x45)
276
-
277
296
#define EXTI_LINE70 ((uint32_t)0x46)
278
297
#define EXTI_LINE71 ((uint32_t)0x47)
279
298
#define EXTI_LINE72 ((uint32_t)0x48)
280
299
#define EXTI_LINE73 ((uint32_t)0x49)
281
300
#define EXTI_LINE74 ((uint32_t)0x4A)
282
- #define EXTI_LINE75 ((uint32_t)0x4B)
283
- #define EXTI_LINE76 ((uint32_t)0x4C)
284
-
301
+ #define EXTI_LINE75 ((uint32_t)0x4B) /* Not available in all family lines */
302
+ #define EXTI_LINE76 ((uint32_t)0x4C) /* Not available in all family lines */
285
303
#if defined(DUAL_CORE )
286
304
#define EXTI_LINE77 ((uint32_t)0x4D)
287
305
#define EXTI_LINE78 ((uint32_t)0x4E)
288
306
#define EXTI_LINE79 ((uint32_t)0x4F)
289
-
290
307
#define EXTI_LINE80 ((uint32_t)0x50)
308
+ #else
309
+ /* EXTI_LINE77 Reserved */
310
+ /* EXTI_LINE78 Reserved */
311
+ /* EXTI_LINE79 Reserved */
312
+ /* EXTI_LINE80 Reserved */
313
+ #endif /* DUAL_CORE */
291
314
/* EXTI_LINE81 Reserved */
315
+ #if defined(DUAL_CORE )
292
316
#define EXTI_LINE82 ((uint32_t)0x52)
317
+ #else
318
+ /* EXTI_LINE82 Reserved */
319
+ #endif /* DUAL_CORE */
293
320
/* EXTI_LINE83 Reserved */
321
+ #if defined(DUAL_CORE )
294
322
#define EXTI_LINE84 ((uint32_t)0x54)
295
- #define EXTI_LINE85 ((uint32_t)0x55)
296
- #define EXTI_LINE86 ((uint32_t)0x56)
297
- #define EXTI_LINE87 ((uint32_t)0x57)
298
- /* EXTI_LINE88 Reserved */
299
323
#else
300
- /* EXTI_LINE77 Reserved */
301
- /* EXTI_LINE78 Reserved */
302
- /* EXTI_LINE79 Reserved */
303
- /* EXTI_LINE80 Reserved */
304
- /* EXTI_LINE81 Reserved */
305
- /* EXTI_LINE82 Reserved */
306
- /* EXTI_LINE83 Reserved */
307
- /* EXTI_LINE84 Reserved */
308
-
324
+ /* EXTI_LINE84 Reserved */
325
+ #endif /* DUAL_CORE */
309
326
#define EXTI_LINE85 ((uint32_t)0x55)
310
- #define EXTI_LINE86 ((uint32_t)0x56)
327
+ #define EXTI_LINE86 ((uint32_t)0x56) /* Not available in all family lines */
311
328
#define EXTI_LINE87 ((uint32_t)0x57)
312
-
313
- /* EXTI_LINE88 Reserved */
314
- #endif
329
+ #define EXTI_LINE88 ((uint32_t)0x58) /* Not available in all family lines */
315
330
316
331
#if defined(DUAL_CORE )
317
332
#define IS_HAL_EXTI_CONFIG_LINE (LINE ) (((LINE) == EXTI_LINE0) || ((LINE) == EXTI_LINE1) || \
@@ -342,7 +357,7 @@ typedef enum
342
357
((LINE) == EXTI_LINE20) || ((LINE) == EXTI_LINE21) || \
343
358
((LINE) == EXTI_LINE49) || ((LINE) == EXTI_LINE51) || \
344
359
((LINE) == EXTI_LINE85) || ((LINE) == EXTI_LINE86))
345
- #endif
360
+ #endif /* DUAL_CORE */
346
361
347
362
#if defined(DUAL_CORE )
348
363
#define IS_EXTI_ALL_LINE (LINE ) (((LINE) == EXTI_LINE0) || ((LINE) == EXTI_LINE1) || \
@@ -428,7 +443,8 @@ typedef enum
428
443
((LINE) == EXTI_LINE73) || ((LINE) == EXTI_LINE74) || \
429
444
((LINE) == EXTI_LINE75) || ((LINE) == EXTI_LINE76) || \
430
445
((LINE) == EXTI_LINE85) || \
431
- ((LINE) == EXTI_LINE86) || ((LINE) == EXTI_LINE87))
446
+ ((LINE) == EXTI_LINE86) || ((LINE) == EXTI_LINE87) || \
447
+ ((LINE) == EXTI_LINE88))
432
448
#endif /*DUAL_CORE*/
433
449
434
450
#if defined(DUAL_CORE )
@@ -513,7 +529,8 @@ typedef enum
513
529
((LINE) == EXTI_LINE73) || ((LINE) == EXTI_LINE74) || \
514
530
((LINE) == EXTI_LINE75) || ((LINE) == EXTI_LINE76) || \
515
531
((LINE) == EXTI_LINE85) || \
516
- ((LINE) == EXTI_LINE86) || ((LINE) == EXTI_LINE87))
532
+ ((LINE) == EXTI_LINE86) || ((LINE) == EXTI_LINE87) || \
533
+ ((LINE) == EXTI_LINE88))
517
534
#endif /*DUAL_CORE*/
518
535
519
536
#if defined(DUAL_CORE )
@@ -576,7 +593,7 @@ typedef enum
576
593
((LINE) == EXTI_LINE49) || ((LINE) == EXTI_LINE50) || \
577
594
((LINE) == EXTI_LINE51) || ((LINE) == EXTI_LINE52) || \
578
595
((LINE) == EXTI_LINE53))
579
- #else
596
+ #elif ( POWER_DOMAINS_NUMBER == 3U )
580
597
#define IS_EXTI_D3_LINE (LINE ) (((LINE) == EXTI_LINE0) || ((LINE) == EXTI_LINE1) || \
581
598
((LINE) == EXTI_LINE2) || ((LINE) == EXTI_LINE3) || \
582
599
((LINE) == EXTI_LINE4) || ((LINE) == EXTI_LINE5) || \
@@ -592,17 +609,43 @@ typedef enum
592
609
((LINE) == EXTI_LINE49) || ((LINE) == EXTI_LINE50) || \
593
610
((LINE) == EXTI_LINE51) || ((LINE) == EXTI_LINE52) || \
594
611
((LINE) == EXTI_LINE53))
595
- #endif
612
+ #else
613
+ #define IS_EXTI_D3_LINE (LINE ) (((LINE) == EXTI_LINE0) || ((LINE) == EXTI_LINE1) || \
614
+ ((LINE) == EXTI_LINE2) || ((LINE) == EXTI_LINE3) || \
615
+ ((LINE) == EXTI_LINE4) || ((LINE) == EXTI_LINE5) || \
616
+ ((LINE) == EXTI_LINE6) || ((LINE) == EXTI_LINE7) || \
617
+ ((LINE) == EXTI_LINE8) || ((LINE) == EXTI_LINE9) || \
618
+ ((LINE) == EXTI_LINE10) || ((LINE) == EXTI_LINE11) || \
619
+ ((LINE) == EXTI_LINE12) || ((LINE) == EXTI_LINE13) || \
620
+ ((LINE) == EXTI_LINE14) || ((LINE) == EXTI_LINE15) || \
621
+ ((LINE) == EXTI_LINE19) || ((LINE) == EXTI_LINE20) || \
622
+ ((LINE) == EXTI_LINE21) || ((LINE) == EXTI_LINE25) || \
623
+ ((LINE) == EXTI_LINE34) || ((LINE) == EXTI_LINE35) || \
624
+ ((LINE) == EXTI_LINE41) || ((LINE) == EXTI_LINE48) || \
625
+ ((LINE) == EXTI_LINE49) || ((LINE) == EXTI_LINE50) || \
626
+ ((LINE) == EXTI_LINE51) || ((LINE) == EXTI_LINE88))
627
+ #endif /*DUAL_CORE*/
596
628
597
629
598
630
#define BDMA_CH6_CLEAR ((uint32_t)0x00000000) /*!< BDMA ch6 event selected as D3 domain pendclear source*/
599
631
#define BDMA_CH7_CLEAR ((uint32_t)0x00000001) /*!< BDMA ch7 event selected as D3 domain pendclear source*/
632
+ #if defined (LPTIM4 )
600
633
#define LPTIM4_OUT_CLEAR ((uint32_t)0x00000002) /*!< LPTIM4 out selected as D3 domain pendclear source*/
634
+ #else
635
+ #define LPTIM2_OUT_CLEAR ((uint32_t)0x00000002) /*!< LPTIM2 out selected as D3 domain pendclear source*/
636
+ #endif /* LPTIM4 */
637
+ #if defined (LPTIM5 )
601
638
#define LPTIM5_OUT_CLEAR ((uint32_t)0x00000003) /*!< LPTIM5 out selected as D3 domain pendclear source*/
602
-
639
+ #else
640
+ #define LPTIM3_OUT_CLEAR ((uint32_t)0x00000003) /*!< LPTIM3 out selected as D3 domain pendclear source*/
641
+ #endif /* LPTIM5 */
642
+ #if defined (LPTIM4 ) && defined (LPTIM5 )
603
643
#define IS_EXTI_D3_CLEAR (SOURCE ) (((SOURCE) == BDMA_CH6_CLEAR) || ((SOURCE) == BDMA_CH7_CLEAR) || \
604
644
((SOURCE) == LPTIM4_OUT_CLEAR) || ((SOURCE) == LPTIM5_OUT_CLEAR))
605
-
645
+ #else
646
+ #define IS_EXTI_D3_CLEAR (SOURCE ) (((SOURCE) == BDMA_CH6_CLEAR) || ((SOURCE) == BDMA_CH7_CLEAR) || \
647
+ ((SOURCE) == LPTIM2_OUT_CLEAR) || ((SOURCE) == LPTIM3_OUT_CLEAR))
648
+ #endif /* LPTIM4 LPTIM5 */
606
649
/**
607
650
* @}
608
651
*/
@@ -739,6 +782,23 @@ typedef enum
739
782
#define __HAL_SYSCFG_BREAK_CM4_LOCKUP_LOCK () SET_BIT(SYSCFG->CFGR, SYSCFG_CFGR_CM4L)
740
783
#endif /* DUAL_CORE */
741
784
785
+ #if !defined(SYSCFG_PMCR_BOOSTEN )
786
+ /** @brief Fast-mode Plus driving capability enable/disable macros
787
+ * @param __FASTMODEPLUS__ This parameter can be a value of :
788
+ * @arg @ref SYSCFG_FASTMODEPLUS_PB6 Fast-mode Plus driving capability activation on PB6
789
+ * @arg @ref SYSCFG_FASTMODEPLUS_PB7 Fast-mode Plus driving capability activation on PB7
790
+ * @arg @ref SYSCFG_FASTMODEPLUS_PB8 Fast-mode Plus driving capability activation on PB8
791
+ * @arg @ref SYSCFG_FASTMODEPLUS_PB9 Fast-mode Plus driving capability activation on PB9
792
+ */
793
+ #define __HAL_SYSCFG_FASTMODEPLUS_ENABLE (__FASTMODEPLUS__ ) do {assert_param(IS_SYSCFG_FASTMODEPLUS((__FASTMODEPLUS__)));\
794
+ SET_BIT(SYSCFG->PMCR, (__FASTMODEPLUS__));\
795
+ }while(0)
796
+
797
+ #define __HAL_SYSCFG_FASTMODEPLUS_DISABLE (__FASTMODEPLUS__ ) do {assert_param(IS_SYSCFG_FASTMODEPLUS((__FASTMODEPLUS__)));\
798
+ CLEAR_BIT(SYSCFG->PMCR, (__FASTMODEPLUS__));\
799
+ }while(0)
800
+
801
+ #endif /* !SYSCFG_PMCR_BOOSTEN */
742
802
/**
743
803
* @}
744
804
*/
@@ -935,11 +995,19 @@ uint32_t HAL_GetDEVID(void);
935
995
uint32_t HAL_GetUIDw0 (void );
936
996
uint32_t HAL_GetUIDw1 (void );
937
997
uint32_t HAL_GetUIDw2 (void );
998
+ #if defined(SYSCFG_PMCR_EPIS_SEL )
938
999
void HAL_SYSCFG_ETHInterfaceSelect (uint32_t SYSCFG_ETHInterface );
1000
+ #endif /* SYSCFG_PMCR_EPIS_SEL */
939
1001
void HAL_SYSCFG_AnalogSwitchConfig (uint32_t SYSCFG_AnalogSwitch , uint32_t SYSCFG_SwitchState );
1002
+ #if defined(SYSCFG_PMCR_BOOSTEN )
940
1003
void HAL_SYSCFG_EnableBOOST (void );
941
1004
void HAL_SYSCFG_DisableBOOST (void );
1005
+ #endif /* SYSCFG_PMCR_BOOSTEN */
1006
+
1007
+ #if defined (SYSCFG_UR2_BOOT_ADD0 ) || defined (SYSCFG_UR2_BCM7_ADD0 )
942
1008
void HAL_SYSCFG_CM7BootAddConfig (uint32_t BootRegister , uint32_t BootAddress );
1009
+ #endif /* SYSCFG_UR2_BOOT_ADD0 || SYSCFG_UR2_BCM7_ADD0*/
1010
+
943
1011
#if defined(DUAL_CORE )
944
1012
void HAL_SYSCFG_CM4BootAddConfig (uint32_t BootRegister , uint32_t BootAddress );
945
1013
void HAL_SYSCFG_EnableCM7BOOT (void );
@@ -953,6 +1021,9 @@ void HAL_SYSCFG_EnableIOSpeedOptimize(void);
953
1021
void HAL_SYSCFG_DisableIOSpeedOptimize (void );
954
1022
void HAL_SYSCFG_CompensationCodeSelect (uint32_t SYSCFG_CompCode );
955
1023
void HAL_SYSCFG_CompensationCodeConfig (uint32_t SYSCFG_PMOSCode , uint32_t SYSCFG_NMOSCode );
1024
+ #if defined(SYSCFG_CCCR_NCC_MMC )
1025
+ void HAL_SYSCFG_VDDMMC_CompensationCodeConfig (uint32_t SYSCFG_PMOSCode , uint32_t SYSCFG_NMOSCode );
1026
+ #endif /* SYSCFG_CCCR_NCC_MMC */
956
1027
void HAL_EnableDBGSleepMode (void );
957
1028
void HAL_DisableDBGSleepMode (void );
958
1029
void HAL_EnableDBGStopMode (void );
0 commit comments