From: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [U-boot] [Patch v2 3/3] k2hk: change default nand ecc layout
Date: Wed, 25 Jun 2014 18:42:26 +0300 [thread overview]
Message-ID: <53AAEDE2.3040406@ti.com> (raw)
In-Reply-To: <1403652315.2435.51.camel@snotra.buserror.net>
On 06/25/2014 02:25 AM, Scott Wood wrote:
> On Mon, 2014-06-23 at 18:26 +0300, Ivan Khoronzhuk wrote:
>> On 06/21/2014 02:40 AM, Scott Wood wrote:
>>> On Sat, 2014-06-21 at 02:28 +0300, Ivan Khoronzhuk wrote:
>>>> For keystyone k2hk board the default nand layout is different
>>>> from davinci. So swich ecc layout at init in board file.
>>>>
>>>> Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
>>>> ---
>>>> board/ti/k2hk_evm/board.c | 11 +++++++++++
>>>> 1 file changed, 11 insertions(+)
>>>>
>>>> diff --git a/board/ti/k2hk_evm/board.c b/board/ti/k2hk_evm/board.c
>>>> index ef90f9d..baa6ab7 100644
>>>> --- a/board/ti/k2hk_evm/board.c
>>>> +++ b/board/ti/k2hk_evm/board.c
>>>> @@ -11,6 +11,7 @@
>>>> #include <exports.h>
>>>> #include <fdt_support.h>
>>>> #include <libfdt.h>
>>>> +#include <nand.h>
>>>>
>>>> #include <asm/arch/hardware.h>
>>>> #include <asm/arch/clock.h>
>>>> @@ -19,6 +20,7 @@
>>>> #include <asm/arch/emac_defs.h>
>>>> #include <asm/arch/psc_defs.h>
>>>> #include <asm/ti-common/ti-aemif.h>
>>>> +#include <asm/ti-common/davinci_nand.h>
>>>>
>>>> DECLARE_GLOBAL_DATA_PTR;
>>>>
>>>> @@ -147,6 +149,15 @@ int cpu_to_bus(u32 *ptr, u32 length)
>>>> return 0;
>>>> }
>>>>
>>>> +int board_nand_init(struct nand_chip *chip)
>>>> +{
>>>> + davinci_nand_init(chip);
>>>> + chip->ecc.layout =
>>>> + board_nand_get_ecclayout(NAND_KEYSTONE_RBL_4BIT_LAYOUT);
>>>> +
>>>> + return 0;
>>>> +}
>>> Shouldn't you be calling board_nand_set_ecclayout()? How will oobavail
>>> get set?
>> There is no reason to set oobavail here, I suppose that's done while int
>> nand_scan_tail().
> But nand_scan_tail() has already run at this point. oobavail would be
> set based on the wrong layout.
Where did you get.. I've checked it again. It was called after
board_nand_init().
nand_init_chip
-> board_nand_init
-> nand_scan
-> nand_scan_tail
>
>>> Is it really OK to start with the wrong ECC layout and switch later?
>> It can be used to boot from nand.
> That doesn't answer my question.
Seems It can be started with default ecc layout.
So I'm going to remove subj patch.
>
>>> Are you depending on lazy scanning of the BBT?
>> No, define CONFIG_SYS_NAND_USE_FLASH_BBT
> My point is, if the scanning of the BBT happens before you set the
> layout, it will be read using the wrong ECC layout.
>
>>> For that matter, you also seem to be assuming that markbad will never be
>>> called when the ECC is set to something other than what the BBT uses.
>>>
>>> -Scott
>>>
>>>
>> I suppose that only ECC layout is different.
> "only"? That's a big deal.
>
> -Scott
>
>
If I correctly understand you, what if while we are writing data a new
bad block is found?
Then we try to update BBT wich was written using a different layout....
Well probably I should rewrite BBT when layout is switched..
Will see if it can be done correctly.
Thanks.
--
Regards,
Ivan Khoronzhuk
next prev parent reply other threads:[~2014-06-25 15:42 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-20 23:28 [U-Boot] [U-boot] [Patch v2 0/3] keystone: nand: add additional nand ecclayout Ivan Khoronzhuk
2014-06-20 23:28 ` [U-Boot] [U-boot] [Patch v2 1/3] mtd: nand: davinci: allow to change ecclayout by ecclayout command Ivan Khoronzhuk
2014-06-20 23:28 ` [U-Boot] [U-boot] [Patch v2 2/3] common: cmd_nand: add nand " Ivan Khoronzhuk
2014-06-20 23:28 ` [U-Boot] [U-boot] [Patch v2 3/3] k2hk: change default nand ecc layout Ivan Khoronzhuk
2014-06-20 23:40 ` Scott Wood
2014-06-23 15:26 ` Ivan Khoronzhuk
2014-06-24 23:25 ` Scott Wood
2014-06-25 15:42 ` Ivan Khoronzhuk [this message]
2014-06-25 17:15 ` Scott Wood
2014-06-25 17:37 ` Ivan Khoronzhuk
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=53AAEDE2.3040406@ti.com \
--to=ivan.khoronzhuk@ti.com \
--cc=u-boot@lists.denx.de \
/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