xtensa.cfg 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. # SPDX-License-Identifier: GPL-2.0-or-later
  2. # Target Support for Xtensa Processors
  3. #
  4. set xtensa_ids { 0x120034e5 0x120134e5
  5. 0x209034e5 0x209134e5 0x209234e5 0x209334e5 0x209434e5 0x209534e5 0x209634e5 0x209734e5
  6. 0x20a034e5 0x20a134e5 0x20a234e5 0x20a334e5 0x20a434e5 0x20a534e5 0x20a634e5 0x20a734e5 0x20a834e5
  7. 0x20b034e5 0x20b33ac5 0x20b33ac7 }
  8. set expected_xtensa_ids {}
  9. foreach i $xtensa_ids {
  10. lappend expected_xtensa_ids -expected-id $i
  11. }
  12. if { [info exists CHIPNAME] } {
  13. set _CHIPNAME $CHIPNAME
  14. } else {
  15. set _CHIPNAME xtensa
  16. }
  17. if { [info exists CPUTAPID] } {
  18. set _CPUTAPARGLIST "-expected-id $CPUTAPID"
  19. } else {
  20. set _CPUTAPARGLIST [join $expected_xtensa_ids]
  21. }
  22. if { [info exists XTENSA_NUM_CORES] } {
  23. set _XTENSA_NUM_CORES $XTENSA_NUM_CORES
  24. } else {
  25. set _XTENSA_NUM_CORES 1
  26. }
  27. set _TARGETNAME $_CHIPNAME
  28. set _CPU0NAME cpu
  29. set _TAPNAME $_CHIPNAME.$_CPU0NAME
  30. if { [info exists XTENSA_DAP] } {
  31. source [find target/swj-dp.tcl]
  32. # SWD mode ignores the -irlen parameter
  33. eval swj_newdap $_CHIPNAME cpu -irlen 4 $_CPUTAPARGLIST
  34. dap create $_CHIPNAME.dap -chain-position $_CHIPNAME.cpu
  35. set _TARGETNAME $_CHIPNAME.cpu
  36. if { [info exists XTENSA_DAP_BASE] } {
  37. # Specify fixed offset for accessing XDM via APB behind a DAP interface
  38. target create $_TARGETNAME xtensa -dap $_CHIPNAME.dap -dbgbase $XTENSA_DAP_BASE
  39. } else {
  40. target create $_TARGETNAME xtensa -dap $_CHIPNAME.dap
  41. }
  42. } elseif { $_XTENSA_NUM_CORES > 1 } {
  43. # JTAG direct (without DAP)
  44. for {set i 0} {$i < $_XTENSA_NUM_CORES} {incr i} {
  45. set _LCPUNAME $_CPU0NAME$i
  46. set _LTAPNAME $_CHIPNAME.$_LCPUNAME
  47. eval jtag newtap $_CHIPNAME $_LCPUNAME -irlen 5 $_CPUTAPARGLIST
  48. target create $_LTAPNAME xtensa -chain-position $_LTAPNAME -coreid $i
  49. $_LTAPNAME configure -event reset-assert-post { soft_reset_halt }
  50. }
  51. } else {
  52. # JTAG direct (without DAP) - for legacy xtensa-config-XXX.cfg format
  53. eval jtag newtap $_CHIPNAME $_CPU0NAME -irlen 5 $_CPUTAPARGLIST
  54. target create $_TARGETNAME xtensa -chain-position $_TAPNAME
  55. }
  56. if { $_XTENSA_NUM_CORES == 1 } {
  57. # DAP and single-core legacy JTAG
  58. $_TARGETNAME configure -event reset-assert-post { soft_reset_halt }
  59. }
  60. gdb_report_register_access_error enable