Re: [PATCH V3 1/3] mtd: add new fields to nand_flash_dev{}

From: Huang Shijie
Date: Mon Mar 04 2013 - 00:57:41 EST


ä 2013å03æ02æ 22:21, Artem Bityutskiy åé:
On Sat, 2013-02-16 at 11:56 +0800, Huang Shijie wrote:
On Tue, Feb 12, 2013 at 11:47 PM, Artem Bityutskiy<dedekind1@xxxxxxxxx> wrote:
On Mon, 2013-01-28 at 12:57 +0800, Huang Shijie wrote:
+ {"SmartMedia 256MiB 3,3V", {0, 0x71}, 512, 256, 0x4000 },
+ {"SmartMedia 256MiB 3,3V ROM", {0, 0x5b}, 512, 256, 0x4000,
NAND_ROM},
Sorry for a possibly stupid question, but what does it buy you adding
another "0" to all the entries? I see you add another table, which you
look up if the "traditional" table does not work. Why you need to add
these zeroes?
The zeros are for the maf_id.

The dev_id is the second byte of the 8-byte id data.
It does not really make me understand why we add these zeroes, they
still look useless to me... Would you please be a little more verbose
about your solution?

the 8bytes id data read out by the READ ID command is in the following order:
byte 0(Maker id): such as 0x98 stands for Toshiba, 0xec stands for Samsung.
byte 1(device id):
byte 2(used to store the chip number,cell type information):
byte 3(used to store the page size, block size information)
byte 4(used to store the Plane information).
........................


The current code uses the @id to store the device id(byte 1).
But if we use the 8 bytes id data as the keyword, and expand the @id field to 8byte array,
the device id is the second byte now. All the added zeros are for the Maker id.
For example,
{"SmartMedia 256MiB 3,3V", {0, 0x71}, 512, 256, 0x4000 },

We really do not use the zeros. All the zeros are added for avoiding the misunderstanding.
If we do not add the zero, it will looks like:

{"SmartMedia 256MiB 3,3V", {0x71}, 512, 256, 0x4000 },

The device id (0x71) becomes the first byte of 8byte id array, people will treat the 0x71 as the Maker code.


thanks
Huang Shijie


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