Hello:

I have got two version of u-boot source code:
    one downloaded from
http://code.google.com/p/srv1-linux/downloads/listwhich provided by
Surveyor;
    another is u-boot-2010.06-2010R1-RC2.tar.bz2 which released recently.

The u-boot.ldr is built for my SRV-1 robot.

With the first one, uClinux can not be auto started after power on the
robot, error log as below:

*SF: Detected M25P32 with page size 256, total 4 MiB
4096 KiB M25P32 at 0:1 is now current device
Wrong Image Format for bootm command
ERROR: can't get kernel image!
*

But the second one can works well (V-2010R1-RC2).

I have diff-ed the refer files about two version, only SPI flash driver
files have changes litter.

The SPI flash of my SRV-1 robot is M25P32.

Does anybody can have an explaination about that ?

---------------------------------------------------------------------------

--- ../u-boot-surveyor/drivers/mtd/spi/stmicro.c.orig   2010-12-01
17:26:06.606510214 +0800
+++ drivers/mtd/spi/stmicro.c   2010-04-30 22:41:59.000000000 +0800
@@ -46,7 +46,6 @@
 #define CMD_M25PXX_DP          0xb9    /* Deep Power-down */
 #define CMD_M25PXX_RES         0xab    /* Release from DP, and Read
Signature */

-#define STM_ID_M25P10          0x11
 #define STM_ID_M25P16          0x15
 #define STM_ID_M25P20          0x12
 #define STM_ID_M25P32          0x16
@@ -79,13 +78,6 @@

 static const struct stmicro_spi_flash_params stmicro_spi_flash_table[] = {
        {
-               .idcode1 = STM_ID_M25P10,
-               .page_size = 256,
-               .pages_per_sector = 128,
-               .nr_sectors = 4,
-               .name = "M25P10",
-       },
-       {
                .idcode1 = STM_ID_M25P16,
                .page_size = 256,
                .pages_per_sector = 256,
@@ -324,19 +316,6 @@
        struct stmicro_spi_flash *stm;
        unsigned int i;

-       if (idcode[0] == 0xff) {
-               i = spi_flash_cmd(spi, CMD_M25PXX_RES,
-                                 idcode, 4);
-               if (i)
-                       return NULL;
-               if ((idcode[3] & 0xf0) == 0x10) {
-                       idcode[0] = 0x20;
-                       idcode[1] = 0x20;
-                       idcode[2] = idcode[3] + 1;
-               } else
-                       return NULL;
-       }
-
        for (i = 0; i < ARRAY_SIZE(stmicro_spi_flash_table); i++) {
                params = &stmicro_spi_flash_table[i];
                if (params->idcode1 == idcode[2]) {





-- 
wzc0066
_______________________________________________
U-Boot-devel mailing list
U-Boot-devel@blackfin.uclinux.org
https://blackfin.uclinux.org/mailman/listinfo/u-boot-devel

Reply via email to