Lines Matching refs:hnand
158 HAL_StatusTypeDef HAL_NAND_Init(NAND_HandleTypeDef *hnand, FMC_NAND_PCC_TimingTypeDef *ComSpace_Ti… in HAL_NAND_Init() argument
162 if (hnand == NULL) in HAL_NAND_Init()
167 if (hnand->State == HAL_NAND_STATE_RESET) in HAL_NAND_Init()
170 hnand->Lock = HAL_UNLOCKED; in HAL_NAND_Init()
173 if (hnand->MspInitCallback == NULL) in HAL_NAND_Init()
175 hnand->MspInitCallback = HAL_NAND_MspInit; in HAL_NAND_Init()
177 hnand->ItCallback = HAL_NAND_ITCallback; in HAL_NAND_Init()
180 hnand->MspInitCallback(hnand); in HAL_NAND_Init()
183 HAL_NAND_MspInit(hnand); in HAL_NAND_Init()
188 (void)FMC_NAND_Init(hnand->Instance, &(hnand->Init)); in HAL_NAND_Init()
191 (void)FMC_NAND_CommonSpace_Timing_Init(hnand->Instance, ComSpace_Timing, hnand->Init.NandBank); in HAL_NAND_Init()
194 (void)FMC_NAND_AttributeSpace_Timing_Init(hnand->Instance, AttSpace_Timing, hnand->Init.NandBank); in HAL_NAND_Init()
197 __FMC_NAND_ENABLE(hnand->Instance); in HAL_NAND_Init()
202 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_Init()
213 HAL_StatusTypeDef HAL_NAND_DeInit(NAND_HandleTypeDef *hnand) in HAL_NAND_DeInit() argument
216 if (hnand->MspDeInitCallback == NULL) in HAL_NAND_DeInit()
218 hnand->MspDeInitCallback = HAL_NAND_MspDeInit; in HAL_NAND_DeInit()
222 hnand->MspDeInitCallback(hnand); in HAL_NAND_DeInit()
225 HAL_NAND_MspDeInit(hnand); in HAL_NAND_DeInit()
229 (void)FMC_NAND_DeInit(hnand->Instance, hnand->Init.NandBank); in HAL_NAND_DeInit()
232 hnand->State = HAL_NAND_STATE_RESET; in HAL_NAND_DeInit()
235 __HAL_UNLOCK(hnand); in HAL_NAND_DeInit()
246 __weak void HAL_NAND_MspInit(NAND_HandleTypeDef *hnand) in HAL_NAND_MspInit() argument
249 UNUSED(hnand); in HAL_NAND_MspInit()
262 __weak void HAL_NAND_MspDeInit(NAND_HandleTypeDef *hnand) in HAL_NAND_MspDeInit() argument
265 UNUSED(hnand); in HAL_NAND_MspDeInit()
279 void HAL_NAND_IRQHandler(NAND_HandleTypeDef *hnand) in HAL_NAND_IRQHandler() argument
282 if (__FMC_NAND_GET_FLAG(hnand->Instance, hnand->Init.NandBank, FMC_FLAG_RISING_EDGE)) in HAL_NAND_IRQHandler()
286 hnand->ItCallback(hnand); in HAL_NAND_IRQHandler()
288 HAL_NAND_ITCallback(hnand); in HAL_NAND_IRQHandler()
292 __FMC_NAND_CLEAR_FLAG(hnand->Instance, FMC_FLAG_RISING_EDGE); in HAL_NAND_IRQHandler()
296 if (__FMC_NAND_GET_FLAG(hnand->Instance, hnand->Init.NandBank, FMC_FLAG_LEVEL)) in HAL_NAND_IRQHandler()
300 hnand->ItCallback(hnand); in HAL_NAND_IRQHandler()
302 HAL_NAND_ITCallback(hnand); in HAL_NAND_IRQHandler()
306 __FMC_NAND_CLEAR_FLAG(hnand->Instance, FMC_FLAG_LEVEL); in HAL_NAND_IRQHandler()
310 if (__FMC_NAND_GET_FLAG(hnand->Instance, hnand->Init.NandBank, FMC_FLAG_FALLING_EDGE)) in HAL_NAND_IRQHandler()
314 hnand->ItCallback(hnand); in HAL_NAND_IRQHandler()
316 HAL_NAND_ITCallback(hnand); in HAL_NAND_IRQHandler()
320 __FMC_NAND_CLEAR_FLAG(hnand->Instance, FMC_FLAG_FALLING_EDGE); in HAL_NAND_IRQHandler()
324 if (__FMC_NAND_GET_FLAG(hnand->Instance, hnand->Init.NandBank, FMC_FLAG_FEMPT)) in HAL_NAND_IRQHandler()
328 hnand->ItCallback(hnand); in HAL_NAND_IRQHandler()
330 HAL_NAND_ITCallback(hnand); in HAL_NAND_IRQHandler()
334 __FMC_NAND_CLEAR_FLAG(hnand->Instance, FMC_FLAG_FEMPT); in HAL_NAND_IRQHandler()
345 __weak void HAL_NAND_ITCallback(NAND_HandleTypeDef *hnand) in HAL_NAND_ITCallback() argument
348 UNUSED(hnand); in HAL_NAND_ITCallback()
381 HAL_StatusTypeDef HAL_NAND_Read_ID(NAND_HandleTypeDef *hnand, NAND_IDTypeDef *pNAND_ID) in HAL_NAND_Read_ID() argument
388 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_Read_ID()
392 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_Read_ID()
395 __HAL_LOCK(hnand); in HAL_NAND_Read_ID()
398 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_Read_ID()
410 if (hnand->Init.MemoryDataWidth == FMC_NAND_MEM_BUS_WIDTH_8) in HAL_NAND_Read_ID()
433 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_Read_ID()
436 __HAL_UNLOCK(hnand); in HAL_NAND_Read_ID()
452 HAL_StatusTypeDef HAL_NAND_Reset(NAND_HandleTypeDef *hnand) in HAL_NAND_Reset() argument
457 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_Reset()
461 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_Reset()
464 __HAL_LOCK(hnand); in HAL_NAND_Reset()
467 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_Reset()
476 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_Reset()
479 __HAL_UNLOCK(hnand); in HAL_NAND_Reset()
497 HAL_StatusTypeDef HAL_NAND_ConfigDevice(NAND_HandleTypeDef *hnand, const NAND_DeviceConfigTypeDef … in HAL_NAND_ConfigDevice() argument
499 hnand->Config.PageSize = pDeviceConfig->PageSize; in HAL_NAND_ConfigDevice()
500 hnand->Config.SpareAreaSize = pDeviceConfig->SpareAreaSize; in HAL_NAND_ConfigDevice()
501 hnand->Config.BlockSize = pDeviceConfig->BlockSize; in HAL_NAND_ConfigDevice()
502 hnand->Config.BlockNbr = pDeviceConfig->BlockNbr; in HAL_NAND_ConfigDevice()
503 hnand->Config.PlaneSize = pDeviceConfig->PlaneSize; in HAL_NAND_ConfigDevice()
504 hnand->Config.PlaneNbr = pDeviceConfig->PlaneNbr; in HAL_NAND_ConfigDevice()
505 hnand->Config.ExtraCommandEnable = pDeviceConfig->ExtraCommandEnable; in HAL_NAND_ConfigDevice()
519 HAL_StatusTypeDef HAL_NAND_Read_Page_8b(NAND_HandleTypeDef *hnand, const NAND_AddressTypeDef *pAddr… in HAL_NAND_Read_Page_8b() argument
531 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_Read_Page_8b()
535 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_Read_Page_8b()
538 __HAL_LOCK(hnand); in HAL_NAND_Read_Page_8b()
541 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_Read_Page_8b()
547 nandaddress = ARRAY_ADDRESS(pAddress, hnand); in HAL_NAND_Read_Page_8b()
550 … while ((nbpages != 0U) && (nandaddress < ((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)))) in HAL_NAND_Read_Page_8b()
557 if ((hnand->Config.PageSize) <= 512U) in HAL_NAND_Read_Page_8b()
559 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Read_Page_8b()
582 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Read_Page_8b()
612 if (hnand->Config.ExtraCommandEnable == ENABLE) in HAL_NAND_Read_Page_8b()
618 while (HAL_NAND_Read_Status(hnand) != NAND_READY) in HAL_NAND_Read_Page_8b()
623 hnand->State = HAL_NAND_STATE_ERROR; in HAL_NAND_Read_Page_8b()
626 __HAL_UNLOCK(hnand); in HAL_NAND_Read_Page_8b()
638 for (index = 0U; index < hnand->Config.PageSize; index++) in HAL_NAND_Read_Page_8b()
655 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_Read_Page_8b()
658 __HAL_UNLOCK(hnand); in HAL_NAND_Read_Page_8b()
677 HAL_StatusTypeDef HAL_NAND_Read_Page_16b(NAND_HandleTypeDef *hnand, const NAND_AddressTypeDef *pAdd… in HAL_NAND_Read_Page_16b() argument
689 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_Read_Page_16b()
693 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_Read_Page_16b()
696 __HAL_LOCK(hnand); in HAL_NAND_Read_Page_16b()
699 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_Read_Page_16b()
705 nandaddress = ARRAY_ADDRESS(pAddress, hnand); in HAL_NAND_Read_Page_16b()
708 … while ((nbpages != 0U) && (nandaddress < ((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)))) in HAL_NAND_Read_Page_16b()
715 if ((hnand->Config.PageSize) <= 512U) in HAL_NAND_Read_Page_16b()
717 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Read_Page_16b()
740 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Read_Page_16b()
769 if (hnand->Config.ExtraCommandEnable == ENABLE) in HAL_NAND_Read_Page_16b()
775 while (HAL_NAND_Read_Status(hnand) != NAND_READY) in HAL_NAND_Read_Page_16b()
780 hnand->State = HAL_NAND_STATE_ERROR; in HAL_NAND_Read_Page_16b()
783 __HAL_UNLOCK(hnand); in HAL_NAND_Read_Page_16b()
795 if (hnand->Init.MemoryDataWidth == FMC_NAND_MEM_BUS_WIDTH_8) in HAL_NAND_Read_Page_16b()
797 hnand->Config.PageSize = hnand->Config.PageSize / 2U; in HAL_NAND_Read_Page_16b()
806 for (index = 0U; index < hnand->Config.PageSize; index++) in HAL_NAND_Read_Page_16b()
823 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_Read_Page_16b()
826 __HAL_UNLOCK(hnand); in HAL_NAND_Read_Page_16b()
845 HAL_StatusTypeDef HAL_NAND_Write_Page_8b(NAND_HandleTypeDef *hnand, const NAND_AddressTypeDef *pAdd… in HAL_NAND_Write_Page_8b() argument
857 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_Write_Page_8b()
861 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_Write_Page_8b()
864 __HAL_LOCK(hnand); in HAL_NAND_Write_Page_8b()
867 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_Write_Page_8b()
873 nandaddress = ARRAY_ADDRESS(pAddress, hnand); in HAL_NAND_Write_Page_8b()
876 … while ((nbpages != 0U) && (nandaddress < ((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)))) in HAL_NAND_Write_Page_8b()
885 if ((hnand->Config.PageSize) <= 512U) in HAL_NAND_Write_Page_8b()
887 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Write_Page_8b()
910 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Write_Page_8b()
937 for (index = 0U; index < hnand->Config.PageSize; index++) in HAL_NAND_Write_Page_8b()
951 while (HAL_NAND_Read_Status(hnand) != NAND_READY) in HAL_NAND_Write_Page_8b()
956 hnand->State = HAL_NAND_STATE_ERROR; in HAL_NAND_Write_Page_8b()
959 __HAL_UNLOCK(hnand); in HAL_NAND_Write_Page_8b()
976 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_Write_Page_8b()
979 __HAL_UNLOCK(hnand); in HAL_NAND_Write_Page_8b()
998 HAL_StatusTypeDef HAL_NAND_Write_Page_16b(NAND_HandleTypeDef *hnand, const NAND_AddressTypeDef *pAd… in HAL_NAND_Write_Page_16b() argument
1010 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_Write_Page_16b()
1014 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_Write_Page_16b()
1017 __HAL_LOCK(hnand); in HAL_NAND_Write_Page_16b()
1020 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_Write_Page_16b()
1026 nandaddress = ARRAY_ADDRESS(pAddress, hnand); in HAL_NAND_Write_Page_16b()
1029 … while ((nbpages != 0U) && (nandaddress < ((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)))) in HAL_NAND_Write_Page_16b()
1038 if ((hnand->Config.PageSize) <= 512U) in HAL_NAND_Write_Page_16b()
1040 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Write_Page_16b()
1063 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Write_Page_16b()
1090 if (hnand->Init.MemoryDataWidth == FMC_NAND_MEM_BUS_WIDTH_8) in HAL_NAND_Write_Page_16b()
1092 hnand->Config.PageSize = hnand->Config.PageSize / 2U; in HAL_NAND_Write_Page_16b()
1101 for (index = 0U; index < hnand->Config.PageSize; index++) in HAL_NAND_Write_Page_16b()
1115 while (HAL_NAND_Read_Status(hnand) != NAND_READY) in HAL_NAND_Write_Page_16b()
1120 hnand->State = HAL_NAND_STATE_ERROR; in HAL_NAND_Write_Page_16b()
1123 __HAL_UNLOCK(hnand); in HAL_NAND_Write_Page_16b()
1140 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_Write_Page_16b()
1143 __HAL_UNLOCK(hnand); in HAL_NAND_Write_Page_16b()
1162 HAL_StatusTypeDef HAL_NAND_Read_SpareArea_8b(NAND_HandleTypeDef *hnand, const NAND_AddressTypeDef *… in HAL_NAND_Read_SpareArea_8b() argument
1175 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_Read_SpareArea_8b()
1179 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_Read_SpareArea_8b()
1182 __HAL_LOCK(hnand); in HAL_NAND_Read_SpareArea_8b()
1185 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_Read_SpareArea_8b()
1191 nandaddress = ARRAY_ADDRESS(pAddress, hnand); in HAL_NAND_Read_SpareArea_8b()
1194 columnaddress = COLUMN_ADDRESS(hnand); in HAL_NAND_Read_SpareArea_8b()
1197 … while ((nbspare != 0U) && (nandaddress < ((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)))) in HAL_NAND_Read_SpareArea_8b()
1200 if ((hnand->Config.PageSize) <= 512U) in HAL_NAND_Read_SpareArea_8b()
1206 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Read_SpareArea_8b()
1233 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Read_SpareArea_8b()
1262 if (hnand->Config.ExtraCommandEnable == ENABLE) in HAL_NAND_Read_SpareArea_8b()
1268 while (HAL_NAND_Read_Status(hnand) != NAND_READY) in HAL_NAND_Read_SpareArea_8b()
1273 hnand->State = HAL_NAND_STATE_ERROR; in HAL_NAND_Read_SpareArea_8b()
1276 __HAL_UNLOCK(hnand); in HAL_NAND_Read_SpareArea_8b()
1288 for (index = 0U; index < hnand->Config.SpareAreaSize; index++) in HAL_NAND_Read_SpareArea_8b()
1305 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_Read_SpareArea_8b()
1308 __HAL_UNLOCK(hnand); in HAL_NAND_Read_SpareArea_8b()
1327 HAL_StatusTypeDef HAL_NAND_Read_SpareArea_16b(NAND_HandleTypeDef *hnand, const NAND_AddressTypeDef … in HAL_NAND_Read_SpareArea_16b() argument
1340 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_Read_SpareArea_16b()
1344 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_Read_SpareArea_16b()
1347 __HAL_LOCK(hnand); in HAL_NAND_Read_SpareArea_16b()
1350 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_Read_SpareArea_16b()
1356 nandaddress = ARRAY_ADDRESS(pAddress, hnand); in HAL_NAND_Read_SpareArea_16b()
1359 columnaddress = (uint32_t)(COLUMN_ADDRESS(hnand)); in HAL_NAND_Read_SpareArea_16b()
1362 … while ((nbspare != 0U) && (nandaddress < ((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)))) in HAL_NAND_Read_SpareArea_16b()
1365 if ((hnand->Config.PageSize) <= 512U) in HAL_NAND_Read_SpareArea_16b()
1371 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Read_SpareArea_16b()
1398 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Read_SpareArea_16b()
1427 if (hnand->Config.ExtraCommandEnable == ENABLE) in HAL_NAND_Read_SpareArea_16b()
1433 while (HAL_NAND_Read_Status(hnand) != NAND_READY) in HAL_NAND_Read_SpareArea_16b()
1438 hnand->State = HAL_NAND_STATE_ERROR; in HAL_NAND_Read_SpareArea_16b()
1441 __HAL_UNLOCK(hnand); in HAL_NAND_Read_SpareArea_16b()
1453 for (index = 0U; index < hnand->Config.SpareAreaSize; index++) in HAL_NAND_Read_SpareArea_16b()
1470 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_Read_SpareArea_16b()
1473 __HAL_UNLOCK(hnand); in HAL_NAND_Read_SpareArea_16b()
1492 HAL_StatusTypeDef HAL_NAND_Write_SpareArea_8b(NAND_HandleTypeDef *hnand, const NAND_AddressTypeDef … in HAL_NAND_Write_SpareArea_8b() argument
1505 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_Write_SpareArea_8b()
1509 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_Write_SpareArea_8b()
1512 __HAL_LOCK(hnand); in HAL_NAND_Write_SpareArea_8b()
1515 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_Write_SpareArea_8b()
1521 nandaddress = ARRAY_ADDRESS(pAddress, hnand); in HAL_NAND_Write_SpareArea_8b()
1524 columnaddress = COLUMN_ADDRESS(hnand); in HAL_NAND_Write_SpareArea_8b()
1527 … while ((nbspare != 0U) && (nandaddress < ((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)))) in HAL_NAND_Write_SpareArea_8b()
1530 if ((hnand->Config.PageSize) <= 512U) in HAL_NAND_Write_SpareArea_8b()
1538 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Write_SpareArea_8b()
1567 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Write_SpareArea_8b()
1594 for (index = 0U; index < hnand->Config.SpareAreaSize; index++) in HAL_NAND_Write_SpareArea_8b()
1608 while (HAL_NAND_Read_Status(hnand) != NAND_READY) in HAL_NAND_Write_SpareArea_8b()
1613 hnand->State = HAL_NAND_STATE_ERROR; in HAL_NAND_Write_SpareArea_8b()
1616 __HAL_UNLOCK(hnand); in HAL_NAND_Write_SpareArea_8b()
1633 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_Write_SpareArea_8b()
1636 __HAL_UNLOCK(hnand); in HAL_NAND_Write_SpareArea_8b()
1655 HAL_StatusTypeDef HAL_NAND_Write_SpareArea_16b(NAND_HandleTypeDef *hnand, const NAND_AddressTypeDef… in HAL_NAND_Write_SpareArea_16b() argument
1668 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_Write_SpareArea_16b()
1672 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_Write_SpareArea_16b()
1675 __HAL_LOCK(hnand); in HAL_NAND_Write_SpareArea_16b()
1678 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_Write_SpareArea_16b()
1684 nandaddress = ARRAY_ADDRESS(pAddress, hnand); in HAL_NAND_Write_SpareArea_16b()
1687 columnaddress = (uint32_t)(COLUMN_ADDRESS(hnand)); in HAL_NAND_Write_SpareArea_16b()
1690 … while ((nbspare != 0U) && (nandaddress < ((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)))) in HAL_NAND_Write_SpareArea_16b()
1693 if ((hnand->Config.PageSize) <= 512U) in HAL_NAND_Write_SpareArea_16b()
1701 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Write_SpareArea_16b()
1730 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Write_SpareArea_16b()
1757 for (index = 0U; index < hnand->Config.SpareAreaSize; index++) in HAL_NAND_Write_SpareArea_16b()
1771 while (HAL_NAND_Read_Status(hnand) != NAND_READY) in HAL_NAND_Write_SpareArea_16b()
1776 hnand->State = HAL_NAND_STATE_ERROR; in HAL_NAND_Write_SpareArea_16b()
1779 __HAL_UNLOCK(hnand); in HAL_NAND_Write_SpareArea_16b()
1796 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_Write_SpareArea_16b()
1799 __HAL_UNLOCK(hnand); in HAL_NAND_Write_SpareArea_16b()
1816 HAL_StatusTypeDef HAL_NAND_Erase_Block(NAND_HandleTypeDef *hnand, const NAND_AddressTypeDef *pAddre… in HAL_NAND_Erase_Block() argument
1821 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_Erase_Block()
1825 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_Erase_Block()
1828 __HAL_LOCK(hnand); in HAL_NAND_Erase_Block()
1831 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_Erase_Block()
1839 …uint8_t *)((uint32_t)(deviceaddress | ADDR_AREA)) = ADDR_1ST_CYCLE(ARRAY_ADDRESS(pAddress, hnand)); in HAL_NAND_Erase_Block()
1841 …uint8_t *)((uint32_t)(deviceaddress | ADDR_AREA)) = ADDR_2ND_CYCLE(ARRAY_ADDRESS(pAddress, hnand)); in HAL_NAND_Erase_Block()
1843 …uint8_t *)((uint32_t)(deviceaddress | ADDR_AREA)) = ADDR_3RD_CYCLE(ARRAY_ADDRESS(pAddress, hnand)); in HAL_NAND_Erase_Block()
1850 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_Erase_Block()
1853 __HAL_UNLOCK(hnand); in HAL_NAND_Erase_Block()
1872 uint32_t HAL_NAND_Address_Inc(const NAND_HandleTypeDef *hnand, NAND_AddressTypeDef *pAddress) in HAL_NAND_Address_Inc() argument
1880 if (pAddress->Page == hnand->Config.BlockSize) in HAL_NAND_Address_Inc()
1885 if (pAddress->Block == hnand->Config.PlaneSize) in HAL_NAND_Address_Inc()
1890 if (pAddress->Plane == (hnand->Config.PlaneNbr)) in HAL_NAND_Address_Inc()
1913 HAL_StatusTypeDef HAL_NAND_RegisterCallback(NAND_HandleTypeDef *hnand, HAL_NAND_CallbackIDTypeDef C… in HAL_NAND_RegisterCallback() argument
1923 if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_RegisterCallback()
1928 hnand->MspInitCallback = pCallback; in HAL_NAND_RegisterCallback()
1931 hnand->MspDeInitCallback = pCallback; in HAL_NAND_RegisterCallback()
1934 hnand->ItCallback = pCallback; in HAL_NAND_RegisterCallback()
1942 else if (hnand->State == HAL_NAND_STATE_RESET) in HAL_NAND_RegisterCallback()
1947 hnand->MspInitCallback = pCallback; in HAL_NAND_RegisterCallback()
1950 hnand->MspDeInitCallback = pCallback; in HAL_NAND_RegisterCallback()
1978 HAL_StatusTypeDef HAL_NAND_UnRegisterCallback(NAND_HandleTypeDef *hnand, HAL_NAND_CallbackIDTypeDef… in HAL_NAND_UnRegisterCallback() argument
1982 if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_UnRegisterCallback()
1987 hnand->MspInitCallback = HAL_NAND_MspInit; in HAL_NAND_UnRegisterCallback()
1990 hnand->MspDeInitCallback = HAL_NAND_MspDeInit; in HAL_NAND_UnRegisterCallback()
1993 hnand->ItCallback = HAL_NAND_ITCallback; in HAL_NAND_UnRegisterCallback()
2001 else if (hnand->State == HAL_NAND_STATE_RESET) in HAL_NAND_UnRegisterCallback()
2006 hnand->MspInitCallback = HAL_NAND_MspInit; in HAL_NAND_UnRegisterCallback()
2009 hnand->MspDeInitCallback = HAL_NAND_MspDeInit; in HAL_NAND_UnRegisterCallback()
2053 HAL_StatusTypeDef HAL_NAND_ECC_Enable(NAND_HandleTypeDef *hnand) in HAL_NAND_ECC_Enable() argument
2056 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_ECC_Enable()
2060 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_ECC_Enable()
2063 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_ECC_Enable()
2066 (void)FMC_NAND_ECC_Enable(hnand->Instance, hnand->Init.NandBank); in HAL_NAND_ECC_Enable()
2069 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_ECC_Enable()
2085 HAL_StatusTypeDef HAL_NAND_ECC_Disable(NAND_HandleTypeDef *hnand) in HAL_NAND_ECC_Disable() argument
2088 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_ECC_Disable()
2092 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_ECC_Disable()
2095 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_ECC_Disable()
2098 (void)FMC_NAND_ECC_Disable(hnand->Instance, hnand->Init.NandBank); in HAL_NAND_ECC_Disable()
2101 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_ECC_Disable()
2119 HAL_StatusTypeDef HAL_NAND_GetECC(NAND_HandleTypeDef *hnand, uint32_t *ECCval, uint32_t Timeout) in HAL_NAND_GetECC() argument
2124 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_GetECC()
2128 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_GetECC()
2131 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_GetECC()
2134 status = FMC_NAND_GetECC(hnand->Instance, ECCval, hnand->Init.NandBank, Timeout); in HAL_NAND_GetECC()
2137 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_GetECC()
2173 HAL_NAND_StateTypeDef HAL_NAND_GetState(const NAND_HandleTypeDef *hnand) in HAL_NAND_GetState() argument
2175 return hnand->State; in HAL_NAND_GetState()
2184 uint32_t HAL_NAND_Read_Status(const NAND_HandleTypeDef *hnand) in HAL_NAND_Read_Status() argument
2188 UNUSED(hnand); in HAL_NAND_Read_Status()