Using Micron (Numonyx) m28w640hcb with u-boot
Hi list
I have replaced the at49bv642d nor flash memory on my Atmel ngw100 board
with the pin compatible m28w640hcb flash memory from Micron (formerly Numonyx).
I can program the U-boot to the flash without problems using a JTAG. I can
also program the full buildroot Linux system using JTAG and verify the bytes using the md.b command in U-boot. Therefore I assume there is nothing wrong with my hardware. However, I can neither make U-boot nor Linux write to the flash and Linux doesn't boot from the flash.
I did start the Linux system from an NFS root and could detect the memory
as a read only device in Linux but the /dev/mtdblockX devices did not appear.
I have spent a lot of time on the problem without success and I am
wondering how to proceed. Hopefully someone spots the problem directly.
The spear3xx series boards include the m28w640hct device. I could buy such
a board to test but is anyone using that board with U-boot? If so can you please confirm that U-boot can write to the flash?
Another idea is to replace the at64bv642 chip with some other NOR-flash,
has anyone done that with success?
The u-boot debug output can be found below. There are some (null)
addresses that don't appear when using the working at49bv642d flash
Thanks a lot for any help
Gudjon
/******************************
U-boot startup
*******************************/
U-Boot 2010.06 (Nov 12 2011 - 11:48:36)
U-Boot code: (null) -> 00011ae0 data: 00018e38 -> 0004e7b8 VMR table @ 0x11fca684
DMA: Using memory from 0x11f6d000 to 0x11f71000 flash detect cfi
fwc addr (null) cmd f0 f0 8bit x 8 bit
fwc addr (null) cmd ff ff 8bit x 8 bit
fwc addr 00000055 cmd 98 98 8bit x 8 bit
is= cmd 51(Q) addr 00000010 is= ff 51
fwc addr 00000555 cmd 98 98 8bit x 8 bit
is= cmd 51(Q) addr 00000010 is= ff 51
fwc addr (null) cmd f0 f0f0 16bit x 8 bit
fwc addr (null) cmd ff ffff 16bit x 8 bit
fwc addr 000000aa cmd 98 9898 16bit x 8 bit
is= cmd 51(Q) addr 00000020 is= 0051 5151
fwc addr 00000aaa cmd 98 9898 16bit x 8 bit
is= cmd 51(Q) addr 00000020 is= 0051 5151
fwc addr (null) cmd f0 00f0 16bit x 16 bit
fwc addr (null) cmd ff 00ff 16bit x 16 bit
fwc addr 000000aa cmd 98 0098 16bit x 16 bit
is= cmd 51(Q) addr 00000020 is= 0051 0051
is= cmd 52(R) addr 00000022 is= 0052 0052
is= cmd 59(Y) addr 00000024 is= 0059 0059
device interface is 1
found port 2 chip 2 port 16 bits chip 16 bits
00 : 51 52 59 03 00 35 00 00 00 00 00 27 36 b4 c6 04 QRY..5.....'6... 10 : 04 0a 00 05 05 03 00 17 01 00 03 00 02 07 00 20 ............... 20 : 00 7e 00 00 01 50 52 49 31 30 e6 00 00 11 fb 4e .~...PRI10.....N
fwc addr (null) cmd ff 00ff 16bit x 16 bit fwc addr (null) cmd 90 0090 16bit x 16 bit fwc addr (null) cmd ff 00ff 16bit x 16 bit fwc addr 000000aa cmd 98 0098 16bit x 16 bit manufacturer is 3
manufacturer id is 0x20
device id is 0x49
device id2 is 0x0
cfi version is 0x3130size_ratio 1 port 16 bits chip 16 bits found 2 erase regions
erase region 0: 0x00200007 erase_region_count = 8 erase_region_size = 8192 erase region 1: 0x0100007e erase_region_count = 127 erase_region_size = 65536 fwc addr (null) cmd ff 00ff 16bit x 16 bit flash_protect ON: from 0x00000000 to 0x0001AC37 protect on 0
protect on 1
protect on 2
protect on 3
protect on 4
protect on 5
protect on 6
protect on 7
protect on 8flash_protect ON: from 0x007F0000 to 0x007FFFFF protect on 134
Flash: 8 MiB at address 0x00000000
DRAM Configuration:
Bank #0: 10000000 32 MiB
*** Warning - bad CRC, using default environment
In: serial Out: serial Err: serial Net: macb0, macb1
Press SPACE to abort autoboot in 1 seconds
### JFFS2 loading 'uImage' to 0x10400000
Scanning JFFS2 FS: done.
find_inode failed for name=uImage
load: Failed to find inode
### JFFS2 LOAD ERROR<0> for uImage!
Wrong Image Format for bootm command
ERROR: can't get kernel image!
/******************************
Flash info
*******************************/
U-Boot> fli
Bank # 1: CFI conformant FLASH (16 x 16) Size: 8 MB in 135 Sectors
Intel Standard command set, Manufacturer ID: 0x20, Device ID: 0x49 Erase timeout: 8192 ms, write timeout: 1 ms
Buffer write timeout: 1 ms, buffer size: 8 bytes
Sector Start Addresses:
00000000 RO 00002000 RO 00004000 RO 00006000 RO 00008000
RO
0000A000 RO 0000C000 RO 0000E000 RO 00010000 RO 00020000
RO
00030000 RO 00040000 RO 00050000 RO 00060000 RO 00070000
RO
00080000 RO 00090000 RO 000A0000 RO 000B0000 RO 000C0000
RO
000D0000 RO 000E0000 RO 000F0000 RO 00100000 RO 00110000
RO
00120000 RO 00130000 RO 00140000 RO 00150000 RO 00160000
RO
00170000 RO 00180000 RO 00190000 RO 001A0000 RO 001B0000
RO
001C0000 RO 001D0000 RO 001E0000 RO 001F0000 RO 00200000
RO
00210000 RO 00220000 RO 00230000 RO 00240000 RO 00250000
RO
00260000 RO 00270000 RO 00280000 RO 00290000 RO 002A0000
RO
002B0000 RO 002C0000 RO 002D0000 RO 002E0000 RO 002F0000
RO
00300000 RO 00310000 RO 00320000 RO 00330000 RO 00340000
RO
00350000 RO 00360000 RO 00370000 RO 00380000 RO 00390000
RO
003A0000 RO 003B0000 RO 003C0000 RO 003D0000 RO 003E0000
RO
003F0000 RO 00400000 RO 00410000 RO 00420000 RO 00430000
RO
00440000 RO 00450000 RO 00460000 RO 00470000 RO 00480000
RO
00490000 RO 004A0000 RO 004B0000 RO 004C0000 RO 004D0000
RO
004E0000 RO 004F0000 RO 00500000 RO 00510000 RO 00520000
RO
00530000 RO 00540000 RO 00550000 RO 00560000 RO 00570000
RO
00580000 RO 00590000 RO 005A0000 RO 005B0000 RO 005C0000
RO
005D0000 RO 005E0000 RO 005F0000 RO 00600000 RO 00610000
RO
00620000 RO 00630000 RO 00640000 RO 00650000 RO 00660000
RO
00670000 RO 00680000 RO 00690000 RO 006A0000 RO 006B0000
RO
006C0000 RO 006D0000 RO 006E0000 RO 006F0000 RO 00700000
RO
00710000 RO 00720000 RO 00730000 RO 00740000 RO 00750000
RO
00760000 RO 00770000 RO 00780000 RO 00790000 RO 007A0000
RO
007B0000 RO 007C0000 RO 007D0000 RO 007E0000 RO 007F0000
RO
/******************************
Unprotecting memory
*******************************/
U-Boot> protect off 0x20000 0x7effff
/******************************
Flash info
*******************************/
U-Boot> fli
Bank # 1: CFI conformant FLASH (16 x 16) Size: 8 MB in 135 Sectors
Intel Standard command set, Manufacturer ID: 0x20, Device ID: 0x49 Erase timeout: 8192 ms, write timeout: 1 ms
Buffer write timeout: 1 ms, buffer size: 8 bytes
Sector Start Addresses:
00000000 RO 00002000 RO 00004000 RO 00006000 RO 00008000
RO
0000A000 RO 0000C000 RO 0000E000 RO 00010000 RO 00020000 00030000 00040000 00050000 00060000 00070000 00080000 00090000 000A0000 000B0000 000C0000 000D0000 000E0000 000F0000 00100000 00110000 00120000 00130000 00140000 00150000 00160000 00170000 00180000 00190000 001A0000 001B0000 001C0000 001D0000 001E0000 001F0000 00200000 00210000 00220000 00230000 00240000 00250000 00260000 00270000 00280000 00290000 002A0000 002B0000 002C0000 002D0000 002E0000 002F0000
00300000 00310000 00320000 00330000 00340000 00350000 00360000 00370000 00380000 00390000 003A0000 003B0000 003C0000 003D0000 003E0000 003F0000 00400000 00410000 00420000 00430000 00440000 00450000 00460000 00470000 00480000 00490000 004A0000 004B0000 004C0000 004D0000 004E0000 004F0000 00500000 00510000 00520000 00530000 00540000 00550000 00560000 00570000
00580000 00590000 005A0000 005B0000 005C0000 005D0000 005E0000 005F0000 00600000 00610000 00620000 00630000 00640000 00650000 00660000 00670000 00680000 00690000 006A0000 006B0000 006C0000 006D0000 006E0000 006F0000 00700000 00710000 00720000 00730000 00740000 00750000 00760000 00770000 00780000 00790000 007A0000 007B0000 007C0000 007D0000 007E0000 007F0000
RO
Un-Protected 125 sectors
/******************************
Erasing memory
*******************************/
U-Boot> erase 0x20000 0x7effff
fwc addr 00020000 cmd 50 0050 16bit x 16 bit
fwc addr 00020000 cmd 20 0020 16bit x 16 bit
fwc addr 00020000 cmd d0 00d0 16bit x 16 bitflash_is_busy: 0
........
fwc addr 007d0000 cmd ff 00ff 16bit x 16 bit
.fwc addr 007e0000 cmd 50 0050 16bit x 16 bit
fwc addr 007e0000 cmd 20 0020 16bit x 16 bit
fwc addr 007e0000 cmd d0 00d0 16bit x 16 bitflash_is_busy: 0
fwc addr 007e0000 cmd ff 00ff 16bit x 16 bit
. done
Erased 125 sectors
/******************************
Display memory at 0x20000
*******************************/
U-Boot> md.b 0x20000
00020000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ 00020010: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ 00020020: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ 00020030: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
/******************************
I want to try to copy some bytes to the memory with the cp.b command. This works with the at49bc642d flash.
Look at the memory at 0x90000000 in ram before copying it to flash at 0x20000
*******************************/
U-Boot> md.b 0x90000000
90000000: 00 00 00 00 33 cc 63 4c 77 cc 13 48 23 ec 37 dc ....3.cLw..H#.7.
90000010: 13 ce 33 cc 33 cc b3 cc 37 cc 73 ce 31 cc 33 cc ..3.3...7.s.1.3.
/******************************
Copy from RAM memory at 0x90000000 to Flash memory, this works on a normal ngw100 with at49bv642d
*******************************/
U-Boot> cp.b 0x90000000 0x20000 0x10
Copy to Flash... fwc addr (null) cmd 50 0050 16bit x 16 bit fwc addr (null) cmd 40 0040 16bit x 16 bitflash_is_busy: 0
fwc addr 00020000 cmd ff 00ff 16bit x 16 bit
fwc addr (null) cmd 50 0050 16bit x 16 bit
fwc addr (null) cmd 40 0040 16bit x 16 bit
......flash_is_busy: 0
fwc addr 00020000 cmd ff 00ff 16bit x 16 bit
fwc addr (null) cmd 50 0050 16bit x 16 bit
fwc addr (null) cmd 40 0040 16bit x 16 bitflash_is_busy: 0
fwc addr 00020000 cmd ff 00ff 16bit x 16 bit
done
/******************************
Display memory at 0x20000, nothing has been written.
*******************************/
U-Boot> md.b 0x20000
00020000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
00020010: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
U-Boot>
Quoted 1 line · Gudjon I. Gudjonsson
Hi list
Hi Gudjon,
Quoted 4 lines
I have replaced the at49bv642d nor flash memory on my Atmel ngw100 board
with the pin compatible m28w640hcb flash memory from Micron (formerly Numonyx).
Quoted 9 lines
I can program the U-boot to the flash without problems using a JTAG. I can
also program the full buildroot Linux system using JTAG and verify the bytes using the md.b command in U-boot. Therefore I assume there is nothing wrong with my hardware. However, I can neither make U-boot nor Linux write to the flash and Linux doesn't boot from the flash.
I did start the Linux system from an NFS root and could detect the memory
as a read only device in Linux but the/dev/mtdblockXdevices did not appear.
I have spent a lot of time on the problem without success and I am
wondering how to proceed. Hopefully someone spots the problem directly.
I have had a similar problem with spear3xx board. Basically, this flash is write protected in hardware by default. It has to be specifically made writable. Please define a flag CONFIG_SYS_FLASH_PROTECTION in your config file.
Quoted 3 lines
The spear3xx series boards include the m28w640hct device. I could buy such
a board to test but is anyone using that board with U-boot? If so can you please confirm that U-boot can write to the flash?
I am the maintainer of this baord in u-boot and it works with version u-boot-2010.03
Quoted 6 lines
Another idea is to replace the at64bv642 chip with some other NOR-flash,
has anyone done that with success?The u-boot debug output can be found below. There are some (null)
addresses that don't appear when using the working at49bv642d flash
Please try it and let me know if it helps
Regards
Vipin
Quoted 283 lines
Thanks a lot for any help
Gudjon/******************************
U-boot startup
*******************************/
U-Boot 2010.06 (Nov 12 2011 - 11:48:36)U-Boot code: (null) ->
00011ae0data:00018e38->0004e7b8VMR table @0x11fca684
DMA: Using memory from0x11f6d000to0x11f71000flash detect cfi
fwc addr (null) cmd f0 f0 8bit x 8 bit
fwc addr (null) cmd ff ff 8bit x 8 bit
fwc addr 00000055 cmd 98 98 8bit x 8 bit
is= cmd 51(Q) addr 00000010 is= ff 51
fwc addr 00000555 cmd 98 98 8bit x 8 bit
is= cmd 51(Q) addr 00000010 is= ff 51
fwc addr (null) cmd f0 f0f0 16bit x 8 bit
fwc addr (null) cmd ff ffff 16bit x 8 bit
fwc addr000000aacmd 98 9898 16bit x 8 bit
is= cmd 51(Q) addr 00000020 is= 0051 5151
fwc addr00000aaacmd 98 9898 16bit x 8 bit
is= cmd 51(Q) addr 00000020 is= 0051 5151
fwc addr (null) cmd f0 00f0 16bit x 16 bit
fwc addr (null) cmd ff 00ff 16bit x 16 bit
fwc addr000000aacmd 98 0098 16bit x 16 bit
is= cmd 51(Q) addr 00000020 is= 0051 0051
is= cmd 52(R) addr 00000022 is= 0052 0052
is= cmd 59(Y) addr 00000024 is= 0059 0059
device interface is 1
found port 2 chip 2 port 16 bits chip 16 bits00 : 51 52 59 03 00 35 00 00 00 00 00 27 36 b4 c6 04 QRY..5.....'6... 10 : 04 0a 00 05 05 03 00 17 01 00 03 00 02 07 00 20 ............... 20 : 00 7e 00 00 01 50 52 49 31 30 e6 00 00 11 fb 4e .~...PRI10.....Nfwc addr (null) cmd ff 00ff 16bit x 16 bit fwc addr (null) cmd 90 0090 16bit x 16 bit fwc addr (null) cmd ff 00ff 16bit x 16 bit fwc addr
000000aacmd 98 0098 16bit x 16 bit manufacturer is 3
manufacturer id is0x20
device id is0x49
device id2 is0x0
cfi version is0x3130size_ratio1 port 16 bits chip 16 bits found 2 erase regions
erase region 0:0x00200007erase_region_count= 8erase_region_size= 8192 erase region 1:0x0100007eerase_region_count= 127erase_region_size= 65536 fwc addr (null) cmd ff 00ff 16bit x 16 bitflash_protectON: from0x00000000to0x0001AC37protect on 0
protect on 1
protect on 2
protect on 3
protect on 4
protect on 5
protect on 6
protect on 7
protect on 8flash_protectON: from0x007F0000to0x007FFFFFprotect on 134
Flash: 8 MiB at address0x00000000
DRAM Configuration:
Bank #0: 10000000 32 MiB
*** Warning - bad CRC, using default environmentIn: serial Out: serial Err: serial Net: macb0, macb1Press SPACE to abort autoboot in 1 seconds
### JFFS2 loading 'uImage' to0x10400000
Scanning JFFS2 FS: done.
find_inodefailed for name=uImageload: Failed to find inode
### JFFS2 LOAD ERROR<0> for uImage!
Wrong Image Format for bootm command
ERROR: can't get kernel image!/******************************
Flash info
*******************************/U-Boot> fli
Bank # 1: CFI conformant FLASH (16 x 16) Size: 8 MB in 135 Sectors
Intel Standard command set, Manufacturer ID:0x20, Device ID:0x49Erase timeout: 8192 ms, write timeout: 1 ms
Buffer write timeout: 1 ms, buffer size: 8 bytesSector Start Addresses:
00000000 RO 00002000 RO 00004000 RO 00006000 RO 00008000RO
0000A000 RO 0000C000 RO 0000E000 RO 00010000 RO 00020000
RO
00030000 RO 00040000 RO 00050000 RO 00060000 RO 00070000
RO
00080000 RO 00090000 RO 000A0000 RO 000B0000 RO 000C0000
RO
000D0000 RO 000E0000 RO 000F0000 RO 00100000 RO 00110000
RO
00120000 RO 00130000 RO 00140000 RO 00150000 RO 00160000
RO
00170000 RO 00180000 RO 00190000 RO 001A0000 RO 001B0000
RO
001C0000 RO 001D0000 RO 001E0000 RO 001F0000 RO 00200000
RO
00210000 RO 00220000 RO 00230000 RO 00240000 RO 00250000
RO
00260000 RO 00270000 RO 00280000 RO 00290000 RO 002A0000
RO
002B0000 RO 002C0000 RO 002D0000 RO 002E0000 RO 002F0000
RO
00300000 RO 00310000 RO 00320000 RO 00330000 RO 00340000
RO
00350000 RO 00360000 RO 00370000 RO 00380000 RO 00390000
RO
003A0000 RO 003B0000 RO 003C0000 RO 003D0000 RO 003E0000
RO
003F0000 RO 00400000 RO 00410000 RO 00420000 RO 00430000
RO
00440000 RO 00450000 RO 00460000 RO 00470000 RO 00480000
RO
00490000 RO 004A0000 RO 004B0000 RO 004C0000 RO 004D0000
RO
004E0000 RO 004F0000 RO 00500000 RO 00510000 RO 00520000
RO
00530000 RO 00540000 RO 00550000 RO 00560000 RO 00570000
RO
00580000 RO 00590000 RO 005A0000 RO 005B0000 RO 005C0000
RO
005D0000 RO 005E0000 RO 005F0000 RO 00600000 RO 00610000
RO
00620000 RO 00630000 RO 00640000 RO 00650000 RO 00660000
RO
00670000 RO 00680000 RO 00690000 RO 006A0000 RO 006B0000
RO
006C0000 RO 006D0000 RO 006E0000 RO 006F0000 RO 00700000
RO
00710000 RO 00720000 RO 00730000 RO 00740000 RO 00750000
RO
00760000 RO 00770000 RO 00780000 RO 00790000 RO 007A0000
RO
007B0000 RO 007C0000 RO 007D0000 RO 007E0000 RO 007F0000
RO/******************************
Unprotecting memory
*******************************/U-Boot> protect off
0x200000x7effff/******************************
Flash info
*******************************/
U-Boot> fliBank # 1: CFI conformant FLASH (16 x 16) Size: 8 MB in 135 Sectors
Intel Standard command set, Manufacturer ID:0x20, Device ID:0x49Erase timeout: 8192 ms, write timeout: 1 ms
Buffer write timeout: 1 ms, buffer size: 8 bytesSector Start Addresses:
00000000 RO 00002000 RO 00004000 RO 00006000 RO 00008000 RO 0000A000 RO 0000C000 RO 0000E000 RO 00010000 RO 00020000 00030000 00040000 00050000 00060000 00070000 00080000 00090000 000A0000 000B0000 000C0000 000D0000 000E0000 000F0000 00100000 00110000 00120000 00130000 00140000 00150000 00160000 00170000 00180000 00190000 001A0000 001B0000 001C0000 001D0000 001E0000 001F0000 00200000 00210000 00220000 00230000 00240000 00250000 00260000 00270000 00280000 00290000 002A0000 002B0000 002C0000 002D0000 002E0000 002F000000300000 00310000 00320000 00330000 00340000 00350000 00360000 00370000 00380000 00390000 003A0000 003B0000 003C0000 003D0000 003E0000 003F0000 00400000 00410000 00420000 00430000 00440000 00450000 00460000 00470000 00480000 00490000 004A0000 004B0000 004C0000 004D0000 004E0000 004F0000 00500000 00510000 00520000 00530000 00540000 00550000 00560000 0057000000580000 00590000 005A0000 005B0000 005C0000 005D0000 005E0000 005F0000 00600000 00610000 00620000 00630000 00640000 00650000 00660000 00670000 00680000 00690000 006A0000 006B0000 006C0000 006D0000 006E0000 006F0000 00700000 00710000 00720000 00730000 00740000 00750000 00760000 00770000 00780000 00790000 007A0000 007B0000 007C0000 007D0000 007E0000 007F0000RO
Un-Protected 125 sectors
/******************************
Erasing memory
*******************************/U-Boot> erase
0x200000x7efffffwc addr 00020000 cmd 50 0050 16bit x 16 bit
fwc addr 00020000 cmd 20 0020 16bit x 16 bit
fwc addr 00020000 cmd d0 00d0 16bit x 16 bitflash_is_busy: 0
........
fwc addr007d0000cmd ff 00ff 16bit x 16 bit
.fwc addr007e0000cmd 50 0050 16bit x 16 bit
fwc addr007e0000cmd 20 0020 16bit x 16 bit
fwc addr007e0000cmd d0 00d0 16bit x 16 bitflash_is_busy: 0
fwc addr007e0000cmd ff 00ff 16bit x 16 bit
. done
Erased 125 sectors/******************************
Display memory at0x20000
*******************************/U-Boot> md.b
0x2000000020000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ 00020010: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ 00020020: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ 00020030: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................/******************************
I want to try to copy some bytes to the memory with the cp.b command. This works with the at49bc642d flash.
Look at the memory at0x90000000in ram before copying it to flash at0x20000
*******************************/
U-Boot> md.b0x9000000090000000: 00 00 00 00 33 cc 63 4c 77 cc 13 48 23 ec 37 dc ....3.cLw..H#.7.
90000010: 13 ce 33 cc 33 cc b3 cc 37 cc 73 ce 31 cc 33 cc ..3.3...7.s.1.3./******************************
Copy from RAM memory at0x90000000to Flash memory, this works on a normal ngw100 with at49bv642d
*******************************/
U-Boot> cp.b0x900000000x200000x10Copy to Flash... fwc addr (null) cmd 50 0050 16bit x 16 bit fwc addr (null) cmd 40 0040 16bit x 16 bit
flash_is_busy: 0
fwc addr 00020000 cmd ff 00ff 16bit x 16 bit
fwc addr (null) cmd 50 0050 16bit x 16 bit
fwc addr (null) cmd 40 0040 16bit x 16 bit
......flash_is_busy: 0
fwc addr 00020000 cmd ff 00ff 16bit x 16 bit
fwc addr (null) cmd 50 0050 16bit x 16 bit
fwc addr (null) cmd 40 0040 16bit x 16 bitflash_is_busy: 0
fwc addr 00020000 cmd ff 00ff 16bit x 16 bit
done/******************************
Display memory at0x20000, nothing has been written.
*******************************/
U-Boot> md.b0x2000000020000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
00020010: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
U-Boot>
_______________________________________________
U-Boot mailing list
U-Boot at lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot
.
A message that is not in the archive (sent off-list or not yet received): [email protected]
Hi Vipin
Quoted 6 lines
I have had a similar problem with spear3xx board. Basically, this flash is write protected in hardware by default. It has to be specifically made writable. Please define a flag
CONFIG_SYS_FLASH_PROTECTIONin your config file.
Thanks a lot. This works like charm :)
Now I have spent the whole day on trying to mount the device from Linux as a read/write partition but without luck.
I can mount the partition but if I try to do some writing to it I get:
Write clean marker to block at 0x00030000 failed: -30
...
repeated for all sector boundaries. If I reboot the device the partition is empty.
Then I tried to use flash_eraseall but it fails as well
# flash_eraseall -j /dev/mtd1 Erasing 64 Kibyte @ 0 -- 0 % complete. flash_eraseall: /dev/mtd1: MTD write failure: Read-only file system
I tried to unlock the flash (using protect off) before booting Linux but without any success.
I can't find any configuration option related to the NOR CFI flash in the spear3xx kernel configuration files.
Do you have any useful hint on this as well?
Regards
Gudjon
Quoted 2 lines · Gudjon I. Gudjonsson
Hi Vipin
Quoted 1 line
Hello Gudjon,
Quoted 10 lines
Quoted 5 lines
I have had a similar problem with spear3xx board. Basically, this flash is write protected in hardware by default. It has to be specifically made writable. Please define a flag
CONFIG_SYS_FLASH_PROTECTIONin your config file.Thanks a lot. This works like charm :)
Now I have spent the whole day on trying to mount the device from Linux as a read/write partition but without luck.
Ideally, it should have happened now
Quoted 8 lines
I can mount the partition but if I try to do some writing to it I get:
Write clean marker to block at
0x00030000failed: -30
...
repeated for all sector boundaries. If I reboot the device the partition is empty.
Quoted 8 lines
Then I tried to use
flash_eraseallbut it fails as well# flash_eraseall -j /dev/mtd1 Erasing 64 Kibyte @ 0 -- 0 % complete. flash_eraseall: /dev/mtd1: MTD write failure: Read-only file systemI tried to unlock the flash (using protect off) before booting Linux but without any success.
There is one environment variable to do it. setenv unlock yes I think this should be sufficient
Quoted 4 lines
I can't find any configuration option related to the NOR CFI flash in the spear3xx kernel configuration files.
Do you have any useful hint on this as well?
Sorry, I dont have any other idea specifically for this. I will let you know if something comes to mind
Vipin
Quoted 7 lines
Regards
Gudjon
_______________________________________________
U-Boot mailing list
U-Boot at lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] Using Micron (Numonyx) m28w640hcb with u-boot (Solved)
Hello Vipin
Quoted 5 lines
Quoted 3 lines
Now I have spent the whole day on trying to mount the device from Linux as a read/write partition but without luck.
Ideally, it should have happened now
Setting FORCE_WORD_WRITE to 1 in the cfi_cmdset_0001.c fixes the problem. #define FORCE_WORD_WRITE 1
but it is set to 0 by default.
Thanks again a lot for your help
Regards
Gudjon