pxa255.cfg 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. # SPDX-License-Identifier: GPL-2.0-or-later
  2. # PXA255 chip ... originally from Intel, PXA line was sold to Marvell.
  3. # This chip is now at end-of-life. Final orders have been taken.
  4. if { [info exists CHIPNAME] } {
  5. set _CHIPNAME $CHIPNAME
  6. } else {
  7. set _CHIPNAME pxa255
  8. }
  9. if { [info exists ENDIAN] } {
  10. set _ENDIAN $ENDIAN
  11. } else {
  12. set _ENDIAN little
  13. }
  14. if { [info exists CPUTAPID] } {
  15. set _CPUTAPID $CPUTAPID
  16. } else {
  17. set _CPUTAPID 0x69264013
  18. }
  19. jtag newtap $_CHIPNAME cpu -irlen 5 -expected-id $_CPUTAPID
  20. set _TARGETNAME $_CHIPNAME.cpu
  21. target create $_TARGETNAME xscale -endian $_ENDIAN \
  22. -chain-position $_CHIPNAME.cpu
  23. # PXA255 comes out of reset using 3.6864 MHz oscillator.
  24. # Until the PLL kicks in, keep the JTAG clock slow enough
  25. # that we get no errors.
  26. adapter speed 300
  27. $_TARGETNAME configure -event "reset-start" { adapter speed 300 }
  28. # both TRST and SRST are *required* for debug
  29. # DCSR is often accessed with SRST active
  30. reset_config trst_and_srst separate srst_nogate
  31. # reset processing that works with PXA
  32. proc init_reset {mode} {
  33. # assert both resets; equivalent to power-on reset
  34. adapter assert trst assert srst
  35. # drop TRST after at least 32 cycles
  36. sleep 1
  37. adapter deassert trst assert srst
  38. # minimum 32 TCK cycles to wake up the controller
  39. runtest 50
  40. # now the TAP will be responsive; validate scanchain
  41. jtag arp_init
  42. # ... and take it out of reset
  43. adapter deassert trst deassert srst
  44. }
  45. proc jtag_init {} {
  46. init_reset startup
  47. }