# SPDX-License-Identifier: GPL-2.0-or-later

# Maxim Integrated MAX32620 OpenOCD target configuration file
# www.maximintegrated.com

# adapter speed
adapter speed 4000

# reset pin configuration
reset_config srst_only

if {[using_jtag]} {
    jtag newtap max32620 cpu -irlen 4 -irmask 0xf -expected-id 0x4ba00477 -ignore-version
    jtag newtap maxtest tap -irlen 4 -irmask 0xf -ircapture 0x1 -ignore-version
} else {
    swd newdap max32620 cpu -irlen 4 -irmask 0xf -expected-id 0x2ba01477 -ignore-version
}

dap create max32620.dap -chain-position max32620.cpu

# target configuration
target create max32620.cpu cortex_m -dap max32620.dap
max32620.cpu configure -work-area-phys 0x20005000 -work-area-size 0x2000

# Config Command: flash bank name driver base size chip_width bus_width target [driver_options]
#   flash bank <name> max32xxx <base> <size> 0 0 <target> <flc base> <sector> <clk> <burst>
#   max32620 flash base address   0x00000000
#   max32620 flash size           0x200000 (2MB)
#   max32620 FLC base address     0x40002000
#   max32620 sector (page) size   0x2000 (8kB)
#   max32620 clock speed          96 (MHz)
flash bank max32620.flash max32xxx 0x00000000 0x200000 0 0 max32620.cpu 0x40002000 0x2000 96
