Release Notes for STM32MP13xx HAL drivers

Copyright ©  2023 STMicroelectronics

Purpose

The STM32Cube HAL , 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.

Update History

Main Changes

This release is the Major Maintenance DV of HAL drivers for STM32MP13xx devices.

Contents

  • Major update of drivers for STM32MP13xx devices:
    • CRYP
      • Fix for endianness change at hardware bus level for shared key from SAES to CRYP
    • ETH
      • Rename ETH_TxPacketConfig_t to ETH_TxPacketConfigTypeDef to align with cube1.x standard
      • General improvements, MISRA2012 fixes, align with other MCU drivers
    • GENERIC HAL
      • Improvement in HAL_GetTick() to avoid short wraparound
    • RTC
      • Added bhk lock functionality in the secure mode set API
  • General updates to fix known defects and enhancements implementation
    • GPIO, RCC, TIM
  • List of HAL drivers implemented :
    • ADC, BSEC, CRC, CRYP (including SAES), DCMIPP, DDR, DFSDM, DMA, DTS, ETH, ETZPC, EXTI, FDCAN, FMC_NAND, GPIO, HASH, I2C, I2S, IWDG, LPTIM, LTDC, MCE, MDMA, PKA, PWR, XSPI (QSPI replaced with XSPI), RCC, RNG, RTC (including TAMP), SAI, SDMMC (including EMMC) , SMARTCARD, SPDIFRX, SPI, TIM, UART, USART, USB
  • List of LL drivers implemented :
    • ADC, BSEC, DMA/DMAMUX, EXTI, ETZPC, GPIO, I2C, LPTIM, MDMA, PWR, RCC & BUS, RTC, SPI, TIM, USART

Known Limitations

  • None

Main Changes

This release is the Mass Market DV of HAL drivers for STM32MP13xx devices.

Contents

  • General updates to fix known defects and enhancements implementation
  • Major update of drivers for STM32MP13xx devices:
    • Implement HAL Drivers:
      • XSPI
        • QSPI driver replaced with XSPI
        • API’s renamed for alignment
      • DELAYBLOCK
        • Aligned with XSPI API’s
      • DCMIPP
    • Align HAL Drivers with STM32 Families
      • ADC, BSEC, CRC, CRYP, DDR, DELAYBLOCK, DFSDM, DMA, DTS, ETH, EXTI, FDCAN, GPIO, HASH, I2C, IWDG, LPTIM, LTDC, MDMA, PKA, PWR, RCC, RNG, RTC, SAI, SDMMC, SMARTCARD, SPDIFRX, SPI, TIM, UART, USART, USB
    • MISRAC2012 MISRA2012 fixes done
  • List of HAL drivers implemented :
    • ADC, BSEC, CRC, CRYP (including SAES), DCMIPP, DDR, DFSDM, DMA, DTS, ETH, ETZPC, EXTI, FDCAN, FMC_NAND, GPIO, HASH, I2C, I2S, IWDG, LPTIM, LTDC, MCE, MDMA, PKA, PWR, XSPI (QSPI replaced with XSPI), RCC, RNG, RTC (including TAMP), SAI, SDMMC (including EMMC) , SMARTCARD, SPDIFRX, SPI, TIM, UART, USART, USB
  • List of LL drivers implemented :
    • ADC, DMA/DMAMUX, EXTI, ETZPC, GPIO, I2C, LPTIM, MDMA, PWR, RCC & BUS, RTC, SPI, TIM, USART

Known Limitations

  • None

Main Changes

This release is the 5th ALPHA DV of HAL drivers for STM32MP13xx devices.

Contents

  • General updates to fix known defects and enhancements implementation
  • Major update of drivers for STM32MP13xx devices:
    • Implement HAL Drivers:
      • FMC
        • NAND : Supported Sequencer and DMA Mode
        • PSRAM: Support added
      • DCMIPP
      • I2S
      • ETZPC
    • Align HAL Drivers with STM32 Families
      • ADC, CRC, CRYP, DELAYBLOCK, DTS, GPIO, HASH, I2C, LPTIM, PKA, SDMMC, SPDIFRX, SPI, TIM, UART, USART, USB
    • MISRAC2012 fix for BSEC, DCMIPP, DDR, EXTI, RCC drivers
  • List of HAL drivers implemented :
    • ADC, BSEC, CRC, CRYP ( including SAES), DCMIPP, DDR, DFSDM, DMA, DTS, ETH, ETZPC, EXTI, FDCAN, FMC_NAND, GPIO, HASH, I2C, I2S, IWDG, LPTIM, LTDC, MCE, MDMA, PKA, PWR, QSPI, RCC, RNG, RTC (including TAMP), SAI, SDMMC (including EMMC) , SMARTCARD, SPDIFRX, SPI, TIM, UART, USART, USB
  • List of LL drivers implemented :
    • ADC, DMA/DMAMUX, EXTI, ETZPC, GPIO, I2C, LPTIM, MDMA, PWR, RCC & BUS, RTC, SPI, TIM, USART

Known Limitations

  • None

Main Changes

This release is the 4th ALPHA DV of HAL drivers for STM32MP13xx devices.

Contents

  • General updates to fix known defects and enhancements implementation
  • Major update of drivers for STM32MP13xx devices:
    • Major Improvement:
      • ETH : Rebase with STM32 Families + Optimize settings for performance
      • LTDC
      • RCC : Rename TZPC into ETZPC ( alignment with Reference Manual)
    • Implement HAL Drivers:
      • FMC NAND : basic functionality + algorithm for ECC (BCH4, BCH8 and haming) > see limitations
    • Implement LL Drivers:
      • ETZPC, LPTIM, TIM
    • Align HAL Drivers with STM32 Families
      • CRC, DELAYBLOCK, DTS, HASH, LPTIM, SDMMC, SPDIFRX, SPI, TIM, UART, USART, USB
    • MISRAC2012 fix for some drivers
  • List of HAL drivers implemented :
    • ADC, BSEC, CRC, CRYP ( including SAES), DDR, DFSDM, DMA, DTS, ETH, EXTI, FDCAN, FMC_NAND, GPIO, HASH, I2C, IWDG, LPTIM, LTDC, MCE, MDMA, PKA, PWR, QSPI, RCC, RNG, RTC (including TAMP), SAI, SDMMC (including EMMC) , SMARTCARD, SPDIFRX, SPI, TIM, UART, USART, USB
  • List of LL drivers implemented :
    • ADC, DMA/DMAMUX, EXTI, ETZPC, GPIO, I2C, LPTIM, MDMA, PWR, RCC & BUS, RTC, SPI, TIM, USART

Known Limitations

  • FMC_NAND : only ECC BCH4 has been validated ( BCH8 and Haming code is present , but not yet tested)

Main Changes

This release is the 3rd ALPHA DV of HAL drivers for STM32MP13xx devices.

Contents

  • General updates to fix known defects and enhancements implementation
  • Major update of drivers for STM32MP13xx devices:
    • Align HAL Drivers with STM32 Families
      • ADC, I2C, SMARTCARD, SPI, UART, USART, USB
    • MISRAC2012 fix for some drivers
    • Implement HAL Drivers: DFSDM, ETH, SAI, SPDIFRX
    • Implement LL Drivers: ADC, EXTI, I2C, MDMA, PWR, RTC
  • List of HAL drivers implemented :
    • ADC, BSEC, CRC, CRYP ( including SAES), DDR, DFSDM, DMA, DTS, ETH, EXTI, FDCAN, GPIO, HASH, I2C, IWDG, LPTIM, LTDC, MCE, MDMA, PKA, PWR, QSPI, RCC, RNG, RTC (including TAMP), SAI, SDMMC (including EMMC) , SMARTCARD, SPDIFRX, SPI, TIM, UART, USART, USB
  • List of LL drivers implemented :
    • ADC, DMA/DMAMUX, EXTI, GPIO, I2C, MDMA, PWR, RCC & BUS, RTC, SPI, USART

Known Limitations

  • ETH driver maturation to improve

Main Changes

This release is the 2nd ALPHA DV of HAL drivers for STM32MP13xx devices.

Contents

  • General updates to fix known defects and enhancements implementation
  • Major update of drivers for STM32MP13xx devices:
    • CRYP driver (including CRYP/SAES)
      • Driver maturation
      • Fix SAES MDMA issues
      • SAES : add BYTE size support for header message (used for CCM/GCM)
    • VREFBUF:
      • Lowest voltage changed from 1.5 V (Cut1.0) to 1.65 V (Cut1.1)
      • Reorder VREFBUF values
    • DDR - API Change
      • Driver maturation
    • RCC - No API Change
      • remove LSE clock source for RNG1 (cut1.1)
      • Fix __HAL_RCC_MRD_CONFIG macro
      • Use RSTSSETR instead of RSTSCLRR to read reset status flags
    • Align HAL Drivers with STM32 Families - No API Change
      • DMA, EXTI, GPIO, IWDG, LPTIM, QSPI, SDMMC, TIM, UART, USART
    • Implement LL Drivers:
      • DMA/DMAMUX, GPIO, RCC & BUS, USART
  • List of HAL drivers implemented :
    • ADC, BSEC, CRC, CRYP ( including SAES), DDR, DMA, DTS, EXTI, FDCAN, GPIO, HASH, I2C, IWDG, LPTIM, LTDC, MCE, MDMA, PKA, PWR, QSPI, RCC, RNG, RTC (including TAMP), SDMMC, SMARTCARD, SPI, TIM, UART, USART, USB
  • List of LL drivers implemented :
    • DMA/DMAMUX, GPIO, RCC & BUS, USART

Known Limitations

  • No

Main Changes

This release is the ALPHA DV of HAL drivers for STM32MP13xx devices.

Contents

  • General updates to fix known defects and enhancements implementation
  • Major update of drivers for STM32MP13xx devices:
    • CRYP and SAES HAL factorized in the common CRYP driver.
    • HASH remove comments related to “MD5 feature” as not supported on STM32MP13xx family.
    • RTC Fix doxygen documentation generation.
    • Implement HAL driver for STM32MP13xx:
      • BSEC, DTS, FDCAN, LTDC, PWR, QSPI, SDMMC, USB
    • Align HAL Drivers with STM32 Families:
      • CRC, I2C, LPTIM, SPI, TIM
    • All HAL Drivers
      • Update the way to declare licenses in Cube
  • List of HAL drivers implemented :
    • ADC, BSEC, CRC, CRYP ( including SAES), DDR, DMA, DTS, EXTI, FDCAN, GPIO, HASH, I2C, IWDG, LPTIM, LTDC, MCE, MDMA, PKA, PWR, QSPI, RCC, RNG, RTC (including TAMP), SDMMC, SMARTCARD, SPI, TIM, UART, USART, USB

Known Limitations

  • CRYP/SAES ported in same driver but
    • Some SAES features still under maturation
    • Transfer with MDMA not fully functional
  • LL drivers implemented : only ADC ( as required for HAL ADC driver)

Main Changes

This release is the PRE-ALPHA DV of HAL drivers for STM32MP13xx devices.

Contents

  • HAL DDR driver
    • Fix regression in save command
    • Treat PHY calibration skip flag in static configuration
  • HAL SYSCFG / DBG driver
    • Rework IOCompensation function
    • Replace SET_BIT in some condition
    • Add DBG LP mode enable/disable function in stm32mp13xx_hal.h
    • Clean code for stm32mp13
  • HAL I2C driver
    • Fix HAL_I2CEx_DisableFastModePlus function
  • HAL LPTIM driver
    • Alignment with other STM32 families (No API Change)
  • HAL RNG driver -Fix HAL_GetTick() timeout vulnerability
  • HAL UART driver -Fix state reset in case of error returned after DMA reception start

Known Limitations

  • Only SAES algo in CRYP driver ( CRYP or AES algo will be delivered later)
  • LL drivers implemented : only ADC ( as required for HAL ADC driver)

Main Changes

This release is the Bring Up DV of HAL drivers for STM32MP13xx devices.

Contents

  • HAL drivers implemented :
    • ADC, CRC, CRYP ( but only SAES), DDR, DMA, EXTI, GPIO, HASH, I2C, IWDG, LPTIM, MCE, MDMA, PKA, RNG, RCC, RTC, SMARTCARD, SPI, TIM, UART, USART
  • LL drivers implemented :
    • only ADC ( as required for HAL ADC driver)

Known Limitations

  • Only SAES algo in CRYP driver ( CRYP or AES algo will be delivered later)