On Tuesday, February 08, 2011 03:11:54 pm Aaron Williams wrote: > On Tuesday, February 08, 2011 07:38:44 am Andrew Dyer wrote: > > On Mon, Feb 7, 2011 at 16:58, Scott Wood <scottw...@freescale.com> wrote: > > > On Mon, Jan 31, 2011 at 06:56:48PM -0800, Aaron Williams wrote: > > >> Trying again submitting the patch. > > >> > > >> /* Do manufacturer-specific fixups */ > > >> switch (info->manufacturer_id) { > > >> > > >> + case 0x0000: > > >> case 0x0001: > > >> flash_fixup_amd(info, &qry); > > >> break; > > > > > > This seems unrelated. > > > > > > Otherwise, the patch looks good. Whose tree should it go through? > > > It's not really a NAND patch, though NAND is the reason for it. > > > > NAK > > > > This is not only unrelated (which the OP was told to fix on the > > previous post of this patch), but wrong. The S29GL series chips don't > > return 0x0000 for the manufacturer ID. AMD (later Spansion) have > > always had mfg. ID 0x0001. > > > > I have various boards with S29GL064, S29GL128N, and S29GL256P, and > > they all return the correct value (0x0001) for the mfg. ID. I looked > > up the latest datasheet and they have not changed that section. > > I always get 0x0000 for the mfg ID and cannot explain it. The full part > number is S29GL064N90TF103 010FF058. That is why it was added. Without it, > the proper fixup doesn't happen with this chip. > > -Aaron
Note that in our case the port width is 16-bits and the chip width is 8 bits. I added some printf statements for all read accesses to help. Here's the output when I enable debugging: flash detect cfi fwc addr 1f400000 cmd f0 f0f0 16bit x 8 bit fwc addr 1f400000 cmd ff ffff 16bit x 8 bit fwc addr 1f4000aa cmd 98 9898 16bit x 8 bit is= cmd 51(Q) addr 1f400020 flash_read16: address 1f400020, value 0x5151 is= 5151 5151 flash_read16: address 1f400020, value 0x5151 is= cmd 52(R) addr 1f400022 flash_read16: address 1f400022, value 0x5252 is= 5252 5252 flash_read16: address 1f400022, value 0x5252 is= cmd 59(Y) addr 1f400024 flash_read16: address 1f400024, value 0x5959 is= 5959 5959 flash_read16: address 1f400024, value 0x5959 flash_read8: address 1f400021, value 0x51 flash_read8: address 1f400023, value 0x52 flash_read8: address 1f400025, value 0x59 flash_read8: address 1f400027, value 0x2 flash_read8: address 1f400029, value 0x0 flash_read8: address 1f40002b, value 0x40 flash_read8: address 1f40002d, value 0x0 flash_read8: address 1f40002f, value 0x0 flash_read8: address 1f400031, value 0x0 flash_read8: address 1f400033, value 0x0 flash_read8: address 1f400035, value 0x0 flash_read8: address 1f400037, value 0x27 flash_read8: address 1f400039, value 0x36 flash_read8: address 1f40003b, value 0x0 flash_read8: address 1f40003d, value 0x0 flash_read8: address 1f40003f, value 0x7 flash_read8: address 1f400041, value 0x7 flash_read8: address 1f400043, value 0xa flash_read8: address 1f400045, value 0x0 flash_read8: address 1f400047, value 0x3 flash_read8: address 1f400049, value 0x5 flash_read8: address 1f40004b, value 0x4 flash_read8: address 1f40004d, value 0x0 flash_read8: address 1f40004f, value 0x17 flash_read8: address 1f400051, value 0x2 flash_read8: address 1f400053, value 0x0 flash_read8: address 1f400055, value 0x5 flash_read8: address 1f400057, value 0x0 flash_read8: address 1f400059, value 0x2 flash_read8: address 1f40005b, value 0x7 flash_read8: address 1f40005d, value 0x0 flash_read8: address 1f40005f, value 0x20 flash_read8: address 1f400061, value 0x0 flash_read8: address 1f400063, value 0x7e flash_read8: address 1f400065, value 0x0 flash_read8: address 1f400067, value 0x0 flash_read8: address 1f400069, value 0x1 flash_read8: address 1f40006b, value 0x0 flash_read8: address 1f40006d, value 0x0 flash_read8: address 1f40006f, value 0x0 flash_read8: address 1f400071, value 0x0 flash_read8: address 1f400073, value 0x0 flash_read8: address 1f400075, value 0x0 flash_read8: address 1f400077, value 0x0 flash_read8: address 1f400079, value 0x0 device interface is 2 found port 2 chip 1 port 16 bits chip 8 bits flash_read8: address 1f400087, value 0x31 flash_read8: address 1f400089, value 0x33 00 : 51 52 59 02 00 40 00 00 00 00 00 27 36 00 00 07 QRY..@.....'6... 10 : 07 0a 00 03 05 04 00 17 02 00 05 00 02 07 00 20 ............... 20 : 00 7e 00 00 01 00 00 00 00 00 00 00 00 00 00 10 .~.............. fwc addr 1f400000 cmd f0 f0f0 16bit x 8 bit fwc addr 1f401554 cmd aa aaaa 16bit x 8 bit fwc addr 1f400aaa cmd 55 5555 16bit x 8 bit fwc addr 1f401554 cmd 90 9090 16bit x 8 bit flash_read8: address 1f400001, value 0x0 flash_read8: address 1f400003, value 0x3f fwc addr 1f400000 cmd f0 f0f0 16bit x 8 bit fwc addr 1f4000aa cmd 98 9898 16bit x 8 bit flash_read8: address 1f40009f, value 0x3 manufacturer is 2 manufacturer id is 0x0 device id is 0x3f device id2 is 0x0 cfi version is 0x3133 size_ratio 1 port 16 bits chip 8 bits found 2 erase regions erase region 0: 0x0100007e erase_region_count = 127 erase_region_size = 65536 erase region 1: 0x00200007 erase_region_count = 8 erase_region_size = 8192 fwc addr 1f400000 cmd f0 f0 8bit x 8 bit fwc addr 1fbfe000 cmd 70 70 8bit x 8 bit flash_read8: address 1fbfe000, value 0xe5 flash_read8: address 1fbfe000, value 0xe5 flash_is_busy: 0 Flash: 8 MiB _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot