@@ -79,7 +79,7 @@ extern HAL_TickFreqTypeDef uwTickFreq;
79
79
* @brief STM32WBAxx HAL Driver version number
80
80
*/
81
81
#define __STM32WBAxx_HAL_VERSION_MAIN (0x01U) /*!< [31:24] main version */
82
- #define __STM32WBAxx_HAL_VERSION_SUB1 (0x03U ) /*!< [23:16] sub1 version */
82
+ #define __STM32WBAxx_HAL_VERSION_SUB1 (0x04U ) /*!< [23:16] sub1 version */
83
83
#define __STM32WBAxx_HAL_VERSION_SUB2 (0x00U) /*!< [15:8] sub2 version */
84
84
#define __STM32WBAxx_HAL_VERSION_RC (0x00U) /*!< [7:0] release candidate */
85
85
#define __STM32WBAxx_HAL_VERSION ((__STM32WBAxx_HAL_VERSION_MAIN << 24U)\
@@ -119,6 +119,38 @@ extern HAL_TickFreqTypeDef uwTickFreq;
119
119
* @}
120
120
*/
121
121
122
+ /** @defgroup SYSCFG_Compensation_Cell_Selection Compensation Cell Selection
123
+ * @{
124
+ */
125
+ #define SYSCFG_IO_CELL SYSCFG_CCCSR_EN1 /*!< Compensation cell for the VDD I/O power rail */
126
+ #ifdef SYSCFG_CCCSR_EN2
127
+ #define SYSCFG_IO2_CELL SYSCFG_CCCSR_EN2 /*!< Compensation cell for the VDDIO2 I/O power rail */
128
+ #endif /* SYSCFG_CCCSR_EN2 */
129
+ /**
130
+ * @}
131
+ */
132
+
133
+ /** @defgroup SYSCFG_Compensation_Cell_Ready_Selection Compensation Cell Ready Selection
134
+ * @{
135
+ */
136
+ #define SYSCFG_IO_CELL_READY SYSCFG_CCCSR_RDY1 /*!< Ready flag of compensation cell for the VDD I/O power rail */
137
+ #ifdef SYSCFG_CCCSR_EN2
138
+ #define SYSCFG_IO2_CELL_READY SYSCFG_CCCSR_RDY2 /*!< Ready flag of compensation cell for the VDDIO2 I/O power rail */
139
+ #endif /* SYSCFG_CCCSR_EN2 */
140
+ /**
141
+ * @}
142
+ */
143
+
144
+ /** @defgroup SYSCFG_IO_Compensation_Code_Config IO Compensation Code config
145
+ * @{
146
+ */
147
+ #define SYSCFG_IO_CELL_CODE 0UL /*!< Code from the cell */
148
+ #define SYSCFG_IO_REGISTER_CODE 1UL /*!< Code from the values in the cell code register */
149
+ /**
150
+ * @}
151
+ */
152
+
153
+
122
154
/** @defgroup SYSCFG_Flags_Definition Flags
123
155
* @{
124
156
*/
@@ -188,6 +220,83 @@ extern HAL_TickFreqTypeDef uwTickFreq;
188
220
* @}
189
221
*/
190
222
223
+ #ifdef SYSCFG_OTGHSPHYCR_EN
224
+ /** @defgroup SYSCFG_OTG_PHY_RefenceClockSelection OTG PHY Reference Clock Selection
225
+ * @{
226
+ */
227
+
228
+ /** @brief OTG HS PHY reference clock frequency selection
229
+ */
230
+ #define SYSCFG_OTG_HS_PHY_CLK_SELECT_1 (SYSCFG_OTGHSPHYCR_CLKSEL_0 | SYSCFG_OTGHSPHYCR_CLKSEL_1) /*!< 16Mhz */
231
+ #define SYSCFG_OTG_HS_PHY_CLK_SELECT_2 SYSCFG_OTGHSPHYCR_CLKSEL_3 /*!< 19.2Mhz */
232
+ #define SYSCFG_OTG_HS_PHY_CLK_SELECT_3 (SYSCFG_OTGHSPHYCR_CLKSEL_0 | SYSCFG_OTGHSPHYCR_CLKSEL_3) /*!< 20Mhz */
233
+ #define SYSCFG_OTG_HS_PHY_CLK_SELECT_4 (SYSCFG_OTGHSPHYCR_CLKSEL_1 | SYSCFG_OTGHSPHYCR_CLKSEL_3) /*!< 24Mhz */
234
+ #define SYSCFG_OTG_HS_PHY_CLK_SELECT_5 (SYSCFG_OTGHSPHYCR_CLKSEL_1 | SYSCFG_OTGHSPHYCR_CLKSEL_2 | SYSCFG_OTGHSPHYCR_CLKSEL_3) /*!< 26Mhz */
235
+ #define SYSCFG_OTG_HS_PHY_CLK_SELECT_6 (SYSCFG_OTGHSPHYCR_CLKSEL_0 | SYSCFG_OTGHSPHYCR_CLKSEL_1 | SYSCFG_OTGHSPHYCR_CLKSEL_3) /*!< 32Mhz */
236
+ /**
237
+ * @}
238
+ */
239
+
240
+ /** @defgroup SYSCFG_OTG_PHY_PowerDown OTG PHY Power Down
241
+ * @{
242
+ */
243
+
244
+ /** @brief OTG HS PHY Power Down config
245
+ */
246
+ #define SYSCFG_OTG_HS_PHY_POWER_ON 0x00000000U /*!< PHY state machine, bias and OTG PHY PLL are powered down */
247
+ #define SYSCFG_OTG_HS_PHY_POWER_DOWN SYSCFG_OTGHSPHYCR_PDCTRL /*!< PHY state machine, bias and OTG PHY PLL remain powered */
248
+ /**
249
+ * @}
250
+ */
251
+
252
+ /** @defgroup SYSCFG_OTG_PHY_Enable OTG PHY Enable
253
+ * @{
254
+ */
255
+ #define SYSCFG_OTG_HS_PHY_UNDERRESET 0x00000000U /*!< PHY under reset */
256
+ #define SYSCFG_OTG_HS_PHY_ENABLE SYSCFG_OTGHSPHYCR_EN /*!< PHY enabled */
257
+ /**
258
+ * @}
259
+ */
260
+
261
+ /** @defgroup SYSCFG_OTG_PHYTUNER_PreemphasisCurrent OTG PHYTUNER Preemphasis Current
262
+ * @{
263
+ */
264
+
265
+ /** @brief High-speed (HS) transmitter preemphasis current control
266
+ */
267
+ #define SYSCFG_OTG_HS_PHY_PREEMP_DISABLED 0x00000000U /*!< HS transmitter preemphasis circuit disabled */
268
+ #define SYSCFG_OTG_HS_PHY_PREEMP_1X SYSCFG_OTGHSPHYTUNER2_TXPREEMPAMPTUNE_0 /*!< HS transmitter preemphasis circuit sources 1x preemphasis current */
269
+ #define SYSCFG_OTG_HS_PHY_PREEMP_2X SYSCFG_OTGHSPHYTUNER2_TXPREEMPAMPTUNE_1 /*!< HS transmitter preemphasis circuit sources 2x preemphasis current */
270
+ #define SYSCFG_OTG_HS_PHY_PREEMP_3X (SYSCFG_OTGHSPHYTUNER2_TXPREEMPAMPTUNE_0 | SYSCFG_OTGHSPHYTUNER2_TXPREEMPAMPTUNE_1) /*!< HS transmitter preemphasis circuit sources 3x preemphasis current */
271
+ /**
272
+ * @}
273
+ */
274
+
275
+ /** @defgroup SYSCFG_OTG_PHYTUNER_SquelchThreshold OTG PHYTUNER Squelch Threshold
276
+ * @{
277
+ */
278
+
279
+ /** @brief Squelch threshold adjustment
280
+ */
281
+ #define SYSCFG_OTG_HS_PHY_SQUELCH_15PERCENT 0x00000000U /*!< +15% (recommended value) */
282
+ #define SYSCFG_OTG_HS_PHY_SQUELCH_0PERCENT (SYSCFG_OTGHSPHYTUNER2_SQRXTUNE_0 | SYSCFG_OTGHSPHYTUNER2_SQRXTUNE_1) /*!< 0% (default value) */
283
+ /**
284
+ * @}
285
+ */
286
+
287
+ /** @defgroup SYSCFG_OTG_PHYTUNER_DisconnectThreshold OTG PHYTUNER Disconnect Threshold
288
+ * @{
289
+ */
290
+
291
+ /** @brief Disconnect threshold adjustment
292
+ */
293
+ #define SYSCFG_OTG_HS_PHY_DISCONNECT_5_9PERCENT SYSCFG_OTGHSPHYTUNER2_COMPDISTUNE_1 /*!< +5.9% (recommended value) */
294
+ #define SYSCFG_OTG_HS_PHY_DISCONNECT_0PERCENT SYSCFG_OTGHSPHYTUNER2_COMPDISTUNE_0 /*!< 0% (default value) */
295
+ /**
296
+ * @}
297
+ */
298
+ #endif /* SYSCFG_OTGHSPHYCR_EN */
299
+
191
300
/**
192
301
* @}
193
302
*/
@@ -391,11 +500,31 @@ extern HAL_TickFreqTypeDef uwTickFreq;
391
500
#define IS_SYSCFG_FPU_INTERRUPT (__INTERRUPT__ ) ((((__INTERRUPT__) & SYSCFG_IT_FPU_ALL) != 0x00U) && \
392
501
(((__INTERRUPT__) & ~SYSCFG_IT_FPU_ALL) == 0x00U))
393
502
503
+ #ifdef SYSCFG_CCCSR_EN2
504
+ #define IS_SYSCFG_COMPENSATION_CELL (__CELL__ ) (((__CELL__) == SYSCFG_IO_CELL) || \
505
+ ((__CELL__) == SYSCFG_IO2_CELL))
506
+
507
+ #define IS_SYSCFG_COMPENSATION_CELL_READY (__CELL__ ) (((__CELL__) == SYSCFG_IO_CELL_READY) || \
508
+ ((__CELL__) == SYSCFG_IO2_CELL_READY))
509
+ #else
510
+ #define IS_SYSCFG_COMPENSATION_CELL (__CELL__ ) (((__CELL__) == SYSCFG_IO_CELL))
511
+
512
+ #define IS_SYSCFG_COMPENSATION_CELL_READY (__CELL__ ) (((__CELL__) == SYSCFG_IO_CELL_READY))
513
+ #endif /* SYSCFG_CCCSR_EN2 */
514
+
515
+ #define IS_SYSCFG_COMPENSATION_CELL_CODE (__VALUE__ ) (((__VALUE__) == SYSCFG_IO_CELL_CODE) || \
516
+ ((__VALUE__) == SYSCFG_IO_REGISTER_CODE))
517
+
518
+ #define IS_SYSCFG_COMPENSATION_CELL_PMOS_VALUE (__VALUE__ ) (((__VALUE__) < 16U))
519
+
520
+ #define IS_SYSCFG_COMPENSATION_CELL_NMOS_VALUE (__VALUE__ ) (((__VALUE__) < 16U))
521
+
394
522
#define IS_SYSCFG_BREAK_CONFIG (__CONFIG__ ) (((__CONFIG__) == SYSCFG_BREAK_ECC) || \
395
523
((__CONFIG__) == SYSCFG_BREAK_PVD) || \
396
524
((__CONFIG__) == SYSCFG_BREAK_SRAM2_PARITY) || \
397
525
((__CONFIG__) == SYSCFG_BREAK_LOCKUP))
398
526
527
+
399
528
#define IS_SYSCFG_FASTMODEPLUS (__PIN__ ) ((((__PIN__) & SYSCFG_FASTMODEPLUS_ALL) != 0x00U) && \
400
529
(((__PIN__) & ~SYSCFG_FASTMODEPLUS_ALL) == 0x00U))
401
530
@@ -418,6 +547,31 @@ extern HAL_TickFreqTypeDef uwTickFreq;
418
547
#define IS_SYSCFG_LOCK_ITEMS (__ITEM__ ) ((((__ITEM__) & SYSCFG_LOCK_ALL) != 0x00U) && \
419
548
(((__ITEM__) & ~SYSCFG_LOCK_ALL) == 0x00U))
420
549
550
+ #ifdef SYSCFG_OTGHSPHYCR_EN
551
+ #define IS_SYSCFG_OTGPHY_REFERENCE_CLOCK (__VALUE__ ) (((__VALUE__) == SYSCFG_OTG_HS_PHY_CLK_SELECT_1) || \
552
+ ((__VALUE__) == SYSCFG_OTG_HS_PHY_CLK_SELECT_2) || \
553
+ ((__VALUE__) == SYSCFG_OTG_HS_PHY_CLK_SELECT_3) || \
554
+ ((__VALUE__) == SYSCFG_OTG_HS_PHY_CLK_SELECT_4) || \
555
+ ((__VALUE__) == SYSCFG_OTG_HS_PHY_CLK_SELECT_5) || \
556
+ ((__VALUE__) == SYSCFG_OTG_HS_PHY_CLK_SELECT_6))
557
+
558
+ #define IS_SYSCFG_OTGPHY_POWERDOWN_CONFIG (__VALUE__ ) (((__VALUE__) == SYSCFG_OTG_HS_PHY_POWER_DOWN) || \
559
+ ((__VALUE__) == SYSCFG_OTG_HS_PHY_POWER_ON))
560
+
561
+ #define IS_SYSCFG_OTGPHY_CONFIG (__VALUE__ ) (((__VALUE__) == SYSCFG_OTG_HS_PHY_UNDERRESET) || \
562
+ ((__VALUE__) == SYSCFG_OTG_HS_PHY_ENABLE))
563
+
564
+ #define IS_SYSCFG_OTGPHY_DISCONNECT (__VALUE__ ) (((__VALUE__) == SYSCFG_OTG_HS_PHY_DISCONNECT_5_9PERCENT) || \
565
+ ((__VALUE__) == SYSCFG_OTG_HS_PHY_DISCONNECT_0PERCENT))
566
+
567
+ #define IS_SYSCFG_OTGPHY_SQUELCH (__VALUE__ ) (((__VALUE__) == SYSCFG_OTG_HS_PHY_SQUELCH_0PERCENT) || \
568
+ ((__VALUE__) == SYSCFG_OTG_HS_PHY_SQUELCH_15PERCENT))
569
+
570
+ #define IS_SYSCFG_OTGPHY_PREEMPHASIS (__VALUE__ ) (((__VALUE__) == SYSCFG_OTG_HS_PHY_PREEMP_DISABLED) || \
571
+ ((__VALUE__) == SYSCFG_OTG_HS_PHY_PREEMP_1X) || \
572
+ ((__VALUE__) == SYSCFG_OTG_HS_PHY_PREEMP_2X) || \
573
+ ((__VALUE__) == SYSCFG_OTG_HS_PHY_PREEMP_3X))
574
+ #endif /* SYSCFG_OTGHSPHYCR_EN */
421
575
422
576
/**
423
577
* @}
@@ -487,10 +641,28 @@ void HAL_DBGMCU_DisableDBGStandbyMode(void);
487
641
*/
488
642
489
643
/* SYSCFG Control functions ****************************************************/
490
- void HAL_SYSCFG_SRAM2Erase (void );
491
644
void HAL_SYSCFG_EnableIOAnalogSwitchBooster (void );
492
645
void HAL_SYSCFG_DisableIOAnalogSwitchBooster (void );
493
-
646
+ void HAL_SYSCFG_EnableIOAnalogSwitchVdd (void );
647
+ void HAL_SYSCFG_DisableIOAnalogSwitchVdd (void );
648
+
649
+
650
+ #ifdef SYSCFG_OTGHSPHYCR_EN
651
+ void HAL_SYSCFG_SetOTGPHYReferenceClockSelection (uint32_t RefClockSelection );
652
+ void HAL_SYSCFG_SetOTGPHYPowerDownConfig (uint32_t PowerDownConfig );
653
+ void HAL_SYSCFG_EnableOTGPHY (uint32_t OTGPHYConfig );
654
+ void HAL_SYSCFG_SetOTGPHYDisconnectThreshold (uint32_t DisconnectThreshold );
655
+ void HAL_SYSCFG_SetOTGPHYSquelchThreshold (uint32_t SquelchThreshold );
656
+ void HAL_SYSCFG_SetOTGPHYPreemphasisCurrent (uint32_t PreemphasisCurrent );
657
+ #endif /* SYSCFG_OTGHSPHYCR_EN */
658
+
659
+ void HAL_SYSCFG_EnableCompensationCell (uint32_t Selection );
660
+ void HAL_SYSCFG_DisableCompensationCell (uint32_t Selection );
661
+ uint32_t HAL_SYSCFG_GetCompensationCellReadyStatus (uint32_t Selection );
662
+ void HAL_SYSCFG_ConfigCompensationCell (uint32_t Selection , uint32_t Code , uint32_t NmosValue ,
663
+ uint32_t PmosValue );
664
+ HAL_StatusTypeDef HAL_SYSCFG_GetCompensationCell (uint32_t Selection , uint32_t * pCode , uint32_t * pNmosValue ,
665
+ uint32_t * pPmosValue );
494
666
/**
495
667
* @}
496
668
*/
@@ -500,7 +672,7 @@ void HAL_SYSCFG_DisableIOAnalogSwitchBooster(void);
500
672
*/
501
673
502
674
/* SYSCFG Lock functions ********************************************/
503
- void HAL_SYSCFG_Lock (uint32_t Item );
675
+ void HAL_SYSCFG_Lock (uint32_t Item );
504
676
HAL_StatusTypeDef HAL_SYSCFG_GetLock (uint32_t * pItem );
505
677
506
678
/**
@@ -514,7 +686,7 @@ HAL_StatusTypeDef HAL_SYSCFG_GetLock(uint32_t *pItem);
514
686
#if defined (SYSCFG_SECCFGR_SYSCFGSEC )
515
687
/* SYSCFG Attributes functions ********************************************/
516
688
#if defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3U )
517
- void HAL_SYSCFG_ConfigAttributes (uint32_t Item , uint32_t Attributes );
689
+ void HAL_SYSCFG_ConfigAttributes (uint32_t Item , uint32_t Attributes );
518
690
#endif /* __ARM_FEATURE_CMSE */
519
691
HAL_StatusTypeDef HAL_SYSCFG_GetConfigAttributes (uint32_t Item , uint32_t * pAttributes );
520
692
#endif /* SYSCFG_SECCFGR_SYSCFGSEC */
0 commit comments