memory: Add STM32 Octo Memory Manager driver
authorPatrice Chotard <patrice.chotard@foss.st.com>
Mon, 28 Apr 2025 08:58:31 +0000 (10:58 +0200)
committerKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Wed, 7 May 2025 09:27:01 +0000 (11:27 +0200)
commit8181d061dcff140fd5a40e568d8adb81f1403a28
tree09058e63943fd09fc21399bab151516881c7f776
parent4a98ec836a201d34ac27636960c2c81d9b3b7e19
memory: Add STM32 Octo Memory Manager driver

Octo Memory Manager driver (OMM) manages:
  - the muxing between 2 OSPI busses and 2 output ports.
    There are 4 possible muxing configurations:
      - direct mode (no multiplexing): OSPI1 output is on port 1 and OSPI2
        output is on port 2
      - OSPI1 and OSPI2 are multiplexed over the same output port 1
      - swapped mode (no multiplexing), OSPI1 output is on port 2,
        OSPI2 output is on port 1
      - OSPI1 and OSPI2 are multiplexed over the same output port 2
  - the split of the memory area shared between the 2 OSPI instances.
  - chip select selection override.
  - the time between 2 transactions in multiplexed mode.
  - check firewall access.

Signed-off-by: Christophe Kerello <christophe.kerello@foss.st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Link: https://lore.kernel.org/r/20250428-upstream_ospi_v6-v11-2-1548736fd9d2@foss.st.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
drivers/memory/Kconfig
drivers/memory/Makefile
drivers/memory/stm32_omm.c [new file with mode: 0644]