From: Stefan Roese <sr@denx.de>
To: Huang Shijie <shijie.huang@intel.com>
Cc: devicetree@vger.kernel.org,
Brian Norris <computersforpeace@gmail.com>,
Huang Shijie <shijie8@gmail.com>,
linux-mtd@lists.infradead.org
Subject: Re: [PATCH] mtd: gpmi: Remove "We support only one NAND chip" from bindings doc
Date: Tue, 02 Dec 2014 08:28:10 +0100 [thread overview]
Message-ID: <547D6A0A.70409@denx.de> (raw)
In-Reply-To: <20141202003840.GA11370@shldeISGChi005.sh.intel.com>
On 02.12.2014 01:38, Huang Shijie wrote:
> On Mon, Dec 01, 2014 at 10:58:17AM +0100, Stefan Roese wrote:
>> On 30.11.2014 16:42, Huang Shijie wrote:
>>> On Sat, Nov 29, 2014 at 10:53:26PM -0800, Brian Norris wrote:
>>>> On Sat, Nov 29, 2014 at 10:40:50AM +0800, Huang Shijie wrote:
>>>>> On Fri, Nov 28, 2014 at 08:01:41AM +0100, Stefan Roese wrote:
>>>>>> On 28.11.2014 02:48, Huang Shijie wrote:
>>>>>>> On Thu, Nov 27, 2014 at 03:18:49PM +0100, Stefan Roese wrote:
>>>>>>>> This sentence "We support only one NAND chip now" is not true any more.
>>>>>>>> Multiple chips are supported. So lets remove this sentence to not
>>>>>>>
>>>>>>> The gpmi can only supports one chip. Of course, there are maybe two dies
>>>>>>> in this single chip.
>>>>>>
>>>>>> Now I'm a bit confused. The i.MX6 supports 4 chips select signals. And isn't
>>>>>> "two dies in this single chip" not practically the same as connecting 2 (or
>>>>>> more) chips (same device) to multiple chip selects of the SoC? Where is the
>>>>>> difference here?
>>>>> The "one chip" here is means the "one package" (TSOP or BGA ....).
>>>>
>>>> Then why is this even in the DT binding doc? Isn't that a board-level
>>>> constraint (and not a chip property) which should be obvious to the
>>>> user? If so, then should we just drop the language? Or at a minimum,
>>>> make it more specific so it doesn't confuse readers.
>>>
>>> yes. It is okay to send a patch to make it more clear.
>>>
>>>>
>>>>> (In logic, "two dies in this single chip" is same as connecting 2 chips
>>>>> to the gpmi.)
>>>>
>>>> ...which means that logically, you can connect more than one chip to the
>>>> GPMI, right?
>>> The gpmi can only connect with one physical chip now, but there maybe
>>> two DIEs in this chip.
>>
>> I really fail to see why you make this distinction between two chips on a die
>> and two external chips. For the SoC this should really look identical, right?
>>
>> Please explain again, why exactly only two chips on one die are supported.
> There are only 8 data lines for gpmi. I guess there may bugs in the
> gpmi driver to support the two external chips in such case:
> Two different processes access different NAND chips at the same
> time.
I don't see why this should be a problem. All SoC's that support multiple
NAND chips (I've seen so far) only use 8 data lines for this.
> I even did not have enough time to test the "two chips on a die" case very carefully before
> I left freescale.
I see. Thanks for the hint. But this "two chips on a die" scenario did
pass some basic tests, no?
>>
>> BTW: We have a custom i.MX6DL based board with 2 NAND chips connected. And
>
> Very good. Please test this board with the UBIFS in the multi processes
> case. (I ever used the bonnie++)
We'll do that.
>> Linux seems to support both chips just fine. Here the boot log:
>>
>> [ 1.085812] nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xdc
>> [ 1.092218] nand: Micron MT29F4G08ABADAH4
>> [ 1.096245] nand: 512MiB, SLC, page size: 2048, OOB size: 64
>> [ 1.102171] nand: 2 chips detected
>> [ 1.106156] gpmi-nand 112000.gpmi-nand: enable the asynchronous EDO mode 5
>> [ 1.113094] Scanning device for bad blocks
> could you please post more log?
Sure.
...
[ 1.068580] loop: module loaded
[ 1.085966] nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xdc
[ 1.092372] nand: Micron MT29F4G08ABADAH4
[ 1.096401] nand: 512MiB, SLC, page size: 2048, OOB size: 64
[ 1.102331] nand: 2 chips detected
[ 1.106342] gpmi-nand 112000.gpmi-nand: enable the asynchronous EDO mode 5
[ 1.113279] Scanning device for bad blocks
[ 1.126196] Bad eraseblock 58 at 0x000000740000
[ 1.131074] Bad eraseblock 60 at 0x000000780000
[ 1.515182] random: nonblocking pool is initialized
[ 2.331738] 10 cmdlinepart partitions found on MTD device gpmi-nand
[ 2.338028] Creating 10 MTD partitions on "gpmi-nand":
[ 2.343210] 0x000000000000-0x000000e00000 : "spl"
[ 2.351695] 0x000000e00000-0x000001000000 : "uboot"
[ 2.359015] 0x000001000000-0x000001080000 : "env1"
[ 2.366272] 0x000001080000-0x000001100000 : "env2"
[ 2.373508] 0x000001100000-0x000020000000 : "ubi0"
[ 2.381521] 0x000020000000-0x000020e00000 : "res0"
[ 2.388781] 0x000020e00000-0x000021000000 : "res1"
[ 2.396131] 0x000021000000-0x000021080000 : "res2"
[ 2.403458] 0x000021080000-0x000021100000 : "res3"
[ 2.410657] 0x000021100000-0x000040000000 : "ubi1"
[ 2.418572] gpmi-nand 112000.gpmi-nand: driver registered.
[ 2.428911] spi_imx 2008000.ecspi: probed
...
Thanks,
Stefan
WARNING: multiple messages have this Message-ID (diff)
From: Stefan Roese <sr-ynQEQJNshbs@public.gmane.org>
To: Huang Shijie <shijie.huang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Cc: Huang Shijie <shijie8-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
Brian Norris
<computersforpeace-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
Subject: Re: [PATCH] mtd: gpmi: Remove "We support only one NAND chip" from bindings doc
Date: Tue, 02 Dec 2014 08:28:10 +0100 [thread overview]
Message-ID: <547D6A0A.70409@denx.de> (raw)
In-Reply-To: <20141202003840.GA11370-eV5aV+vWts7EmYkesOTNgGFmcEqAMTzPQQ4Iyu8u01E@public.gmane.org>
On 02.12.2014 01:38, Huang Shijie wrote:
> On Mon, Dec 01, 2014 at 10:58:17AM +0100, Stefan Roese wrote:
>> On 30.11.2014 16:42, Huang Shijie wrote:
>>> On Sat, Nov 29, 2014 at 10:53:26PM -0800, Brian Norris wrote:
>>>> On Sat, Nov 29, 2014 at 10:40:50AM +0800, Huang Shijie wrote:
>>>>> On Fri, Nov 28, 2014 at 08:01:41AM +0100, Stefan Roese wrote:
>>>>>> On 28.11.2014 02:48, Huang Shijie wrote:
>>>>>>> On Thu, Nov 27, 2014 at 03:18:49PM +0100, Stefan Roese wrote:
>>>>>>>> This sentence "We support only one NAND chip now" is not true any more.
>>>>>>>> Multiple chips are supported. So lets remove this sentence to not
>>>>>>>
>>>>>>> The gpmi can only supports one chip. Of course, there are maybe two dies
>>>>>>> in this single chip.
>>>>>>
>>>>>> Now I'm a bit confused. The i.MX6 supports 4 chips select signals. And isn't
>>>>>> "two dies in this single chip" not practically the same as connecting 2 (or
>>>>>> more) chips (same device) to multiple chip selects of the SoC? Where is the
>>>>>> difference here?
>>>>> The "one chip" here is means the "one package" (TSOP or BGA ....).
>>>>
>>>> Then why is this even in the DT binding doc? Isn't that a board-level
>>>> constraint (and not a chip property) which should be obvious to the
>>>> user? If so, then should we just drop the language? Or at a minimum,
>>>> make it more specific so it doesn't confuse readers.
>>>
>>> yes. It is okay to send a patch to make it more clear.
>>>
>>>>
>>>>> (In logic, "two dies in this single chip" is same as connecting 2 chips
>>>>> to the gpmi.)
>>>>
>>>> ...which means that logically, you can connect more than one chip to the
>>>> GPMI, right?
>>> The gpmi can only connect with one physical chip now, but there maybe
>>> two DIEs in this chip.
>>
>> I really fail to see why you make this distinction between two chips on a die
>> and two external chips. For the SoC this should really look identical, right?
>>
>> Please explain again, why exactly only two chips on one die are supported.
> There are only 8 data lines for gpmi. I guess there may bugs in the
> gpmi driver to support the two external chips in such case:
> Two different processes access different NAND chips at the same
> time.
I don't see why this should be a problem. All SoC's that support multiple
NAND chips (I've seen so far) only use 8 data lines for this.
> I even did not have enough time to test the "two chips on a die" case very carefully before
> I left freescale.
I see. Thanks for the hint. But this "two chips on a die" scenario did
pass some basic tests, no?
>>
>> BTW: We have a custom i.MX6DL based board with 2 NAND chips connected. And
>
> Very good. Please test this board with the UBIFS in the multi processes
> case. (I ever used the bonnie++)
We'll do that.
>> Linux seems to support both chips just fine. Here the boot log:
>>
>> [ 1.085812] nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xdc
>> [ 1.092218] nand: Micron MT29F4G08ABADAH4
>> [ 1.096245] nand: 512MiB, SLC, page size: 2048, OOB size: 64
>> [ 1.102171] nand: 2 chips detected
>> [ 1.106156] gpmi-nand 112000.gpmi-nand: enable the asynchronous EDO mode 5
>> [ 1.113094] Scanning device for bad blocks
> could you please post more log?
Sure.
...
[ 1.068580] loop: module loaded
[ 1.085966] nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xdc
[ 1.092372] nand: Micron MT29F4G08ABADAH4
[ 1.096401] nand: 512MiB, SLC, page size: 2048, OOB size: 64
[ 1.102331] nand: 2 chips detected
[ 1.106342] gpmi-nand 112000.gpmi-nand: enable the asynchronous EDO mode 5
[ 1.113279] Scanning device for bad blocks
[ 1.126196] Bad eraseblock 58 at 0x000000740000
[ 1.131074] Bad eraseblock 60 at 0x000000780000
[ 1.515182] random: nonblocking pool is initialized
[ 2.331738] 10 cmdlinepart partitions found on MTD device gpmi-nand
[ 2.338028] Creating 10 MTD partitions on "gpmi-nand":
[ 2.343210] 0x000000000000-0x000000e00000 : "spl"
[ 2.351695] 0x000000e00000-0x000001000000 : "uboot"
[ 2.359015] 0x000001000000-0x000001080000 : "env1"
[ 2.366272] 0x000001080000-0x000001100000 : "env2"
[ 2.373508] 0x000001100000-0x000020000000 : "ubi0"
[ 2.381521] 0x000020000000-0x000020e00000 : "res0"
[ 2.388781] 0x000020e00000-0x000021000000 : "res1"
[ 2.396131] 0x000021000000-0x000021080000 : "res2"
[ 2.403458] 0x000021080000-0x000021100000 : "res3"
[ 2.410657] 0x000021100000-0x000040000000 : "ubi1"
[ 2.418572] gpmi-nand 112000.gpmi-nand: driver registered.
[ 2.428911] spi_imx 2008000.ecspi: probed
...
Thanks,
Stefan
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2014-12-02 7:28 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-27 14:18 [PATCH] mtd: gpmi: Remove "We support only one NAND chip" from bindings doc Stefan Roese
2014-11-27 14:18 ` Stefan Roese
2014-11-28 1:48 ` Huang Shijie
2014-11-28 1:48 ` Huang Shijie
2014-11-28 7:01 ` Stefan Roese
2014-11-28 7:01 ` Stefan Roese
2014-11-29 2:40 ` Huang Shijie
2014-11-29 2:40 ` Huang Shijie
2014-11-30 6:53 ` Brian Norris
2014-11-30 6:53 ` Brian Norris
2014-11-30 15:42 ` Huang Shijie
2014-11-30 15:42 ` Huang Shijie
2014-12-01 9:58 ` Stefan Roese
2014-12-01 9:58 ` Stefan Roese
2014-12-02 0:38 ` Huang Shijie
2014-12-02 0:38 ` Huang Shijie
2014-12-02 7:28 ` Stefan Roese [this message]
2014-12-02 7:28 ` Stefan Roese
2014-12-03 0:35 ` Huang Shijie
2014-12-03 0:35 ` Huang Shijie
2014-12-17 1:17 ` Brian Norris
2014-12-17 1:17 ` Brian Norris
2014-12-18 2:45 ` Brian Norris
2014-12-18 2:45 ` Brian Norris
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=547D6A0A.70409@denx.de \
--to=sr@denx.de \
--cc=computersforpeace@gmail.com \
--cc=devicetree@vger.kernel.org \
--cc=linux-mtd@lists.infradead.org \
--cc=shijie.huang@intel.com \
--cc=shijie8@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.