88 #if defined (HAL_SRAM_MODULE_ENABLED) || defined(HAL_NOR_MODULE_ENABLED) || defined(HAL_NAND_MODULE_ENABLED) || defined(HAL_SDRAM_MODULE_ENABLED) 173 tmpr = Device->BTCR[Init->
NSBank];
204 Device->BTCR[Init->
NSBank] = tmpr;
241 Device->BTCR[Bank] = 0x000030DB;
246 Device->BTCR[Bank] = 0x000030D2;
249 Device->BTCR[Bank + 1] = 0x0FFFFFFF;
250 ExDevice->BWTR[Bank] = 0x0FFFFFFF;
280 tmpr = Device->BTCR[Bank + 1];
297 Device->BTCR[Bank + 1] = tmpr;
302 tmpr = (uint32_t)(Device->BTCR[
FMC_NORSRAM_BANK1 + 1] & ~(((uint32_t)0x0F) << 20));
303 tmpr |= (uint32_t)(((Timing->
CLKDivision)-1) << 20);
340 tmpr = Device->BWTR[Bank];
352 Device->BWTR[Bank] = tmpr;
356 Device->BWTR[Bank] = 0x0FFFFFFF;
603 Device->PCR = 0x00000018U;
604 Device->SR = 0x00000040U;
605 Device->PMEM = 0xFCFCFCFCU;
606 Device->PATT = 0xFCFCFCFCU;
678 uint32_t tickstart = 0;
693 if((Timeout == 0)||((
HAL_GetTick() - tickstart ) > Timeout))
701 *ECCval = (uint32_t)Device->ECCR;
872 (((Timing->
RPDelay)-1) << 20) |\
884 (((Timing->
RPDelay)-1) << 20));
918 Device->SDCR[Bank] = 0x000002D0;
919 Device->SDTR[Bank] = 0x0FFFFFFF;
920 Device->SDCMR = 0x00000000;
921 Device->SDRTR = 0x00000000;
922 Device->SDSR = 0x00000000;
991 __IO uint32_t tmpr = 0;
992 uint32_t tickstart = 0;
1008 Device->SDCMR = tmpr;
1019 if((Timeout == 0)||((
HAL_GetTick() - tickstart ) > Timeout))
1042 Device->SDRTR |= (RefreshRate<<1);
1060 Device->SDCMR |= (AutoRefreshNumber << 5);
1076 uint32_t tmpreg = 0;
#define IS_FMC_WAIT_SIGNAL_ACTIVE(__ACTIVE__)
#define FMC_NORSRAM_EXTENDED_TypeDef
#define IS_FMC_HIZ_TIME(TIME)
FMC NAND Timing parameters structure definition.
#define IS_FMC_ROWBITS_NUMBER(ROW)
#define FMC_SDRAM_WRITE_PROTECTION_ENABLE
uint32_t AsynchronousWait
HAL_StatusTypeDef FMC_NORSRAM_Init(FMC_NORSRAM_TypeDef *Device, FMC_NORSRAM_InitTypeDef *Init)
#define FMC_NORSRAM_BANK1
#define IS_FMC_ADDRESS_SETUP_TIME(__TIME__)
uint32_t WaitSignalActive
#define IS_FMC_SDRAM_BANK(BANK)
#define IS_FMC_MEMORY(__MEMORY__)
#define IS_FMC_TCLR_TIME(__TIME__)
#define assert_param(expr)
Include module's header file.
FMC SDRAM Timing parameters structure definition.
#define IS_FMC_READPIPE_DELAY(__DELAY__)
#define FMC_BCR1_CBURSTRW
uint32_t WriteRecoveryTime
#define IS_FMC_NAND_DEVICE(__INSTANCE__)
#define IS_FMC_COMMAND_MODE(__COMMAND__)
#define FMC_PMEM_MEMWAIT3
HAL_StatusTypeDef FMC_NAND_DeInit(FMC_NAND_TypeDef *Device, uint32_t Bank)
#define IS_FMC_CAS_LATENCY(LATENCY)
uint32_t AddressSetupTime
#define IS_FMC_NAND_MEMORY_WIDTH(WIDTH)
#define FMC_NORSRAM_TypeDef
#define IS_FMC_DATA_LATENCY(__LATENCY__)
#define IS_FMC_ECCPAGE_SIZE(SIZE)
uint32_t ExitSelfRefreshDelay
#define FMC_BWTR1_BUSTURN
#define IS_FMC_WAIT_POLARITY(__POLARITY__)
#define IS_FMC_PAGESIZE(__SIZE__)
HAL_StatusTypeDef FMC_SDRAM_WriteProtection_Disable(FMC_SDRAM_TypeDef *Device, uint32_t Bank)
#define IS_FMC_READ_BURST(__RBURST__)
uint32_t AutoRefreshNumber
uint32_t FMC_SDRAM_GetModeStatus(FMC_SDRAM_TypeDef *Device, uint32_t Bank)
HAL_StatusTypeDef FMC_SDRAM_ProgramRefreshRate(FMC_SDRAM_TypeDef *Device, uint32_t RefreshRate)
#define IS_FMC_ASYNWAIT(__STATE__)
#define IS_FMC_TURNAROUND_TIME(__TIME__)
HAL_StatusTypeDef FMC_SDRAM_SetAutoRefreshNumber(FMC_SDRAM_TypeDef *Device, uint32_t AutoRefreshNumber)
#define IS_FMC_WAIT_FEATURE(FEATURE)
uint32_t WaitSignalPolarity
#define IS_FMC_LOADTOACTIVE_DELAY(__DELAY__)
#define IS_FMC_RCD_DELAY(__DELAY__)
#define __FMC_NAND_GET_FLAG(__INSTANCE__, __BANK__, __FLAG__)
Get flag status of the NAND device.
#define IS_FMC_COMMAND_TARGET(__TARGET__)
#define FMC_NORSRAM_FLASH_ACCESS_ENABLE
#define IS_FMC_DATASETUP_TIME(__TIME__)
#define IS_FMC_WRITE_OPERATION(__OPERATION__)
uint32_t InternalBankNumber
#define IS_FMC_ACCESS_MODE(__MODE__)
FMC NORSRAM Timing parameters structure definition.
#define __FMC_NORSRAM_DISABLE(__INSTANCE__, __BANK__)
Disable the NORSRAM device access.
#define IS_FMC_NORSRAM_EXTENDED_DEVICE(__INSTANCE__)
#define IS_FMC_NORSRAM_BANK(BANK)
#define FMC_PATT_ATTWAIT3
SDRAM command parameters structure definition.
#define FMC_PCR_MEMORY_TYPE_NAND
HAL_StatusTypeDef FMC_SDRAM_Timing_Init(FMC_SDRAM_TypeDef *Device, FMC_SDRAM_TimingTypeDef *Timing, uint32_t Bank)
#define IS_FMC_INTERNALBANK_NUMBER(NUMBER)
#define IS_FMC_ECC_STATE(STATE)
#define IS_FMC_NAND_BANK(BANK)
#define IS_FMC_SDRAM_DEVICE(__INSTANCE__)
HAL_StatusTypeDef FMC_SDRAM_Init(FMC_SDRAM_TypeDef *Device, FMC_SDRAM_InitTypeDef *Init)
HAL_StatusTypeDef FMC_SDRAM_SendCommand(FMC_SDRAM_TypeDef *Device, FMC_SDRAM_CommandTypeDef *Command, uint32_t Timeout)
HAL_StatusTypeDef FMC_NORSRAM_Timing_Init(FMC_NORSRAM_TypeDef *Device, FMC_NORSRAM_TimingTypeDef *Timing, uint32_t Bank)
#define IS_FMC_REFRESH_RATE(__RATE__)
#define IS_FMC_EXTENDED_MODE(__MODE__)
This file contains all the functions prototypes for the HAL module driver.
#define IS_FMC_TAR_TIME(TIME)
HAL_StatusTypeDef FMC_NORSRAM_WriteOperation_Disable(FMC_NORSRAM_TypeDef *Device, uint32_t Bank)
#define IS_FMC_SDCLOCK_PERIOD(__PERIOD__)
FMC SDRAM Configuration Structure definition.
#define FMC_BCR1_ASYNCWAIT
#define IS_FMC_NORSRAM_MEMORY_WIDTH(__WIDTH__)
#define IS_FMC_WRITE_BURST(__BURST__)
#define IS_FMC_HOLD_TIME(TIME)
HAL_StatusTypeDef FMC_NAND_AttributeSpace_Timing_Init(FMC_NAND_TypeDef *Device, FMC_NAND_PCC_TimingTypeDef *Timing, uint32_t Bank)
#define FMC_CONTINUOUS_CLOCK_SYNC_ASYNC
#define IS_FMC_WAITE_SIGNAL(__SIGNAL__)
#define IS_FMC_SETUP_TIME(TIME)
#define IS_FMC_EXITSELFREFRESH_DELAY(__DELAY__)
HAL_StatusTypeDef FMC_NAND_GetECC(FMC_NAND_TypeDef *Device, uint32_t *ECCval, uint32_t Bank, uint32_t Timeout)
HAL_StatusTypeDef FMC_NAND_ECC_Enable(FMC_NAND_TypeDef *Device, uint32_t Bank)
#define IS_FMC_SELFREFRESH_TIME(__TIME__)
FMC NORSRAM Configuration Structure definition.
#define IS_FMC_MODE_REGISTER(__CONTENT__)
HAL_StatusTypeDef FMC_SDRAM_WriteProtection_Enable(FMC_SDRAM_TypeDef *Device, uint32_t Bank)
#define FMC_EXTENDED_MODE_ENABLE
uint32_t BusTurnAroundDuration
HAL_StatusTypeDef FMC_NAND_ECC_Disable(FMC_NAND_TypeDef *Device, uint32_t Bank)
uint32_t ColumnBitsNumber
#define HAL_IS_BIT_SET(REG, BIT)
#define FMC_SDRAM_TypeDef
#define IS_FMC_CLK_DIV(DIV)
#define IS_FMC_BURSTMODE(__STATE__)
#define IS_FMC_ADDRESS_HOLD_TIME(__TIME__)
HAL_StatusTypeDef FMC_NORSRAM_WriteOperation_Enable(FMC_NORSRAM_TypeDef *Device, uint32_t Bank)
HAL_StatusTypeDef FMC_NORSRAM_Extended_Timing_Init(FMC_NORSRAM_EXTENDED_TypeDef *Device, FMC_NORSRAM_TimingTypeDef *Timing, uint32_t Bank, uint32_t ExtendedMode)
#define FMC_PATT_ATTHOLD3
#define __FMC_NAND_DISABLE(__INSTANCE__)
Disable the NAND device access.
#define IS_FMC_MUX(__MUX__)
HAL_StatusTypeDef FMC_NAND_CommonSpace_Timing_Init(FMC_NAND_TypeDef *Device, FMC_NAND_PCC_TimingTypeDef *Timing, uint32_t Bank)
HAL_StatusTypeDef FMC_NORSRAM_DeInit(FMC_NORSRAM_TypeDef *Device, FMC_NORSRAM_EXTENDED_TypeDef *ExDevice, uint32_t Bank)
#define IS_FMC_RP_DELAY(__DELAY__)
#define IS_FMC_NORSRAM_DEVICE(__INSTANCE__)
#define FMC_WRITE_OPERATION_ENABLE
uint32_t ModeRegisterDefinition
#define IS_FMC_WAIT_TIME(TIME)
#define IS_FMC_COLUMNBITS_NUMBER(COLUMN)
#define IS_FMC_WRITE_RECOVERY_TIME(__TIME__)
HAL_StatusTypeDef
HAL Status structures definition.
uint32_t HAL_GetTick(void)
Provides a tick value in millisecond.
HAL_StatusTypeDef FMC_NAND_Init(FMC_NAND_TypeDef *Device, FMC_NAND_InitTypeDef *Init)
#define IS_FMC_WRITE_PROTECTION(__WRITE__)
HAL_StatusTypeDef FMC_SDRAM_DeInit(FMC_SDRAM_TypeDef *Device, uint32_t Bank)
#define IS_FMC_CONTINOUS_CLOCK(CCLOCK)
#define FMC_MEMORY_TYPE_NOR
#define IS_FMC_ROWCYCLE_DELAY(__DELAY__)
#define IS_FMC_WRITE_FIFO(__FIFO__)
FMC NAND Configuration Structure definition.
#define IS_FMC_AUTOREFRESH_NUMBER(__NUMBER__)
#define IS_FMC_SDMEMORY_WIDTH(WIDTH)
#define FMC_PMEM_MEMHOLD3
uint32_t LoadToActiveDelay