On 2011/04/18 5:52 PM, Alexandre Pereira da Silva wrote: > Hi, > > I've had some similar problems like that in the past. It was about a > non-cfi x16 part connected to a x8 bus. Which flash part are you > trying to program? Can you send a verbose log of what openocd is > trying to do to detect your part? > > Thanks.
The flash chip is a Spansion S29GL064M90TFIR4. To the best of my knowledge (and according to the datasheet), it IS a CFI part. It is just that the detection routine required to detect it on an 8-bit bus is slightly different than OpenOCD is attempting. I placed a debug log of the following command: /usr/local/bin/openocd -f buspirate.cfg -f dns323.cfg -d3 -l openocd.log -c "flash probe 0" -c "shutdown" on my website at: http://dawes.za.net/rogan/openocd-20110418-182940.log Config files are: http://dawes.za.net/rogan/buspirate.cfg http://dawes.za.net/rogan/dns323.cfg I hope that is everything required? If anything else is needed, please let me know. Thanks Rogan > > On Mon, Apr 18, 2011 at 8:47 AM, Rogan Dawes <[email protected]> wrote: >> Hi folks, >> >> I have a D-Link DNS323, which has an 8MB Spansion flash chip in it. >> >> The CPU is a Marvell Orion5x (Feroceon) MV88F5182 (CPUTAPID 0x07926041, >> which is not in the existing sources, FWIW). >> >> I can identify the CPU fine, but am unable to identify the flash part. I >> suspect that part of the problem is that the flash part is a 16-bit >> device on an 8-bit bus, and consequently probe addresses and read >> addresses need to be doubled. >> >> The thread starting here: >> >> http://lists.denx.de/pipermail/u-boot/2010-July/073885.html >> >> details some of the things attempted to get it to work with U-Boot, with >> a hacky solution shown here: >> >> http://www.mail-archive.com/[email protected]/msg49320.html >> >> I have seen that the OpenOCD CFI cfi driver also has code to double the >> address (using cfi_info->x16_as_x8 as a flag), but I think the initial >> probe does not know to set that flag, and even hard coding it to 1 >> doesn't work. >> >> The main oddity seems to be that to enter CFI command mode, the >> following commands work: >> >> mw.w 0xff8000aa 9800 (rather than 9898 which the U-Boot code defaulted to) >> >> or >> >> mw.b 0xff8000aa 98 (also worked fine to enter QRY mode) >> >> The results then looked like: >> >> md.b 0xff800020 20 >> ff800020: 51 51 52 52 59 59 02 02 00 00 40 40 00 00 00 00 QQRRYY....@@.... >> ff800030: 00 00 00 00 00 00 27 27 36 36 00 00 00 00 04 04 ......''66...... >> >> Note: I have bricked my DNS323 (hence my interest in OpenOCD! :-) ) and >> cannot regain access to the U-Boot shell to repeat this at the moment. >> >> In OpenOCD, however, neither of those commands result in the chip >> entering command mode, surprisingly. And, the existing CFI driver does >> not identify the chip. >> >> Does anyone have any suggestions as to how I can regain access to the >> flash on this device? >> >> Many thanks! >> >> Rogan >> _______________________________________________ >> Openocd-development mailing list >> [email protected] >> https://lists.berlios.de/mailman/listinfo/openocd-development >> _______________________________________________ Openocd-development mailing list [email protected] https://lists.berlios.de/mailman/listinfo/openocd-development
