# Release Notes for STM32CubeMP1xx HAL and LL drivers

Copyright © 2021 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 provides a 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 depends 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 functions for direct and atomic register access
- One-shot operations that can be used by the HAL drivers or from application level
- Full independence from HAL and standalone usage (without HAL drivers)
- Full features coverage of all the supported peripherals

# Update History

V1.7.0 / 14-Feb-2025

## Main Changes

- Maintenance release of HAL and LL drivers for STM32MP15xx devices

## Contents

- General updates to fix known defects and enhancements implementation
- Major update of drivers for STM32MP15xx devices:
  - HAL:
    - Fixed wrong definition of SYSCFG ANA0/ANA1 PA0/PA1 switches open/close.
    - Add interrupt enable line of TIM6_handle
    - Fixed SysTick has a wrong behaviour when STGEN is switched to HSE
  - ADC (No API change)
    - Rename ADC register bits. - OSR TO OSVR - LT1,LT2,LT3 TO LTR1,LTR2,LTR3 - HT1,HT2,HT3 TO HTR1,HTR2,HTR3 - VSENSEEN TO TSEN
  - DMA
    - Added STM32MP1 UART + DMA missing interrupts (No API Change)
  - I2C
    - Fixed I2C_WaitOnTXISFlagUntilTimeout() busy wait (No API Change)
  - TIM
    - TIM : add new function HAL_TIM_DMABurst_MultiWrite/ReadStart
    - LL : Fix counter mode tests

## Known Limitations

- N/A

## Supported Devices

- The drivers provided support the following devices :
  - STM32MP157Cxx, STM32MP157Axx, STM32MP157Dxx, STM32MP157Fxx
  - STM32MP153Cxx, STM32MP153Axx, STM32MP153Dxx, STM32MP153Fxx
  - STM32MP151Cxx, STM32MP151Axx, STM32MP151Dxx, STM32MP151Fxx

V1.6.0 / 02-June-2022

## Main Changes

- Maintenance release of HAL and LL drivers for STM32MP15xx devices

## Contents

- General updates to fix known defects and enhancements implementation
- Major update of drivers for STM32MP15xx devices:
  - HAL:
    - Implement HAL_GetUIDw{0,1,2} (New API)
    - Add ALIGN_32BYTES definitions
  - ADC (No API change)
    - Fix loop index computation at low frequency
    - Fix HAL_GetTick() timeout vulnerability
    - Fix HAL_ADC_MspDeInit: disable clock should not reset all ADCs
    - Update function parameters pointers with prefix “p”
  - SPI
    - Alignment with other STM32 families (No API Change)
  - TIM
    - LL : ONEPULSEMODE defines description are inverted
    - LL : COUNTERMODE defines are inverted for TIM_CR1_CMS
  - CRC, DMA and USART
    - Alignment with other STM32 families (No API Change)
  - EXTI (No API change)
    - Fix some MISRA warnings
    - Optimize Get Config API
  - SMBUS : Alignment with other STM32 families
    - SMBUS Extended files support (API Change)
  - QSPI (No API change)
    - Fix typo comments
    - Fix error for HAL_QSPI_Abort function in memory-mapped mode.
  - RCC (No API change)
    - (HAL) : Fix pllxvco calculation
    - (LL) : Fix compilation issue ( some missing register alignement with CMSIS Device)

## Known Limitations

- N/A

## Supported Devices

- The drivers provided support the following devices :
  - STM32MP157Cxx, STM32MP157Axx, STM32MP157Dxx, STM32MP157Fxx
  - STM32MP153Cxx, STM32MP153Axx, STM32MP153Dxx, STM32MP153Fxx
  - STM32MP151Cxx, STM32MP151Axx, STM32MP151Dxx, STM32MP151Fxx

V1.5.0 / 04-November-2021

## Main Changes

Maintenance release of HAL and LL drivers for STM32MP15xx devices

## Contents

- General updates to fix known defects and enhancements implementation
- Major update of drivers for STM32MP15xx devices:
  - All HAL and LL Drivers
    - Update the way to declare licenses in Cube
  - ADC
    - fix TEMPSENSOR_CAL_VREFANALOG value ( 3000 => 3300)
    - fix VREFINT_CAL_ADDR in stm32mp1xx_ll_adc.h
    - fix ADC_CALIBRATION_TIMEOUT value for CPU Max at 800MHz
  - I2C, LPTIM, RNG, SPI
    - Alignment with other STM32 families (No API Change)
  - RCC
    - fix MISRA warnings [MISRAC2012-Rule-20.7]
    - fix some MISRA warnings
  - RTC
    - fix MISRA warnings [MISRAC2012-Rule-20.7]
  - QSPI:
    - Force the MDMA Source Increment to disable

## Known Limitations

- None

## Supported Devices

- The drivers provided support the following devices :
  - STM32MP157Cxx, STM32MP157Axx, STM32MP157Dxx, STM32MP157Fxx
  - STM32MP153Cxx, STM32MP153Axx, STM32MP153Dxx, STM32MP153Fxx
  - STM32MP151Cxx, STM32MP151Axx, STM32MP151Dxx, STM32MP151Fxx

V1.4.0 / 26-February-2021

## Main Changes

Maintenance release of HAL and LL drivers for STM32MP15xx devices

## Contents

- General updates to fix known defects and enhancements implementation
- Major update of drivers for STM32MP15xx devices:
  - DTS (TMPSENS)
    - Add Register Callback feature
  - EXTI
    - Remove management of C1EMRx registers which does not exist on the silicon
    - Fix typo issue with EXTI_LINE_20
  - GENERIC
    - Fix issue on the HAL_SYSCFG_DisableIOCompensation function
    - Replace SET_BIT usage in some condition (set/clear register pairs)
  - RCC
    - LL - Fix compilation issue ( Align CMSIS Device and LL definitions removing LL_APB3_GRP1_PERIPH_PMBCTRL and LL_AHB5_GRP1_PERIPH_AXIMC)
  - SMARTCARD:
    - Alignment with other STM32 families (some API Change)
  - USART
    - Alignment with other STM32 families (No API Change)

## Known Limitations

- None

## Dependencies

- None

## Supported Devices

- The drivers provided support the following devices :
  - STM32MP157Cxx, STM32MP157Axx, STM32MP157Dxx, STM32MP157Fxx
  - STM32MP153Cxx, STM32MP153Axx, STM32MP153Dxx, STM32MP153Fxx
  - STM32MP151Cxx, STM32MP151Axx, STM32MP151Dxx, STM32MP151Fxx

V1.3.0 / 20-October-2020

## Main Changes

Maintenance release of HAL and LL drivers for STM32MP15xx devices

## Contents

- General updates to fix known defects and enhancements implementation
- Major update of drivers for STM32MP15xx devices:
  - ADC: No API change
    - Typo corrections in HAL & LL drivers
    - LL - assert_param should check constraint between modes continuous and discontinuous
    - HAL - Fix IRQ handler in case of injected conversion + IT mode + trigger timer
  - DFSDM: No API change
    - MISRA update
    - rework “Callback registration” section
  - EXTI: No API change
    - Define missing EXTI_REG3
  - GENERIC: No API change
    - HAL configuration file : add SMARTCARD and SRAM in template file
  - RCC: No API change
    - Important define update to be compliant with Header file update ( CMSIS device)
    - Fix compilation issue ( to be compliant with Header file update on CMSIS device)
  - SAI
    - HAL: Alignment for inter STM32 families portability:
      - some API’s change to take in consideration
  - SDMMC: No API change
    - HAL - Fix loop increment in SD_HighSpeed and SD_UltraHighSpeed function
  - SMARTCARD
    - HAL: Implement SMARTCARD Driver: New API
    - HAL - rename UART_FIFOMODE_ENABLE into SMARTCARD_FIFOMODE_ENABLE

## Known Limitations

- None

## Dependencies

- None

## Supported Devices

- The drivers provided support the following devices :
  - STM32MP157Cxx, STM32MP157Axx, STM32MP157Dxx, STM32MP157Fxx
  - STM32MP153Cxx, STM32MP153Axx, STM32MP153Dxx, STM32MP153Fxx
  - STM32MP151Cxx, STM32MP151Axx, STM32MP151Dxx, STM32MP151Fxx

V1.2.0 / 03-February-2020

## Main Changes

Maintenance release of HAL and LL drivers for STM32MP15xx devices

## Contents

- General updates to fix known defects and enhancements implementation
- Major update of drivers for STM32MP15xx devices:
  - ADC
    - Update HAL_ADC_Start_DMA() API to enable DMA mode
    - LL : new function to add or remove paths.
      - LL_ADC_SetCommonPathInternalChAdd and LL_ADC_SetCommonPathInternalChAdd : New API
  - CORTEX
    - Implement LL Driver
  - FMC
    - Implement PSRAM Driver: New API
  - GENERIC
    - Add EXTERNAL_CLOCK_VALUE in conf_template file.
  - RTC
    - HAL&LL : Implement RTC Driver (including TAMP) : New API
  - TIM
    - HAL&LL: Remove reference to COMP1 and COMP2
    - LL:
      - Fix TIM Break source definition
      - RepetitionCounter value depends on GP or Advanced tmers
  - UART
    - HAL: Alignment with STM32F0/F3/H7 (for inter STM32 families portability)
      - some API’s change to take in consideration
  - UTILS
    - LL: Add new Part Number defines related to LL_GetDevicePartNumber()consideration

## Known Limitations

- None

## Dependencies

- None

## Supported Devices

- The drivers provided support the following devices :
  - STM32MP157Cxx, STM32MP157Axx, STM32MP157Dxx, STM32MP157Fxx
  - STM32MP153Cxx, STM32MP153Axx, STM32MP153Dxx, STM32MP153Fxx
  - STM32MP151Cxx, STM32MP151Axx, STM32MP151Dxx, STM32MP151Fxx

V1.1.0 / 10-September-2019

## Main Changes

First Maintenance release of HAL and LL drivers for STM32MP15xx devices

## Contents

- General updates to fix known defects and enhancements implementation
- Implementation of LL APIs:
  - DMA / EXTI / HSEM / LPTIM / PWR / SPI / TIM / WWDG / I2C
- Major update of drivers for STM32MP15xx devices:
  - Rename RCC_IPNAME_BCLK with RCC_IPNAME_BUSNAME
    - Impact HAL_RCC / HAL_LPTIM / HAL_UART / HAL_USART
  - ADC
    - HAL: Remove ADC_TWOSAMPLINGDELAY_9CYCLES definition
    - HAL: Remove ADC_OVERSAMPLING_RATIO_xxx defnitions
    - LL : Add ADC Internal Channel VDDCORE management ( LL_ADC_PATH_INTERNAL_VDDCORE)
    - HAL & LL: Update for linear calibration and Use ‘ADC_LINEAR_CALIB_REG_COUNT’
  - DMA
    - HAL: Use DMA_Stream_TypeDef structure for instance (structure change)
  - Generic
    - HAL: Update the SystemCoreClock global variable ( needed in case of Coprocesseur use case)
    - HAL: Add enable/disable functions for IO Compensation mechanism (new API)
    - HAL: Align HAL_CONF template with HAL package
  - GPIO
    - Improve HAL_GPIO_TogglePin reentrancy robustness
    - Improve robustness of HAL_GPIO_DeInit() on EXTI management
    - Update IS_GPIO_PIN assert macro
  - IPCC
    - LL: Add service to get the number of supported channels (new API)
  - LPTIM
    - HAL: Alignment with STM32H7/WB (for inter STM32 families portability): some API’s change to take in consideration
  - RCC
    - HAL: Rename __HAL_RCC_TMPSENS_CLK_xxx to __HAL_RCC_DTS_CLK_xxx
    - HAL: Update to not overwrite Tick priority
  - SPI
    - HAL: Add new feature Reload Feature + Duplex Packet DXP (new API)
  - TIM
    - HAL: Alignment with STM32F0/F3/H7/WB (for inter STM32 families portability): some API’s change to take in consideration

## Known Limitations

- None

## Dependencies

- None

V1.0.0 / 22-January-2019

## Main Changes

First official release of HAL and LL drivers for STM32MP15xx devices

## Known Limitations

- None

## Dependencies

- None