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
530 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_Read_Page_8b()
534 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_Read_Page_8b()
537 __HAL_LOCK(hnand); in HAL_NAND_Read_Page_8b()
540 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_Read_Page_8b()
546 nandaddress = ARRAY_ADDRESS(pAddress, hnand); in HAL_NAND_Read_Page_8b()
549 … while ((nbpages != 0U) && (nandaddress < ((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)))) in HAL_NAND_Read_Page_8b()
556 if ((hnand->Config.PageSize) <= 512U) in HAL_NAND_Read_Page_8b()
558 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Read_Page_8b()
581 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Read_Page_8b()
611 if (hnand->Config.ExtraCommandEnable == ENABLE) in HAL_NAND_Read_Page_8b()
617 while (HAL_NAND_Read_Status(hnand) != NAND_READY) in HAL_NAND_Read_Page_8b()
622 hnand->State = HAL_NAND_STATE_ERROR; in HAL_NAND_Read_Page_8b()
625 __HAL_UNLOCK(hnand); in HAL_NAND_Read_Page_8b()
637 for (index = 0U; index < hnand->Config.PageSize; index++) in HAL_NAND_Read_Page_8b()
651 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_Read_Page_8b()
654 __HAL_UNLOCK(hnand); in HAL_NAND_Read_Page_8b()
673 HAL_StatusTypeDef HAL_NAND_Read_Page_16b(NAND_HandleTypeDef *hnand, const NAND_AddressTypeDef *pAdd… in HAL_NAND_Read_Page_16b() argument
684 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_Read_Page_16b()
688 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_Read_Page_16b()
691 __HAL_LOCK(hnand); in HAL_NAND_Read_Page_16b()
694 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_Read_Page_16b()
700 nandaddress = ARRAY_ADDRESS(pAddress, hnand); in HAL_NAND_Read_Page_16b()
703 … while ((nbpages != 0U) && (nandaddress < ((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)))) in HAL_NAND_Read_Page_16b()
710 if ((hnand->Config.PageSize) <= 512U) in HAL_NAND_Read_Page_16b()
712 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Read_Page_16b()
735 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Read_Page_16b()
764 if (hnand->Config.ExtraCommandEnable == ENABLE) in HAL_NAND_Read_Page_16b()
770 while (HAL_NAND_Read_Status(hnand) != NAND_READY) in HAL_NAND_Read_Page_16b()
775 hnand->State = HAL_NAND_STATE_ERROR; in HAL_NAND_Read_Page_16b()
778 __HAL_UNLOCK(hnand); in HAL_NAND_Read_Page_16b()
790 if (hnand->Init.MemoryDataWidth == FMC_NAND_MEM_BUS_WIDTH_8) in HAL_NAND_Read_Page_16b()
792 hnand->Config.PageSize = hnand->Config.PageSize / 2U; in HAL_NAND_Read_Page_16b()
801 for (index = 0U; index < hnand->Config.PageSize; index++) in HAL_NAND_Read_Page_16b()
815 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_Read_Page_16b()
818 __HAL_UNLOCK(hnand); in HAL_NAND_Read_Page_16b()
837 HAL_StatusTypeDef HAL_NAND_Write_Page_8b(NAND_HandleTypeDef *hnand, const NAND_AddressTypeDef *pAdd… in HAL_NAND_Write_Page_8b() argument
848 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_Write_Page_8b()
852 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_Write_Page_8b()
855 __HAL_LOCK(hnand); in HAL_NAND_Write_Page_8b()
858 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_Write_Page_8b()
864 nandaddress = ARRAY_ADDRESS(pAddress, hnand); in HAL_NAND_Write_Page_8b()
867 … while ((nbpages != 0U) && (nandaddress < ((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)))) in HAL_NAND_Write_Page_8b()
876 if ((hnand->Config.PageSize) <= 512U) in HAL_NAND_Write_Page_8b()
878 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Write_Page_8b()
901 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Write_Page_8b()
928 for (index = 0U; index < hnand->Config.PageSize; index++) in HAL_NAND_Write_Page_8b()
942 while (HAL_NAND_Read_Status(hnand) != NAND_READY) in HAL_NAND_Write_Page_8b()
947 hnand->State = HAL_NAND_STATE_ERROR; in HAL_NAND_Write_Page_8b()
950 __HAL_UNLOCK(hnand); in HAL_NAND_Write_Page_8b()
964 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_Write_Page_8b()
967 __HAL_UNLOCK(hnand); in HAL_NAND_Write_Page_8b()
986 HAL_StatusTypeDef HAL_NAND_Write_Page_16b(NAND_HandleTypeDef *hnand, const NAND_AddressTypeDef *pAd… in HAL_NAND_Write_Page_16b() argument
997 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_Write_Page_16b()
1001 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_Write_Page_16b()
1004 __HAL_LOCK(hnand); in HAL_NAND_Write_Page_16b()
1007 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_Write_Page_16b()
1013 nandaddress = ARRAY_ADDRESS(pAddress, hnand); in HAL_NAND_Write_Page_16b()
1016 … while ((nbpages != 0U) && (nandaddress < ((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)))) in HAL_NAND_Write_Page_16b()
1025 if ((hnand->Config.PageSize) <= 512U) in HAL_NAND_Write_Page_16b()
1027 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Write_Page_16b()
1050 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Write_Page_16b()
1077 if (hnand->Init.MemoryDataWidth == FMC_NAND_MEM_BUS_WIDTH_8) in HAL_NAND_Write_Page_16b()
1079 hnand->Config.PageSize = hnand->Config.PageSize / 2U; in HAL_NAND_Write_Page_16b()
1088 for (index = 0U; index < hnand->Config.PageSize; index++) in HAL_NAND_Write_Page_16b()
1102 while (HAL_NAND_Read_Status(hnand) != NAND_READY) in HAL_NAND_Write_Page_16b()
1107 hnand->State = HAL_NAND_STATE_ERROR; in HAL_NAND_Write_Page_16b()
1110 __HAL_UNLOCK(hnand); in HAL_NAND_Write_Page_16b()
1124 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_Write_Page_16b()
1127 __HAL_UNLOCK(hnand); in HAL_NAND_Write_Page_16b()
1146 HAL_StatusTypeDef HAL_NAND_Read_SpareArea_8b(NAND_HandleTypeDef *hnand, const NAND_AddressTypeDef *… in HAL_NAND_Read_SpareArea_8b() argument
1158 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_Read_SpareArea_8b()
1162 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_Read_SpareArea_8b()
1165 __HAL_LOCK(hnand); in HAL_NAND_Read_SpareArea_8b()
1168 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_Read_SpareArea_8b()
1174 nandaddress = ARRAY_ADDRESS(pAddress, hnand); in HAL_NAND_Read_SpareArea_8b()
1177 columnaddress = COLUMN_ADDRESS(hnand); in HAL_NAND_Read_SpareArea_8b()
1180 … while ((nbspare != 0U) && (nandaddress < ((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)))) in HAL_NAND_Read_SpareArea_8b()
1183 if ((hnand->Config.PageSize) <= 512U) in HAL_NAND_Read_SpareArea_8b()
1189 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Read_SpareArea_8b()
1216 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Read_SpareArea_8b()
1245 if (hnand->Config.ExtraCommandEnable == ENABLE) in HAL_NAND_Read_SpareArea_8b()
1251 while (HAL_NAND_Read_Status(hnand) != NAND_READY) in HAL_NAND_Read_SpareArea_8b()
1256 hnand->State = HAL_NAND_STATE_ERROR; in HAL_NAND_Read_SpareArea_8b()
1259 __HAL_UNLOCK(hnand); in HAL_NAND_Read_SpareArea_8b()
1271 for (index = 0U; index < hnand->Config.SpareAreaSize; index++) in HAL_NAND_Read_SpareArea_8b()
1285 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_Read_SpareArea_8b()
1288 __HAL_UNLOCK(hnand); in HAL_NAND_Read_SpareArea_8b()
1307 HAL_StatusTypeDef HAL_NAND_Read_SpareArea_16b(NAND_HandleTypeDef *hnand, const NAND_AddressTypeDef … in HAL_NAND_Read_SpareArea_16b() argument
1319 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_Read_SpareArea_16b()
1323 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_Read_SpareArea_16b()
1326 __HAL_LOCK(hnand); in HAL_NAND_Read_SpareArea_16b()
1329 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_Read_SpareArea_16b()
1335 nandaddress = ARRAY_ADDRESS(pAddress, hnand); in HAL_NAND_Read_SpareArea_16b()
1338 columnaddress = (uint32_t)(COLUMN_ADDRESS(hnand)); in HAL_NAND_Read_SpareArea_16b()
1341 … while ((nbspare != 0U) && (nandaddress < ((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)))) in HAL_NAND_Read_SpareArea_16b()
1344 if ((hnand->Config.PageSize) <= 512U) in HAL_NAND_Read_SpareArea_16b()
1350 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Read_SpareArea_16b()
1377 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Read_SpareArea_16b()
1406 if (hnand->Config.ExtraCommandEnable == ENABLE) in HAL_NAND_Read_SpareArea_16b()
1412 while (HAL_NAND_Read_Status(hnand) != NAND_READY) in HAL_NAND_Read_SpareArea_16b()
1417 hnand->State = HAL_NAND_STATE_ERROR; in HAL_NAND_Read_SpareArea_16b()
1420 __HAL_UNLOCK(hnand); in HAL_NAND_Read_SpareArea_16b()
1432 for (index = 0U; index < hnand->Config.SpareAreaSize; index++) in HAL_NAND_Read_SpareArea_16b()
1446 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_Read_SpareArea_16b()
1449 __HAL_UNLOCK(hnand); in HAL_NAND_Read_SpareArea_16b()
1468 HAL_StatusTypeDef HAL_NAND_Write_SpareArea_8b(NAND_HandleTypeDef *hnand, const NAND_AddressTypeDef … in HAL_NAND_Write_SpareArea_8b() argument
1480 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_Write_SpareArea_8b()
1484 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_Write_SpareArea_8b()
1487 __HAL_LOCK(hnand); in HAL_NAND_Write_SpareArea_8b()
1490 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_Write_SpareArea_8b()
1496 nandaddress = ARRAY_ADDRESS(pAddress, hnand); in HAL_NAND_Write_SpareArea_8b()
1499 columnaddress = COLUMN_ADDRESS(hnand); in HAL_NAND_Write_SpareArea_8b()
1502 … while ((nbspare != 0U) && (nandaddress < ((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)))) in HAL_NAND_Write_SpareArea_8b()
1505 if ((hnand->Config.PageSize) <= 512U) in HAL_NAND_Write_SpareArea_8b()
1513 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Write_SpareArea_8b()
1542 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Write_SpareArea_8b()
1569 for (index = 0U; index < hnand->Config.SpareAreaSize; index++) in HAL_NAND_Write_SpareArea_8b()
1583 while (HAL_NAND_Read_Status(hnand) != NAND_READY) in HAL_NAND_Write_SpareArea_8b()
1588 hnand->State = HAL_NAND_STATE_ERROR; in HAL_NAND_Write_SpareArea_8b()
1591 __HAL_UNLOCK(hnand); in HAL_NAND_Write_SpareArea_8b()
1605 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_Write_SpareArea_8b()
1608 __HAL_UNLOCK(hnand); in HAL_NAND_Write_SpareArea_8b()
1627 HAL_StatusTypeDef HAL_NAND_Write_SpareArea_16b(NAND_HandleTypeDef *hnand, const NAND_AddressTypeDef… in HAL_NAND_Write_SpareArea_16b() argument
1639 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_Write_SpareArea_16b()
1643 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_Write_SpareArea_16b()
1646 __HAL_LOCK(hnand); in HAL_NAND_Write_SpareArea_16b()
1649 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_Write_SpareArea_16b()
1655 nandaddress = ARRAY_ADDRESS(pAddress, hnand); in HAL_NAND_Write_SpareArea_16b()
1658 columnaddress = (uint32_t)(COLUMN_ADDRESS(hnand)); in HAL_NAND_Write_SpareArea_16b()
1661 … while ((nbspare != 0U) && (nandaddress < ((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)))) in HAL_NAND_Write_SpareArea_16b()
1664 if ((hnand->Config.PageSize) <= 512U) in HAL_NAND_Write_SpareArea_16b()
1672 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Write_SpareArea_16b()
1701 if (((hnand->Config.BlockSize) * (hnand->Config.BlockNbr)) <= 65535U) in HAL_NAND_Write_SpareArea_16b()
1728 for (index = 0U; index < hnand->Config.SpareAreaSize; index++) in HAL_NAND_Write_SpareArea_16b()
1742 while (HAL_NAND_Read_Status(hnand) != NAND_READY) in HAL_NAND_Write_SpareArea_16b()
1747 hnand->State = HAL_NAND_STATE_ERROR; in HAL_NAND_Write_SpareArea_16b()
1750 __HAL_UNLOCK(hnand); in HAL_NAND_Write_SpareArea_16b()
1764 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_Write_SpareArea_16b()
1767 __HAL_UNLOCK(hnand); in HAL_NAND_Write_SpareArea_16b()
1784 HAL_StatusTypeDef HAL_NAND_Erase_Block(NAND_HandleTypeDef *hnand, const NAND_AddressTypeDef *pAddre… in HAL_NAND_Erase_Block() argument
1789 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_Erase_Block()
1793 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_Erase_Block()
1796 __HAL_LOCK(hnand); in HAL_NAND_Erase_Block()
1799 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_Erase_Block()
1807 …uint8_t *)((uint32_t)(deviceaddress | ADDR_AREA)) = ADDR_1ST_CYCLE(ARRAY_ADDRESS(pAddress, hnand)); in HAL_NAND_Erase_Block()
1809 …uint8_t *)((uint32_t)(deviceaddress | ADDR_AREA)) = ADDR_2ND_CYCLE(ARRAY_ADDRESS(pAddress, hnand)); in HAL_NAND_Erase_Block()
1811 …uint8_t *)((uint32_t)(deviceaddress | ADDR_AREA)) = ADDR_3RD_CYCLE(ARRAY_ADDRESS(pAddress, hnand)); in HAL_NAND_Erase_Block()
1818 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_Erase_Block()
1821 __HAL_UNLOCK(hnand); in HAL_NAND_Erase_Block()
1840 uint32_t HAL_NAND_Address_Inc(const NAND_HandleTypeDef *hnand, NAND_AddressTypeDef *pAddress) in HAL_NAND_Address_Inc() argument
1848 if (pAddress->Page == hnand->Config.BlockSize) in HAL_NAND_Address_Inc()
1853 if (pAddress->Block == hnand->Config.PlaneSize) in HAL_NAND_Address_Inc()
1858 if (pAddress->Plane == (hnand->Config.PlaneNbr)) in HAL_NAND_Address_Inc()
1881 HAL_StatusTypeDef HAL_NAND_RegisterCallback(NAND_HandleTypeDef *hnand, HAL_NAND_CallbackIDTypeDef C… in HAL_NAND_RegisterCallback() argument
1891 if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_RegisterCallback()
1896 hnand->MspInitCallback = pCallback; in HAL_NAND_RegisterCallback()
1899 hnand->MspDeInitCallback = pCallback; in HAL_NAND_RegisterCallback()
1902 hnand->ItCallback = pCallback; in HAL_NAND_RegisterCallback()
1910 else if (hnand->State == HAL_NAND_STATE_RESET) in HAL_NAND_RegisterCallback()
1915 hnand->MspInitCallback = pCallback; in HAL_NAND_RegisterCallback()
1918 hnand->MspDeInitCallback = pCallback; in HAL_NAND_RegisterCallback()
1946 HAL_StatusTypeDef HAL_NAND_UnRegisterCallback(NAND_HandleTypeDef *hnand, HAL_NAND_CallbackIDTypeDef… in HAL_NAND_UnRegisterCallback() argument
1950 if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_UnRegisterCallback()
1955 hnand->MspInitCallback = HAL_NAND_MspInit; in HAL_NAND_UnRegisterCallback()
1958 hnand->MspDeInitCallback = HAL_NAND_MspDeInit; in HAL_NAND_UnRegisterCallback()
1961 hnand->ItCallback = HAL_NAND_ITCallback; in HAL_NAND_UnRegisterCallback()
1969 else if (hnand->State == HAL_NAND_STATE_RESET) in HAL_NAND_UnRegisterCallback()
1974 hnand->MspInitCallback = HAL_NAND_MspInit; in HAL_NAND_UnRegisterCallback()
1977 hnand->MspDeInitCallback = HAL_NAND_MspDeInit; in HAL_NAND_UnRegisterCallback()
2021 HAL_StatusTypeDef HAL_NAND_ECC_Enable(NAND_HandleTypeDef *hnand) in HAL_NAND_ECC_Enable() argument
2024 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_ECC_Enable()
2028 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_ECC_Enable()
2031 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_ECC_Enable()
2034 (void)FMC_NAND_ECC_Enable(hnand->Instance, hnand->Init.NandBank); in HAL_NAND_ECC_Enable()
2037 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_ECC_Enable()
2053 HAL_StatusTypeDef HAL_NAND_ECC_Disable(NAND_HandleTypeDef *hnand) in HAL_NAND_ECC_Disable() argument
2056 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_ECC_Disable()
2060 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_ECC_Disable()
2063 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_ECC_Disable()
2066 (void)FMC_NAND_ECC_Disable(hnand->Instance, hnand->Init.NandBank); in HAL_NAND_ECC_Disable()
2069 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_ECC_Disable()
2087 HAL_StatusTypeDef HAL_NAND_GetECC(NAND_HandleTypeDef *hnand, uint32_t *ECCval, uint32_t Timeout) in HAL_NAND_GetECC() argument
2092 if (hnand->State == HAL_NAND_STATE_BUSY) in HAL_NAND_GetECC()
2096 else if (hnand->State == HAL_NAND_STATE_READY) in HAL_NAND_GetECC()
2099 hnand->State = HAL_NAND_STATE_BUSY; in HAL_NAND_GetECC()
2102 status = FMC_NAND_GetECC(hnand->Instance, ECCval, hnand->Init.NandBank, Timeout); in HAL_NAND_GetECC()
2105 hnand->State = HAL_NAND_STATE_READY; in HAL_NAND_GetECC()
2141 HAL_NAND_StateTypeDef HAL_NAND_GetState(const NAND_HandleTypeDef *hnand) in HAL_NAND_GetState() argument
2143 return hnand->State; in HAL_NAND_GetState()
2152 uint32_t HAL_NAND_Read_Status(const NAND_HandleTypeDef *hnand) in HAL_NAND_Read_Status() argument
2156 UNUSED(hnand); in HAL_NAND_Read_Status()