64 #if defined(HAL_NOR_MODULE_ENABLED) || (defined(HAL_NAND_MODULE_ENABLED)) || defined(HAL_PCCARD_MODULE_ENABLED) || defined(HAL_SDRAM_MODULE_ENABLED)\
65 || defined(HAL_SRAM_MODULE_ENABLED)
81 #if defined(FMC_Bank1)
87 #define BTR_CLEAR_MASK ((uint32_t)(FMC_BTR1_ADDSET | FMC_BTR1_ADDHLD |\
88 FMC_BTR1_DATAST | FMC_BTR1_BUSTURN |\
89 FMC_BTR1_CLKDIV | FMC_BTR1_DATLAT |\
94 #define BWTR_CLEAR_MASK ((uint32_t)(FMC_BWTR1_ADDSET | FMC_BWTR1_ADDHLD |\
95 FMC_BWTR1_DATAST | FMC_BWTR1_BUSTURN |\
98 #if defined(FMC_Bank3) || defined(FMC_Bank2_3)
100 #if defined (FMC_PCR_PWAITEN)
103 #define PCR_CLEAR_MASK ((uint32_t)(FMC_PCR_PWAITEN | FMC_PCR_PBKEN | \
104 FMC_PCR_PTYP | FMC_PCR_PWID | \
105 FMC_PCR_ECCEN | FMC_PCR_TCLR | \
106 FMC_PCR_TAR | FMC_PCR_ECCPS))
109 #define PMEM_CLEAR_MASK ((uint32_t)(FMC_PMEM_MEMSET2 | FMC_PMEM_MEMWAIT2 |\
110 FMC_PMEM_MEMHOLD2 | FMC_PMEM_MEMHIZ2))
114 #define PATT_CLEAR_MASK ((uint32_t)(FMC_PATT_ATTSET2 | FMC_PATT_ATTWAIT2 |\
115 FMC_PATT_ATTHOLD2 | FMC_PATT_ATTHIZ2))
119 #define PCR_CLEAR_MASK ((uint32_t)(FMC_PCR2_PWAITEN | FMC_PCR2_PBKEN | \
120 FMC_PCR2_PTYP | FMC_PCR2_PWID | \
121 FMC_PCR2_ECCEN | FMC_PCR2_TCLR | \
122 FMC_PCR2_TAR | FMC_PCR2_ECCPS))
125 #define PMEM_CLEAR_MASK ((uint32_t)(FMC_PMEM2_MEMSET2 | FMC_PMEM2_MEMWAIT2 |\
126 FMC_PMEM2_MEMHOLD2 | FMC_PMEM2_MEMHIZ2))
130 #define PATT_CLEAR_MASK ((uint32_t)(FMC_PATT2_ATTSET2 | FMC_PATT2_ATTWAIT2 |\
131 FMC_PATT2_ATTHOLD2 | FMC_PATT2_ATTHIZ2))
135 #if defined(FMC_Bank4)
138 #define PCR4_CLEAR_MASK ((uint32_t)(FMC_PCR4_PWAITEN | FMC_PCR4_PBKEN | \
139 FMC_PCR4_PTYP | FMC_PCR4_PWID | \
140 FMC_PCR4_ECCEN | FMC_PCR4_TCLR | \
141 FMC_PCR4_TAR | FMC_PCR4_ECCPS))
144 #define PMEM4_CLEAR_MASK ((uint32_t)(FMC_PMEM4_MEMSET4 | FMC_PMEM4_MEMWAIT4 |\
145 FMC_PMEM4_MEMHOLD4 | FMC_PMEM4_MEMHIZ4))
149 #define PATT4_CLEAR_MASK ((uint32_t)(FMC_PATT4_ATTSET4 | FMC_PATT4_ATTWAIT4 |\
150 FMC_PATT4_ATTHOLD4 | FMC_PATT4_ATTHIZ4))
154 #define PIO4_CLEAR_MASK ((uint32_t)(FMC_PIO4_IOSET4 | FMC_PIO4_IOWAIT4 | \
155 FMC_PIO4_IOHOLD4 | FMC_PIO4_IOHIZ4))
158 #if defined(FMC_Bank5_6)
162 #define SDCR_CLEAR_MASK ((uint32_t)(FMC_SDCR1_NC | FMC_SDCR1_NR | \
163 FMC_SDCR1_MWID | FMC_SDCR1_NB | \
164 FMC_SDCR1_CAS | FMC_SDCR1_WP | \
165 FMC_SDCR1_SDCLK | FMC_SDCR1_RBURST | \
170 #define SDTR_CLEAR_MASK ((uint32_t)(FMC_SDTR1_TMRD | FMC_SDTR1_TXSR | \
171 FMC_SDTR1_TRAS | FMC_SDTR1_TRC | \
172 FMC_SDTR1_TWR | FMC_SDTR1_TRP | \
189 #if defined(FMC_Bank1)
242 uint32_t flashaccess;
247 assert_param(IS_FMC_NORSRAM_DEVICE(Device));
248 assert_param(IS_FMC_NORSRAM_BANK(Init->
NSBank));
250 assert_param(IS_FMC_MEMORY(Init->
MemoryType));
254 #if defined(FMC_BCR1_WRAPMOD)
255 assert_param(IS_FMC_WRAP_MODE(Init->
WrapMode));
259 assert_param(IS_FMC_WAITE_SIGNAL(Init->
WaitSignal));
262 assert_param(IS_FMC_WRITE_BURST(Init->
WriteBurst));
263 #if defined(FMC_BCR1_CCLKEN)
266 #if defined(FMC_BCR1_WFDIS)
267 assert_param(IS_FMC_WRITE_FIFO(Init->
WriteFifo));
269 assert_param(IS_FMC_PAGESIZE(Init->
PageSize));
272 __FMC_NORSRAM_DISABLE(Device, Init->
NSBank);
277 flashaccess = FMC_NORSRAM_FLASH_ACCESS_ENABLE;
281 flashaccess = FMC_NORSRAM_FLASH_ACCESS_DISABLE;
284 btcr_reg = (flashaccess | \
285 Init->DataAddressMux | \
287 Init->MemoryDataWidth | \
288 Init->BurstAccessMode | \
289 Init->WaitSignalPolarity | \
290 Init->WaitSignalActive | \
291 Init->WriteOperation | \
293 Init->ExtendedMode | \
294 Init->AsynchronousWait | \
297 #if defined(FMC_BCR1_WRAPMOD)
300 #if defined(FMC_BCR1_CCLKEN)
303 #if defined(FMC_BCR1_WFDIS)
308 mask = (FMC_BCR1_MBKEN |
322 #if defined(FMC_BCR1_WRAPMOD)
323 mask |= FMC_BCR1_WRAPMOD;
325 #if defined(FMC_BCR1_CCLKEN)
326 mask |= FMC_BCR1_CCLKEN;
328 #if defined(FMC_BCR1_WFDIS)
329 mask |= FMC_BCR1_WFDIS;
331 mask |= FMC_BCR1_CPSIZE;
333 MODIFY_REG(Device->BTCR[Init->
NSBank], mask, btcr_reg);
335 #if defined(FMC_BCR1_CCLKEN)
337 if ((Init->
ContinuousClock == FMC_CONTINUOUS_CLOCK_SYNC_ASYNC) && (Init->
NSBank != FMC_NORSRAM_BANK1))
339 MODIFY_REG(Device->BTCR[FMC_NORSRAM_BANK1], FMC_BCR1_CCLKEN, Init->
ContinuousClock);
342 #if defined(FMC_BCR1_WFDIS)
344 if (Init->
NSBank != FMC_NORSRAM_BANK1)
347 SET_BIT(Device->BTCR[FMC_NORSRAM_BANK1], (uint32_t)(Init->
WriteFifo));
362 FMC_NORSRAM_EXTENDED_TypeDef *ExDevice, uint32_t Bank)
365 assert_param(IS_FMC_NORSRAM_DEVICE(Device));
366 assert_param(IS_FMC_NORSRAM_EXTENDED_DEVICE(ExDevice));
367 assert_param(IS_FMC_NORSRAM_BANK(Bank));
370 __FMC_NORSRAM_DISABLE(Device, Bank);
374 if (Bank == FMC_NORSRAM_BANK1)
376 Device->BTCR[Bank] = 0x000030DBU;
381 Device->BTCR[Bank] = 0x000030D2U;
384 Device->BTCR[Bank + 1U] = 0x0FFFFFFFU;
385 ExDevice->BWTR[Bank] = 0x0FFFFFFFU;
401 #if defined(FMC_BCR1_CCLKEN)
406 assert_param(IS_FMC_NORSRAM_DEVICE(Device));
412 assert_param(IS_FMC_DATA_LATENCY(Timing->
DataLatency));
413 assert_param(IS_FMC_ACCESS_MODE(Timing->
AccessMode));
414 assert_param(IS_FMC_NORSRAM_BANK(Bank));
417 MODIFY_REG(Device->BTCR[Bank + 1U], BTR_CLEAR_MASK, (Timing->
AddressSetupTime |
421 (((Timing->
CLKDivision) - 1U) << FMC_BTR1_CLKDIV_Pos) |
422 (((Timing->
DataLatency) - 2U) << FMC_BTR1_DATLAT_Pos) |
425 #if defined(FMC_BCR1_CCLKEN)
427 if (HAL_IS_BIT_SET(Device->BTCR[FMC_NORSRAM_BANK1], FMC_BCR1_CCLKEN))
429 tmpr = (uint32_t)(Device->BTCR[FMC_NORSRAM_BANK1 + 1U] & ~((0x0FU) << FMC_BTR1_CLKDIV_Pos));
430 tmpr |= (uint32_t)(((Timing->
CLKDivision) - 1U) << FMC_BTR1_CLKDIV_Pos);
431 MODIFY_REG(Device->BTCR[FMC_NORSRAM_BANK1 + 1U], FMC_BTR1_CLKDIV, tmpr);
452 uint32_t ExtendedMode)
455 assert_param(IS_FMC_EXTENDED_MODE(ExtendedMode));
458 if (ExtendedMode == FMC_EXTENDED_MODE_ENABLE)
461 assert_param(IS_FMC_NORSRAM_EXTENDED_DEVICE(Device));
466 assert_param(IS_FMC_ACCESS_MODE(Timing->
AccessMode));
467 assert_param(IS_FMC_NORSRAM_BANK(Bank));
478 Device->BWTR[Bank] = 0x0FFFFFFFU;
511 assert_param(IS_FMC_NORSRAM_DEVICE(Device));
512 assert_param(IS_FMC_NORSRAM_BANK(Bank));
515 SET_BIT(Device->BTCR[Bank], FMC_WRITE_OPERATION_ENABLE);
529 assert_param(IS_FMC_NORSRAM_DEVICE(Device));
530 assert_param(IS_FMC_NORSRAM_BANK(Bank));
533 CLEAR_BIT(Device->BTCR[Bank], FMC_WRITE_OPERATION_ENABLE);
547 #if defined(FMC_Bank3) || defined(FMC_Bank2_3)
601 assert_param(IS_FMC_NAND_DEVICE(Device));
602 assert_param(IS_FMC_NAND_BANK(Init->
NandBank));
603 assert_param(IS_FMC_WAIT_FEATURE(Init->
Waitfeature));
606 assert_param(IS_FMC_ECCPAGE_SIZE(Init->
ECCPageSize));
610 #if defined(FMC_Bank2_3)
612 if (Init->
NandBank == FMC_NAND_BANK2)
615 MODIFY_REG(Device->PCR2, PCR_CLEAR_MASK, (Init->
Waitfeature |
616 FMC_PCR_MEMORY_TYPE_NAND |
626 MODIFY_REG(Device->PCR3, PCR_CLEAR_MASK, (Init->
Waitfeature |
627 FMC_PCR_MEMORY_TYPE_NAND |
636 MODIFY_REG(Device->PCR, PCR_CLEAR_MASK, (Init->
Waitfeature |
637 FMC_PCR_MEMORY_TYPE_NAND |
660 assert_param(IS_FMC_NAND_DEVICE(Device));
661 assert_param(IS_FMC_SETUP_TIME(Timing->
SetupTime));
665 assert_param(IS_FMC_NAND_BANK(Bank));
667 #if defined(FMC_Bank2_3)
669 if (Bank == FMC_NAND_BANK2)
672 MODIFY_REG(Device->PMEM2, PMEM_CLEAR_MASK, (Timing->
SetupTime |
680 MODIFY_REG(Device->PMEM3, PMEM_CLEAR_MASK, (Timing->
SetupTime |
690 MODIFY_REG(Device->PMEM, PMEM_CLEAR_MASK, (Timing->
SetupTime |
711 assert_param(IS_FMC_NAND_DEVICE(Device));
712 assert_param(IS_FMC_SETUP_TIME(Timing->
SetupTime));
716 assert_param(IS_FMC_NAND_BANK(Bank));
718 #if defined(FMC_Bank2_3)
720 if (Bank == FMC_NAND_BANK2)
723 MODIFY_REG(Device->PATT2, PATT_CLEAR_MASK, (Timing->
SetupTime |
731 MODIFY_REG(Device->PATT3, PATT_CLEAR_MASK, (Timing->
SetupTime |
741 MODIFY_REG(Device->PATT, PATT_CLEAR_MASK, (Timing->
SetupTime |
759 assert_param(IS_FMC_NAND_DEVICE(Device));
760 assert_param(IS_FMC_NAND_BANK(Bank));
763 __FMC_NAND_DISABLE(Device, Bank);
766 #if defined(FMC_Bank2_3)
767 if (Bank == FMC_NAND_BANK2)
770 WRITE_REG(Device->PCR2, 0x00000018U);
771 WRITE_REG(Device->SR2, 0x00000040U);
772 WRITE_REG(Device->PMEM2, 0xFCFCFCFCU);
773 WRITE_REG(Device->PATT2, 0xFCFCFCFCU);
779 WRITE_REG(Device->PCR3, 0x00000018U);
780 WRITE_REG(Device->SR3, 0x00000040U);
781 WRITE_REG(Device->PMEM3, 0xFCFCFCFCU);
782 WRITE_REG(Device->PATT3, 0xFCFCFCFCU);
789 WRITE_REG(Device->PCR, 0x00000018U);
790 WRITE_REG(Device->SR, 0x00000040U);
791 WRITE_REG(Device->PMEM, 0xFCFCFCFCU);
792 WRITE_REG(Device->PATT, 0xFCFCFCFCU);
827 assert_param(IS_FMC_NAND_DEVICE(Device));
828 assert_param(IS_FMC_NAND_BANK(Bank));
831 #if defined(FMC_Bank2_3)
832 if (Bank == FMC_NAND_BANK2)
834 SET_BIT(Device->PCR2, FMC_PCR2_ECCEN);
838 SET_BIT(Device->PCR3, FMC_PCR2_ECCEN);
844 SET_BIT(Device->PCR, FMC_PCR_ECCEN);
860 assert_param(IS_FMC_NAND_DEVICE(Device));
861 assert_param(IS_FMC_NAND_BANK(Bank));
864 #if defined(FMC_Bank2_3)
865 if (Bank == FMC_NAND_BANK2)
867 CLEAR_BIT(Device->PCR2, FMC_PCR2_ECCEN);
871 CLEAR_BIT(Device->PCR3, FMC_PCR2_ECCEN);
877 CLEAR_BIT(Device->PCR, FMC_PCR_ECCEN);
891 HAL_StatusTypeDef
FMC_NAND_GetECC(FMC_NAND_TypeDef *Device, uint32_t *ECCval, uint32_t Bank,
897 assert_param(IS_FMC_NAND_DEVICE(Device));
898 assert_param(IS_FMC_NAND_BANK(Bank));
904 while (__FMC_NAND_GET_FLAG(Device, Bank, FMC_FLAG_FEMPT) == RESET)
907 if (Timeout != HAL_MAX_DELAY)
909 if (((
HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U))
916 #if defined(FMC_Bank2_3)
917 if (Bank == FMC_NAND_BANK2)
920 *ECCval = (uint32_t)Device->ECCR2;
925 *ECCval = (uint32_t)Device->ECCR3;
932 *ECCval = (uint32_t)Device->ECCR;
943 #if defined(FMC_Bank4)
995 assert_param(IS_FMC_PCCARD_DEVICE(Device));
996 #if defined(FMC_Bank3) || defined(FMC_Bank2_3)
997 assert_param(IS_FMC_WAIT_FEATURE(Init->
Waitfeature));
1003 MODIFY_REG(Device->PCR4,
1009 (FMC_PCR_MEMORY_TYPE_PCCARD |
1011 FMC_NAND_PCC_MEM_BUS_WIDTH_16 |
1029 assert_param(IS_FMC_PCCARD_DEVICE(Device));
1030 #if defined(FMC_Bank3) || defined(FMC_Bank2_3)
1031 assert_param(IS_FMC_SETUP_TIME(Timing->
SetupTime));
1038 MODIFY_REG(Device->PMEM4, PMEM4_CLEAR_MASK,
1058 assert_param(IS_FMC_PCCARD_DEVICE(Device));
1059 #if defined(FMC_Bank3) || defined(FMC_Bank2_3)
1060 assert_param(IS_FMC_SETUP_TIME(Timing->
SetupTime));
1067 MODIFY_REG(Device->PATT4, PATT4_CLEAR_MASK,
1087 assert_param(IS_FMC_PCCARD_DEVICE(Device));
1088 #if defined(FMC_Bank3) || defined(FMC_Bank2_3)
1089 assert_param(IS_FMC_SETUP_TIME(Timing->
SetupTime));
1096 MODIFY_REG(Device->PIO4, PIO4_CLEAR_MASK,
1113 assert_param(IS_FMC_PCCARD_DEVICE(Device));
1116 __FMC_PCCARD_DISABLE(Device);
1119 Device->PCR4 = 0x00000018U;
1120 Device->SR4 = 0x00000040U;
1121 Device->PMEM4 = 0xFCFCFCFCU;
1122 Device->PATT4 = 0xFCFCFCFCU;
1123 Device->PIO4 = 0xFCFCFCFCU;
1133 #if defined(FMC_Bank5_6)
1184 assert_param(IS_FMC_SDRAM_DEVICE(Device));
1185 assert_param(IS_FMC_SDRAM_BANK(Init->
SDBank));
1190 assert_param(IS_FMC_CAS_LATENCY(Init->
CASLatency));
1193 assert_param(IS_FMC_READ_BURST(Init->
ReadBurst));
1197 if (Init->
SDBank == FMC_SDRAM_BANK1)
1199 MODIFY_REG(Device->SDCR[FMC_SDRAM_BANK1],
1213 MODIFY_REG(Device->SDCR[FMC_SDRAM_BANK1],
1221 MODIFY_REG(Device->SDCR[FMC_SDRAM_BANK2],
1247 assert_param(IS_FMC_SDRAM_DEVICE(Device));
1253 assert_param(IS_FMC_RP_DELAY(Timing->
RPDelay));
1254 assert_param(IS_FMC_RCD_DELAY(Timing->
RCDDelay));
1255 assert_param(IS_FMC_SDRAM_BANK(Bank));
1258 if (Bank == FMC_SDRAM_BANK1)
1260 MODIFY_REG(Device->SDTR[FMC_SDRAM_BANK1],
1267 (((Timing->
RPDelay) - 1U) << FMC_SDTR1_TRP_Pos) |
1268 (((Timing->
RCDDelay) - 1U) << FMC_SDTR1_TRCD_Pos)));
1272 MODIFY_REG(Device->SDTR[FMC_SDRAM_BANK1],
1276 (((Timing->
RPDelay) - 1U) << FMC_SDTR1_TRP_Pos));
1278 MODIFY_REG(Device->SDTR[FMC_SDRAM_BANK2],
1284 (((Timing->
RCDDelay) - 1U) << FMC_SDTR1_TRCD_Pos)));
1298 assert_param(IS_FMC_SDRAM_DEVICE(Device));
1299 assert_param(IS_FMC_SDRAM_BANK(Bank));
1302 Device->SDCR[Bank] = 0x000002D0U;
1303 Device->SDTR[Bank] = 0x0FFFFFFFU;
1304 Device->SDCMR = 0x00000000U;
1305 Device->SDRTR = 0x00000000U;
1306 Device->SDSR = 0x00000000U;
1339 assert_param(IS_FMC_SDRAM_DEVICE(Device));
1340 assert_param(IS_FMC_SDRAM_BANK(Bank));
1343 SET_BIT(Device->SDCR[Bank], FMC_SDRAM_WRITE_PROTECTION_ENABLE);
1356 assert_param(IS_FMC_SDRAM_DEVICE(Device));
1357 assert_param(IS_FMC_SDRAM_BANK(Bank));
1360 CLEAR_BIT(Device->SDCR[Bank], FMC_SDRAM_WRITE_PROTECTION_ENABLE);
1376 uint32_t tickstart = 0U;
1378 assert_param(IS_FMC_SDRAM_DEVICE(Device));
1379 assert_param(IS_FMC_COMMAND_MODE(Command->
CommandMode));
1380 assert_param(IS_FMC_COMMAND_TARGET(Command->
CommandTarget));
1385 MODIFY_REG(Device->SDCMR, (FMC_SDCMR_MODE | FMC_SDCMR_CTB2 | FMC_SDCMR_CTB1 | FMC_SDCMR_NRFS | FMC_SDCMR_MRD),
1393 while (HAL_IS_BIT_SET(Device->SDSR, FMC_SDSR_BUSY))
1396 if (Timeout != HAL_MAX_DELAY)
1398 if ((Timeout == 0U) || ((
HAL_GetTick() - tickstart) > Timeout))
1416 assert_param(IS_FMC_SDRAM_DEVICE(Device));
1417 assert_param(IS_FMC_REFRESH_RATE(RefreshRate));
1420 MODIFY_REG(Device->SDRTR, FMC_SDRTR_COUNT, (RefreshRate << FMC_SDRTR_COUNT_Pos));
1432 uint32_t AutoRefreshNumber)
1435 assert_param(IS_FMC_SDRAM_DEVICE(Device));
1436 assert_param(IS_FMC_AUTOREFRESH_NUMBER(AutoRefreshNumber));
1439 MODIFY_REG(Device->SDCMR, FMC_SDCMR_NRFS, ((AutoRefreshNumber - 1U) << FMC_SDCMR_NRFS_Pos));
1458 assert_param(IS_FMC_SDRAM_DEVICE(Device));
1459 assert_param(IS_FMC_SDRAM_BANK(Bank));
1462 if (Bank == FMC_SDRAM_BANK1)
1464 tmpreg = (uint32_t)(Device->SDSR & FMC_SDSR_MODES1);
1468 tmpreg = ((uint32_t)(Device->SDSR & FMC_SDSR_MODES2) >> 2U);
ADC handle Structure definition.
uint32_t ExitSelfRefreshDelay
uint32_t InternalBankNumber
uint32_t AutoRefreshNumber
uint32_t ColumnBitsNumber
uint32_t AddressSetupTime
uint32_t BusTurnAroundDuration
uint32_t AsynchronousWait
uint32_t WaitSignalActive
uint32_t WriteRecoveryTime
uint32_t LoadToActiveDelay
uint32_t ModeRegisterDefinition
uint32_t WaitSignalPolarity
FMC NAND Configuration Structure definition.
FMC NAND Timing parameters structure definition.
FMC NORSRAM Configuration Structure definition.
FMC NORSRAM Timing parameters structure definition.
FMC PCCARD Configuration Structure definition.
SDRAM command parameters structure definition.
FMC SDRAM Configuration Structure definition.
FMC SDRAM Timing parameters structure definition.
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_PC...
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_HandleT...
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...
HAL_StatusTypeDef FMC_NAND_DeInit(FMC_NAND_TypeDef *Device, uint32_t Bank)
DeInitializes the FMC_NAND device.
HAL_StatusTypeDef FMC_NORSRAM_DeInit(FMC_NORSRAM_TypeDef *Device, FMC_NORSRAM_EXTENDED_TypeDef *ExDevice, uint32_t Bank)
DeInitialize the FMC_NORSRAM peripheral.
HAL_StatusTypeDef FMC_NORSRAM_Init(FMC_NORSRAM_TypeDef *Device, FMC_NORSRAM_InitTypeDef *Init)
Initialize the FMC_NORSRAM device according to the specified control parameters in the FMC_NORSRAM_In...
HAL_StatusTypeDef FMC_NORSRAM_Timing_Init(FMC_NORSRAM_TypeDef *Device, FMC_NORSRAM_TimingTypeDef *Timing, uint32_t Bank)
Initialize the FMC_NORSRAM Timing according to the specified parameters in the FMC_NORSRAM_TimingType...
HAL_StatusTypeDef FMC_NORSRAM_Extended_Timing_Init(FMC_NORSRAM_EXTENDED_TypeDef *Device, FMC_NORSRAM_TimingTypeDef *Timing, uint32_t Bank, uint32_t ExtendedMode)
Initialize the FMC_NORSRAM Extended mode Timing according to the specified parameters in the FMC_NORS...
HAL_StatusTypeDef FMC_NORSRAM_WriteOperation_Disable(FMC_NORSRAM_TypeDef *Device, uint32_t Bank)
Disables dynamically FMC_NORSRAM write operation.
HAL_StatusTypeDef FMC_NORSRAM_WriteOperation_Enable(FMC_NORSRAM_TypeDef *Device, uint32_t Bank)
Enables dynamically FMC_NORSRAM write operation.
HAL_StatusTypeDef FMC_PCCARD_CommonSpace_Timing_Init(FMC_PCCARD_TypeDef *Device, FMC_NAND_PCC_TimingTypeDef *Timing)
Initializes the FMC_PCCARD Common space Timing according to the specified parameters in the FMC_NAND_...
HAL_StatusTypeDef FMC_PCCARD_AttributeSpace_Timing_Init(FMC_PCCARD_TypeDef *Device, FMC_NAND_PCC_TimingTypeDef *Timing)
Initializes the FMC_PCCARD Attribute space Timing according to the specified parameters in the FMC_NA...
HAL_StatusTypeDef FMC_PCCARD_DeInit(FMC_PCCARD_TypeDef *Device)
DeInitializes the FMC_PCCARD device.
HAL_StatusTypeDef FMC_PCCARD_Init(FMC_PCCARD_TypeDef *Device, FMC_PCCARD_InitTypeDef *Init)
Initializes the FMC_PCCARD device according to the specified control parameters in the FMC_PCCARD_Han...
HAL_StatusTypeDef FMC_PCCARD_IOSpace_Timing_Init(FMC_PCCARD_TypeDef *Device, FMC_NAND_PCC_TimingTypeDef *Timing)
Initializes the FMC_PCCARD IO space Timing according to the specified parameters in the FMC_NAND_PCC_...
HAL_StatusTypeDef FMC_SDRAM_WriteProtection_Disable(FMC_SDRAM_TypeDef *Device, uint32_t Bank)
Disables dynamically FMC_SDRAM write protection.
HAL_StatusTypeDef FMC_SDRAM_SetAutoRefreshNumber(FMC_SDRAM_TypeDef *Device, uint32_t AutoRefreshNumber)
Set the Number of consecutive SDRAM Memory auto Refresh commands.
uint32_t FMC_SDRAM_GetModeStatus(const FMC_SDRAM_TypeDef *Device, uint32_t Bank)
Returns the indicated FMC SDRAM bank mode status.
HAL_StatusTypeDef FMC_SDRAM_SendCommand(FMC_SDRAM_TypeDef *Device, FMC_SDRAM_CommandTypeDef *Command, uint32_t Timeout)
Send Command to the FMC SDRAM bank.
HAL_StatusTypeDef FMC_SDRAM_WriteProtection_Enable(FMC_SDRAM_TypeDef *Device, uint32_t Bank)
Enables dynamically FMC_SDRAM write protection.
HAL_StatusTypeDef FMC_SDRAM_ProgramRefreshRate(FMC_SDRAM_TypeDef *Device, uint32_t RefreshRate)
Program the SDRAM Memory Refresh rate.
HAL_StatusTypeDef FMC_SDRAM_Timing_Init(FMC_SDRAM_TypeDef *Device, FMC_SDRAM_TimingTypeDef *Timing, uint32_t Bank)
Initializes the FMC_SDRAM device timing according to the specified parameters in the FMC_SDRAM_Timing...
HAL_StatusTypeDef FMC_SDRAM_DeInit(FMC_SDRAM_TypeDef *Device, uint32_t Bank)
DeInitializes the FMC_SDRAM peripheral.
HAL_StatusTypeDef FMC_SDRAM_Init(FMC_SDRAM_TypeDef *Device, FMC_SDRAM_InitTypeDef *Init)
Initializes the FMC_SDRAM device according to the specified control parameters in the FMC_SDRAM_InitT...
uint32_t HAL_GetTick(void)
Provides a tick value in millisecond.
HAL_StatusTypeDef FMC_NAND_ECC_Disable(FMC_NAND_TypeDef *Device, uint32_t Bank)
Disables dynamically FMC_NAND ECC feature.
HAL_StatusTypeDef FMC_NAND_ECC_Enable(FMC_NAND_TypeDef *Device, uint32_t Bank)
Enables dynamically FMC_NAND ECC feature.
HAL_StatusTypeDef FMC_NAND_GetECC(FMC_NAND_TypeDef *Device, uint32_t *ECCval, uint32_t Bank, uint32_t Timeout)
Disables dynamically FMC_NAND ECC feature.
This file contains all the functions prototypes for the HAL module driver.