Skip to content

Commit 93b983d

Browse files
FRASTMkartben
authored andcommitted
drivers: flash: stm32 xspi drivers supporting the stm32h7r/s mcu
Add the support of the stm32h7rs serie to the drivers/flash/flash_stm32_xspi driver. The stm32h7rs has no delayblock Signed-off-by: Francois Ramu <[email protected]>
1 parent 8cb8017 commit 93b983d

File tree

1 file changed

+17
-3
lines changed

1 file changed

+17
-3
lines changed

drivers/flash/flash_stm32_xspi.c

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,11 @@ LOG_MODULE_REGISTER(flash_stm32_xspi, CONFIG_FLASH_LOG_LEVEL);
5252
#include <stm32_ll_dma.h>
5353
#endif /* STM32_XSPI_USE_DMA */
5454

55+
#if defined(CONFIG_SOC_SERIES_STM32H7RSX)
56+
#include <stm32_ll_pwr.h>
57+
#include <stm32_ll_system.h>
58+
#endif /* CONFIG_SOC_SERIES_STM32H7RSX */
59+
5560
#include "flash_stm32_xspi.h"
5661

5762
static inline void xspi_lock_thread(const struct device *dev)
@@ -2068,6 +2073,11 @@ static int flash_stm32_xspi_init(const struct device *dev)
20682073
LOG_ERR("XSPI mode SPI|DUAL|QUAD/DTR is not valid");
20692074
return -ENOTSUP;
20702075
}
2076+
#if defined(CONFIG_SOC_SERIES_STM32H7RSX)
2077+
LL_PWR_EnableXSPIM2();
2078+
__HAL_RCC_SBS_CLK_ENABLE();
2079+
LL_SBS_EnableXSPI2SpeedOptim();
2080+
#endif /* CONFIG_SOC_SERIES_STM32H7RSX */
20712081

20722082
/* Signals configuration */
20732083
ret = pinctrl_apply_state(dev_cfg->pcfg, PINCTRL_STATE_DEFAULT);
@@ -2158,7 +2168,8 @@ static int flash_stm32_xspi_init(const struct device *dev)
21582168

21592169
LOG_DBG("XSPI Init'd");
21602170

2161-
#if defined(HAL_XSPIM_IOPORT_1) || defined(HAL_XSPIM_IOPORT_2)
2171+
#if defined(HAL_XSPIM_IOPORT_1) || defined(HAL_XSPIM_IOPORT_2) || \
2172+
defined(XSPIM) || defined(XSPIM1) || defined(XSPIM2)
21622173
/* XSPI I/O manager init Function */
21632174
XSPIM_CfgTypeDef xspi_mgr_cfg;
21642175

@@ -2471,9 +2482,12 @@ static struct flash_stm32_xspi_data flash_stm32_xspi_dev_data = {
24712482
: HAL_XSPI_CSSEL_NCS2),
24722483
#endif
24732484
.FreeRunningClock = HAL_XSPI_FREERUNCLK_DISABLE,
2474-
#if defined(OCTOSPI_DCR4_REFRESH)
2485+
#if defined(XSPI_DCR3_MAXTRAN)
2486+
.MaxTran = 0,
2487+
#endif /* XSPI_DCR3_MAXTRAN */
2488+
#if defined(XSPI_DCR4_REFRESH)
24752489
.Refresh = 0,
2476-
#endif /* OCTOSPI_DCR4_REFRESH */
2490+
#endif /* XSPI_DCR4_REFRESH */
24772491
},
24782492
},
24792493
.qer_type = DT_QER_PROP_OR(0, JESD216_DW15_QER_VAL_S1B6),

0 commit comments

Comments
 (0)