Hi,

On Tue, Nov 11, 2008 at 5:43 PM, Stefan Roese <[EMAIL PROTECTED]> wrote:
> Hi Kyungmin,
>
> I'm experiencing a problem with one OneNAND device on our board:
>
> KFG1216U2B (512Mbit)
>
> Here the output from the U-Boot bootup:
>
> OneNAND 64MB 2.65/3.3V 16-bit (0x25)
> OneNAND version = 0x022e
> Lock scheme is Continuous Lock
> Scanning device for bad blocks
> OneNAND: 64 MB

It's wrong report, The latest chip use block lock scheme.

>
> As you can see the device is reported to have a "Continuous Lock" scheme. But
> this doesn't work. When I try to erase a block I get the following error:
>
> OneNAND erase: offset 0x0, size 0x100000
> onenand_wait: controller error = 0x4c00
> onenand_wait: it's locked error = 0x4c00
> onenand_erase: Failed erase, block 1
> erase failed block 1 at 0x20000
>
> When I disable this continuous locking check in onenand_base.c and all blocks
> are unlocked individually then everything is ok. So I suspect that either the
> implementation of the continuous locking scheme is incorrect or the device is
> not really supporting this scheme.

Actually device doesn't support continuous lock scheme. The continuous
lock scheme is used early OneNAND chip.

 I'm still new to OneNAND and I couldn't
> find any reference to this continuous locking scheme in the OneNAND chip used
> here. Do you have any idea why this is not working for us? Do you know for
> sure if the KFG1216U2B (Dev-ID 0x25) really supports this continuous locking
> scheme?

In onenand_check_features()

          default:
                /* Some OneNAND has continuous lock scheme */
                if (!process)
                        this->options |= ONENAND_HAS_CONT_LOCK;

It's some strange. As your version id is 0x22e. then process is 0x2.
umm maybe options field is not cleared before. please check this one.

Thank you,
Kyungmin Park
_______________________________________________
U-Boot mailing list
[email protected]
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to