[U-Boot] [PATCH v2] arm : Atmel : add at91sam9x5ek board support

Andreas Bießmann andreas.devel at googlemail.com
Mon Jul 2 12:23:26 CEST 2012


Dear all,

On 02.07.2012 12:02, Andreas Bießmann wrote:
> Dear all,
> 
> On 02.07.2012 11:53, Nicolas Ferre wrote:
>> On 07/02/2012 11:47 AM, Andreas Bießmann :
>>> On 02.07.2012 10:36, Bo Shen wrote:
>>
>> [..]
>>
>>>>>> +/* bootstrap + u-boot + env + linux in nandflash */
>>>>>> +#define CONFIG_ENV_IS_IN_NAND
>>>>>> +#define CONFIG_ENV_OFFSET        0xc0000
>>>>>> +#define CONFIG_ENV_OFFSET_REDUND    0x100000
>>>>>> +#define CONFIG_ENV_SIZE        0x20000        /* 1 sector = 128 kB */
>>>>>> +#define CONFIG_BOOTCOMMAND    "nand read.jffs2 " \
>>>>>> +                "0x22000000 0x200000 0x300000; " \
>>>>>> +                "bootm 0x22000000"
>>>>>
>>>>> Well, you read from jffs but work with ubifs later on? Is that ok?
>>>>> BTW: I do not know 'nand read.jffs2', does this subcommand exist really?
>>>>
>>>> Using the read with subfix .jffs2 it to skip the bad block. This
>>>> partition is for Linux kernel.
>>>> I will remove the .jffs2 to avoid confusing.
>>>
>>> Well, it is ok with me to use read.jffs2 (if it works). I just do not
>>> know about that subcommand and I can only find some references about
>>> that in two other boards. I guess these boards are just forgotten while
>>> removing the 'nand read.jffs2' command. Please check, if that command
>>> works, if yes let it as is, if not rewrite.
>>
>> I am in favor of using read.jffs2 because it is able to skip bad blocks.
>> As the programming tool is also skipping bad blocks the same way, we
>> have a configuration that is perfectly working even in case of bad block
>> in the middle of the kernel image.
>>
>> So please, keep using read.jffs2 (or equivalent)!
> 
> I have the same opinion here, we should skip bad blocks. But I think
> 'nand read.jffs2' is not available any longer.
> 
> from current common/cmd_nand.c:
> ---8<---
> 	"nand read - addr off|partition size\n"
> 	"nand write - addr off|partition size\n"
> 	"    read/write 'size' bytes starting at offset 'off'\n"
> 	"    to/from memory address 'addr', skipping bad blocks.\n"
> 	"nand read.raw - addr off|partition [count]\n"
> 	"nand write.raw - addr off|partition [count]\n"
> 	"    Use read.raw/write.raw to avoid ECC and access the flash as-is.\n"
> --->8---

Ok, some investigation showed up that
 a) the default read/write should skip bad blocks since
    984e03cdf1431bb593aeaa1b74c445d616f955d3 (mid of 2008!)
 b) the .jffs2 subcommand is still available, but not in the help
    -> in line 645: if (!s || !strcmp(s, ".jffs2") ||

Since the read.jffs2 seems to be a leftover from older days I tend to
use just 'nand read' here. But as said before, I will also take the
'nand read.jffs2' if it works. My first objection was that I doubt it
works at all.

Best regards

Andreas Bießmann


More information about the U-Boot mailing list