You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

53 lines
1.2 KiB

  1. if { [info exists CHIPNAME] } {
  2. set _CHIPNAME $CHIPNAME
  3. } else {
  4. set _CHIPNAME quark_x10xx
  5. }
  6. if { [info exists ENDIAN] } {
  7. set _ENDIAN $ENDIAN
  8. } else {
  9. set _ENDIAN little
  10. }
  11. if { [info exists CPUTAPID] } {
  12. set _CPUTAPID $CPUTAPID
  13. } else {
  14. set _CPUTAPID 0x18289013
  15. }
  16. jtag newtap quark_x10xx cpu -irlen 8 -irmask 0xff -expected-id $_CPUTAPID -disable
  17. jtag newtap quark_x10xx cltap -irlen 8 -irmask 0xff -expected-id 0x0e681013 -enable
  18. #openocd puts tap at front of chain not end of chain
  19. proc quark_x10xx_tapenable {} {
  20. echo "enabling core tap"
  21. irscan quark_x10xx.cltap 0x11
  22. drscan quark_x10xx.cltap 64 1
  23. runtest 10
  24. }
  25. proc quark_x10xx_tapdisable {} {
  26. echo "disabling core tap"
  27. irscan quark_x10xx.cltap 0x11
  28. drscan quark_x10xx.cltap 64 0
  29. runtest 10
  30. }
  31. proc quark_x10xx_setup {} {
  32. jtag tapenable quark_x10xx.cpu
  33. }
  34. jtag configure $_CHIPNAME.cpu -event tap-enable \
  35. "quark_x10xx_tapenable"
  36. jtag configure $_CHIPNAME.cpu -event tap-disable \
  37. "quark_x10xx_tapdisable"
  38. set _TARGETNAME $_CHIPNAME.cpu
  39. target create quark_x10xx.cpu quark_x10xx -endian $_ENDIAN -chain-position quark_x10xx.cpu
  40. jtag configure $_CHIPNAME.cpu -event setup \
  41. "quark_x10xx_setup"