[PATCH 5/7] add GPMI support for imx28

Huang Shijie b32955 at freescale.com
Wed Mar 23 23:03:44 EDT 2011

Hi Lothar:
>>> some general comments:
>>> - Why are you not using the existing nand_ids but inventing your own
>>>     database?
>> The nand_ids{} contains poor information for me.
>> Such as :
>> [1]The nand_ids does not have the enough information for the page
>> size,oob size for some new NANDs.
>>      And you can not get the information from parsing the NAND ids, such
>> as some Micron NANDs.
> You could use it for the standard chips where you do not need
> additional information. That way most NAND chips could be supported
> out of the box without having to modify the driver.
What the meaning of "standard chips"?

There are many nands in the world. Every vendor has its own rules, some 
even does has :)

Unluckily, the imx23/imx28 supports many nands that the nand_ids{} does 
not support.
I have many nands by my hand. I will add it gradually.

I want to get the page size/oob size from my own database which can not 
get from the nand_ids.

>> [2]I need the timing information of the NAND. The nand_ids DOES not have
>> it. I have to
>>      read the datasheet of the NAND, and add it to my database.
> Do we really need exact timing data for each individual chip?
> Or couldn't we live with some sane timing that works for most chips
> and provide some means to specify a different timing via
> platform_data?
Most of the time, the timing is really based on a safe timing setting.
But in the original GPMI driver in the FREESCALE BSP, there exits some
nands need to be set with their own timing setting.

So I do not use the safe timing for _ALL_ the nand, and i'd better get 
it from the
>>> - What is the purpose of the 'rom_helpers'? To me it looks like they
>>>     are doing something that should be done in the mtd partition
>>>     handlers, not in the flash chip driver.
>> We have saled a lot products based the imx23 or imx28.
>> All the products support the nand boot mode by flashing the kernel to
>> the kernel partitions of the nands.
>> In order to compliant to the old product, the layout of the nand is
>> constraint to the current situation:
>> [1] first a boot partition for the kernel.
>> [2] the rest is for other uses, such as rootfs.
>> So I have to use the rom_helpers to split the kernel partition before
>> the real MTD partition initializations.
> Why can't you just create appropriate partitions using the standard
> partition handlers?
thanks , I will try to change the code according to your advice.

Huang Shijie

More information about the linux-mtd mailing list