From: arno@natisbad.org (Arnaud Ebalard)
To: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Cc: Lior Amsalem <alior@marvell.com>,
Thomas Petazzoni <thomas.petazzoni@free-electrons.com>,
linux-mtd@lists.infradead.org,
Gregory Clement <gregory.clement@free-electrons.com>,
Brian Norris <computersforpeace@gmail.com>,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v5 00/14] Armada 370/XP NAND support
Date: Tue, 26 Nov 2013 00:04:52 +0100 [thread overview]
Message-ID: <87r4a4f5gr.fsf@natisbad.org> (raw)
In-Reply-To: <20131125120335.GD2408@localhost> (Ezequiel Garcia's message of "Mon, 25 Nov 2013 09:03:36 -0300")
Hi,
Ezequiel Garcia <ezequiel.garcia@free-electrons.com> writes:
> On Sun, Nov 24, 2013 at 03:08:46PM +0100, Arnaud Ebalard wrote:
>>
>> As ReadyNAS 102, 104 and 2120 all depend on your driver, I decided to
>> give v4 a change on a 102. As a side note, all those device have the
>> same NAND chip, i.e. a 128 MB hynix H27U1G8F2BTR. Additionally, this is
>> also the chip found on ReadyNAS Duo v2, which is perfectly handled by
>> orion-nand driver.
>>
>> With your 31 patches in my quilt set against current linus tree (w/
>> 2 to 4 of 31 disabled as they are already in Linus tree), I modified
>> my .dts in the following way:
>>
>> nand@d0000 {
>> status = "okay";
>> num-cs = <1>;
>> marvell,nand-keep-config;
>> marvell,nand-enable-arbiter;
>> nand-on-flash-bbt;
>>
>
> Great! Thanks for giving NAND a chance :-)
>
> Could you try using the devicetree snippet below?
>
> nand@d0000 {
> /* HACK: Use legacy compatible to handle smaller pages */
> compatible = "marvell,pxa3xx-nand";
> status = "okay";
> num-cs = <1>;
> marvell,nand-keep-config;
> marvell,nand-enable-arbiter;
> nand-on-flash-bbt;
>
> /* partitions */
> };
The snippet above gave me the following:
pxa3xx-nand d00d0000.nand: This platform can't do DMA on this device
pxa3xx-nand d00d0000.nand: Wait time out!!!
pxa3xx-nand d00d0000.nand: Wait time out!!!
pxa3xx-nand d00d0000.nand: Wait time out!!!
pxa3xx-nand d00d0000.nand: failed to scan nand at cs 0
So, I then tried and match the chip->chip_delay with the one in
kirkwood.dtsi (by setting it to 25) but this provided the same
result.
Then, I tried a different approach: use the armada370 variant but w/ a
small extension of your armada370_ecc_init():
@@ -1388,6 +1388,14 @@
ecc->layout = &ecc_layout_4KB_bch8bit;
ecc->strength = 16;
return 1;
+ } else if (page_size == 2048) {
+ info->chunk_size = 2048;
+ info->spare_size = 40;
+ info->ecc_size = 24;
+ ecc->mode = NAND_ECC_HW;
+ ecc->size = 2048;
+ ecc->strength = 1;
+ return 1;
}
return 0;
}
For the record, my .dts had the following at that point:
nand@d0000 {
status = "okay";
num-cs = <1>;
marvell,nand-keep-config;
marvell,nand-enable-arbiter;
nand-on-flash-bbt;
/* partitions */
};
And \o/ i.e. here is what I get:
root@mood:~# dmesg
...
pxa3xx-nand d00d0000.nand: This platform can't do DMA on this device
NAND device: Manufacturer ID: 0xad, Chip ID: 0xf1 (Hynix H27U1G8F2BTR-BC)
NAND device: 128MiB, SLC, page size: 2048, OOB size: 64
Bad block table found at page 65472, version 0x01
Bad block table found at page 65408, version 0x01
5 ofpart partitions found on MTD device pxa3xx_nand-0
Creating 5 MTD partitions on "pxa3xx_nand-0":
0x000000000000-0x000000180000 : "u-boot"
0x000000180000-0x0000001a0000 : "u-boot-env"
0x000000200000-0x000000800000 : "uImage"
0x000000800000-0x000001800000 : "minirootfs"
0x000001800000-0x000008000000 : "jffs2"
...
root@mood:~# ls /dev/mtd
mtd0 mtd1ro mtd3 mtd4ro mtdblock2
mtd0ro mtd2 mtd3ro mtdblock0 mtdblock3
mtd1 mtd2ro mtd4 mtdblock1 mtdblock4
root@mood:~# dd if=/dev/mtd2ro of=/tmp/foo
12288+0 records in
12288+0 records out
6291456 bytes (6.3 MB) copied, 1.98731 s, 3.2 MB/s
root@mood:~# file /tmp/foo
/tmp/foo: u-boot legacy uImage, Linux-3.12.0.rn102-00048-gbe408c, Linux/ARM, OS Kernel Image (Not compressed), 3740317 bytes, Tue Nov 5 22:24:01 2013, Load Address: 0x00008000, Entry Point: 0x00008000, Header CRC: 0xD84586E1, Data CRC: 0xC4357CED
But then /o\ i.e. write does not seem to work out of the box ;-)
root@mood:~# flash_erase /dev/mtd2 0 0
Erasing 128 Kibyte @ 5e0000 -- 100 % complete
root@mood:~# nand
nanddump nandtest nandwrite
root@mood:~# nandwrite -p /dev/mtd2 /tmp/uImage
Writing data to block 0 at offset 0x0
[ 1456.154142] pxa3xx-nand d00d0000.nand: Wait time out!!!
[ 1456.354143] pxa3xx-nand d00d0000.nand: Wait time out!!!
[ 1456.554144] pxa3xx-nand d00d0000.nand: Wait time out!!!
[ 1456.754141] pxa3xx-nand d00d0000.nand: Wait time out!!!
[ 1456.954140] pxa3xx-nand d00d0000.nand: Wait time out!!!
[ 1457.154140] pxa3xx-nand d00d0000.nand: Wait time out!!!
[ 1457.354140] pxa3xx-nand d00d0000.nand: Wait time out!!!
[ 1457.554140] pxa3xx-nand d00d0000.nand: Wait time out!!!
[ 1457.754140] pxa3xx-nand d00d0000.nand: Wait time out!!!
[ 1457.954197] pxa3xx-nand d00d0000.nand: Wait time out!!!
[ 1458.154140] pxa3xx-nand d00d0000.nand: Wait time out!!!
But I guess this gives you some hints on possible directions.
Cheers,
a+
ps: I will not be available tomorrow but can test whatever you
come with the day after tomorrow.
next prev parent reply other threads:[~2013-11-25 23:04 UTC|newest]
Thread overview: 61+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-14 21:25 [PATCH v5 00/14] Armada 370/XP NAND support Ezequiel Garcia
2013-11-14 21:25 ` [PATCH v5 01/14] mtd: nand: pxa3xx: Use a completion to signal device ready Ezequiel Garcia
2013-11-14 21:25 ` [PATCH v5 02/14] mtd: nand: pxa3xx: Use waitfunc() to wait for the device to be ready Ezequiel Garcia
2013-11-14 21:25 ` [PATCH v5 03/14] mtd: nand: pxa3xx: Add bad block handling Ezequiel Garcia
2013-11-14 22:12 ` Brian Norris
2013-11-14 22:37 ` Ezequiel Garcia
2013-11-14 21:25 ` [PATCH v5 04/14] mtd: nand: pxa3xx: Add driver-specific ECC BCH support Ezequiel Garcia
2013-11-14 21:25 ` [PATCH v5 05/14] mtd: nand: pxa3xx: Clear cmd buffer #3 (NDCB3) on command start Ezequiel Garcia
2013-11-14 22:18 ` Brian Norris
2013-11-14 21:25 ` [PATCH v5 06/14] mtd: nand: pxa3xx: Add helper function to set page address Ezequiel Garcia
2013-11-14 21:25 ` [PATCH v5 07/14] mtd: nand: pxa3xx: Remove READ0 switch/case falltrough Ezequiel Garcia
2013-11-14 21:25 ` [PATCH v5 08/14] mtd: nand: pxa3xx: Split prepare_command_pool() in two stages Ezequiel Garcia
2013-11-14 21:25 ` [PATCH v5 09/14] mtd: nand: pxa3xx: Move the data buffer clean to prepare_start_command() Ezequiel Garcia
2013-11-14 22:25 ` Brian Norris
2013-11-14 22:45 ` Ezequiel Garcia
2013-11-14 21:25 ` [PATCH v5 10/14] mtd: nand: pxa3xx: Fix SEQIN column address set Ezequiel Garcia
2013-11-14 21:25 ` [PATCH v5 11/14] mtd: nand: pxa3xx: Add a read/write buffers markers Ezequiel Garcia
2013-11-14 21:25 ` [PATCH v5 12/14] mtd: nand: pxa3xx: Introduce multiple page I/O support Ezequiel Garcia
2013-11-14 22:40 ` Brian Norris
2013-11-14 23:02 ` Ezequiel Garcia
2013-11-14 23:07 ` Brian Norris
2013-11-14 21:25 ` [PATCH v5 13/14] mtd: nand: pxa3xx: Add multiple chunk write support Ezequiel Garcia
2013-11-14 21:25 ` [PATCH v5 14/14] mtd: nand: pxa3xx: Add ECC BCH correctable errors detection Ezequiel Garcia
2013-11-14 23:04 ` [PATCH v5 00/14] Armada 370/XP NAND support Brian Norris
2013-11-14 23:05 ` Brian Norris
2013-11-14 23:15 ` Ezequiel Garcia
2013-11-14 23:17 ` Brian Norris
2013-11-15 7:59 ` Daniel Mack
2013-11-15 13:07 ` Ezequiel Garcia
2013-11-15 13:47 ` Daniel Mack
2013-11-15 14:27 ` Ezequiel Garcia
2013-11-15 14:30 ` Daniel Mack
2013-11-15 18:05 ` Brian Norris
2013-11-15 18:35 ` Ezequiel Garcia
2013-11-24 14:08 ` Arnaud Ebalard
2013-11-24 14:22 ` Thomas Petazzoni
2013-11-25 12:03 ` Ezequiel Garcia
2013-11-25 23:04 ` Arnaud Ebalard [this message]
2013-11-26 12:40 ` Ezequiel Garcia
2013-11-27 20:24 ` Arnaud Ebalard
2013-11-27 20:52 ` Arnaud Ebalard
2013-11-28 7:48 ` Ricard Wanderlof
2013-11-28 18:50 ` Ezequiel Garcia
2013-11-29 23:25 ` Arnaud Ebalard
2013-12-02 10:33 ` Ezequiel Garcia
2013-12-02 21:05 ` Arnaud Ebalard
2013-12-03 0:22 ` Ezequiel Garcia
2013-12-03 20:21 ` Arnaud Ebalard
2013-12-03 21:25 ` Arnaud Ebalard
2013-12-04 14:20 ` Ezequiel Garcia
2013-12-04 14:41 ` Ezequiel Garcia
2013-12-04 20:48 ` Arnaud Ebalard
2013-12-05 20:42 ` Arnaud Ebalard
2013-12-05 22:24 ` [PATCH v5 00/14] Armada 370/XP NAND supportg Ezequiel Garcia
2013-12-06 12:56 ` [PATCH v5 00/14] Armada 370/XP NAND support Ezequiel Garcia
2013-12-06 21:41 ` Arnaud Ebalard
2013-12-06 22:05 ` Ezequiel Garcia
2013-12-05 21:32 ` Brian Norris
2013-12-05 21:23 ` Brian Norris
2013-12-05 22:23 ` Ezequiel Garcia
2013-12-05 22: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=87r4a4f5gr.fsf@natisbad.org \
--to=arno@natisbad.org \
--cc=alior@marvell.com \
--cc=computersforpeace@gmail.com \
--cc=ezequiel.garcia@free-electrons.com \
--cc=gregory.clement@free-electrons.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-mtd@lists.infradead.org \
--cc=thomas.petazzoni@free-electrons.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).