arm_corelink_sse200.cfg 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. # SPDX-License-Identifier: GPL-2.0-or-later
  2. #
  3. # Configuration script for Arm CoreLink SSE-200 Subsystem based IoT SoCs.
  4. #
  5. global TARGET
  6. set TARGET $_CHIPNAME
  7. swj_newdap $_CHIPNAME cpu -irlen 4 -expected-id $_CPUTAPID
  8. dap create $_CHIPNAME.dap -chain-position $_CHIPNAME.cpu
  9. #
  10. # SRAM on ARM CoreLink SSE-200 can be 4 banks of 8/16/32/64 KB
  11. # We will configure work area assuming 8-KB bank size in SRAM bank 1.
  12. # Also SRAM start addresses defaults to secure mode alias.
  13. # These values can be overridden as per board configuration
  14. #
  15. global _WORKAREASIZE_CPU0
  16. if { [info exists WORKAREASIZE_CPU0] } {
  17. set _WORKAREASIZE_CPU0 $WORKAREASIZE_CPU0
  18. } else {
  19. set _WORKAREASIZE_CPU0 0x1000
  20. }
  21. global _WORKAREAADDR_CPU0
  22. if { [info exists WORKAREAADDR_CPU0] } {
  23. set _WORKAREAADDR_CPU0 $WORKAREAADDR_CPU0
  24. } else {
  25. set _WORKAREAADDR_CPU0 0x30008000
  26. }
  27. #
  28. # Target configuration for Cortex M33 Core 0 on ARM CoreLink SSE-200
  29. # Core 0 is the boot core and will always be configured.
  30. #
  31. target create ${TARGET}.CPU0 cortex_m -dap $_CHIPNAME.dap -ap-num 1 -coreid 0
  32. ${TARGET}.CPU0 configure -work-area-phys $_WORKAREAADDR_CPU0 -work-area-size $_WORKAREASIZE_CPU0 -work-area-backup 0
  33. ${TARGET}.CPU0 cortex_m reset_config sysresetreq
  34. #
  35. # Target configuration for Cortex M33 Core 1 on ARM CoreLink SSE-200
  36. # Core 1 is optional and locked at boot until core 0 unlocks it.
  37. #
  38. if { $_ENABLE_CPU1 } {
  39. global _WORKAREASIZE_CPU1
  40. if { [info exists WORKAREASIZE_CPU1] } {
  41. set _WORKAREASIZE_CPU1 $WORKAREASIZE_CPU1
  42. } else {
  43. set _WORKAREASIZE_CPU1 0x1000
  44. }
  45. global _WORKAREAADDR_CPU1
  46. if { [info exists WORKAREAADDR_CPU1] } {
  47. set _WORKAREAADDR_CPU1 $WORKAREAADDR_CPU1
  48. } else {
  49. set _WORKAREAADDR_CPU1 0x30009000
  50. }
  51. target create ${TARGET}.CPU1 cortex_m -dap $_CHIPNAME.dap -ap-num 2 -coreid 1
  52. ${TARGET}.CPU1 configure -work-area-phys $_WORKAREAADDR_CPU1 -work-area-size $_WORKAREASIZE_CPU1 -work-area-backup 0
  53. ${TARGET}.CPU1 cortex_m reset_config vectreset
  54. }
  55. # Make sure the default target is the boot core
  56. targets ${TARGET}.CPU0