(feel like I'm talking to myself here..., For the sake of documenting what I've done, I'll continure this thread).
From within the Jtag software (use the CVS version:
http://openwince.sourceforge.net, I can kick the CPLD out of the way and gain read access to the Flash with a series of script statements:
# install the interface.
cable parallel 0x378 WIGGLER
# detect the processor now
detect
# connect a bus handler to shift our chains.
initbus lh7a400
# disable the CPLD from driving D0..D7 low.
set signal CS7 out 0
set signal CS6 out 0
set signal nCS1 out 1
set signal nCS2 out 1
set signal nCS3 out 1
# read our memory.
readmem 0xc0000 0x34844 sample.bin
Note: the JTAG wiggler that I'm using is a homebrew built along the lines of the HRI wiggler:
http://http://hri.sourceforge.net/tools/index.html#jtag. Make sure you ground unused inputs and use a 74HC device as they will operate across 2.0..6.0 volt range. The transistor used is a common 2N2222 or, you could use a 2N7000 FET and eliminate the base-bias resistors of 10K & 47K. The goal here is to develop a Linux based JTAG tool that can be used to recover the Flash and for use with gdb for program development later on. I'll post a webpage with this information later.
Running Jtag with "Jtag <scriptfile>" will execute the above statements within the scriptfile and exit when they are completed. The sample.bin file is a 210K+ file that I burned into flash via lolo and then read back using Jtag. The contents were compared and found to be an exact match.
So, I have the ability to read the Flash via the JTAG tap port. What I need to do now is be able to write to the Flash and it seems that the CPLD "is in the way". There only appears to be one write signal to the CPLD and five chipselects. Process of elimination seems to suggest that by using a combination of CS7 + uP_nWE0 that the internal registers can be written to via JTAG.
However, it is not the case. Writing into the CPLD from the CPU with JTAG port does not appear to have any effect. Maybe there is a clock missing that the CPLD needs? Or, there is some other signal(s) that needs to be activated or de-activated?