OK! Great success!!
I finally got my ATF1508 programmed, and without soldering, thanks to some clever jtag/board layout from
@agranlund
Code: Select all
Open On-Chip Debugger 0.12.0+dev-snapshot (2025-07-16-14:15)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
Warn : TMS/SWDIO moved to GPIO 8 (pin 24). Check the wiring please!
adapter speed: 400 kHz
Info : BCM2835 GPIO JTAG/SWD bitbang driver
Info : clock speed 400 kHz
Info : JTAG tap: ATF1508AS.tap tap/device found: 0x0150803f (mfg: 0x01f (Atmel), part: 0x1508, ver: 0x0)
Warn : gdb services need one or more targets defined
svf processing file: "/home/mikerochip/raven060/nessi_250714.svf"
Time used: 0m13s956ms
svf file programmed successfully for 3569 commands with 0 errors
shutdown command invoked
I installed Raspberry Pi OS "bookworm" and then openocd. (sudo apt update and then sudo apt install openocd)
So, it should work quickly and easily, on any raspberry pi.
Raspberry Pi JTAG pinout.

- Raspberry Pi OpenOCD 12 JTAG Pinout.png (69.17 KiB) Viewed 166 times
I wired the jtag pins on the pi, and gnd, to the corrosponding jtag pins on the raven board.
I didn't connect 3.3v or 5v, and the raven board then, needs to have an atx psu connected, and the board powered on.
One custom cable later, and I could send jtag commands from the Pi to nessi!
OpenOCD commands.
Code: Select all
openocd -f /usr/share/openocd/scripts/interface/raspberrypi-native.cfg -c "adapter speed 400" -c "transport select jtag" -c "jtag newtap ATF1508AS tap -irlen 3 -expected-id 0x0150803f" -c init -c "svf /home/mikerochip/raven060/nessi_250714.svf -quiet" -c "sleep 200" -c shutdown
The only problem I had, was, when I tried it first, I got nothing but errors.
Code: Select all
svf processing file: "/home/mikerochip/raven060/nessi_250714.svf"
Error: tdo check error at line 21
Error: READ = 0x0000000
Error: WANT = 0x150803f
Error: MASK = 0xffffffff
Error: fail to run command at line 711
Error: tdo check error at line 21
Error: READ = 0x0000000
Error: WANT = 0x150803f
Error: MASK = 0xffffffff
Time used: 0m3s283ms
svf file programmed failed
The CPLD was second hand, and, obviously used, before. And, the previous owner had disabled the jtag pins.
So, reading up, you can re-enable JTAG pins, by applying 12V to the /OE1 pin.
In this case, Pin 84 is the /OE1 pin, which anders had connected to J105, pin 2.
So, I did just that, via a 2K2 current limiting resistor.
I connected a one end of a pin header/jumper cable to a 12v fan connector (eg J206 Pin2) and the other end to a 2K2 resistor, and that to pin 2 of J105.
That immediately enabled the jtag pins, and I could program, using an SVF file.
But! Anders doesn't have an svf file in the releases. Luckily, we can create one using ATMISP7.
(Which works both under windows, and linux via wine)
Loading the program, click edit, and add device.
Pick the ATF1508AS, and select "Program/Verify" from the command list.

- ATMISP7 Add Device.png (6.26 KiB) Viewed 166 times
Once selected, you need to tick "Write SVF" and set a file name for the new .svf.
Clicking run on the main window, produces the .svf file.
So! Big success.
if you have a jtag programmer installed under windows, you can also use openocd from there.
My knock off usb blaster no longer works under windows 11, so, I went the raspberry pi route.
I had initially tried with that old usb blaster clone, and my st-link v2 cheapie clone.
The former blue screens windows! and the latter doesn't expose two of the jtag pins. (It's mainly used for SWD/SWIM on STM32 chips, I guess)
I've got some new st-link v2 clones coming shortly (with jtag and swd pins), and two new usb blaster clones also.
I'll report on their success rate, when they arrive, if anyone wants to know!
I use the xpack openocd binaries for openocd under windows, normally.
https://github.com/xpack-dev-tools/openocd-xpack
Anyone wanting a full tutorial, let me know!
Most of the salient points are above.
SO!
To that end, Anders, (In the A2 revision) can we have a 12v trace and a 2k2 resistor placed inline, connecting to another pin so we can jumper it to J105 pin 2? maybe to the right of pin2.
Might be a useful "force programming" jumper... ?? In case something goes horribly wrong!
ie jumper pin in 1-2 or 2-3 for normal use, and rotate 90 degrees, and connect pin 2 to a new "programming enable" pin?
it's not a big deal, now that I know what I'm doing

But, is a useful to have feature, I guess!
But, much more usefully for you, doing so, would let you repurpose the four jtag pins on the 1508 for something else, should you need them...
Next;
pcb routing/layout for bga ram simms
*Edit, I've added the .SVF file, for anyone who wants it, along with an "Erase the ATF1508AS" .svf, to set it back to factory