Re: [PATCH] ARM: dts: omap3-igep00x0: Fix nand ECC to maintain backward compatibility.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

CCing Pekon Gupta <pekon@xxxxxx>

2013/12/2 Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx>:
> Dear Javier Martinez Canillas,
>
> On Sun, 1 Dec 2013 13:27:25 +0100, Javier Martinez Canillas wrote:
>
>> > diff --git a/arch/arm/boot/dts/omap3-igep0020.dts b/arch/arm/boot/dts/omap3-igep0020.dts
>> > index d5cc792..4229e94 100644
>> > --- a/arch/arm/boot/dts/omap3-igep0020.dts
>> > +++ b/arch/arm/boot/dts/omap3-igep0020.dts
>> > @@ -116,7 +116,7 @@
>> >                 linux,mtd-name= "micron,mt29c4g96maz";
>> >                 reg = <0 0 0>;
>> >                 nand-bus-width = <16>;
>> > -               ti,nand-ecc-opt = "bch8";
>> > +               ti,nand-ecc-opt = "ham1";
>> >
>> >                 gpmc,sync-clk-ps = <0>;
>> >                 gpmc,cs-on-ns = <0>;
>> > diff --git a/arch/arm/boot/dts/omap3-igep0030.dts b/arch/arm/boot/dts/omap3-igep0030.dts
>> > index 525e6d9..9043e97 100644
>> > --- a/arch/arm/boot/dts/omap3-igep0030.dts
>> > +++ b/arch/arm/boot/dts/omap3-igep0030.dts
>> > @@ -59,7 +59,7 @@
>> >                 linux,mtd-name= "micron,mt29c4g96maz";
>> >                 reg = <0 0 0>;
>> >                 nand-bus-width = <16>;
>> > -               ti,nand-ecc-opt = "bch8";
>> > +               ti,nand-ecc-opt = "ham1";
>
> Tested this with 3.13-rc1, and it somewhat works, but causes some ECC
> error messages:
>
> # mount -t jffs2 /dev/mtdblock3 /mnt/
> [   10.423736] jffs2: CLEANMARKER node found at 0x00000000 has totlen 0xc != normal 0x0
> [   10.444671] jffs2: CLEANMARKER node found at 0x00020000 has totlen 0xc != normal 0x0
> [   10.472290] jffs2: mtd->read(0x100 bytes from 0x40000) returned ECC error
> [   10.480743] jffs2: mtd->read(0x100 bytes from 0x60000) returned ECC error
> [   10.489013] jffs2: mtd->read(0x100 bytes from 0x80000) returned ECC error
> [   10.497283] jffs2: mtd->read(0x100 bytes from 0xa0000) returned ECC error
> [   10.505126] jffs2: mtd->read(0x100 bytes from 0xc0000) returned ECC error
> [   10.513458] jffs2: mtd->read(0x100 bytes from 0xe0000) returned ECC error
> [   10.521667] jffs2: mtd->read(0x100 bytes from 0x100000) returned ECC error
> [   10.529968] jffs2: mtd->read(0x100 bytes from 0x120000) returned ECC error
> [   10.538269] jffs2: mtd->read(0x100 bytes from 0x140000) returned ECC error
> [   10.546295] jffs2: mtd->read(0x100 bytes from 0x160000) returned ECC error
> [   10.554534] jffs2: mtd->read(0x100 bytes from 0x180000) returned ECC error
> [   10.563323] jffs2: mtd->read(0x100 bytes from 0x1a0000) returned ECC error
> [   10.571685] jffs2: mtd->read(0x100 bytes from 0x1c0000) returned ECC error
> [   10.579986] jffs2: mtd->read(0x100 bytes from 0x1e0000) returned ECC error
> [   10.588287] jffs2: mtd->read(0x100 bytes from 0x200000) returned ECC error
> [   10.596313] jffs2: mtd->read(0x100 bytes from 0x220000) returned ECC error
> [   10.604522] jffs2: mtd->read(0x100 bytes from 0x240000) returned ECC error
> [   10.613037] jffs2: mtd->read(0x100 bytes from 0x260000) returned ECC error
> [   10.621307] jffs2: mtd->read(0x100 bytes from 0x280000) returned ECC error
> [   10.629608] jffs2: mtd->read(0x100 bytes from 0x2a0000) returned ECC error
> [   10.637908] jffs2: mtd->read(0x100 bytes from 0x2c0000) returned ECC error
> [   10.645843] jffs2: mtd->read(0x100 bytes from 0x2e0000) returned ECC error
> [   10.654113] jffs2: notice: (851) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found.
> #
> #
> # cd /mnt/
> # ls
> MD5SUMS  foo10    foo3     foo5     foo7     foo9
> foo1     foo2     foo4     foo6     foo8
> # md5sum -c MD5SUMS
> foo1: OK
> foo10: OK
> foo2: OK
> foo3: OK
> foo4: OK
> foo5: OK
> foo6: OK
> foo7: OK
> foo8: OK
> foo9: OK
>
> This is with a JFFS2 image flashed after doing "nandecc sw" in U-Boot.
>
>> Just a note that this binding property got renamed for v3.13 on
>>
>> commit c66d039197e42af8867e5d0d9b904daf0fb9e6bc
>> Author: Pekon Gupta <pekon@xxxxxx>
>> Date:   Thu Oct 24 18:20:18 2013 +0530
>>
>>     mtd: nand: omap: combine different flavours of 1-bit hamming ecc schemes
>>
>> so users using current v3.12 kernel or older should use
>>
>> ti,nand-ecc-opt = "sw";
>>
>> instead.
>
> However, this works perfectly fine, with the same JFFS2 image, flashed
> in the same way in U-Boot:
>

Pekon, the old ti,nand-ecc-opt = "sw" should be replaced by
ti,nand-ecc-opt = "ham1" ? Should be the same ? In that case, why this
different behavior ?


> # mount -t jffs2 /dev/mtdblock3 /mnt/
> [   19.789306] jffs2: CLEANMARKER node found at 0x00000000 has totlen 0xc != normal 0x0
> [   19.810455] jffs2: CLEANMARKER node found at 0x00020000 has totlen 0xc != normal 0x0
> [   19.850860] jffs2: notice: (802) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found.
> # cd /mnt/
> # ls
> MD5SUMS  foo10    foo3     foo5     foo7     foo9
> foo1     foo2     foo4     foo6     foo8
> # md5sum -c MD5SUMS
> foo1: OK
> foo10: OK
> foo2: OK
> foo3: OK
> foo4: OK
> foo5: OK
> foo6: OK
> foo7: OK
> foo8: OK
> foo9: OK
>
> Best regards,
>
> Thomas
> --
> Thomas Petazzoni, CTO, Free Electrons
> Embedded Linux, Kernel and Android engineering
> http://free-electrons.com
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux