Micron MT29F NAND driver

Definition at line 1025 of file nand_MT29F_lld.c.

References __wait_for_ready(), ADDR_READ_UNIQ_ID, CMD_READ_UNIQ_ID, driver_status, DRIVER_STATUS_INITIALIZED, DRIVER_STATUS_NOT_INITIALIZED, NAND_SUCCESS, NUM_OF_UNIQUEID_BYTES, PLATFORM_Close(), PLATFORM_Open(), PLATFORM_ReadData(), PLATFORM_SendAddr(), PLATFORM_SendCmd(), PLATFORM_Wait(), and TIME_WB.

                                                  {

   int i;
   MT_uint8 ret;

   /* verify if driver is initialized */
   if(DRIVER_STATUS_INITIALIZED != driver_status)
      return DRIVER_STATUS_NOT_INITIALIZED;

   /* init board transfer */
    PLATFORM_Open();

    /* send command and/or address */
    PLATFORM_SendCmd(CMD_READ_UNIQ_ID);
    PLATFORM_SendAddr(ADDR_READ_UNIQ_ID);

    /* wait (see datasheet for details) */
    PLATFORM_Wait(TIME_WB);

   ret = __wait_for_ready();

    /* return if timeout */
    if (NAND_SUCCESS != ret)
      return ret;

    /* read output */
    for(i=0; i<NUM_OF_UNIQUEID_BYTES; i++)
      buffer[i] = (MT_uint8) PLATFORM_ReadData();

    /* close board transfer */
    PLATFORM_Close();

    return NAND_SUCCESS;

}