Skip to content

Commit 8181d06

Browse files
Patrice Chotardkrzk
authored andcommitted
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 <[email protected]> Signed-off-by: Patrice Chotard <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Krzysztof Kozlowski <[email protected]>
1 parent 4a98ec8 commit 8181d06

File tree

3 files changed

+494
-0
lines changed

3 files changed

+494
-0
lines changed

drivers/memory/Kconfig

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,23 @@ config STM32_FMC2_EBI
225225
devices (like SRAM, ethernet adapters, FPGAs, LCD displays, ...) on
226226
SOCs containing the FMC2 External Bus Interface.
227227

228+
config STM32_OMM
229+
tristate "STM32 Octo Memory Manager"
230+
depends on SPI_STM32_OSPI || COMPILE_TEST
231+
help
232+
This driver manages the muxing between the 2 OSPI busses and
233+
the 2 output ports. There are 4 possible muxing configurations:
234+
- direct mode (no multiplexing): OSPI1 output is on port 1 and OSPI2
235+
output is on port 2
236+
- OSPI1 and OSPI2 are multiplexed over the same output port 1
237+
- swapped mode (no multiplexing), OSPI1 output is on port 2,
238+
OSPI2 output is on port 1
239+
- OSPI1 and OSPI2 are multiplexed over the same output port 2
240+
It also manages :
241+
- the split of the memory area shared between the 2 OSPI instances.
242+
- chip select selection override.
243+
- the time between 2 transactions in multiplexed mode.
244+
228245
source "drivers/memory/samsung/Kconfig"
229246
source "drivers/memory/tegra/Kconfig"
230247

drivers/memory/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ obj-$(CONFIG_DA8XX_DDRCTL) += da8xx-ddrctl.o
2424
obj-$(CONFIG_PL353_SMC) += pl353-smc.o
2525
obj-$(CONFIG_RENESAS_RPCIF) += renesas-rpc-if.o
2626
obj-$(CONFIG_STM32_FMC2_EBI) += stm32-fmc2-ebi.o
27+
obj-$(CONFIG_STM32_OMM) += stm32_omm.o
2728

2829
obj-$(CONFIG_SAMSUNG_MC) += samsung/
2930
obj-$(CONFIG_TEGRA_MC) += tegra/

0 commit comments

Comments
 (0)