STM32L4xx_HAL_Driver  1.14.0
NAND Initialization/de-initialization functions

Functions

HAL_StatusTypeDef FMC_NAND_Init (FMC_NAND_TypeDef *Device, FMC_NAND_InitTypeDef *Init)
 Initializes the FMC_NAND device according to the specified control parameters in the FMC_NAND_HandleTypeDef. More...
 
HAL_StatusTypeDef FMC_NAND_CommonSpace_Timing_Init (FMC_NAND_TypeDef *Device, FMC_NAND_PCC_TimingTypeDef *Timing, uint32_t Bank)
 Initializes the FMC_NAND Common space Timing according to the specified parameters in the FMC_NAND_PCC_TimingTypeDef. More...
 
HAL_StatusTypeDef FMC_NAND_AttributeSpace_Timing_Init (FMC_NAND_TypeDef *Device, FMC_NAND_PCC_TimingTypeDef *Timing, uint32_t Bank)
 Initializes the FMC_NAND Attribute space Timing according to the specified parameters in the FMC_NAND_PCC_TimingTypeDef. More...
 
HAL_StatusTypeDef FMC_NAND_DeInit (FMC_NAND_TypeDef *Device, uint32_t Bank)
 DeInitializes the FMC_NAND device. More...
 

Detailed Description

Function Documentation

◆ FMC_NAND_AttributeSpace_Timing_Init()

HAL_StatusTypeDef FMC_NAND_AttributeSpace_Timing_Init ( FMC_NAND_TypeDef *  Device,
FMC_NAND_PCC_TimingTypeDef Timing,
uint32_t  Bank 
)

Initializes the FMC_NAND Attribute space Timing according to the specified parameters in the FMC_NAND_PCC_TimingTypeDef.

Parameters
DevicePointer to NAND device instance
TimingPointer to NAND timing structure
BankNAND bank number
Return values
HALstatus

Definition at line 623 of file stm32l4xx_ll_fmc.c.

624 {
625  /* Check the parameters */
626  assert_param(IS_FMC_NAND_DEVICE(Device));
627  assert_param(IS_FMC_SETUP_TIME(Timing->SetupTime));
628  assert_param(IS_FMC_WAIT_TIME(Timing->WaitSetupTime));
629  assert_param(IS_FMC_HOLD_TIME(Timing->HoldSetupTime));
630  assert_param(IS_FMC_HIZ_TIME(Timing->HiZSetupTime));
631 
632  /* Prevent unused argument(s) compilation warning if no assert_param check */
633  UNUSED(Bank);
634 
635  /* NAND bank 3 registers configuration */
636  MODIFY_REG(Device->PATT, PATT_CLEAR_MASK, (Timing->SetupTime |
637  ((Timing->WaitSetupTime) << FMC_PATT_ATTWAIT_Pos) |
638  ((Timing->HoldSetupTime) << FMC_PATT_ATTHOLD_Pos) |
639  ((Timing->HiZSetupTime) << FMC_PATT_ATTHIZ_Pos)));
640 
641  return HAL_OK;
642 }
return HAL_OK
MODIFY_REG(hrtc->Instance->CR, RTC_CR_WUCKSEL,(uint32_t) WakeUpClock)
assert_param(IS_RTC_WAKEUP_CLOCK(WakeUpClock))

◆ FMC_NAND_CommonSpace_Timing_Init()

HAL_StatusTypeDef FMC_NAND_CommonSpace_Timing_Init ( FMC_NAND_TypeDef *  Device,
FMC_NAND_PCC_TimingTypeDef Timing,
uint32_t  Bank 
)

Initializes the FMC_NAND Common space Timing according to the specified parameters in the FMC_NAND_PCC_TimingTypeDef.

Parameters
DevicePointer to NAND device instance
TimingPointer to NAND timing structure
BankNAND bank number
Return values
HALstatus

Definition at line 594 of file stm32l4xx_ll_fmc.c.

595 {
596  /* Check the parameters */
597  assert_param(IS_FMC_NAND_DEVICE(Device));
598  assert_param(IS_FMC_SETUP_TIME(Timing->SetupTime));
599  assert_param(IS_FMC_WAIT_TIME(Timing->WaitSetupTime));
600  assert_param(IS_FMC_HOLD_TIME(Timing->HoldSetupTime));
601  assert_param(IS_FMC_HIZ_TIME(Timing->HiZSetupTime));
602 
603  /* Prevent unused argument(s) compilation warning if no assert_param check */
604  UNUSED(Bank);
605 
606  /* NAND bank 3 registers configuration */
607  MODIFY_REG(Device->PMEM, PMEM_CLEAR_MASK, (Timing->SetupTime |
608  ((Timing->WaitSetupTime) << FMC_PMEM_MEMWAIT_Pos) |
609  ((Timing->HoldSetupTime) << FMC_PMEM_MEMHOLD_Pos) |
610  ((Timing->HiZSetupTime) << FMC_PMEM_MEMHIZ_Pos)));
611 
612  return HAL_OK;
613 }
return HAL_OK
MODIFY_REG(hrtc->Instance->CR, RTC_CR_WUCKSEL,(uint32_t) WakeUpClock)
assert_param(IS_RTC_WAKEUP_CLOCK(WakeUpClock))

◆ FMC_NAND_DeInit()

HAL_StatusTypeDef FMC_NAND_DeInit ( FMC_NAND_TypeDef *  Device,
uint32_t  Bank 
)

DeInitializes the FMC_NAND device.

Parameters
DevicePointer to NAND device instance
BankNAND bank number
Return values
HALstatus

Definition at line 650 of file stm32l4xx_ll_fmc.c.

651 {
652  /* Check the parameters */
653  assert_param(IS_FMC_NAND_DEVICE(Device));
654 
655  /* Prevent unused argument(s) compilation warning if no assert_param check */
656  UNUSED(Bank);
657 
658  /* Disable the NAND Bank */
659  __FMC_NAND_DISABLE(Device);
660 
661  /* De-initialize the NAND Bank */
662  /* Set the FMC_NAND_BANK3 registers to their reset values */
663  WRITE_REG(Device->PCR, 0x00000018);
664  WRITE_REG(Device->SR, 0x00000040);
665  WRITE_REG(Device->PMEM, 0xFCFCFCFC);
666  WRITE_REG(Device->PATT, 0xFCFCFCFC);
667 
668  return HAL_OK;
669 }
return HAL_OK
assert_param(IS_RTC_WAKEUP_CLOCK(WakeUpClock))

◆ FMC_NAND_Init()

HAL_StatusTypeDef FMC_NAND_Init ( FMC_NAND_TypeDef *  Device,
FMC_NAND_InitTypeDef Init 
)

Initializes the FMC_NAND device according to the specified control parameters in the FMC_NAND_HandleTypeDef.

Parameters
DevicePointer to NAND device instance
InitPointer to NAND Initialization structure
Return values
HALstatus

Definition at line 562 of file stm32l4xx_ll_fmc.c.

563 {
564  /* Check the parameters */
565  assert_param(IS_FMC_NAND_DEVICE(Device));
566  assert_param(IS_FMC_NAND_BANK(Init->NandBank));
567  assert_param(IS_FMC_WAIT_FEATURE(Init->Waitfeature));
568  assert_param(IS_FMC_NAND_MEMORY_WIDTH(Init->MemoryDataWidth));
569  assert_param(IS_FMC_ECC_STATE(Init->EccComputation));
570  assert_param(IS_FMC_ECCPAGE_SIZE(Init->ECCPageSize));
571  assert_param(IS_FMC_TCLR_TIME(Init->TCLRSetupTime));
572  assert_param(IS_FMC_TAR_TIME(Init->TARSetupTime));
573 
574  /* NAND bank 3 registers configuration */
575  MODIFY_REG(Device->PCR, PCR_CLEAR_MASK, (Init->Waitfeature |
576  FMC_PCR_MEMORY_TYPE_NAND |
577  Init->MemoryDataWidth |
578  Init->EccComputation |
579  Init->ECCPageSize |
580  ((Init->TCLRSetupTime) << FMC_PCR_TCLR_Pos) |
581  ((Init->TARSetupTime) << FMC_PCR_TAR_Pos)));
582 
583  return HAL_OK;
584 }
return HAL_OK
MODIFY_REG(hrtc->Instance->CR, RTC_CR_WUCKSEL,(uint32_t) WakeUpClock)
assert_param(IS_RTC_WAKEUP_CLOCK(WakeUpClock))