# Release Notes for

# STM32WLxx HAL Drivers

Copyright © 2020 STMicroelectronics

# Purpose

The STM32Cube HAL and LL, an STM32 abstraction layer embedded software, ensure maximized portability across STM32 portfolio.

The Portable APIs layer provides a generic, multi instanced and simple set of APIs to interact with the upper layer (application, libraries and stacks). It is composed of native and extended APIs set. It is directly built around a generic architecture and allows the build-upon layers, like the middleware layer, to implement its functions without knowing in-depth the used STM32 device. This improves the library code reusability and guarantees an easy portability on other devices and STM32 families.

The Low Layer (LL) drivers are part of the STM32Cube firmware HAL that provide basic set of optimized and one shot services. The Low layer drivers, contrary to the HAL ones are not Fully Portable across the STM32 families; the availability of some functions depend on the physical availability of the relative features on the product. The Low Layer (LL) drivers are designed to offer the following features:

- New set of inline function for direct and atomic register access
- One-shot operations that can be used by the HAL drivers or from application level.
- Fully Independent from HAL and can be used in standalone usage (without HAL drivers)
- Full features coverage of the all the supported peripherals.

# Update History

V1.4.0 / 29-October-2025

## Main Changes

- Maintenance release of HAL and Low Layer drivers to include latest corrections

- Update the following IPs Drivers: ADC, CRYP, DMA, EXTI, FLASH, GENERIC, GPIO, GTZC, HSEM, I2C, IPCC, IWDG, LPTIM, PWR, RCC, RTC, SPI, SUBGHZ, TIM, UART, USART, UTILS, WWDG

- Fixes for MISRAC2012 Rules 13.4_b, 12.3, 10.4 and 8.13 violations

## Contents

### HAL Drivers updates

- HAL ADC driver
  - Add const qualifier for calibrated values (read only, in system flash)
  - Fixed MISRA C2012 Rule 8.13 violations
- HAL CRYP driver
  - Fixed MISRA C2012 Rule 8.13 violations
  - Fixed MISRA C2012 Rule 10.4_a violations
- HAL DMA driver
  - Rebase wl code against the most recent c7amba_dma1 reference branch
  - Fix MISRA PC Lint issue against rule-11.9
- HAL EXTI driver
  - Fixed MISRA C2012 Rule 8.13 violations
- HAL FLASH driver
  - Fix bitwise comparison that otherwise always evaluates to false
  - Fixed MISRA C2012 Rule 8.13 violations
- HAL GENERIC driver
  - Fixed timer timebase initialization sequence by registering the callback before starting the timer to ensure correct callback handling in FreeRTOS projects
  - Fixed MISRA C2012 Rule 8.13 violations
- HAL GPIO driver
  - Fixed MISRA C2012 Rule 8.13 violations
- HAL GTZC driver
  - Fixed MISRA C2012 Rule 8.13 violations
- HAL HSEM driver
  - Fix an issue where LL_HSEM_1StepLock uses HSEM_R_LOCK instead of HSEM_RLR_LOCK while checking the RLR register
  - Macro update to be aligned with register name in CMSIS
  - Update LL HSEM description and define to be aligned with the correct number of semaphores
- HAL I2C driver
  - Update HAL I2C driver to disable all interrupts after end of transaction.
- HAL IPCC driver
  - Fixed MISRA C2012 Rule 8.13 violations
- HAL IWDG driver
  - Fixed MISRA C2012 Rule 8.13 violations
- HAL LPTIM driver
  - Removed redundant IS_LPTIM_AUTORELOAD macro
- HAL PWR driver
  - Fixed MISRA C2012 Rule 8.13 violations
- HAL RCC driver
  - Correct LSE config macro regarding LSESYS handling
- HAL RTC driver
  - Update STM32CubeIDE projects to fix the location of .size directive in startup code to allow proper size information of vector table
  - Fixed MISRA C2012 Rule 13.4_b violations
  - Fixed MISRA C2012 Rule 12.3 violations
- HAL SPI driver
  - Rebase wl code against the most recent c7amba_spi2s1 reference branch
  - Fix compilation error in SPI validation code
- HAL SUBGHZ driver
  - Pass CRC status info in upper layer
  - Fixed MISRA C2012 Rule 8.13 violations
- HAL TIM driver
  - Assert check for the right channels
  - Fixed typo in PWM symmetric mode related constants names
- HAL UART driver
  - Rework of UART_WaitOnFlagUntilTimeout() API to avoid being stuck forever when UART overrun error occurs and to enhance behavior
- HAL USART driver
  - __HAL_LOCK() removal from HAL_xxx_RegisterCallback()/HAL_xxx_UnRegisterCallback()
- HAL UTILS driver
  - Fixed MISRA C2012 Rule 8.13 violations
- HAL WWDG driver
  - Fixed MISRA C2012 Rule 8.13 violations

## Known Limitations

None

## Development Toolchains and Compilers

- IAR Embedded Workbench for ARM (EWARM) toolchain V9.20.1 + Patch EWARM
- RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.36 + Keil DFP V1.1.1 Pack
- STM32CubeIDE 1.11.0 (GNU Tools for STM32 10.3-2021.10)

## Supported Devices and boards

Supported Devices:

- STM32WL55xx
- STM32WL54xx
- STM32WLE5xx
- STM32WLE4xx
- STM32WL5Mxx

## Backward Compatibility

Not applicable

## Dependencies

None

V1.3.1 / 20-December-2024

## Main Changes

- Patch release of HAL and Low Layer drivers to include latest corrections
- Update the following IPs Drivers: ADC, CORTEX, CRYP, DAC, GENERIC, GPIO, I2C, SMBUS, SPIU, SUBGHZ, TIM, UART, UTILS

## Contents

### HAL Drivers updates

- HAL ADC driver
  - Fix MISRA-C 2012 Rule 15.7 issue
  - Improve de-init sequence by reset clock configuration on last step (otherwise, under specific clock source selection, some parameters can be not reset)
  - Add CFGR1_CHSELRMOD bit to be reset by LL_ADC_DeInit() function
- HAL CORTEX driver
  - Update HAL_MPU_ConfigRegion() to allow the configuration of the MPU registers independently of the value of Enable/Disable field and add new APIs HAL_MPU_EnableRegion() / HAL_MPU_DisableRegion()
- HAL CRYP driver
  - Update AES GCM in interrupt mode to avoid Computation Completed IRQ fires before the DINR pointer increment
  - Update Crypt/Decrypt IT processes to avoid Computation Completed IRQ fires before the DINR pointer increment
- HAL DAC driver
  - Fix HAL DAC calibration procedure (function HAL_DACEx_SelfCalibrate() ) to manage case of calibration factor equal to range maximum value (previously, in this case calibration factor was reset, leading to voltage accuracy not optimal)
  - Update DAC buffer calibration according to Reference Manual
- HAL Generic driver
  - Update of HAL_GetTickFreq() brief
- HAL I2C driver
  - Remove HAL DMA dependency thanks to the HAL_DMA_MODULE_ENABLED define
  - Solve Slave No stretch not functional by using HAL Slave interface
  - Update I2C_WaitOnFlagUntilTimeout() API to handle error case
  - Update HAL_I2C_Slave_Transmit() to check if the received NACK is the good one
  - Update HAL_I2C_Init() API to clear ADD10 bit in 7 bit addressing mode
  - Update I2C_GENERATE_START() macro to generate stop automatically in 10 bit addressing mode
  - Remove the unusable code in function HAL_I2C_IsDeviceReady
  - Enhance HAL code quality for MISRA-C Rule-8.13 by adding const qualifiers
  - Update I2C_WaitOnRXNEFlagUntilTimeout to check I2C_FLAG_AF independently from I2C_FLAG_RXNE
  - Update HAL I2C driver to prefetch data before starting the transmission: implementation of errata sheet workaround I2C2-190208 : Transmission stalled after first byte
  - Update I2C_Slave_ISR_IT, I2C_Slave_ISR_DMA and I2C_ITSlaveCplt to prevent the call of HAL_I2C_ListenCpltCallback twice
  - Update HAL_I2C_Mem_Write_IT API to initialize XferSize at 0
  - Enhance HAL I2C to be thread safe
- HAL SMBUS driver
  - Update SMBUS_ITErrorHandler to flush TXDR just in case of error
  - Enhance HAL code quality for MISRA-C Rule-8.13 by adding const qualifiers
  - Update HAL SMBUS driver to prefetch data before starting the transmission: implementation of errata sheet workaround I2C2-190208 : Transmission stalled after first byte
- HAL SPI driver
  - Update HAL_SPI_TransmitReceive API to set the bit CRCNEXT in case of one byte transaction
  - Update IT API to enable interrupts after process unlock
  - Fix driver to don’t update state in case of error (HAL_SPI_STATE_READY will be set only in case of HAL_TIMEOUT)
- HAL SUBGHZ driver
  - Change macro from ‘CM0PLUS’ to ‘CORE_CM0PLUS’ as in preprocessor directives
- HAL TIM driver
  - Update interrupt flag is cleared when the update event is generated by software
  - Remove multiple volatile reads or writes in interrupt handler for better performance
- HAL UART driver
  - Avoid RTOF flag to be cleared by a transmit process in polling mode
  - Fix incorrect gState check in HAL_UART_RegisterRxEventCallback/HAL_UART_UnRegisterRxEventCallback to allow user Rx Event Callback registration when a transmit is ongoing
  - Update initialisation sequence for TXINV, RXINV and TXRXSWAP settings
- HAL UTILS driver
  - Fix UFQFPN48 package definition

### LL Drivers updates

- LL GPIO driver
  - Remove a redundant call to LL_GPIO_SetPinMode() within the LL_GPIO_Init() API
- LL I2C driver
  - Update LL_I2C_HandleTranfer function to prevent undefined behavior of volatile usage before updating the CR2 register
  - Enhance HAL code quality for MISRA-C Rule-8.13 by adding const qualifiers

## Known Limitations

None

## Development Toolchains and Compilers

- IAR Embedded Workbench for ARM (EWARM) toolchain V9.20.1 + Patch EWARM
- RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.36 + Keil DFP V1.1.1 Pack
- STM32CubeIDE 1.11.0 (GNU Tools for STM32 10.3-2021.10)

## Supported Devices and boards

Supported Devices:

- STM32WL55xx
- STM32WL54xx
- STM32WLE5xx
- STM32WLE4xx
- STM32WL5Mxx

## Backward Compatibility

Not applicable

## Dependencies

None

V1.3.0 / 09-November-2022

## Main Changes

- Maintenance release of HAL and Low Layer drivers to include latest corrections
- Remove HAL_LOCK/HAL_UNLOCK calls in HAL_xxxx_RegisterCallback & HAL_xxxx_UnregisterCallback for IPs (DAC, IRDA, LPTIM, SMARTCARD, TIM, UART, USART)
- Enhance code quality (MISRA-C rules 8.13, 11.9) for some drivers: ADC, COMP, DMA, IRDA, LPTIM, SMARTCARD, TIM, UART, USART

## Contents

### HAL Drivers updates

- HAL ADC driver
  - Disable AutoPowerOff when performing calibration
  - Rename ADC_TRx registers to AWDxTR to be in accordance with the Reference Manual
- HAL CORTEX driver
  - Remove #define LL_MPU_TEX_LEVEL4 (no Level 2 cache for STM32 SoC with Armv7-M cortex)
- HAL CRC driver
  - Add filter in HAL_CRCEx_Polynomial_Set() function to exclude even polynomials
- HAL CRYP driver
  - Add interleaved mode
- HAL DAC driver
  - Fix HAL_GetTick() timeout vulnerability
  - Return HAL_ERROR if configuration is not available on device
- HAL EXTI driver
  - Fix computation of pExtiConfig->GPIOSel in HAL_EXTI_GetConfigLine()
- HAL Generic driver
  - Add HAL_RADIO APIs to handle Radio services (only for STM32WL5M)
- HAL I2C driver
  - Fix Timeout issue using HAL MEM interface through FreeRTOS
  - Fix I2C_IsErrorOccurred returning error if timeout is detected
  - Fix ADDRF flag cleared too early when the restart is received but the direction has changed
- HAL IRDA driver
  - Fix wrong cast when computing the USARTDIV value in IRDA_SetConfig()
- HAL LPTIM driver
  - Enhance LPTIM state management
  - Fix IS_LPTIM_AUTORELOAD & IS_LPTIM_PERIOD macros to check that AutoReload value must be strictly greater than 0
- HAL RCC driver
  - Optimize HAL_RCC_OscConfig function when checking if oscillator is ready
  - Optimize HAL_RCC_GetOscConfig function
  - Remove GPIO configuration in HAL_RCCEx_EnableLSCO & HAL_RCCEx_DisableLSCO functions
- HAL RTC driver
  - Improve HAL_RTC_Init function to avoid initialization if already done
- HAL SMARTCARD driver
  - Fix wrong cast when computing the USARTDIV value in SMARTCARD_SetConfig() function
- HAL SUBGHZ driver
  - Clear the interrupt CR register just after having read it
  - Support new feature LoraFHSS (Lora Frequency Hopping Spread Spectrum)
  - Add new state HAL_SUBGHZ_STATE_RESET_RF_READY to avoid to reinitialize RF on existing from Standby mode
- HAL TIM driver
  - Improve driver robustness against wrong period values
  - Improve driver robustness against wrong DMA related parameters
  - Add new __HAL_TIM_SELECT_CCDMAREQUEST() macro to select CCx DMA source
- HAL UART driver
  - Fix wrong cast when computing the USARTDIV value in UART_SetConfig() function
  - Add HAL_UARTEx_GetRxEventType function to retrieve the type of event that has led the RxEventCallback execution
  - Remove HAL_LOCK/HAL_UNLOCK calls in HAL UART Tx and Rx APIs to fix a concurrent access issue
  - Disable the Receiver Timeout Interrupt when data reception is completed

### LL Drivers updates

- LL LPTIM driver
  - Enhance code quality by renaming all functions LL_LPTIM_ClearFLAG_Xxxxx with LL_LPTIM_ClearFlag_Xxxxx
- LL System driver
  - Fix LL_SYSCFG_GetEXTISource function which returned wrong result on M4 core
- LL USART driver
  - Fix compilation warnings generated with ARMV6 compiler
- LL Utils driver
  - Fix a wrong parameter of __LL_RCC_CALC_MSI_FREQ given erroneous PLL frequency

## Known Limitations

None

## Development Toolchains and Compilers

- IAR Embedded Workbench for ARM (EWARM) toolchain V9.20.1 + Patch EWARM
- RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.36 + Keil DFP V1.1.1 Pack
- STM32CubeIDE 1.11.0 (GNU Tools for STM32 10.3-2021.10)

## Supported Devices and boards

Supported Devices:

- STM32WL55xx
- STM32WL54xx
- STM32WLE5xx
- STM32WLE4xx
- STM32WL5Mxx

## Backward Compatibility

Not applicable

## Dependencies

None

V1.2.0 / 4-February-2022

## Main Changes

- Maintenance release of HAL and Low Layer drivers to include latest corrections
- All source files: update disclaimer to add reference to the new license agreement
- Correct English spelling errors and typos

## Contents

### HAL Drivers updates

- HAL ADC driver
  - Enhance ADC calibration to reduce noise effect
  - Fix write access to registers ADC_CFGR1 and ADC_CFGR2 in HAL_ADC_Init() and HAL_ADC_AnalogWDGConfig() functions
- HAL GPIO driver
  - Reorder EXTI config in HAL_GPIO_Init/HAL_GPIO_DeInit to avoid unexpected level detection
  - Add new HAL_GPIO_WriteMultipleStatePin() API for multiple pin access in same cycle
- HAL I2C driver
  - Fix written reserved bit 28 in I2C_CR2 register
  - Improve I2C_WaitOnFlagUntilTimeout() description to match code
  - Update to handle errors in polling mode
  - Rename I2C_IsAcknowledgeFailed() to I2C_IsErrorOccurred() and correctly manage when error occurs
  - Fix some communication issue due to low system frequency execution (HSI)
- HAL IRDA driver
  - Improve header description of IRDA_WaitOnFlagUntilTimeout() function
  - Add a check on the IRDA parity before enabling the parity error interrupt
- HAL LPTIM driver
  - Add check on PRIMASK register to prevent from enabling unwanted global interrupts within LPTIM_Disable() and LL_LPTIM_Disable()
- HAL RCC driver
  - Enhance RCC_MCOx in order to support both MCO number and AF mapping
- HAL SMARTCARD driver
  - Improve header description of SMARTCARD_WaitOnFlagUntilTimeout() function
- HAL SMBUS driver
  - Add new APIs to support wake up capability:
    - HAL_SMBUSEx_EnableWakeUp()
    - HAL_SMBUSEx_DisableWakeUp()
  - Update to fix issue of mismatched data received by master in case of data size to be transmitted by the slave is greater than the data size to be received by the master
  - Add flush on TX register
- HAL TIM driver
  - Fix incorrect behavior of the timer if input signal changes before the end of timer configuration
- HAL UART driver
  - Improve header description of UART_WaitOnFlagUntilTimeout() function
  - Add a check on the UART parity before enabling the parity error interruption
- HAL USART driver
  - Improve header description of USART_WaitOnFlagUntilTimeout() function
  - Add a check on the USART parity before enabling the parity error interruption

### LL Drivers updates

- LL ADC driver
  - Fix MISRA warning register shift overflow
- LL CORTEX driver
  - Rename LL_CPUID_GetConstant() to LL_CPUID_GetArchitecture()
- LL CRC driver
  - Rectified @brief of LL_CRC_GetOutputDataReverseMode() API
- LL LPUART driver
  - Remove all reference of TXFECF bit unavailable for LPUART
- LL RCC driver
  - Add missing API: LL_RCC_PLL_IsEnabledDomain_ADC, LL_RCC_PLL_IsEnabledDomain_RNG, LL_RCC_PLL_IsEnabledDomain_I2S, LL_RCC_PLL_IsEnabledDomain_SYS
  - Add check of PLL enable bit when a peripheral using PPL P or PLL Q
- LL RNG driver
  - Fix RNG_HTCFG constant for NIST compliance
- Utils driver
  - Fix LL_PLL_ConfigSystemClock_HSE to take into account the setting of RCC_CR_HSEPRE when computing pllrfreq

## Known Limitations

None

## Development Toolchains and Compilers

- IAR Embedded Workbench for ARM (EWARM) toolchain V8.30.1
- RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.31
- STM32CubeIDE 1.9.0 (native GNU ARM 10.3-2021-10 or optional GNU ARM 9-2020-q2-update)

## Supported Devices and boards

Supported Devices:

- STM32WL55xx
- STM32WL54xx
- STM32WLE5xx
- STM32WLE4xx

## Backward Compatibility

Not applicable

## Dependencies

None

V1.1.0 / 16-June-2021

## Main Changes

- Maintenance release of HAL and Low Layer drivers to include latest corrections
- Update of HAL SMBUS driver to introduce fast mode and fast mode plus
  - Add extension files stm32wlxx_hal_smbus_ex.h/.c for new APIs:
    - HAL_SMBUSEx_EnableFastModePlus()
    - HAL_SMBUSEx_DisableFastModePlus()

## Contents

### HAL Drivers updates

- HAL ADC driver
  - Update CFGR2 oversampling bitfields conditionally to oversampling enable
  - Update timeout mechanism to avoid false timeout detection in case of preemption
  - Update wait_loop_index computation so delay in us is always multiplicated by at least value “1”
- HAL COMP driver
  - Update wait_loop_index computation so delay in us is always multiplicated by at least value “1”
- HAL CORTEX driver
  - Disable the smallest MPU region sizes (32B, 64B, 128B) in the M0+ context
- HAL CRYP driver
  - Update HAL_CRYP_SetConfig() and HAL_CRYP_GetConfig() APIs to set/get the continent of KeyIVConfigSkip correctly
  - Resolve interrupt mode related GCM decryption issue causing wrong computation of decryption size
  - Update HAL_CRYP_InCpltCallback() API to fix an incorrect condition call at resumption time
  - Update CRYP_AESCCM_Process_IT() to fix incorrect CCM header length management when data are fed to the peripheral under interrupt
- HAL EXTI driver
  - Update HAL_EXTI_GetConfigLine() to set default configuration value of Trigger and GPIOSel before checking each corresponding register
- HAL GPIO driver
  - Update HAL_GPIO_Init() API to avoid the configuration of PUPDR register when Analog mode is selected
- HAL HSEM driver
  - Update SemID comment related to the number of semaphores
- HAL I2C driver
  - Updated I2C_IsAcknowledgeFailed() to avoid keeping I2C in busy state if NACK is received after transmitting register address
- HAL IRDA driver
  - Fixed typos in the IRDA State definition description
- HAL IWDG driver
  - Updated HAL_IWDG_Init() API in order to fix HAL_GetTick() timeout vulnerability issue
- HAL LPTIM driver
  - Update HAL_LPTIM_Init() API implementation to configure digital filter for external clock when LPTIM is clocked by an internal clock source
- HAL PWR driver
  - Correct HAL_PWREx_DisableInternalWakeUpLine() to update CM0+ register
- HAL RCC driver
  - Update definition of IS_RCC_OSCILLATORTYPE() macro
  - Update IS_RCC_PERIPHCLOCK() macro definition depending on targeted derivative
  - Add new API HAL_RCC_GetResetSource() to get all reset sources and clear flags for next reset
- HAL RNG driver
  - Update timeout mechanism to avoid false timeout detection in case of preemption
- HAL RTC driver
  - Update HAL_RTC_DeactivateAlarm() to fix issue where Alarm Autoclear remained activated after deactivating alarm
  - Update HAL_RTCEx_SetTimeStamp_IT() to avoid the call of TimeStamp callback during the setting of the TimeStamp
  - Update assertions in HAL_RTC_SetAlarm() and HAL_RTC_SetAlarm_IT() to allow user to unset some Alarm parameters when AlarmMask is set
  - Update HAL_RTC_DeactivateAlarm() to clear Alarm Flag
  - Update HAL_RTCEx_DeactivateTimeStamp() to clear TimeStamp flag
  - Update HAL_RTCEx_DeactivateInternalTimeStamp() to clear Internal TimeStamp flag
    - The flag is cleared only if TSOVF & TSE are set to 0
  - Update HAL_RTCEx_DeactivateWakeUpTimer() to clear WakeUpTimer flag
  - Update HAL_RTCEx_DeactivateSSRU() to clear SSR Underflow flag
  - Update HAL_RTC_WaitForSynchro() to fix issue to clear RSF flag
- HAL SMARTCARD driver
  - Fixed typos in the SMARTCARD State definition description
- HAL SMBUS driver
  - Add support for Fast Mode Plus to be SMBUS Rev3 compliant:
    - Add HAL_SMBUSEx_EnableFastModePlus() and HAL_SMBUSEx_DisableFastModePlus() APIs to manage Fm+
- HAL SPI driver
  - Update in SPI_WaitFifoStateUntilTimeout() to fix code optimization issue
  - Update to fix MISRA-C 2012 Rule-13.2 issue
- HAL SUBGHZ driver
  - Update HAL_Delay() by a polling loop to avoid blocking situation in case of Systick is mapped on Tick
  - Update HAL_SUBGHZ_DeInit() to check RF Busy bit and deassert the reset signal on RF side
- HAL TIM driver
  - Update HAL_TIMEx_OnePulseN_Start and HAL_TIMEx_OnePulseN_Stop (pooling and IT mode) to take into consideration all OutputChannel parameters
  - Correct CodeSpell typos in HAL TIM drivers
  - Update timeout mechanism to avoid false timeout detection in case of preemption
  - Update input capture measurement in DMA mode to avoid zero return values at high frequencies
- HAL UART driver
  - Remove an invalid FIFO mode configuration from UART_SetConfig() as it is not is not member of UART_InitTypeDef Structure
  - Update HAL_UART_IRQHandler() API to handle receiver timeout interrupt
    - Update UART receive processes (IT and DMA) to handle the UART receive’s timeout interrupt
  - Update arrays definition to be declared as static const
  - Fix erroneous UART’s handle state in case of error returned after DMA reception start within UART_Start_Receive_DMA()
  - Update UART ReceptionType management in case of ReceptionToIdle API are called from RxEvent callback
  - Handling of UART concurrent register access in case of race condition between Tx and Rx transfers (HAL UART and LL LPUART)

### LL Drivers updates

- LL RCC driver
  - Private functions made static
- LL RTC driver
  - Fix wrong reference of RTC instance in LL_RTC_TIME_Init() and LL_RTC_DATE_Init() functions
- LL SPI driver
  - Updated to set the FRXTH bit for 8bit data in LL_SPI_Init() API
  - Update LL_SPI_TransmitData8() to avoid casting the result to 8 bits
- LL TIM driver
  - Updated LL_TIM_GetCounterMode() API to return the correct counter mode
  - Update reversed description of TIM_LL_EC_ONEPULSEMODE One Pulse Mode
- LL LPUART driver
  - Handling of UART concurrent register access in case of race condition between Tx and Rx transfers (HAL UART and LL LPUART)
- LL USART driver
  - Handling of UART concurrent register access in case of race condition between Tx and Rx transfers (HAL UART and LL LPUART)
  - LL_USART_ClockInit now supports clock phase and clock polarity configuration for SPI_Slave mode
  - Remove useless check on maximum BRR value by removing IS_LL_USART_BRR_MAX() macro

## Known Limitations

None

## Development Toolchains and Compilers

- IAR Embedded Workbench for ARM (EWARM) toolchain V8.30.1
- RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.31
- STM32CubeIDE 1.7.0

## Supported Devices and boards

Supported Devices:

- STM32WL55xx
- STM32WL54xx
- STM32WLE5xx
- STM32WLE4xx

## Backward Compatibility

Not applicable

## Dependencies

None

V1.0.0 / 28-October-2020

## Main Changes

First Official Release

## Contents

First official release of LL / HAL Drivers for STM32WLxx series.

## Known Limitations

None

## Development Toolchains and Compilers

- IAR Embedded Workbench for ARM (EWARM) toolchain V8.30.1
- RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.28
- STM32CubeIDE 1.5.0

## Supported Devices and boards

Supported Devices:

- STM32WL55xx
- STM32WL54xx
- STM32WLE5xx
- STM32WLE4xx

## Backward Compatibility

Not applicable

## Dependencies

None