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()
198 __FMC_NAND_ENABLE(hnand->Instance, hnand->Init.NandBank); in HAL_NAND_Init()
201 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_Init()
212 HAL_StatusTypeDef HAL_NAND_DeInit(NAND_HandleTypeDef *hnand) in HAL_NAND_DeInit() argument
215 if (hnand->MspDeInitCallback == NULL) in HAL_NAND_DeInit()
217 hnand->MspDeInitCallback = HAL_NAND_MspDeInit; in HAL_NAND_DeInit()
221 hnand->MspDeInitCallback(hnand); in HAL_NAND_DeInit()
224 HAL_NAND_MspDeInit(hnand); in HAL_NAND_DeInit()
228 (void)FMC_NAND_DeInit(hnand->Instance, hnand->Init.NandBank); in HAL_NAND_DeInit()
231 hnand->State = HAL_NAND_STATE_RESET; in HAL_NAND_DeInit()
234 __HAL_UNLOCK(hnand); in HAL_NAND_DeInit()
245 __weak void HAL_NAND_MspInit(NAND_HandleTypeDef *hnand) in HAL_NAND_MspInit() argument
248 UNUSED(hnand); in HAL_NAND_MspInit()
261 __weak void HAL_NAND_MspDeInit(NAND_HandleTypeDef *hnand) in HAL_NAND_MspDeInit() argument
264 UNUSED(hnand); in HAL_NAND_MspDeInit()
278 void HAL_NAND_IRQHandler(NAND_HandleTypeDef *hnand) in HAL_NAND_IRQHandler() argument
281 if (__FMC_NAND_GET_FLAG(hnand->Instance, hnand->Init.NandBank, FMC_FLAG_RISING_EDGE)) in HAL_NAND_IRQHandler()
285 hnand->ItCallback(hnand); in HAL_NAND_IRQHandler()
287 HAL_NAND_ITCallback(hnand); in HAL_NAND_IRQHandler()
291 __FMC_NAND_CLEAR_FLAG(hnand->Instance, hnand->Init.NandBank, FMC_FLAG_RISING_EDGE); in HAL_NAND_IRQHandler()
295 if (__FMC_NAND_GET_FLAG(hnand->Instance, hnand->Init.NandBank, FMC_FLAG_LEVEL)) in HAL_NAND_IRQHandler()
299 hnand->ItCallback(hnand); in HAL_NAND_IRQHandler()
301 HAL_NAND_ITCallback(hnand); in HAL_NAND_IRQHandler()
305 __FMC_NAND_CLEAR_FLAG(hnand->Instance, hnand->Init.NandBank, FMC_FLAG_LEVEL); in HAL_NAND_IRQHandler()
309 if (__FMC_NAND_GET_FLAG(hnand->Instance, hnand->Init.NandBank, FMC_FLAG_FALLING_EDGE)) in HAL_NAND_IRQHandler()
313 hnand->ItCallback(hnand); in HAL_NAND_IRQHandler()
315 HAL_NAND_ITCallback(hnand); in HAL_NAND_IRQHandler()
319 __FMC_NAND_CLEAR_FLAG(hnand->Instance, hnand->Init.NandBank, FMC_FLAG_FALLING_EDGE); in HAL_NAND_IRQHandler()
323 if (__FMC_NAND_GET_FLAG(hnand->Instance, hnand->Init.NandBank, FMC_FLAG_FEMPT)) in HAL_NAND_IRQHandler()
327 hnand->ItCallback(hnand); in HAL_NAND_IRQHandler()
329 HAL_NAND_ITCallback(hnand); in HAL_NAND_IRQHandler()
333 __FMC_NAND_CLEAR_FLAG(hnand->Instance, hnand->Init.NandBank, FMC_FLAG_FEMPT); in HAL_NAND_IRQHandler()
344 __weak void HAL_NAND_ITCallback(NAND_HandleTypeDef *hnand) in HAL_NAND_ITCallback() argument
347 UNUSED(hnand); in HAL_NAND_ITCallback()
380 HAL_StatusTypeDef HAL_NAND_Read_ID(NAND_HandleTypeDef *hnand, NAND_IDTypeDef *pNAND_ID) in HAL_NAND_Read_ID() argument
387 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_Read_ID()
391 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_Read_ID()
394 __HAL_LOCK(hnand); in HAL_NAND_Read_ID()
397 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_Read_ID()
400 if (hnand->Init.NandBank == FMC_NAND_BANK2) in HAL_NAND_Read_ID()
416 if (hnand->Init.MemoryDataWidth == FMC_NAND_PCC_MEM_BUS_WIDTH_8) in HAL_NAND_Read_ID()
439 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_Read_ID()
442 __HAL_UNLOCK(hnand); in HAL_NAND_Read_ID()
458 HAL_StatusTypeDef HAL_NAND_Reset(NAND_HandleTypeDef *hnand) in HAL_NAND_Reset() argument
463 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_Reset()
467 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_Reset()
470 __HAL_LOCK(hnand); in HAL_NAND_Reset()
473 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_Reset()
476 if (hnand->Init.NandBank == FMC_NAND_BANK2) in HAL_NAND_Reset()
489 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_Reset()
492 __HAL_UNLOCK(hnand); in HAL_NAND_Reset()
510 HAL_StatusTypeDef HAL_NAND_ConfigDevice(NAND_HandleTypeDef *hnand, NAND_DeviceConfigTypeDef *pDevi… in HAL_NAND_ConfigDevice() argument
512 hnand->Config.PageSize = pDeviceConfig->PageSize; in HAL_NAND_ConfigDevice()
513 hnand->Config.SpareAreaSize = pDeviceConfig->SpareAreaSize; in HAL_NAND_ConfigDevice()
514 hnand->Config.BlockSize = pDeviceConfig->BlockSize; in HAL_NAND_ConfigDevice()
515 hnand->Config.BlockNbr = pDeviceConfig->BlockNbr; in HAL_NAND_ConfigDevice()
516 hnand->Config.PlaneSize = pDeviceConfig->PlaneSize; in HAL_NAND_ConfigDevice()
517 hnand->Config.PlaneNbr = pDeviceConfig->PlaneNbr; in HAL_NAND_ConfigDevice()
518 hnand->Config.ExtraCommandEnable = pDeviceConfig->ExtraCommandEnable; in HAL_NAND_ConfigDevice()
532 HAL_StatusTypeDef HAL_NAND_Read_Page_8b(NAND_HandleTypeDef *hnand, const NAND_AddressTypeDef *pAddr… in HAL_NAND_Read_Page_8b() argument
544 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_Read_Page_8b()
548 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_Read_Page_8b()
551 __HAL_LOCK(hnand); in HAL_NAND_Read_Page_8b()
554 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_Read_Page_8b()
557 if (hnand->Init.NandBank == FMC_NAND_BANK2) in HAL_NAND_Read_Page_8b()
567 nandaddress = ARRAY_ADDRESS(pAddress, hnand); in HAL_NAND_Read_Page_8b()
570 … while ((nbpages != 0U) && (nandaddress < ((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)))) in HAL_NAND_Read_Page_8b()
577 if ((hnand->Config.PageSize) <= 512U) in HAL_NAND_Read_Page_8b()
579 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Read_Page_8b()
602 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Read_Page_8b()
632 if (hnand->Config.ExtraCommandEnable == ENABLE) in HAL_NAND_Read_Page_8b()
638 while (HAL_NAND_Read_Status(hnand) != NAND_READY) in HAL_NAND_Read_Page_8b()
643 hnand->State = HAL_NAND_STATE_ERROR; in HAL_NAND_Read_Page_8b()
646 __HAL_UNLOCK(hnand); in HAL_NAND_Read_Page_8b()
658 for (index = 0U; index < hnand->Config.PageSize; index++) in HAL_NAND_Read_Page_8b()
675 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_Read_Page_8b()
678 __HAL_UNLOCK(hnand); in HAL_NAND_Read_Page_8b()
697 HAL_StatusTypeDef HAL_NAND_Read_Page_16b(NAND_HandleTypeDef *hnand, const NAND_AddressTypeDef *pAdd… in HAL_NAND_Read_Page_16b() argument
709 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_Read_Page_16b()
713 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_Read_Page_16b()
716 __HAL_LOCK(hnand); in HAL_NAND_Read_Page_16b()
719 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_Read_Page_16b()
722 if (hnand->Init.NandBank == FMC_NAND_BANK2) in HAL_NAND_Read_Page_16b()
732 nandaddress = ARRAY_ADDRESS(pAddress, hnand); in HAL_NAND_Read_Page_16b()
735 … while ((nbpages != 0U) && (nandaddress < ((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)))) in HAL_NAND_Read_Page_16b()
742 if ((hnand->Config.PageSize) <= 512U) in HAL_NAND_Read_Page_16b()
744 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Read_Page_16b()
767 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Read_Page_16b()
796 if (hnand->Config.ExtraCommandEnable == ENABLE) in HAL_NAND_Read_Page_16b()
802 while (HAL_NAND_Read_Status(hnand) != NAND_READY) in HAL_NAND_Read_Page_16b()
807 hnand->State = HAL_NAND_STATE_ERROR; in HAL_NAND_Read_Page_16b()
810 __HAL_UNLOCK(hnand); in HAL_NAND_Read_Page_16b()
822 if (hnand->Init.MemoryDataWidth == FMC_NAND_PCC_MEM_BUS_WIDTH_8) in HAL_NAND_Read_Page_16b()
824 hnand->Config.PageSize = hnand->Config.PageSize / 2U; in HAL_NAND_Read_Page_16b()
833 for (index = 0U; index < hnand->Config.PageSize; index++) in HAL_NAND_Read_Page_16b()
850 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_Read_Page_16b()
853 __HAL_UNLOCK(hnand); in HAL_NAND_Read_Page_16b()
872 HAL_StatusTypeDef HAL_NAND_Write_Page_8b(NAND_HandleTypeDef *hnand, const NAND_AddressTypeDef *pAdd… in HAL_NAND_Write_Page_8b() argument
884 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_Write_Page_8b()
888 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_Write_Page_8b()
891 __HAL_LOCK(hnand); in HAL_NAND_Write_Page_8b()
894 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_Write_Page_8b()
897 if (hnand->Init.NandBank == FMC_NAND_BANK2) in HAL_NAND_Write_Page_8b()
907 nandaddress = ARRAY_ADDRESS(pAddress, hnand); in HAL_NAND_Write_Page_8b()
910 … while ((nbpages != 0U) && (nandaddress < ((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)))) in HAL_NAND_Write_Page_8b()
919 if ((hnand->Config.PageSize) <= 512U) in HAL_NAND_Write_Page_8b()
921 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Write_Page_8b()
944 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Write_Page_8b()
971 for (index = 0U; index < hnand->Config.PageSize; index++) in HAL_NAND_Write_Page_8b()
985 while (HAL_NAND_Read_Status(hnand) != NAND_READY) in HAL_NAND_Write_Page_8b()
990 hnand->State = HAL_NAND_STATE_ERROR; in HAL_NAND_Write_Page_8b()
993 __HAL_UNLOCK(hnand); in HAL_NAND_Write_Page_8b()
1010 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_Write_Page_8b()
1013 __HAL_UNLOCK(hnand); in HAL_NAND_Write_Page_8b()
1032 HAL_StatusTypeDef HAL_NAND_Write_Page_16b(NAND_HandleTypeDef *hnand, const NAND_AddressTypeDef *pAd… in HAL_NAND_Write_Page_16b() argument
1044 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_Write_Page_16b()
1048 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_Write_Page_16b()
1051 __HAL_LOCK(hnand); in HAL_NAND_Write_Page_16b()
1054 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_Write_Page_16b()
1057 if (hnand->Init.NandBank == FMC_NAND_BANK2) in HAL_NAND_Write_Page_16b()
1067 nandaddress = ARRAY_ADDRESS(pAddress, hnand); in HAL_NAND_Write_Page_16b()
1070 … while ((nbpages != 0U) && (nandaddress < ((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)))) in HAL_NAND_Write_Page_16b()
1079 if ((hnand->Config.PageSize) <= 512U) in HAL_NAND_Write_Page_16b()
1081 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Write_Page_16b()
1104 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Write_Page_16b()
1131 if (hnand->Init.MemoryDataWidth == FMC_NAND_PCC_MEM_BUS_WIDTH_8) in HAL_NAND_Write_Page_16b()
1133 hnand->Config.PageSize = hnand->Config.PageSize / 2U; in HAL_NAND_Write_Page_16b()
1142 for (index = 0U; index < hnand->Config.PageSize; index++) in HAL_NAND_Write_Page_16b()
1156 while (HAL_NAND_Read_Status(hnand) != NAND_READY) in HAL_NAND_Write_Page_16b()
1161 hnand->State = HAL_NAND_STATE_ERROR; in HAL_NAND_Write_Page_16b()
1164 __HAL_UNLOCK(hnand); in HAL_NAND_Write_Page_16b()
1181 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_Write_Page_16b()
1184 __HAL_UNLOCK(hnand); in HAL_NAND_Write_Page_16b()
1203 HAL_StatusTypeDef HAL_NAND_Read_SpareArea_8b(NAND_HandleTypeDef *hnand, const NAND_AddressTypeDef *… in HAL_NAND_Read_SpareArea_8b() argument
1216 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_Read_SpareArea_8b()
1220 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_Read_SpareArea_8b()
1223 __HAL_LOCK(hnand); in HAL_NAND_Read_SpareArea_8b()
1226 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_Read_SpareArea_8b()
1229 if (hnand->Init.NandBank == FMC_NAND_BANK2) in HAL_NAND_Read_SpareArea_8b()
1239 nandaddress = ARRAY_ADDRESS(pAddress, hnand); in HAL_NAND_Read_SpareArea_8b()
1242 columnaddress = COLUMN_ADDRESS(hnand); in HAL_NAND_Read_SpareArea_8b()
1245 … while ((nbspare != 0U) && (nandaddress < ((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)))) in HAL_NAND_Read_SpareArea_8b()
1248 if ((hnand->Config.PageSize) <= 512U) in HAL_NAND_Read_SpareArea_8b()
1254 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Read_SpareArea_8b()
1281 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Read_SpareArea_8b()
1310 if (hnand->Config.ExtraCommandEnable == ENABLE) in HAL_NAND_Read_SpareArea_8b()
1316 while (HAL_NAND_Read_Status(hnand) != NAND_READY) in HAL_NAND_Read_SpareArea_8b()
1321 hnand->State = HAL_NAND_STATE_ERROR; in HAL_NAND_Read_SpareArea_8b()
1324 __HAL_UNLOCK(hnand); in HAL_NAND_Read_SpareArea_8b()
1336 for (index = 0U; index < hnand->Config.SpareAreaSize; index++) in HAL_NAND_Read_SpareArea_8b()
1353 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_Read_SpareArea_8b()
1356 __HAL_UNLOCK(hnand); in HAL_NAND_Read_SpareArea_8b()
1375 HAL_StatusTypeDef HAL_NAND_Read_SpareArea_16b(NAND_HandleTypeDef *hnand, const NAND_AddressTypeDef … in HAL_NAND_Read_SpareArea_16b() argument
1388 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_Read_SpareArea_16b()
1392 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_Read_SpareArea_16b()
1395 __HAL_LOCK(hnand); in HAL_NAND_Read_SpareArea_16b()
1398 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_Read_SpareArea_16b()
1401 if (hnand->Init.NandBank == FMC_NAND_BANK2) in HAL_NAND_Read_SpareArea_16b()
1411 nandaddress = ARRAY_ADDRESS(pAddress, hnand); in HAL_NAND_Read_SpareArea_16b()
1414 columnaddress = (uint32_t)(COLUMN_ADDRESS(hnand)); in HAL_NAND_Read_SpareArea_16b()
1417 … while ((nbspare != 0U) && (nandaddress < ((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)))) in HAL_NAND_Read_SpareArea_16b()
1420 if ((hnand->Config.PageSize) <= 512U) in HAL_NAND_Read_SpareArea_16b()
1426 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Read_SpareArea_16b()
1453 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Read_SpareArea_16b()
1482 if (hnand->Config.ExtraCommandEnable == ENABLE) in HAL_NAND_Read_SpareArea_16b()
1488 while (HAL_NAND_Read_Status(hnand) != NAND_READY) in HAL_NAND_Read_SpareArea_16b()
1493 hnand->State = HAL_NAND_STATE_ERROR; in HAL_NAND_Read_SpareArea_16b()
1496 __HAL_UNLOCK(hnand); in HAL_NAND_Read_SpareArea_16b()
1508 for (index = 0U; index < hnand->Config.SpareAreaSize; index++) in HAL_NAND_Read_SpareArea_16b()
1525 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_Read_SpareArea_16b()
1528 __HAL_UNLOCK(hnand); in HAL_NAND_Read_SpareArea_16b()
1547 HAL_StatusTypeDef HAL_NAND_Write_SpareArea_8b(NAND_HandleTypeDef *hnand, const NAND_AddressTypeDef … in HAL_NAND_Write_SpareArea_8b() argument
1560 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_Write_SpareArea_8b()
1564 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_Write_SpareArea_8b()
1567 __HAL_LOCK(hnand); in HAL_NAND_Write_SpareArea_8b()
1570 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_Write_SpareArea_8b()
1573 if (hnand->Init.NandBank == FMC_NAND_BANK2) in HAL_NAND_Write_SpareArea_8b()
1583 nandaddress = ARRAY_ADDRESS(pAddress, hnand); in HAL_NAND_Write_SpareArea_8b()
1586 columnaddress = COLUMN_ADDRESS(hnand); in HAL_NAND_Write_SpareArea_8b()
1589 … while ((nbspare != 0U) && (nandaddress < ((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)))) in HAL_NAND_Write_SpareArea_8b()
1592 if ((hnand->Config.PageSize) <= 512U) in HAL_NAND_Write_SpareArea_8b()
1600 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Write_SpareArea_8b()
1629 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Write_SpareArea_8b()
1656 for (index = 0U; index < hnand->Config.SpareAreaSize; index++) in HAL_NAND_Write_SpareArea_8b()
1670 while (HAL_NAND_Read_Status(hnand) != NAND_READY) in HAL_NAND_Write_SpareArea_8b()
1675 hnand->State = HAL_NAND_STATE_ERROR; in HAL_NAND_Write_SpareArea_8b()
1678 __HAL_UNLOCK(hnand); in HAL_NAND_Write_SpareArea_8b()
1695 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_Write_SpareArea_8b()
1698 __HAL_UNLOCK(hnand); in HAL_NAND_Write_SpareArea_8b()
1717 HAL_StatusTypeDef HAL_NAND_Write_SpareArea_16b(NAND_HandleTypeDef *hnand, const NAND_AddressTypeDef… in HAL_NAND_Write_SpareArea_16b() argument
1730 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_Write_SpareArea_16b()
1734 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_Write_SpareArea_16b()
1737 __HAL_LOCK(hnand); in HAL_NAND_Write_SpareArea_16b()
1740 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_Write_SpareArea_16b()
1743 if (hnand->Init.NandBank == FMC_NAND_BANK2) in HAL_NAND_Write_SpareArea_16b()
1753 nandaddress = ARRAY_ADDRESS(pAddress, hnand); in HAL_NAND_Write_SpareArea_16b()
1756 columnaddress = (uint32_t)(COLUMN_ADDRESS(hnand)); in HAL_NAND_Write_SpareArea_16b()
1759 … while ((nbspare != 0U) && (nandaddress < ((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)))) in HAL_NAND_Write_SpareArea_16b()
1762 if ((hnand->Config.PageSize) <= 512U) in HAL_NAND_Write_SpareArea_16b()
1770 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Write_SpareArea_16b()
1799 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Write_SpareArea_16b()
1826 for (index = 0U; index < hnand->Config.SpareAreaSize; index++) in HAL_NAND_Write_SpareArea_16b()
1840 while (HAL_NAND_Read_Status(hnand) != NAND_READY) in HAL_NAND_Write_SpareArea_16b()
1845 hnand->State = HAL_NAND_STATE_ERROR; in HAL_NAND_Write_SpareArea_16b()
1848 __HAL_UNLOCK(hnand); in HAL_NAND_Write_SpareArea_16b()
1865 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_Write_SpareArea_16b()
1868 __HAL_UNLOCK(hnand); in HAL_NAND_Write_SpareArea_16b()
1885 HAL_StatusTypeDef HAL_NAND_Erase_Block(NAND_HandleTypeDef *hnand, const NAND_AddressTypeDef *pAddre… in HAL_NAND_Erase_Block() argument
1890 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_Erase_Block()
1894 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_Erase_Block()
1897 __HAL_LOCK(hnand); in HAL_NAND_Erase_Block()
1900 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_Erase_Block()
1903 if (hnand->Init.NandBank == FMC_NAND_BANK2) in HAL_NAND_Erase_Block()
1915 …uint8_t *)((uint32_t)(deviceaddress | ADDR_AREA)) = ADDR_1ST_CYCLE(ARRAY_ADDRESS(pAddress, hnand)); in HAL_NAND_Erase_Block()
1917 …uint8_t *)((uint32_t)(deviceaddress | ADDR_AREA)) = ADDR_2ND_CYCLE(ARRAY_ADDRESS(pAddress, hnand)); in HAL_NAND_Erase_Block()
1919 …uint8_t *)((uint32_t)(deviceaddress | ADDR_AREA)) = ADDR_3RD_CYCLE(ARRAY_ADDRESS(pAddress, hnand)); in HAL_NAND_Erase_Block()
1926 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_Erase_Block()
1929 __HAL_UNLOCK(hnand); in HAL_NAND_Erase_Block()
1948 uint32_t HAL_NAND_Address_Inc(const NAND_HandleTypeDef *hnand, NAND_AddressTypeDef *pAddress) in HAL_NAND_Address_Inc() argument
1956 if (pAddress->Page == hnand->Config.BlockSize) in HAL_NAND_Address_Inc()
1961 if (pAddress->Block == hnand->Config.PlaneSize) in HAL_NAND_Address_Inc()
1966 if (pAddress->Plane == (hnand->Config.PlaneNbr)) in HAL_NAND_Address_Inc()
1989 HAL_StatusTypeDef HAL_NAND_RegisterCallback(NAND_HandleTypeDef *hnand, HAL_NAND_CallbackIDTypeDef C… in HAL_NAND_RegisterCallback() argument
1999 if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_RegisterCallback()
2004 hnand->MspInitCallback = pCallback; in HAL_NAND_RegisterCallback()
2007 hnand->MspDeInitCallback = pCallback; in HAL_NAND_RegisterCallback()
2010 hnand->ItCallback = pCallback; in HAL_NAND_RegisterCallback()
2018 else if (hnand->State == HAL_NAND_STATE_RESET) in HAL_NAND_RegisterCallback()
2023 hnand->MspInitCallback = pCallback; in HAL_NAND_RegisterCallback()
2026 hnand->MspDeInitCallback = pCallback; in HAL_NAND_RegisterCallback()
2054 HAL_StatusTypeDef HAL_NAND_UnRegisterCallback(NAND_HandleTypeDef *hnand, HAL_NAND_CallbackIDTypeDef… in HAL_NAND_UnRegisterCallback() argument
2058 if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_UnRegisterCallback()
2063 hnand->MspInitCallback = HAL_NAND_MspInit; in HAL_NAND_UnRegisterCallback()
2066 hnand->MspDeInitCallback = HAL_NAND_MspDeInit; in HAL_NAND_UnRegisterCallback()
2069 hnand->ItCallback = HAL_NAND_ITCallback; in HAL_NAND_UnRegisterCallback()
2077 else if (hnand->State == HAL_NAND_STATE_RESET) in HAL_NAND_UnRegisterCallback()
2082 hnand->MspInitCallback = HAL_NAND_MspInit; in HAL_NAND_UnRegisterCallback()
2085 hnand->MspDeInitCallback = HAL_NAND_MspDeInit; in HAL_NAND_UnRegisterCallback()
2129 HAL_StatusTypeDef HAL_NAND_ECC_Enable(NAND_HandleTypeDef *hnand) in HAL_NAND_ECC_Enable() argument
2132 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_ECC_Enable()
2136 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_ECC_Enable()
2139 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_ECC_Enable()
2142 (void)FMC_NAND_ECC_Enable(hnand->Instance, hnand->Init.NandBank); in HAL_NAND_ECC_Enable()
2145 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_ECC_Enable()
2161 HAL_StatusTypeDef HAL_NAND_ECC_Disable(NAND_HandleTypeDef *hnand) in HAL_NAND_ECC_Disable() argument
2164 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_ECC_Disable()
2168 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_ECC_Disable()
2171 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_ECC_Disable()
2174 (void)FMC_NAND_ECC_Disable(hnand->Instance, hnand->Init.NandBank); in HAL_NAND_ECC_Disable()
2177 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_ECC_Disable()
2195 HAL_StatusTypeDef HAL_NAND_GetECC(NAND_HandleTypeDef *hnand, uint32_t *ECCval, uint32_t Timeout) in HAL_NAND_GetECC() argument
2200 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_GetECC()
2204 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_GetECC()
2207 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_GetECC()
2210 status = FMC_NAND_GetECC(hnand->Instance, ECCval, hnand->Init.NandBank, Timeout); in HAL_NAND_GetECC()
2213 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_GetECC()
2249 HAL_NAND_StateTypeDef HAL_NAND_GetState(const NAND_HandleTypeDef *hnand) in HAL_NAND_GetState() argument
2251 return hnand->State; in HAL_NAND_GetState()
2260 uint32_t HAL_NAND_Read_Status(const NAND_HandleTypeDef *hnand) in HAL_NAND_Read_Status() argument
2264 UNUSED(hnand); in HAL_NAND_Read_Status()
2267 if (hnand->Init.NandBank == FMC_NAND_BANK2) in HAL_NAND_Read_Status()