[U-Boot] nand: current mainline show "new" startup output

Heiko Schocher hs at denx.de
Tue Feb 14 07:38:28 CET 2012


Hello Scott,

Scott Wood wrote:
> On 02/13/2012 02:18 AM, Heiko Schocher wrote:
>> Hello Christian, Scott,
>>
>> current mainline code of U-Boot:
>>
>> commit 9a3aae22edf1eda6326cc51c28631ca5c23b7706
>> Author: Christian Riesch <christian.riesch at omicron.at>
>> Date:   Thu Feb 2 00:44:42 2012 +0000
>>
>>     arm, davinci: Add support for the Calimain board from OMICRON electronics
>>
>>     This patch adds support for the Calimain board from
>>     OMICRON electronics GmbH. The board features a Texas Instruments AM1808
>>     SoC, 128 MB DDR2 memory, and 64 MB NOR flash memory connected to CS2 and
>>     CS3.
>>
>>     Signed-off-by: Christian Riesch <christian.riesch at omicron.at>
>>
>> shows now on startup the following printfs on the enbw_cmc board:
>>
>>
>>
>> U-Boot 2011.12-00331-ga400f85 (Feb 13 2012 - 08:49:17)
>>
>> I2C:   ready
>> [...]
>> NAND:  Bad block table found at page 65472, version 0x01
>> Bad block table found at page 65408, version 0x01
>> nand_read_bbt: Bad block at 0x000002980000
>> nand_read_bbt: Bad block at 0x000003240000
>> 128 MiB
>> MMC:   davinci: 0
>>
>> Found with "git bisect" the reason:
>>
>> [hs at pollux u-boot]$ git bisect good
>> 2a8e0fc8b3dc31a3c571e439fbf04b882c8986be is the first bad commit
>> commit 2a8e0fc8b3dc31a3c571e439fbf04b882c8986be
>> Author: Christian Hitz <christian.hitz at aizo.com>
>> Date:   Wed Oct 12 09:32:02 2011 +0200
>>
>>     nand: Merge changes from Linux nand driver
>>
>>     [backport from linux commit 02f8c6aee8df3cdc935e9bdd4f2d020306035dbe]
>>
>>     This patch synchronizes the nand driver with the Linux 3.0 state.
>>
>>     Signed-off-by: Christian Hitz <christian.hitz at aizo.com>
>>     Cc: Scott Wood <scottwood at freescale.com>
>>     [scottwood at freescale.com: minor fixes]
>>     Signed-off-by: Scott Wood <scottwood at freescale.com>
>>
>> :040000 040000 5ab34f43b64379528b9ef2652c8481fdab1a927a b453a49035e179dfb5f31c3164a1b7d3d62d66d6 M      drivers
>> :040000 040000 b59a7f3136da038b4b49c48cd0958e140a09ed66 a8fd298715a562fda0a350e6f732c1072ca7d410 M      include
>> [hs at pollux u-boot]$
>>
>> Looking in this patch, it seems to me, this is the "reason":
>>
>> diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c
>> index 758b53f..ed2640c 100644
>> --- a/drivers/mtd/nand/nand_base.c
>> +++ b/drivers/mtd/nand/nand_base.c
>> [...]
>> @@ -2992,9 +3145,10 @@ int nand_scan_tail(struct mtd_info *mtd)
>>
>>         /* Check, if we should skip the bad block table scan */
>>         if (chip->options & NAND_SKIP_BBTSCAN)
>> -               chip->options |= NAND_BBT_SCANNED;
>> +               return 0;
>>
>> -       return 0;
>> +       /* Build bad block table */
>> +       return chip->scan_bbt(mtd);
>>  }
>>
>>  /**
>>
>> ... This printfs in the startoutput are suboptimal ... maybe we apply
>> the following patch:
> 
> The problem isn't (just) the prints, which have always been there, but
> when we do the scanning.  I suspect this patch accidentally reversed a
> U-Boot local change to defer bad block scanning to first use.

Yes, seems so. So there are two points to decide:

- Do we need this prints? I vote for moving them to debug output

- Do we move scanning back to first use? I vote for moving to "first use"

bye,
Heiko
-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany


More information about the U-Boot mailing list