Flash device IDs

From: Andries.Brouwer@cwi.nl
Date: Thu Apr 11 2002 - 09:00:35 EST


In include/linux/mtd/nand_ids.h there is some information
about device IDs and device properties of NAND flash devices.

In drivers/usb/storage/sddr09.c there is very similar information.
Probably both tables should be merged.

Various comments:

- The combination NAND_MFR_TOSHIBA, 0x79 is missing in nand_flash_ids[].
  An appropriate line might be

        {"Toshiba TH58NS100DC", NAND_MFR_TOSHIBA, 0x79, 27, 0, 3, 0x4000},

- The type names given as first item in this struct are too precise.
  They include all kinds of stuff like voltage and temperature range, etc.
  But the device ID only give the size, page size, erase size, I think.
  So, given any card, it is quite likely that the kernel report on it
  will have incorrect type number.
  Moreover, I get the strong impression that Toshiba and Samsung use
  identical device IDs, so that one does not need to know the
  manufacturer to interpret the device ID.
  Probably we should delete the first two items from the
  struct nand_flash_dev, and have something like

static inline char *nand_flash_manufacturer(int manuf_id) {
        switch(manuf_id) {
        case NAND_MFR_TOSHIBA:
                return "Toshiba";
        case NAND_MFR_SAMSUNG:
                return "Samsung";
        default:
                return "unknown";
        }
}

  for the manufacturer.

- In sddr09.c it is suggested that the Read Device ID command
  returns two bytes. But it may return more. My source has the
  comment

/*
 * Read Device ID Command: 12 bytes.
 * byte 0: opcode: ED
 *
 * Returns 2 bytes: Manufacturer ID and Device ID.
 * On more recent cards 3 bytes: the third byte is an option code A5
 * signifying that the secret command to read an 128-bit ID is available.
 * On still more recent cards 4 bytes: the fourth byte C0 means that
 * a second read ID cmd is available.
 */

  Nobody knows anything about this secret command?

I hope to come with a patch one of these centuries.

Andries
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon Apr 15 2002 - 22:00:18 EST