Initialize the OSPI mode according to the specified parameters in the OSPI_InitTypeDef and initialize the associated handle.
299 HAL_StatusTypeDef status =
HAL_OK;
328 if (hospi->
State == HAL_OSPI_STATE_RESET)
330 #if defined (USE_HAL_OSPI_REGISTER_CALLBACKS) && (USE_HAL_OSPI_REGISTER_CALLBACKS == 1U) 362 MODIFY_REG(hospi->
Instance->DCR1, (OCTOSPI_DCR1_MTYP | OCTOSPI_DCR1_DEVSIZE | OCTOSPI_DCR1_CSHT | OCTOSPI_DCR1_FRCK | OCTOSPI_DCR1_CKMODE),
363 (hospi->
Init.MemoryType | ((hospi->
Init.DeviceSize - 1U) << OCTOSPI_DCR1_DEVSIZE_Pos) |
364 ((hospi->
Init.ChipSelectHighTime - 1U) << OCTOSPI_DCR1_CSHT_Pos) | hospi->
Init.ClockMode));
370 hospi->
Instance->DCR3 = (hospi->
Init.ChipSelectBoundary << OCTOSPI_DCR3_CSBOUND_Pos);
374 MODIFY_REG(hospi->
Instance->CR, OCTOSPI_CR_FTHRES, ((hospi->
Init.FifoThreshold - 1U) << OCTOSPI_CR_FTHRES_Pos));
377 status = OSPI_WaitFlagStateUntilTimeout(hospi, HAL_OSPI_FLAG_BUSY, RESET, tickstart, hospi->
Timeout);
382 MODIFY_REG(hospi->
Instance->DCR2, OCTOSPI_DCR2_PRESCALER, ((hospi->
Init.ClockPrescaler - 1U) << OCTOSPI_DCR2_PRESCALER_Pos));
388 MODIFY_REG(hospi->
Instance->TCR, (OCTOSPI_TCR_SSHIFT | OCTOSPI_TCR_DHQC), (hospi->
Init.SampleShifting | hospi->
Init.DelayHoldQuarterCycle));
391 __HAL_OSPI_ENABLE(hospi);
394 if (hospi->
Init.FreeRunningClock == HAL_OSPI_FREERUNCLK_ENABLE)
396 SET_BIT(hospi->
Instance->DCR1, OCTOSPI_DCR1_FRCK);
400 if (hospi->
Init.MemoryType == HAL_OSPI_MEMTYPE_HYPERBUS)
402 hospi->
State = HAL_OSPI_STATE_HYPERBUS_INIT;
406 hospi->
State = HAL_OSPI_STATE_READY;
void(* TimeOutCallback)(struct __OSPI_HandleTypeDef *hospi)
void HAL_OSPI_StatusMatchCallback(OSPI_HandleTypeDef *hospi)
Status Match callback.
void(* RxHalfCpltCallback)(struct __OSPI_HandleTypeDef *hospi)
void(* FifoThresholdCallback)(struct __OSPI_HandleTypeDef *hospi)
void(* CmdCpltCallback)(struct __OSPI_HandleTypeDef *hospi)
void HAL_OSPI_CmdCpltCallback(OSPI_HandleTypeDef *hospi)
Command completed callback.
void HAL_OSPI_TxCpltCallback(OSPI_HandleTypeDef *hospi)
Tx Transfer completed callback.
uint32_t HAL_GetTick(void)
Provide a tick value in millisecond.
void(* RxCpltCallback)(struct __OSPI_HandleTypeDef *hospi)
void(* TxHalfCpltCallback)(struct __OSPI_HandleTypeDef *hospi)
HAL_StatusTypeDef HAL_OSPI_SetTimeout(OSPI_HandleTypeDef *hospi, uint32_t Timeout)
Set OSPI timeout.
void HAL_OSPI_FifoThresholdCallback(OSPI_HandleTypeDef *hospi)
FIFO Threshold callback.
void HAL_OSPI_TimeOutCallback(OSPI_HandleTypeDef *hospi)
Timeout callback.
void HAL_OSPI_MspInit(OSPI_HandleTypeDef *hospi)
Initialize the OSPI MSP.
void(* StatusMatchCallback)(struct __OSPI_HandleTypeDef *hospi)
void HAL_OSPI_TxHalfCpltCallback(OSPI_HandleTypeDef *hospi)
Tx Half Transfer completed callback.
void(* AbortCpltCallback)(struct __OSPI_HandleTypeDef *hospi)
void(* TxCpltCallback)(struct __OSPI_HandleTypeDef *hospi)
void HAL_OSPI_RxCpltCallback(OSPI_HandleTypeDef *hospi)
Rx Transfer completed callback.
void(* ErrorCallback)(struct __OSPI_HandleTypeDef *hospi)
void HAL_OSPI_RxHalfCpltCallback(OSPI_HandleTypeDef *hospi)
Rx Half Transfer completed callback.
MODIFY_REG(hrtc->Instance->CR, RTC_CR_WUCKSEL,(uint32_t) WakeUpClock)
OCTOSPI_TypeDef * Instance
void(* MspInitCallback)(struct __OSPI_HandleTypeDef *hospi)
void HAL_OSPI_AbortCpltCallback(OSPI_HandleTypeDef *hospi)
Abort completed callback.
assert_param(IS_RTC_WAKEUP_CLOCK(WakeUpClock))
void HAL_OSPI_ErrorCallback(OSPI_HandleTypeDef *hospi)
Transfer Error callback.