psoc5lp.cfg 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. # SPDX-License-Identifier: GPL-2.0-or-later
  2. #
  3. # Cypress PSoC 5LP
  4. #
  5. source [find target/swj-dp.tcl]
  6. if { [info exists CHIPNAME] } {
  7. set _CHIPNAME $CHIPNAME
  8. } else {
  9. set _CHIPNAME psoc5lp
  10. }
  11. if { [info exists CPUTAPID] } {
  12. set _CPU_TAPID $CPUTAPID
  13. } else {
  14. set _CPU_TAPID 0x4BA00477
  15. }
  16. if { [using_jtag] } {
  17. set _CPU_DAP_ID $_CPU_TAPID
  18. } else {
  19. set _CPU_DAP_ID 0x2ba01477
  20. }
  21. swj_newdap $_CHIPNAME cpu -irlen 4 -expected-id $_CPU_DAP_ID
  22. dap create $_CHIPNAME.dap -chain-position $_CHIPNAME.cpu
  23. set _TARGETNAME $_CHIPNAME.cpu
  24. target create $_TARGETNAME cortex_m -dap $_CHIPNAME.dap
  25. if { [info exists WORKAREASIZE] } {
  26. set _WORKAREASIZE $WORKAREASIZE
  27. } else {
  28. set _WORKAREASIZE 0x2000
  29. }
  30. $_TARGETNAME configure -work-area-phys [expr {0x20000000 - $_WORKAREASIZE / 2}] \
  31. -work-area-size $_WORKAREASIZE -work-area-backup 0
  32. source [find mem_helper.tcl]
  33. $_TARGETNAME configure -event reset-init {
  34. # Configure Target Device (PSoC 5LP Device Programming Specification 5.2)
  35. set PANTHER_DBG_CFG 0x4008000C
  36. set PANTHER_DBG_CFG_BYPASS [expr {1 << 1}]
  37. mmw $PANTHER_DBG_CFG $PANTHER_DBG_CFG_BYPASS 0
  38. set PM_ACT_CFG0 0x400043A0
  39. mww $PM_ACT_CFG0 0xBF
  40. set FASTCLK_IMO_CR 0x40004200
  41. set FASTCLK_IMO_CR_F_RANGE_2 [expr {2 << 0}]
  42. set FASTCLK_IMO_CR_F_RANGE_MASK [expr {7 << 0}]
  43. mmw $FASTCLK_IMO_CR $FASTCLK_IMO_CR_F_RANGE_2 $FASTCLK_IMO_CR_F_RANGE_MASK
  44. }
  45. set _FLASHNAME $_CHIPNAME.flash
  46. flash bank $_FLASHNAME psoc5lp 0x00000000 0 0 0 $_TARGETNAME
  47. flash bank $_CHIPNAME.eeprom psoc5lp_eeprom 0x40008000 0 0 0 $_TARGETNAME
  48. flash bank $_CHIPNAME.nvl psoc5lp_nvl 0 0 0 0 $_TARGETNAME
  49. if {![using_hla]} {
  50. cortex_m reset_config sysresetreq
  51. }