Micron MT29F NAND driver
|
Definition at line 1986 of file nand_MT29F_lld.c.
References BIT_USED_TO_POLL, CMD_READ_MODE, CMD_READ_STATUS, NAND_SUCCESS, NAND_TIMEOUT, NUM_OF_TICKS_TO_TIMEOUT, PLATFORM_ReadData(), and PLATFORM_SendCmd().
{ MT_uint8 ret; #ifdef TIMEOUT_SUPPORT MT_uint32 clock_start = (MT_uint32) clock(); #endif PLATFORM_SendCmd(CMD_READ_STATUS); #ifndef TIMEOUT_SUPPORT while (BIT_USED_TO_POLL != (BIT_USED_TO_POLL & PLATFORM_ReadData())) { /* do nothing */ } PLATFORM_SendCmd(CMD_READ_MODE); return SUCCESS; #else while ( (BIT_USED_TO_POLL != (BIT_USED_TO_POLL & PLATFORM_ReadData())) \ && ((MT_uint32) clock() < (MT_uint32) (clock_start + NUM_OF_TICKS_TO_TIMEOUT)) ) { /* do nothing */ } /* check exit condition */ if(clock() >= clock_start + NUM_OF_TICKS_TO_TIMEOUT) ret = NAND_TIMEOUT; else ret = NAND_SUCCESS; PLATFORM_SendCmd(CMD_READ_MODE); return ret; #endif }