mbox series

[00/11] STM32 DMA3 updates for STM32MP25

Message ID 20241010-dma3-mp25-updates-v1-0-adf0633981ea@foss.st.com (mailing list archive)
Headers show
Series STM32 DMA3 updates for STM32MP25 | expand

Message

Amelie Delaunay Oct. 10, 2024, 2:27 p.m. UTC
The HW version of STM32 DMA3 inside STM32MP25 requires some tunings to
meet the needs of the interconnect. This series adds the linked list
refactoring feature to have optimal performance when addressing the
memory, and it adds the use of two new bits in the third cell specifying
the DMA transfer requirements:
- bit[16] to prevent packing/unpacking mode to avoid bytes loss in case
of interrupting an ongoing transfer (e.g. UART RX)i,
- bit[17] to prevent linked-list refactoring because some peripherals
(e.g. FMC ECC) require a one-shot transfer, they trigger the DMA only
once.
It also adds a new property, st,axi-max-burst-len, to clamp the burst
length when AXI port is used.
Finally this series also contains STM32MP25 device tree updates, to add
DMA support on SPI, I2C, UART and apply the tunings introduced.

Signed-off-by: Amelie Delaunay <amelie.delaunay@foss.st.com>
---
Amelie Delaunay (11):
      dt-bindings: dma: stm32-dma3: prevent packing/unpacking mode
      dmaengine: stm32-dma3: prevent pack/unpack thanks to DT configuration
      dmaengine: stm32-dma3: refactor HW linked-list to optimize memory accesses
      dt-bindings: dma: stm32-dma3: prevent linked-list refactoring
      dmaengine: stm32-dma3: prevent LL refactoring thanks to DT configuration
      dt-bindings: dma: stm32-dma3: introduce st,axi-max-burst-len property
      dmaengine: stm32-dma3: clamp AXI burst using st,axi-max-burst-len
      arm64: dts: st: limit axi burst length in dma nodes of stm32mp25
      arm64: dts: st: add DMA support on U(S)ART instances of stm32mp25
      arm64: dts: st: add DMA support on I2C instances of stm32mp25
      arm64: dts: st: add DMA support on SPI instances of stm32mp25

 .../bindings/dma/stm32/st,stm32-dma3.yaml          |  17 ++++
 arch/arm64/boot/dts/st/stm32mp251.dtsi             |  78 +++++++++++++++
 arch/arm64/boot/dts/st/stm32mp257f-ev1.dts         |   2 +
 drivers/dma/stm32/stm32-dma3.c                     | 107 +++++++++++++++++----
 4 files changed, 185 insertions(+), 19 deletions(-)
---
base-commit: 9852d85ec9d492ebef56dc5f229416c925758edc
change-id: 20241010-dma3-mp25-updates-46b9e720290b

Best regards,