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

Reply via email to