swm050.cfg 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. # SPDX-License-Identifier: GPL-2.0-or-later
  2. # Synwit SWM050
  3. source [find target/swj-dp.tcl]
  4. if { [info exists CHIPNAME] } {
  5. set _CHIPNAME $CHIPNAME
  6. } else {
  7. set _CHIPNAME swm050
  8. }
  9. set _CHIPSERIES swm050
  10. if { [info exists WORKAREASIZE] } {
  11. set _WORKAREASIZE $WORKAREASIZE
  12. } else {
  13. set _WORKAREASIZE 0x400
  14. }
  15. if { [info exists CPUTAPID] } {
  16. set _CPUTAPID $CPUTAPID
  17. } else {
  18. set _CPUTAPID 0x0bb11477
  19. }
  20. swj_newdap $_CHIPNAME cpu -expected-id $_CPUTAPID
  21. dap create $_CHIPNAME.dap -chain-position $_CHIPNAME.cpu
  22. set _TARGETNAME $_CHIPNAME.cpu
  23. target create $_TARGETNAME cortex_m -dap $_CHIPNAME.dap
  24. $_TARGETNAME configure -work-area-phys 0x20000000 -work-area-size $_WORKAREASIZE
  25. set _FLASHNAME $_CHIPNAME.flash
  26. flash bank $_FLASHNAME swm050 0x0 0x2000 0 0 $_TARGETNAME
  27. adapter speed 1000
  28. $_TARGETNAME configure -event reset-init {
  29. # Stop the watchdog, just to be safe
  30. mww 0x40019000 0x00
  31. # Set clock divider value to 1
  32. mww 0x400F0000 0x01
  33. # Set system clock to 18Mhz
  34. mww 0x400F0008 0x00
  35. }
  36. # SWM050 (Cortex-M0 core) supports SYSRESETREQ
  37. if {![using_hla]} {
  38. # if srst is not fitted use SYSRESETREQ to
  39. # perform a soft reset
  40. cortex_m reset_config sysresetreq
  41. }