Lines Matching refs:hnand
159 HAL_StatusTypeDef HAL_NAND_Init(NAND_HandleTypeDef *hnand, FMC_NAND_PCC_TimingTypeDef *ComSpace_Ti… in HAL_NAND_Init() argument
163 if (hnand == NULL) in HAL_NAND_Init()
168 if (hnand->State == HAL_NAND_STATE_RESET) in HAL_NAND_Init()
171 hnand->Lock = HAL_UNLOCKED; in HAL_NAND_Init()
174 if (hnand->MspInitCallback == NULL) in HAL_NAND_Init()
176 hnand->MspInitCallback = HAL_NAND_MspInit; in HAL_NAND_Init()
178 hnand->ItCallback = HAL_NAND_ITCallback; in HAL_NAND_Init()
181 hnand->MspInitCallback(hnand); in HAL_NAND_Init()
184 HAL_NAND_MspInit(hnand); in HAL_NAND_Init()
189 (void)FMC_NAND_Init(hnand->Instance, &(hnand->Init)); in HAL_NAND_Init()
192 (void)FMC_NAND_CommonSpace_Timing_Init(hnand->Instance, ComSpace_Timing, hnand->Init.NandBank); in HAL_NAND_Init()
195 (void)FMC_NAND_AttributeSpace_Timing_Init(hnand->Instance, AttSpace_Timing, hnand->Init.NandBank); in HAL_NAND_Init()
199 __FMC_NAND_ENABLE(hnand->Instance, hnand->Init.NandBank); in HAL_NAND_Init()
201 __FMC_NAND_ENABLE(hnand->Instance); in HAL_NAND_Init()
205 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_Init()
216 HAL_StatusTypeDef HAL_NAND_DeInit(NAND_HandleTypeDef *hnand) in HAL_NAND_DeInit() argument
219 if (hnand->MspDeInitCallback == NULL) in HAL_NAND_DeInit()
221 hnand->MspDeInitCallback = HAL_NAND_MspDeInit; in HAL_NAND_DeInit()
225 hnand->MspDeInitCallback(hnand); in HAL_NAND_DeInit()
228 HAL_NAND_MspDeInit(hnand); in HAL_NAND_DeInit()
232 (void)FMC_NAND_DeInit(hnand->Instance, hnand->Init.NandBank); in HAL_NAND_DeInit()
235 hnand->State = HAL_NAND_STATE_RESET; in HAL_NAND_DeInit()
238 __HAL_UNLOCK(hnand); in HAL_NAND_DeInit()
249 __weak void HAL_NAND_MspInit(NAND_HandleTypeDef *hnand) in HAL_NAND_MspInit() argument
252 UNUSED(hnand); in HAL_NAND_MspInit()
265 __weak void HAL_NAND_MspDeInit(NAND_HandleTypeDef *hnand) in HAL_NAND_MspDeInit() argument
268 UNUSED(hnand); in HAL_NAND_MspDeInit()
282 void HAL_NAND_IRQHandler(NAND_HandleTypeDef *hnand) in HAL_NAND_IRQHandler() argument
285 if (__FMC_NAND_GET_FLAG(hnand->Instance, hnand->Init.NandBank, FMC_FLAG_RISING_EDGE)) in HAL_NAND_IRQHandler()
289 hnand->ItCallback(hnand); in HAL_NAND_IRQHandler()
291 HAL_NAND_ITCallback(hnand); in HAL_NAND_IRQHandler()
296 __FMC_NAND_CLEAR_FLAG(hnand->Instance, hnand->Init.NandBank, FMC_FLAG_RISING_EDGE); in HAL_NAND_IRQHandler()
298 __FMC_NAND_CLEAR_FLAG(hnand->Instance, FMC_FLAG_RISING_EDGE); in HAL_NAND_IRQHandler()
303 if (__FMC_NAND_GET_FLAG(hnand->Instance, hnand->Init.NandBank, FMC_FLAG_LEVEL)) in HAL_NAND_IRQHandler()
307 hnand->ItCallback(hnand); in HAL_NAND_IRQHandler()
309 HAL_NAND_ITCallback(hnand); in HAL_NAND_IRQHandler()
314 __FMC_NAND_CLEAR_FLAG(hnand->Instance, hnand->Init.NandBank, FMC_FLAG_LEVEL); in HAL_NAND_IRQHandler()
316 __FMC_NAND_CLEAR_FLAG(hnand->Instance, FMC_FLAG_LEVEL); in HAL_NAND_IRQHandler()
321 if (__FMC_NAND_GET_FLAG(hnand->Instance, hnand->Init.NandBank, FMC_FLAG_FALLING_EDGE)) in HAL_NAND_IRQHandler()
325 hnand->ItCallback(hnand); in HAL_NAND_IRQHandler()
327 HAL_NAND_ITCallback(hnand); in HAL_NAND_IRQHandler()
332 __FMC_NAND_CLEAR_FLAG(hnand->Instance, hnand->Init.NandBank, FMC_FLAG_FALLING_EDGE); in HAL_NAND_IRQHandler()
334 __FMC_NAND_CLEAR_FLAG(hnand->Instance, FMC_FLAG_FALLING_EDGE); in HAL_NAND_IRQHandler()
339 if (__FMC_NAND_GET_FLAG(hnand->Instance, hnand->Init.NandBank, FMC_FLAG_FEMPT)) in HAL_NAND_IRQHandler()
343 hnand->ItCallback(hnand); in HAL_NAND_IRQHandler()
345 HAL_NAND_ITCallback(hnand); in HAL_NAND_IRQHandler()
350 __FMC_NAND_CLEAR_FLAG(hnand->Instance, hnand->Init.NandBank, FMC_FLAG_FEMPT); in HAL_NAND_IRQHandler()
352 __FMC_NAND_CLEAR_FLAG(hnand->Instance, FMC_FLAG_FEMPT); in HAL_NAND_IRQHandler()
364 __weak void HAL_NAND_ITCallback(NAND_HandleTypeDef *hnand) in HAL_NAND_ITCallback() argument
367 UNUSED(hnand); in HAL_NAND_ITCallback()
400 HAL_StatusTypeDef HAL_NAND_Read_ID(NAND_HandleTypeDef *hnand, NAND_IDTypeDef *pNAND_ID) in HAL_NAND_Read_ID() argument
407 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_Read_ID()
411 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_Read_ID()
414 __HAL_LOCK(hnand); in HAL_NAND_Read_ID()
417 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_Read_ID()
421 if (hnand->Init.NandBank == FMC_NAND_BANK2) in HAL_NAND_Read_ID()
441 if (hnand->Init.MemoryDataWidth == FSMC_NAND_PCC_MEM_BUS_WIDTH_8) in HAL_NAND_Read_ID()
443 if (hnand->Init.MemoryDataWidth == FMC_NAND_PCC_MEM_BUS_WIDTH_8) in HAL_NAND_Read_ID()
467 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_Read_ID()
470 __HAL_UNLOCK(hnand); in HAL_NAND_Read_ID()
486 HAL_StatusTypeDef HAL_NAND_Reset(NAND_HandleTypeDef *hnand) in HAL_NAND_Reset() argument
491 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_Reset()
495 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_Reset()
498 __HAL_LOCK(hnand); in HAL_NAND_Reset()
501 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_Reset()
505 if (hnand->Init.NandBank == FMC_NAND_BANK2) in HAL_NAND_Reset()
521 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_Reset()
524 __HAL_UNLOCK(hnand); in HAL_NAND_Reset()
542 HAL_StatusTypeDef HAL_NAND_ConfigDevice(NAND_HandleTypeDef *hnand, NAND_DeviceConfigTypeDef *pDevi… in HAL_NAND_ConfigDevice() argument
544 hnand->Config.PageSize = pDeviceConfig->PageSize; in HAL_NAND_ConfigDevice()
545 hnand->Config.SpareAreaSize = pDeviceConfig->SpareAreaSize; in HAL_NAND_ConfigDevice()
546 hnand->Config.BlockSize = pDeviceConfig->BlockSize; in HAL_NAND_ConfigDevice()
547 hnand->Config.BlockNbr = pDeviceConfig->BlockNbr; in HAL_NAND_ConfigDevice()
548 hnand->Config.PlaneSize = pDeviceConfig->PlaneSize; in HAL_NAND_ConfigDevice()
549 hnand->Config.PlaneNbr = pDeviceConfig->PlaneNbr; in HAL_NAND_ConfigDevice()
550 hnand->Config.ExtraCommandEnable = pDeviceConfig->ExtraCommandEnable; in HAL_NAND_ConfigDevice()
564 HAL_StatusTypeDef HAL_NAND_Read_Page_8b(NAND_HandleTypeDef *hnand, const NAND_AddressTypeDef *pAddr… in HAL_NAND_Read_Page_8b() argument
576 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_Read_Page_8b()
580 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_Read_Page_8b()
583 __HAL_LOCK(hnand); in HAL_NAND_Read_Page_8b()
586 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_Read_Page_8b()
590 if (hnand->Init.NandBank == FMC_NAND_BANK2) in HAL_NAND_Read_Page_8b()
603 nandaddress = ARRAY_ADDRESS(pAddress, hnand); in HAL_NAND_Read_Page_8b()
606 … while ((nbpages != 0U) && (nandaddress < ((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)))) in HAL_NAND_Read_Page_8b()
613 if ((hnand->Config.PageSize) <= 512U) in HAL_NAND_Read_Page_8b()
615 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Read_Page_8b()
638 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Read_Page_8b()
668 if (hnand->Config.ExtraCommandEnable == ENABLE) in HAL_NAND_Read_Page_8b()
674 while (HAL_NAND_Read_Status(hnand) != NAND_READY) in HAL_NAND_Read_Page_8b()
679 hnand->State = HAL_NAND_STATE_ERROR; in HAL_NAND_Read_Page_8b()
682 __HAL_UNLOCK(hnand); in HAL_NAND_Read_Page_8b()
694 for (index = 0U; index < hnand->Config.PageSize; index++) in HAL_NAND_Read_Page_8b()
711 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_Read_Page_8b()
714 __HAL_UNLOCK(hnand); in HAL_NAND_Read_Page_8b()
733 HAL_StatusTypeDef HAL_NAND_Read_Page_16b(NAND_HandleTypeDef *hnand, const NAND_AddressTypeDef *pAdd… in HAL_NAND_Read_Page_16b() argument
745 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_Read_Page_16b()
749 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_Read_Page_16b()
752 __HAL_LOCK(hnand); in HAL_NAND_Read_Page_16b()
755 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_Read_Page_16b()
759 if (hnand->Init.NandBank == FMC_NAND_BANK2) in HAL_NAND_Read_Page_16b()
772 nandaddress = ARRAY_ADDRESS(pAddress, hnand); in HAL_NAND_Read_Page_16b()
775 … while ((nbpages != 0U) && (nandaddress < ((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)))) in HAL_NAND_Read_Page_16b()
782 if ((hnand->Config.PageSize) <= 512U) in HAL_NAND_Read_Page_16b()
784 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Read_Page_16b()
807 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Read_Page_16b()
836 if (hnand->Config.ExtraCommandEnable == ENABLE) in HAL_NAND_Read_Page_16b()
842 while (HAL_NAND_Read_Status(hnand) != NAND_READY) in HAL_NAND_Read_Page_16b()
847 hnand->State = HAL_NAND_STATE_ERROR; in HAL_NAND_Read_Page_16b()
850 __HAL_UNLOCK(hnand); in HAL_NAND_Read_Page_16b()
863 if (hnand->Init.MemoryDataWidth == FSMC_NAND_PCC_MEM_BUS_WIDTH_8) in HAL_NAND_Read_Page_16b()
865 if (hnand->Init.MemoryDataWidth == FMC_NAND_PCC_MEM_BUS_WIDTH_8) in HAL_NAND_Read_Page_16b()
868 hnand->Config.PageSize = hnand->Config.PageSize / 2U; in HAL_NAND_Read_Page_16b()
877 for (index = 0U; index < hnand->Config.PageSize; index++) in HAL_NAND_Read_Page_16b()
894 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_Read_Page_16b()
897 __HAL_UNLOCK(hnand); in HAL_NAND_Read_Page_16b()
916 HAL_StatusTypeDef HAL_NAND_Write_Page_8b(NAND_HandleTypeDef *hnand, const NAND_AddressTypeDef *pAdd… in HAL_NAND_Write_Page_8b() argument
928 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_Write_Page_8b()
932 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_Write_Page_8b()
935 __HAL_LOCK(hnand); in HAL_NAND_Write_Page_8b()
938 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_Write_Page_8b()
942 if (hnand->Init.NandBank == FMC_NAND_BANK2) in HAL_NAND_Write_Page_8b()
955 nandaddress = ARRAY_ADDRESS(pAddress, hnand); in HAL_NAND_Write_Page_8b()
958 … while ((nbpages != 0U) && (nandaddress < ((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)))) in HAL_NAND_Write_Page_8b()
967 if ((hnand->Config.PageSize) <= 512U) in HAL_NAND_Write_Page_8b()
969 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Write_Page_8b()
992 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Write_Page_8b()
1019 for (index = 0U; index < hnand->Config.PageSize; index++) in HAL_NAND_Write_Page_8b()
1033 while (HAL_NAND_Read_Status(hnand) != NAND_READY) in HAL_NAND_Write_Page_8b()
1038 hnand->State = HAL_NAND_STATE_ERROR; in HAL_NAND_Write_Page_8b()
1041 __HAL_UNLOCK(hnand); in HAL_NAND_Write_Page_8b()
1058 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_Write_Page_8b()
1061 __HAL_UNLOCK(hnand); in HAL_NAND_Write_Page_8b()
1080 HAL_StatusTypeDef HAL_NAND_Write_Page_16b(NAND_HandleTypeDef *hnand, const NAND_AddressTypeDef *pAd… in HAL_NAND_Write_Page_16b() argument
1092 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_Write_Page_16b()
1096 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_Write_Page_16b()
1099 __HAL_LOCK(hnand); in HAL_NAND_Write_Page_16b()
1102 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_Write_Page_16b()
1106 if (hnand->Init.NandBank == FMC_NAND_BANK2) in HAL_NAND_Write_Page_16b()
1119 nandaddress = ARRAY_ADDRESS(pAddress, hnand); in HAL_NAND_Write_Page_16b()
1122 … while ((nbpages != 0U) && (nandaddress < ((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)))) in HAL_NAND_Write_Page_16b()
1131 if ((hnand->Config.PageSize) <= 512U) in HAL_NAND_Write_Page_16b()
1133 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Write_Page_16b()
1156 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Write_Page_16b()
1184 if (hnand->Init.MemoryDataWidth == FSMC_NAND_PCC_MEM_BUS_WIDTH_8) in HAL_NAND_Write_Page_16b()
1186 if (hnand->Init.MemoryDataWidth == FMC_NAND_PCC_MEM_BUS_WIDTH_8) in HAL_NAND_Write_Page_16b()
1189 hnand->Config.PageSize = hnand->Config.PageSize / 2U; in HAL_NAND_Write_Page_16b()
1198 for (index = 0U; index < hnand->Config.PageSize; index++) in HAL_NAND_Write_Page_16b()
1212 while (HAL_NAND_Read_Status(hnand) != NAND_READY) in HAL_NAND_Write_Page_16b()
1217 hnand->State = HAL_NAND_STATE_ERROR; in HAL_NAND_Write_Page_16b()
1220 __HAL_UNLOCK(hnand); in HAL_NAND_Write_Page_16b()
1237 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_Write_Page_16b()
1240 __HAL_UNLOCK(hnand); in HAL_NAND_Write_Page_16b()
1259 HAL_StatusTypeDef HAL_NAND_Read_SpareArea_8b(NAND_HandleTypeDef *hnand, const NAND_AddressTypeDef *… in HAL_NAND_Read_SpareArea_8b() argument
1272 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_Read_SpareArea_8b()
1276 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_Read_SpareArea_8b()
1279 __HAL_LOCK(hnand); in HAL_NAND_Read_SpareArea_8b()
1282 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_Read_SpareArea_8b()
1286 if (hnand->Init.NandBank == FMC_NAND_BANK2) in HAL_NAND_Read_SpareArea_8b()
1299 nandaddress = ARRAY_ADDRESS(pAddress, hnand); in HAL_NAND_Read_SpareArea_8b()
1302 columnaddress = COLUMN_ADDRESS(hnand); in HAL_NAND_Read_SpareArea_8b()
1305 … while ((nbspare != 0U) && (nandaddress < ((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)))) in HAL_NAND_Read_SpareArea_8b()
1308 if ((hnand->Config.PageSize) <= 512U) in HAL_NAND_Read_SpareArea_8b()
1314 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Read_SpareArea_8b()
1341 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Read_SpareArea_8b()
1370 if (hnand->Config.ExtraCommandEnable == ENABLE) in HAL_NAND_Read_SpareArea_8b()
1376 while (HAL_NAND_Read_Status(hnand) != NAND_READY) in HAL_NAND_Read_SpareArea_8b()
1381 hnand->State = HAL_NAND_STATE_ERROR; in HAL_NAND_Read_SpareArea_8b()
1384 __HAL_UNLOCK(hnand); in HAL_NAND_Read_SpareArea_8b()
1396 for (index = 0U; index < hnand->Config.SpareAreaSize; index++) in HAL_NAND_Read_SpareArea_8b()
1413 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_Read_SpareArea_8b()
1416 __HAL_UNLOCK(hnand); in HAL_NAND_Read_SpareArea_8b()
1435 HAL_StatusTypeDef HAL_NAND_Read_SpareArea_16b(NAND_HandleTypeDef *hnand, const NAND_AddressTypeDef … in HAL_NAND_Read_SpareArea_16b() argument
1448 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_Read_SpareArea_16b()
1452 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_Read_SpareArea_16b()
1455 __HAL_LOCK(hnand); in HAL_NAND_Read_SpareArea_16b()
1458 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_Read_SpareArea_16b()
1462 if (hnand->Init.NandBank == FMC_NAND_BANK2) in HAL_NAND_Read_SpareArea_16b()
1475 nandaddress = ARRAY_ADDRESS(pAddress, hnand); in HAL_NAND_Read_SpareArea_16b()
1478 columnaddress = (uint32_t)(COLUMN_ADDRESS(hnand)); in HAL_NAND_Read_SpareArea_16b()
1481 … while ((nbspare != 0U) && (nandaddress < ((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)))) in HAL_NAND_Read_SpareArea_16b()
1484 if ((hnand->Config.PageSize) <= 512U) in HAL_NAND_Read_SpareArea_16b()
1490 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Read_SpareArea_16b()
1517 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Read_SpareArea_16b()
1546 if (hnand->Config.ExtraCommandEnable == ENABLE) in HAL_NAND_Read_SpareArea_16b()
1552 while (HAL_NAND_Read_Status(hnand) != NAND_READY) in HAL_NAND_Read_SpareArea_16b()
1557 hnand->State = HAL_NAND_STATE_ERROR; in HAL_NAND_Read_SpareArea_16b()
1560 __HAL_UNLOCK(hnand); in HAL_NAND_Read_SpareArea_16b()
1572 for (index = 0U; index < hnand->Config.SpareAreaSize; index++) in HAL_NAND_Read_SpareArea_16b()
1589 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_Read_SpareArea_16b()
1592 __HAL_UNLOCK(hnand); in HAL_NAND_Read_SpareArea_16b()
1611 HAL_StatusTypeDef HAL_NAND_Write_SpareArea_8b(NAND_HandleTypeDef *hnand, const NAND_AddressTypeDef … in HAL_NAND_Write_SpareArea_8b() argument
1624 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_Write_SpareArea_8b()
1628 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_Write_SpareArea_8b()
1631 __HAL_LOCK(hnand); in HAL_NAND_Write_SpareArea_8b()
1634 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_Write_SpareArea_8b()
1638 if (hnand->Init.NandBank == FMC_NAND_BANK2) in HAL_NAND_Write_SpareArea_8b()
1651 nandaddress = ARRAY_ADDRESS(pAddress, hnand); in HAL_NAND_Write_SpareArea_8b()
1654 columnaddress = COLUMN_ADDRESS(hnand); in HAL_NAND_Write_SpareArea_8b()
1657 … while ((nbspare != 0U) && (nandaddress < ((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)))) in HAL_NAND_Write_SpareArea_8b()
1660 if ((hnand->Config.PageSize) <= 512U) in HAL_NAND_Write_SpareArea_8b()
1668 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Write_SpareArea_8b()
1697 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Write_SpareArea_8b()
1724 for (index = 0U; index < hnand->Config.SpareAreaSize; index++) in HAL_NAND_Write_SpareArea_8b()
1738 while (HAL_NAND_Read_Status(hnand) != NAND_READY) in HAL_NAND_Write_SpareArea_8b()
1743 hnand->State = HAL_NAND_STATE_ERROR; in HAL_NAND_Write_SpareArea_8b()
1746 __HAL_UNLOCK(hnand); in HAL_NAND_Write_SpareArea_8b()
1763 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_Write_SpareArea_8b()
1766 __HAL_UNLOCK(hnand); in HAL_NAND_Write_SpareArea_8b()
1785 HAL_StatusTypeDef HAL_NAND_Write_SpareArea_16b(NAND_HandleTypeDef *hnand, const NAND_AddressTypeDef… in HAL_NAND_Write_SpareArea_16b() argument
1798 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_Write_SpareArea_16b()
1802 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_Write_SpareArea_16b()
1805 __HAL_LOCK(hnand); in HAL_NAND_Write_SpareArea_16b()
1808 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_Write_SpareArea_16b()
1812 if (hnand->Init.NandBank == FMC_NAND_BANK2) in HAL_NAND_Write_SpareArea_16b()
1825 nandaddress = ARRAY_ADDRESS(pAddress, hnand); in HAL_NAND_Write_SpareArea_16b()
1828 columnaddress = (uint32_t)(COLUMN_ADDRESS(hnand)); in HAL_NAND_Write_SpareArea_16b()
1831 … while ((nbspare != 0U) && (nandaddress < ((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)))) in HAL_NAND_Write_SpareArea_16b()
1834 if ((hnand->Config.PageSize) <= 512U) in HAL_NAND_Write_SpareArea_16b()
1842 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Write_SpareArea_16b()
1871 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Write_SpareArea_16b()
1898 for (index = 0U; index < hnand->Config.SpareAreaSize; index++) in HAL_NAND_Write_SpareArea_16b()
1912 while (HAL_NAND_Read_Status(hnand) != NAND_READY) in HAL_NAND_Write_SpareArea_16b()
1917 hnand->State = HAL_NAND_STATE_ERROR; in HAL_NAND_Write_SpareArea_16b()
1920 __HAL_UNLOCK(hnand); in HAL_NAND_Write_SpareArea_16b()
1937 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_Write_SpareArea_16b()
1940 __HAL_UNLOCK(hnand); in HAL_NAND_Write_SpareArea_16b()
1957 HAL_StatusTypeDef HAL_NAND_Erase_Block(NAND_HandleTypeDef *hnand, const NAND_AddressTypeDef *pAddre… in HAL_NAND_Erase_Block() argument
1962 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_Erase_Block()
1966 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_Erase_Block()
1969 __HAL_LOCK(hnand); in HAL_NAND_Erase_Block()
1972 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_Erase_Block()
1976 if (hnand->Init.NandBank == FMC_NAND_BANK2) in HAL_NAND_Erase_Block()
1991 …uint8_t *)((uint32_t)(deviceaddress | ADDR_AREA)) = ADDR_1ST_CYCLE(ARRAY_ADDRESS(pAddress, hnand)); in HAL_NAND_Erase_Block()
1993 …uint8_t *)((uint32_t)(deviceaddress | ADDR_AREA)) = ADDR_2ND_CYCLE(ARRAY_ADDRESS(pAddress, hnand)); in HAL_NAND_Erase_Block()
1995 …uint8_t *)((uint32_t)(deviceaddress | ADDR_AREA)) = ADDR_3RD_CYCLE(ARRAY_ADDRESS(pAddress, hnand)); in HAL_NAND_Erase_Block()
2002 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_Erase_Block()
2005 __HAL_UNLOCK(hnand); in HAL_NAND_Erase_Block()
2024 uint32_t HAL_NAND_Address_Inc(const NAND_HandleTypeDef *hnand, NAND_AddressTypeDef *pAddress) in HAL_NAND_Address_Inc() argument
2032 if (pAddress->Page == hnand->Config.BlockSize) in HAL_NAND_Address_Inc()
2037 if (pAddress->Block == hnand->Config.PlaneSize) in HAL_NAND_Address_Inc()
2042 if (pAddress->Plane == (hnand->Config.PlaneNbr)) in HAL_NAND_Address_Inc()
2065 HAL_StatusTypeDef HAL_NAND_RegisterCallback(NAND_HandleTypeDef *hnand, HAL_NAND_CallbackIDTypeDef C… in HAL_NAND_RegisterCallback() argument
2075 if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_RegisterCallback()
2080 hnand->MspInitCallback = pCallback; in HAL_NAND_RegisterCallback()
2083 hnand->MspDeInitCallback = pCallback; in HAL_NAND_RegisterCallback()
2086 hnand->ItCallback = pCallback; in HAL_NAND_RegisterCallback()
2094 else if (hnand->State == HAL_NAND_STATE_RESET) in HAL_NAND_RegisterCallback()
2099 hnand->MspInitCallback = pCallback; in HAL_NAND_RegisterCallback()
2102 hnand->MspDeInitCallback = pCallback; in HAL_NAND_RegisterCallback()
2130 HAL_StatusTypeDef HAL_NAND_UnRegisterCallback(NAND_HandleTypeDef *hnand, HAL_NAND_CallbackIDTypeDef… in HAL_NAND_UnRegisterCallback() argument
2134 if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_UnRegisterCallback()
2139 hnand->MspInitCallback = HAL_NAND_MspInit; in HAL_NAND_UnRegisterCallback()
2142 hnand->MspDeInitCallback = HAL_NAND_MspDeInit; in HAL_NAND_UnRegisterCallback()
2145 hnand->ItCallback = HAL_NAND_ITCallback; in HAL_NAND_UnRegisterCallback()
2153 else if (hnand->State == HAL_NAND_STATE_RESET) in HAL_NAND_UnRegisterCallback()
2158 hnand->MspInitCallback = HAL_NAND_MspInit; in HAL_NAND_UnRegisterCallback()
2161 hnand->MspDeInitCallback = HAL_NAND_MspDeInit; in HAL_NAND_UnRegisterCallback()
2205 HAL_StatusTypeDef HAL_NAND_ECC_Enable(NAND_HandleTypeDef *hnand) in HAL_NAND_ECC_Enable() argument
2208 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_ECC_Enable()
2212 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_ECC_Enable()
2215 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_ECC_Enable()
2218 (void)FMC_NAND_ECC_Enable(hnand->Instance, hnand->Init.NandBank); in HAL_NAND_ECC_Enable()
2221 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_ECC_Enable()
2237 HAL_StatusTypeDef HAL_NAND_ECC_Disable(NAND_HandleTypeDef *hnand) in HAL_NAND_ECC_Disable() argument
2240 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_ECC_Disable()
2244 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_ECC_Disable()
2247 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_ECC_Disable()
2250 (void)FMC_NAND_ECC_Disable(hnand->Instance, hnand->Init.NandBank); in HAL_NAND_ECC_Disable()
2253 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_ECC_Disable()
2271 HAL_StatusTypeDef HAL_NAND_GetECC(NAND_HandleTypeDef *hnand, uint32_t *ECCval, uint32_t Timeout) in HAL_NAND_GetECC() argument
2276 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_GetECC()
2280 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_GetECC()
2283 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_GetECC()
2286 status = FMC_NAND_GetECC(hnand->Instance, ECCval, hnand->Init.NandBank, Timeout); in HAL_NAND_GetECC()
2289 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_GetECC()
2325 HAL_NAND_StateTypeDef HAL_NAND_GetState(const NAND_HandleTypeDef *hnand) in HAL_NAND_GetState() argument
2327 return hnand->State; in HAL_NAND_GetState()
2336 uint32_t HAL_NAND_Read_Status(const NAND_HandleTypeDef *hnand) in HAL_NAND_Read_Status() argument
2340 UNUSED(hnand); in HAL_NAND_Read_Status()
2344 if (hnand->Init.NandBank == FMC_NAND_BANK2) in HAL_NAND_Read_Status()