aboutsummaryrefslogtreecommitdiff
path: root/tcl
diff options
context:
space:
mode:
Diffstat (limited to 'tcl')
-rw-r--r--tcl/board/atmel_samg55_xplained_pro.cfg11
-rw-r--r--tcl/board/lemaker_hikey.cfg26
-rw-r--r--tcl/board/linksys-wag200g.cfg27
-rw-r--r--tcl/board/nordic_nrf51_dk.cfg9
-rw-r--r--tcl/board/nordic_nrf52_dk.cfg9
-rw-r--r--tcl/board/novena-internal-fpga.cfg25
-rw-r--r--tcl/board/st_nucleo_f7.cfg10
-rw-r--r--tcl/board/st_nucleo_l073rz.cfg12
-rw-r--r--tcl/board/telo.cfg3
-rw-r--r--tcl/board/ti_beaglebone-base.cfg4
-rw-r--r--tcl/board/ti_beaglebone.cfg4
-rw-r--r--tcl/board/ti_beaglebone_black.cfg8
-rw-r--r--tcl/board/twr-vf65gs10.cfg201
-rw-r--r--tcl/board/twr-vf65gs10_cmsisdap.cfg15
-rw-r--r--tcl/board/xmc4300-relax.cfg12
-rw-r--r--tcl/cpld/altera-5m570z-cpld.cfg6
-rw-r--r--tcl/interface/axm0432.cfg11
-rw-r--r--tcl/interface/busblaster.cfg14
-rw-r--r--tcl/interface/calao-usb-a9260-c01.cfg13
-rw-r--r--tcl/interface/calao-usb-a9260-c02.cfg13
-rw-r--r--tcl/interface/cortino.cfg11
-rw-r--r--tcl/interface/digilent-hs1.cfg15
-rw-r--r--tcl/interface/dlp-usb1232h.cfg14
-rw-r--r--tcl/interface/flossjtag-noeeprom.cfg19
-rw-r--r--tcl/interface/flossjtag.cfg20
-rw-r--r--tcl/interface/flyswatter.cfg10
-rw-r--r--tcl/interface/flyswatter2.cfg10
-rw-r--r--tcl/interface/ftdi/incircuit-icprog.cfg14
-rw-r--r--tcl/interface/hilscher_nxhx10_etm.cfg11
-rw-r--r--tcl/interface/hilscher_nxhx500_etm.cfg11
-rw-r--r--tcl/interface/hilscher_nxhx500_re.cfg11
-rw-r--r--tcl/interface/hilscher_nxhx50_etm.cfg11
-rw-r--r--tcl/interface/hilscher_nxhx50_re.cfg11
-rw-r--r--tcl/interface/hitex_str9-comstick.cfg11
-rw-r--r--tcl/interface/icebear.cfg11
-rw-r--r--tcl/interface/imx-native.cfg35
-rw-r--r--tcl/interface/jtag-lock-pick_tiny_2.cfg10
-rw-r--r--tcl/interface/jtagkey-tiny.cfg9
-rw-r--r--tcl/interface/jtagkey.cfg11
-rw-r--r--tcl/interface/jtagkey2.cfg11
-rw-r--r--tcl/interface/jtagkey2p.cfg11
-rw-r--r--tcl/interface/kitprog.cfg12
-rw-r--r--tcl/interface/kt-link.cfg10
-rw-r--r--tcl/interface/lisa-l.cfg11
-rw-r--r--tcl/interface/luminary-icdi.cfg21
-rw-r--r--tcl/interface/luminary-lm3s811.cfg18
-rw-r--r--tcl/interface/luminary.cfg31
-rw-r--r--tcl/interface/minimodule.cfg10
-rw-r--r--tcl/interface/neodb.cfg10
-rw-r--r--tcl/interface/ngxtech.cfg10
-rw-r--r--tcl/interface/olimex-arm-usb-ocd-h.cfg11
-rw-r--r--tcl/interface/olimex-arm-usb-ocd.cfg11
-rw-r--r--tcl/interface/olimex-arm-usb-tiny-h.cfg11
-rw-r--r--tcl/interface/olimex-jtag-tiny.cfg11
-rw-r--r--tcl/interface/oocdlink.cfg12
-rw-r--r--tcl/interface/opendous_ftdi.cfg15
-rw-r--r--tcl/interface/openocd-usb-hs.cfg11
-rw-r--r--tcl/interface/openocd-usb.cfg11
-rw-r--r--tcl/interface/openrd.cfg12
-rw-r--r--tcl/interface/redbee-econotag.cfg13
-rw-r--r--tcl/interface/redbee-usb.cfg13
-rw-r--r--tcl/interface/sheevaplug.cfg12
-rw-r--r--tcl/interface/signalyzer-h2.cfg11
-rw-r--r--tcl/interface/signalyzer-h4.cfg11
-rw-r--r--tcl/interface/signalyzer-lite.cfg11
-rw-r--r--tcl/interface/signalyzer.cfg11
-rw-r--r--tcl/interface/stm32-stick.cfg11
-rw-r--r--tcl/interface/turtelizer2.cfg15
-rw-r--r--tcl/interface/usb-jtag.cfg4
-rw-r--r--tcl/interface/vpaclink.cfg10
-rw-r--r--tcl/interface/xds100v2.cfg10
-rw-r--r--tcl/target/adsp-sc58x.cfg45
-rw-r--r--tcl/target/am335x.cfg32
-rw-r--r--tcl/target/at91sam4c32x.cfg9
-rw-r--r--tcl/target/at91sam4cXXX.cfg7
-rw-r--r--tcl/target/at91samdXX.cfg5
-rw-r--r--tcl/target/atmega128rfa1.cfg22
-rw-r--r--tcl/target/hi6220.cfg56
-rw-r--r--tcl/target/imx51.cfg3
-rw-r--r--tcl/target/imx53.cfg3
-rw-r--r--tcl/target/stm32f1x.cfg31
-rw-r--r--tcl/target/stm32f2x.cfg11
-rw-r--r--tcl/target/stm32f3x.cfg21
-rw-r--r--tcl/target/stm32f4x.cfg33
-rwxr-xr-xtcl/target/stm32f7x.cfg11
-rw-r--r--tcl/target/stm32l0.cfg10
-rw-r--r--tcl/target/stm32l0_dual_bank.cfg5
-rw-r--r--tcl/target/stm32l1.cfg22
-rw-r--r--tcl/target/stm32l4x.cfg13
-rw-r--r--tcl/tools/firmware-recovery.tcl1
90 files changed, 635 insertions, 785 deletions
diff --git a/tcl/board/atmel_samg55_xplained_pro.cfg b/tcl/board/atmel_samg55_xplained_pro.cfg
new file mode 100644
index 0000000..3797bf8
--- /dev/null
+++ b/tcl/board/atmel_samg55_xplained_pro.cfg
@@ -0,0 +1,11 @@
+#
+# Atmel SAMG55 Xplained Pro evaluation kit.
+# http://www.atmel.com/tools/ATSAMG55-XPRO.aspx
+#
+
+source [find interface/cmsis-dap.cfg]
+
+# chip name
+set CHIPNAME ATSAMG55J19
+
+source [find target/at91samg5x.cfg]
diff --git a/tcl/board/lemaker_hikey.cfg b/tcl/board/lemaker_hikey.cfg
new file mode 100644
index 0000000..d724440
--- /dev/null
+++ b/tcl/board/lemaker_hikey.cfg
@@ -0,0 +1,26 @@
+#
+# board configuration for LeMaker Hikey
+#
+
+# board does not feature anything but JTAG
+transport select jtag
+
+# SRST-only reset configuration
+reset_config srst_only srst_push_pull
+
+source [find target/hi6220.cfg]
+
+# halt the cores when gdb attaches
+${_TARGETNAME}0 configure -event gdb-attach "halt"
+
+# make sure the default target is the boot core
+targets ${_TARGETNAME}0
+
+proc core_up { args } {
+ global _TARGETNAME
+
+ # examine remaining cores
+ foreach _core [set args] {
+ ${_TARGETNAME}$_core arp_examine
+ }
+}
diff --git a/tcl/board/linksys-wag200g.cfg b/tcl/board/linksys-wag200g.cfg
new file mode 100644
index 0000000..aa4887f
--- /dev/null
+++ b/tcl/board/linksys-wag200g.cfg
@@ -0,0 +1,27 @@
+#
+# Linksys WAG200G Router
+#
+# The stock firmware Flash layout is organized as follow:
+#
+# Start End Device
+# 0x90000000 0x90020000 /dev/mtdblock/2
+# 0x90020000 0x900d0000 /dev/mtdblock/1
+# 0x900d0000 0x903a0000 /dev/mtdblock/0
+# 0x903a0000 0x903e0000 /dev/mtdblock/5
+# 0x903e0000 0x903f0000 /dev/mtdblock/3
+# 0x903f0000 0x90400000 /dev/mtdblock/4
+
+set partition_list {
+ adam2 { "Adam2 bootloader" 0x90000000 0x00020000 }
+ kernel { "Kernel" 0x90020000 0x000b0000 }
+ rootfs { "Root FS" 0x900d0000 0x002d0000 }
+ lang { "Minix language part" 0x903a0000 0x00040000 }
+ config { "Firmware config" 0x903e0000 0x00010000 }
+ adam2env { "Adam2 environment" 0x903f0000 0x00010000 }
+}
+
+source [find target/ti-ar7.cfg]
+
+# External 4MB MXIC 29LV320MBTC Flash (Manufacturer/Device: 0x00c2 0x227e)
+set _FLASHNAME $_CHIPNAME.flash
+flash bank $_FLASHNAME cfi 0x90000000 0x00400000 2 2 $_TARGETNAME
diff --git a/tcl/board/nordic_nrf51_dk.cfg b/tcl/board/nordic_nrf51_dk.cfg
new file mode 100644
index 0000000..96f5471
--- /dev/null
+++ b/tcl/board/nordic_nrf51_dk.cfg
@@ -0,0 +1,9 @@
+#
+# Nordic Semiconductor NRF51 Development Kit (nRF6824)
+#
+
+source [find interface/jlink.cfg]
+
+transport select swd
+
+source [find target/nrf51.cfg]
diff --git a/tcl/board/nordic_nrf52_dk.cfg b/tcl/board/nordic_nrf52_dk.cfg
new file mode 100644
index 0000000..9f52866
--- /dev/null
+++ b/tcl/board/nordic_nrf52_dk.cfg
@@ -0,0 +1,9 @@
+#
+# Nordic Semiconductor NRF52 Development Kit (nRF52832)
+#
+
+source [find interface/jlink.cfg]
+
+transport select swd
+
+source [find target/nrf52.cfg]
diff --git a/tcl/board/novena-internal-fpga.cfg b/tcl/board/novena-internal-fpga.cfg
new file mode 100644
index 0000000..87495e3
--- /dev/null
+++ b/tcl/board/novena-internal-fpga.cfg
@@ -0,0 +1,25 @@
+#
+# Novena open hardware and F/OSS-friendly computing platform
+#
+# Design documentation:
+# http://www.kosagi.com/w/index.php?title=Novena_PVT_Design_Source
+#
+# +-------------+--------------+------+-------+---------+
+# | Pad name | Schematic | GPIO | sysfs | JTAG |
+# +-------------+--------------+------+-------+---------+
+# | DISP0_DAT13 | FPGA_RESET_N | 5-07 | 135 | RESET_N |
+# | DISP0_DAT14 | FPGA_TCK | 5-08 | 136 | TCK |
+# | DISP0_DAT15 | FPGA_TDI | 5-09 | 137 | TDI |
+# | DISP0_DAT16 | FPGA_TDO | 5-10 | 138 | TDO |
+# | DISP0_DAT17 | FPGA_TMS | 5-11 | 139 | TMS |
+# +-------------+--------------+------+-------+---------+
+
+interface sysfsgpio
+
+transport select jtag
+
+# TCK TMS TDI TDO
+sysfsgpio_jtag_nums 136 139 137 138
+
+source [find cpld/xilinx-xc6s.cfg]
+
diff --git a/tcl/board/st_nucleo_f7.cfg b/tcl/board/st_nucleo_f7.cfg
new file mode 100644
index 0000000..88a8a30
--- /dev/null
+++ b/tcl/board/st_nucleo_f7.cfg
@@ -0,0 +1,10 @@
+# STMicroelectronics STM32F7 Nucleo development board
+# Known boards: NUCLEO-F746ZG and NUCLEO-F767ZI
+
+source [find interface/stlink-v2-1.cfg]
+
+transport select hla_swd
+
+source [find target/stm32f7x.cfg]
+
+reset_config srst_only
diff --git a/tcl/board/st_nucleo_l073rz.cfg b/tcl/board/st_nucleo_l073rz.cfg
new file mode 100644
index 0000000..fa9dc87
--- /dev/null
+++ b/tcl/board/st_nucleo_l073rz.cfg
@@ -0,0 +1,12 @@
+# This is an ST NUCLEO-L073RZ board with single STM32L073RZ chip.
+# http://www.st.com/en/evaluation-tools/nucleo-l073rz.html
+source [find interface/stlink-v2-1.cfg]
+
+transport select hla_swd
+
+set WORKAREASIZE 0x2000
+
+source [find target/stm32l0_dual_bank.cfg]
+
+# There is only system reset line and JTAG/SWD command can be issued when SRST
+reset_config srst_only
diff --git a/tcl/board/telo.cfg b/tcl/board/telo.cfg
index 126f388..1d3afdf 100644
--- a/tcl/board/telo.cfg
+++ b/tcl/board/telo.cfg
@@ -8,9 +8,6 @@ source [find target/c100helper.tcl]
# Telo board & C100 support trst and srst
-# Note that libftd2xx.so tries to assert srst
-# which break this script
-# use libftdi.so library instead with this script
# make the reset asserted to
# allow RC circuit to discharge for: [ms]
adapter_nsrst_assert_width 100
diff --git a/tcl/board/ti_beaglebone-base.cfg b/tcl/board/ti_beaglebone-base.cfg
new file mode 100644
index 0000000..82d3c31
--- /dev/null
+++ b/tcl/board/ti_beaglebone-base.cfg
@@ -0,0 +1,4 @@
+# AM335x Beaglebone family base configuration
+# http://beagleboard.org/bone
+
+source [find target/am335x.cfg]
diff --git a/tcl/board/ti_beaglebone.cfg b/tcl/board/ti_beaglebone.cfg
index 5d31d1d..a54ad62 100644
--- a/tcl/board/ti_beaglebone.cfg
+++ b/tcl/board/ti_beaglebone.cfg
@@ -6,8 +6,8 @@ source [find interface/ftdi/xds100v2.cfg]
adapter_khz 16000
-source [find target/am335x.cfg]
-
reset_config trst_and_srst
+source [find board/ti_beaglebone-base.cfg]
+
diff --git a/tcl/board/ti_beaglebone_black.cfg b/tcl/board/ti_beaglebone_black.cfg
new file mode 100644
index 0000000..79fc1e8
--- /dev/null
+++ b/tcl/board/ti_beaglebone_black.cfg
@@ -0,0 +1,8 @@
+# AM335x Beaglebone Black
+# http://beagleboard.org/bone
+
+adapter_khz 1000
+
+reset_config trst_and_srst
+
+source [find board/ti_beaglebone-base.cfg]
diff --git a/tcl/board/twr-vf65gs10.cfg b/tcl/board/twr-vf65gs10.cfg
new file mode 100644
index 0000000..a80407f
--- /dev/null
+++ b/tcl/board/twr-vf65gs10.cfg
@@ -0,0 +1,201 @@
+#
+# Board configuration file for the Freescale VF65GS10 tower board
+#
+# Board has a 20 pin Cortex+ETM debug connector with only nSRST available
+reset_config srst_only
+
+# This configuration file only deals with the hardware JTAG.
+# There is has also an embedded Kinetis K20 with OpenSDA
+# where a CMSIS-DAP application can be installed.
+
+# Source generic VF6xx target configuration
+source [find target/vybrid_vf6xx.cfg]
+
+# basic DDR memory init, setting up pad configuration
+# for DDR first then configuring the DDRMC for the
+# board
+proc ddr_init { } {
+ # iomux ddr
+ mww phys 0x40048220 0x00000180
+ mww phys 0x40048224 0x00000180
+ mww phys 0x40048228 0x00000180
+ mww phys 0x4004822c 0x00000180
+ mww phys 0x40048230 0x00000180
+ mww phys 0x40048234 0x00000180
+ mww phys 0x40048238 0x00000180
+ mww phys 0x4004823c 0x00000180
+ mww phys 0x40048240 0x00000180
+ mww phys 0x40048244 0x00000180
+ mww phys 0x40048248 0x00000180
+ mww phys 0x4004824c 0x00000180
+ mww phys 0x40048250 0x00000180
+ mww phys 0x40048254 0x00000180
+ mww phys 0x40048258 0x00000180
+ mww phys 0x4004825c 0x00000180
+ mww phys 0x40048260 0x00000180
+ mww phys 0x40048264 0x00000180
+ mww phys 0x40048268 0x00000180
+ mww phys 0x4004826c 0x00000180
+ mww phys 0x40048270 0x00000180
+ mww phys 0x40048274 0x00000180
+ mww phys 0x40048278 0x00000180
+ mww phys 0x4004827c 0x00010180
+ mww phys 0x40048280 0x00010180
+ mww phys 0x40048284 0x00010180
+ mww phys 0x40048288 0x00010180
+ mww phys 0x4004828c 0x00010180
+ mww phys 0x40048290 0x00010180
+ mww phys 0x40048294 0x00010180
+ mww phys 0x40048298 0x00010180
+ mww phys 0x4004829c 0x00010180
+ mww phys 0x400482a0 0x00010180
+ mww phys 0x400482a4 0x00010180
+ mww phys 0x400482a8 0x00010180
+ mww phys 0x400482ac 0x00010180
+ mww phys 0x400482b0 0x00010180
+ mww phys 0x400482b4 0x00010180
+ mww phys 0x400482b8 0x00010180
+ mww phys 0x400482bc 0x00010180
+ mww phys 0x400482c0 0x00010180
+ mww phys 0x400482c4 0x00010180
+ mww phys 0x400482c8 0x00010180
+ mww phys 0x400482cc 0x00000180
+ mww phys 0x400482d0 0x00000180
+ mww phys 0x400482d4 0x00000180
+ mww phys 0x400482d8 0x00000180
+ mww phys 0x4004821c 0x000001a0
+ # ddr_ctrl_init
+ mww phys 0x400ae000 0x00000600
+ mww phys 0x400ae008 0x00000020
+ mww phys 0x400ae028 0x00013880
+ mww phys 0x400ae02c 0x00030d40
+ mww phys 0x400ae030 0x0000050c
+ mww phys 0x400ae034 0x15040400
+ mww phys 0x400ae038 0x1406040f
+ mww phys 0x400ae040 0x04040000
+ mww phys 0x400ae044 0x006db00c
+ mww phys 0x400ae048 0x00000403
+ mww phys 0x400ae050 0x01000000
+ mww phys 0x400ae054 0x00060001
+ mww phys 0x400ae058 0x000c0000
+ mww phys 0x400ae05c 0x03000200
+ mww phys 0x400ae060 0x00000006
+ mww phys 0x400ae064 0x00010000
+ mww phys 0x400ae068 0x0c30002c
+ mww phys 0x400ae070 0x00000000
+ mww phys 0x400ae074 0x00000003
+ mww phys 0x400ae078 0x0000000a
+ mww phys 0x400ae07c 0x003001d4
+ mww phys 0x400ae084 0x00010000
+ mww phys 0x400ae088 0x00050500
+ mww phys 0x400ae098 0x00000000
+ mww phys 0x400ae09c 0x04001002
+ mww phys 0x400ae0a4 0x00000001
+ mww phys 0x400ae0c0 0x00460420
+ mww phys 0x400ae108 0x01000200
+ mww phys 0x400ae10c 0x00000040
+ mww phys 0x400ae114 0x00000200
+ mww phys 0x400ae118 0x00000040
+ mww phys 0x400ae120 0x00000000
+ mww phys 0x400ae124 0x0a010300
+ mww phys 0x400ae128 0x01014040
+ mww phys 0x400ae12c 0x01010101
+ mww phys 0x400ae130 0x03030100
+ mww phys 0x400ae134 0x01000101
+ mww phys 0x400ae138 0x0700000c
+ mww phys 0x400ae13c 0x00000000
+ mww phys 0x400ae148 0x10000000
+ mww phys 0x400ae15c 0x01000000
+ mww phys 0x400ae160 0x00040000
+ mww phys 0x400ae164 0x00000002
+ mww phys 0x400ae16c 0x00020000
+ mww phys 0x400ae180 0x00002819
+ mww phys 0x400ae184 0x01000000
+ mww phys 0x400ae188 0x00000000
+ mww phys 0x400ae18c 0x00000000
+ mww phys 0x400ae198 0x00000000
+ mww phys 0x400ae1a4 0x00000c00
+ mww phys 0x400ae1a8 0x00000000
+ mww phys 0x400ae1b8 0x0000000c
+ mww phys 0x400ae1c8 0x00000000
+ mww phys 0x400ae1cc 0x00000000
+ mww phys 0x400ae1d4 0x00000000
+ mww phys 0x400ae1d8 0x01010000
+ mww phys 0x400ae1e0 0x02020000
+ mww phys 0x400ae1e4 0x00000202
+ mww phys 0x400ae1e8 0x01010064
+ mww phys 0x400ae1ec 0x00010101
+ mww phys 0x400ae1f0 0x00000064
+ mww phys 0x400ae1f8 0x00000800
+ mww phys 0x400ae210 0x00000506
+ mww phys 0x400ae224 0x00020000
+ mww phys 0x400ae228 0x01000000
+ mww phys 0x400ae22c 0x04070303
+ mww phys 0x400ae230 0x00000040
+ mww phys 0x400ae23c 0x06000080
+ mww phys 0x400ae240 0x04070303
+ mww phys 0x400ae244 0x00000040
+ mww phys 0x400ae248 0x00000040
+ mww phys 0x400ae24c 0x000f0000
+ mww phys 0x400ae250 0x000f0000
+ mww phys 0x400ae25c 0x00000101
+ mww phys 0x400ae268 0x682c4000
+ mww phys 0x400ae26c 0x00000012
+ mww phys 0x400ae278 0x00000006
+ mww phys 0x400ae284 0x00010202
+ mww phys 0x400ae400 0x00002613
+ mww phys 0x400ae440 0x00002613
+ mww phys 0x400ae404 0x00002615
+ mww phys 0x400ae444 0x00002615
+ mww phys 0x400ae408 0x00210000
+ mww phys 0x400ae448 0x00210000
+ mww phys 0x400ae488 0x00210000
+ mww phys 0x400ae40c 0x0001012a
+ mww phys 0x400ae44c 0x0001012a
+ mww phys 0x400ae48c 0x0001012a
+ mww phys 0x400ae410 0x00002400
+ mww phys 0x400ae450 0x00002400
+ mww phys 0x400ae490 0x00002400
+ mww phys 0x400ae4c4 0x00000000
+ mww phys 0x400ae4c8 0x00001100
+ mww phys 0x400ae4d0 0x00010101
+ mww phys 0x400ae000 0x00000601
+}
+
+# clock control init, setting up basic
+# clocks
+proc clock_init { } {
+ # captured from u-boot
+ mww phys 0x4006b040 0xffffffff
+ mww phys 0x4006b044 0xffffffff
+ mww phys 0x4006b048 0xffffffff
+ mww phys 0x4006b04c 0xffffffff
+ mww phys 0x4006b050 0xffffffff
+ mww phys 0x4006b058 0xffffffff
+ mww phys 0x4006b05c 0xffffffff
+ mww phys 0x4006b060 0xffffffff
+ mww phys 0x4006b064 0xffffffff
+ mww phys 0x4006b068 0xffffffff
+ mww phys 0x40050030 0x00002001
+ mww phys 0x40050270 0x80002001
+ mww phys 0x4006b000 0x00011005
+ mww phys 0x4006b008 0x0001ff24
+ mww phys 0x4006b00c 0x00000810
+ mww phys 0x4006b010 0x00cc0000
+ mww phys 0x4006b014 0x01000000
+ mww phys 0x4006b018 0x20000000
+ mww phys 0x4006b01c 0x0000001f
+ mww phys 0x4006b020 0x00000000
+}
+
+# This function applies the initial configuration after a "reset init"
+# command
+proc board_init { } {
+ clock_init
+ ddr_init
+}
+
+# hook the init function into the reset-init event
+${_TARGETNAME}0 configure -event reset-init { board_init }
+# set a slow default JTAG clock, can be overridden later
+adapter_khz 1000
diff --git a/tcl/board/twr-vf65gs10_cmsisdap.cfg b/tcl/board/twr-vf65gs10_cmsisdap.cfg
new file mode 100644
index 0000000..e8db754
--- /dev/null
+++ b/tcl/board/twr-vf65gs10_cmsisdap.cfg
@@ -0,0 +1,15 @@
+#
+# Board configuration file for the Freescale VF65GS10 tower board
+#
+# CMSIS-DAP via USB-OTG connector
+#
+source [find interface/cmsis-dap.cfg]
+
+# only SWD is supported by the CMSIS-DAP on this board
+transport select swd
+
+# Source generic part of twr-vf65gs10 configuration
+source [find board/twr-vf65gs10.cfg]
+
+# override reset configuration
+reset_config srst_only \ No newline at end of file
diff --git a/tcl/board/xmc4300-relax.cfg b/tcl/board/xmc4300-relax.cfg
new file mode 100644
index 0000000..bb46ccf
--- /dev/null
+++ b/tcl/board/xmc4300-relax.cfg
@@ -0,0 +1,12 @@
+#
+# Infineon XMC4300 Relax EtherCAT Kit
+#
+
+#
+# Segger J-Link Lite XMC4200 on-board
+#
+source [find interface/jlink.cfg]
+transport select swd
+
+set CHIPNAME xmc4300
+source [find target/xmc4xxx.cfg]
diff --git a/tcl/cpld/altera-5m570z-cpld.cfg b/tcl/cpld/altera-5m570z-cpld.cfg
new file mode 100644
index 0000000..22a422c
--- /dev/null
+++ b/tcl/cpld/altera-5m570z-cpld.cfg
@@ -0,0 +1,6 @@
+# Altera MAXV 5M24OZ/5M570Z CPLD
+# see MAX V Device Handbook
+# Table 6-3: 32-Bit MAX V Device IDCODE
+# Version Part Number Manuf. ID LSB
+# 0000 0010 0000 1010 0111 000 0110 1110 1
+jtag newtap 5m570z tap -expected-id 0x020a60dd -irlen 10
diff --git a/tcl/interface/axm0432.cfg b/tcl/interface/axm0432.cfg
deleted file mode 100644
index d2a2aaa..0000000
--- a/tcl/interface/axm0432.cfg
+++ /dev/null
@@ -1,11 +0,0 @@
-#
-# Axiom axm0432
-#
-# http://www.axman.com
-#
-
-interface ft2232
-ft2232_device_desc "Symphony SoundBite"
-ft2232_layout "axm0432_jtag"
-ft2232_vid_pid 0x0403 0x6010
-
diff --git a/tcl/interface/busblaster.cfg b/tcl/interface/busblaster.cfg
deleted file mode 100644
index f87a482..0000000
--- a/tcl/interface/busblaster.cfg
+++ /dev/null
@@ -1,14 +0,0 @@
-#
-# Dangerous Prototypes - Bus Blaster
-#
-# The Bus Blaster has a configurable buffer between the FTDI FT2232H and the
-# JTAG header which allows it to emulate various debugger types. It comes
-# configured as a JTAGkey device.
-#
-# http://dangerousprototypes.com/docs/Bus_Blaster
-#
-
-interface ft2232
-ft2232_device_desc "Dual RS232-HS"
-ft2232_layout jtagkey
-ft2232_vid_pid 0x0403 0x6010
diff --git a/tcl/interface/calao-usb-a9260-c01.cfg b/tcl/interface/calao-usb-a9260-c01.cfg
deleted file mode 100644
index c660671..0000000
--- a/tcl/interface/calao-usb-a9260-c01.cfg
+++ /dev/null
@@ -1,13 +0,0 @@
-#
-# CALAO Systems USB-A9260-C01
-#
-# http://www.calao-systems.com/
-#
-
-interface ft2232
-ft2232_layout jtagkey
-ft2232_device_desc "USB-A9260"
-ft2232_vid_pid 0x0403 0x6010
-script interface/calao-usb-a9260.cfg
-script target/at91sam9260minimal.cfg
-
diff --git a/tcl/interface/calao-usb-a9260-c02.cfg b/tcl/interface/calao-usb-a9260-c02.cfg
deleted file mode 100644
index 2461b70..0000000
--- a/tcl/interface/calao-usb-a9260-c02.cfg
+++ /dev/null
@@ -1,13 +0,0 @@
-#
-# CALAO Systems USB-A9260-C02
-#
-# http://www.calao-systems.com/
-#
-
-interface ft2232
-ft2232_layout jtagkey
-ft2232_device_desc "USB-A9260"
-ft2232_vid_pid 0x0403 0x6001
-script interface/calao-usb-a9260.cfg
-script target/at91sam9260minimal.cfg
-
diff --git a/tcl/interface/cortino.cfg b/tcl/interface/cortino.cfg
deleted file mode 100644
index e2b2301..0000000
--- a/tcl/interface/cortino.cfg
+++ /dev/null
@@ -1,11 +0,0 @@
-#
-# Hitex Cortino
-#
-# http://www.hitex.com/index.php?id=cortino
-#
-
-interface ft2232
-ft2232_device_desc "Cortino"
-ft2232_layout cortino
-ft2232_vid_pid 0x0640 0x0032
-
diff --git a/tcl/interface/digilent-hs1.cfg b/tcl/interface/digilent-hs1.cfg
deleted file mode 100644
index e35f0cf..0000000
--- a/tcl/interface/digilent-hs1.cfg
+++ /dev/null
@@ -1,15 +0,0 @@
-#
-# Digilent HS1
-#
-# The Digilent HS1 is a high-speed FT2232H-based adapter, compliant with the
-# Xilinx JTAG 14-pin pinout.
-# It does not support ARM reset signals (SRST and TRST) but can still be used for
-# hardware debugging, with some limitations.
-#
-# http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,395,922&Prod=JTAG-HS1
-#
-
-interface ft2232
-ft2232_device_desc "Digilent Adept USB Device"
-ft2232_layout digilent-hs1
-ft2232_vid_pid 0x0403 0x6010
diff --git a/tcl/interface/dlp-usb1232h.cfg b/tcl/interface/dlp-usb1232h.cfg
deleted file mode 100644
index 7432413..0000000
--- a/tcl/interface/dlp-usb1232h.cfg
+++ /dev/null
@@ -1,14 +0,0 @@
-#
-# DLP Design DLP-USB1232H USB-to-UART/FIFO interface module
-#
-# http://www.dlpdesign.com/usb/usb1232h.shtml
-#
-# Schematics for OpenOCD usage:
-# http://randomprojects.org/wiki/DLP-USB1232H_and_OpenOCD_based_JTAG_adapter
-#
-
-interface ft2232
-ft2232_device_desc "Dual RS232-HS"
-ft2232_layout usbjtag
-ft2232_vid_pid 0x0403 0x6010
-
diff --git a/tcl/interface/flossjtag-noeeprom.cfg b/tcl/interface/flossjtag-noeeprom.cfg
deleted file mode 100644
index 66c010b..0000000
--- a/tcl/interface/flossjtag-noeeprom.cfg
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# FlossJTAG
-#
-# http://github.com/esden/floss-jtag
-#
-# This is the pre v0.3 Floss-JTAG compatible config file. It can also be used
-# for newer versions of Floss-JTAG with empty or not populated EEPROM. If you
-# have several Floss-JTAG connected you have to use the USB ID to select a
-# specific one.
-#
-# If you have a Floss-JTAG WITH EEPROM that is programmed, use the
-# flossjtag.cfg file.
-#
-
-interface ft2232
-ft2232_vid_pid 0x0403 0x6010
-ft2232_device_desc "Dual RS232-HS"
-ft2232_layout "usbjtag"
-ft2232_latency 2
diff --git a/tcl/interface/flossjtag.cfg b/tcl/interface/flossjtag.cfg
deleted file mode 100644
index fbbabc1..0000000
--- a/tcl/interface/flossjtag.cfg
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-# FlossJTAG
-#
-# http://github.com/esden/floss-jtag
-#
-# This is the v0.3 and v1.0 Floss-JTAG compatible config file. It relies on the
-# existence of an EEPROM on Floss-JTAG containing a name. If you have several
-# Floss-JTAG adapters connected you can use the serial number to select a
-# specific device.
-#
-# If your Floss-JTAG does not have an EEPROM, or the EEPROM is empty, use the
-# flossjtag-noeeprom.cfg file.
-#
-
-interface ft2232
-ft2232_vid_pid 0x0403 0x6010
-ft2232_device_desc "FLOSS-JTAG"
-#ft2232_serial "FJ000001"
-ft2232_layout "flossjtag"
-ft2232_latency 2
diff --git a/tcl/interface/flyswatter.cfg b/tcl/interface/flyswatter.cfg
deleted file mode 100644
index 5bac05b..0000000
--- a/tcl/interface/flyswatter.cfg
+++ /dev/null
@@ -1,10 +0,0 @@
-#
-# TinCanTools Flyswatter
-#
-# http://www.tincantools.com/product.php?productid=16134
-#
-
-interface ft2232
-ft2232_device_desc "Flyswatter"
-ft2232_layout "flyswatter"
-ft2232_vid_pid 0x0403 0x6010
diff --git a/tcl/interface/flyswatter2.cfg b/tcl/interface/flyswatter2.cfg
deleted file mode 100644
index 21e7fed..0000000
--- a/tcl/interface/flyswatter2.cfg
+++ /dev/null
@@ -1,10 +0,0 @@
-#
-# TinCanTools Flyswatter 2
-#
-# http://www.tincantools.com/product.php?productid=16153
-#
-
-interface ft2232
-ft2232_device_desc "Flyswatter2"
-ft2232_layout "flyswatter2"
-ft2232_vid_pid 0x0403 0x6010
diff --git a/tcl/interface/ftdi/incircuit-icprog.cfg b/tcl/interface/ftdi/incircuit-icprog.cfg
new file mode 100644
index 0000000..5e90a70
--- /dev/null
+++ b/tcl/interface/ftdi/incircuit-icprog.cfg
@@ -0,0 +1,14 @@
+#
+# In-Circuit's ICprog OpenOCD JTAG Adapter
+# https://shop.in-circuit.de/product_info.php?products_id=112
+#
+# Schematics available at
+# http://wiki.in-circuit.de/images/0/06/610000158A_openocd.pdf
+#
+
+interface ftdi
+ftdi_vid_pid 0x0403 0x6010
+
+ftdi_layout_init 0x0508 0x0f1b
+ftdi_layout_signal nSRST -noe 0x0400 -data 0x0800
+ftdi_layout_signal nTRST -noe 0x0100 -data 0x0200
diff --git a/tcl/interface/hilscher_nxhx10_etm.cfg b/tcl/interface/hilscher_nxhx10_etm.cfg
deleted file mode 100644
index b16ed1a..0000000
--- a/tcl/interface/hilscher_nxhx10_etm.cfg
+++ /dev/null
@@ -1,11 +0,0 @@
-#
-# Hilscher NXHX 10-ETM
-#
-# http://de.hilscher.com/products_details_hardware.html?p_id=P_4ce145a5983e6
-#
-
-interface ft2232
-ft2232_device_desc "NXHX 10-ETM"
-ft2232_layout comstick
-ft2232_vid_pid 0x0640 0x0028
-adapter_khz 6000
diff --git a/tcl/interface/hilscher_nxhx500_etm.cfg b/tcl/interface/hilscher_nxhx500_etm.cfg
deleted file mode 100644
index 840ffaf..0000000
--- a/tcl/interface/hilscher_nxhx500_etm.cfg
+++ /dev/null
@@ -1,11 +0,0 @@
-#
-# Hilscher NXHX 500-ETM
-#
-# http://de.hilscher.com/files_design/8/NXHX500-ETM_description_Rev01_EN.pdf
-#
-
-interface ft2232
-ft2232_device_desc "NXHX 500-ETM"
-ft2232_layout comstick
-ft2232_vid_pid 0x0640 0x0028
-adapter_khz 6000
diff --git a/tcl/interface/hilscher_nxhx500_re.cfg b/tcl/interface/hilscher_nxhx500_re.cfg
deleted file mode 100644
index 1d1b754..0000000
--- a/tcl/interface/hilscher_nxhx500_re.cfg
+++ /dev/null
@@ -1,11 +0,0 @@
-#
-# Hilscher NXHX 500-RE
-#
-# http://de.hilscher.com/products_details_hardware.html?p_id=P_461ff2053bad1&bs=20
-#
-
-interface ft2232
-ft2232_device_desc "NXHX 500-RE"
-ft2232_layout comstick
-ft2232_vid_pid 0x0640 0x0028
-adapter_khz 6000
diff --git a/tcl/interface/hilscher_nxhx50_etm.cfg b/tcl/interface/hilscher_nxhx50_etm.cfg
deleted file mode 100644
index ff98c28..0000000
--- a/tcl/interface/hilscher_nxhx50_etm.cfg
+++ /dev/null
@@ -1,11 +0,0 @@
-#
-# Hilscher NXHX 50-ETM
-#
-# http://de.hilscher.com/files_design/8/NXHX50-ETM_description_Rev01_EN.pdf
-#
-
-interface ft2232
-ft2232_device_desc "NXHX 50-ETM"
-ft2232_layout comstick
-ft2232_vid_pid 0x0640 0x0028
-adapter_khz 6000
diff --git a/tcl/interface/hilscher_nxhx50_re.cfg b/tcl/interface/hilscher_nxhx50_re.cfg
deleted file mode 100644
index 0573e03..0000000
--- a/tcl/interface/hilscher_nxhx50_re.cfg
+++ /dev/null
@@ -1,11 +0,0 @@
-#
-# Hilscher NXHX 50-RE
-#
-# http://de.hilscher.com/products_details_hardware.html?p_id=P_483c0f582ad36&bs=20
-#
-
-interface ft2232
-ft2232_device_desc "NXHX50-RE"
-ft2232_layout comstick
-ft2232_vid_pid 0x0640 0x0028
-adapter_khz 6000
diff --git a/tcl/interface/hitex_str9-comstick.cfg b/tcl/interface/hitex_str9-comstick.cfg
deleted file mode 100644
index a38be78..0000000
--- a/tcl/interface/hitex_str9-comstick.cfg
+++ /dev/null
@@ -1,11 +0,0 @@
-#
-# Hitex STR9-comStick
-#
-# http://www.hitex.com/index.php?id=383
-#
-
-interface ft2232
-ft2232_device_desc "STR9-comStick"
-ft2232_layout comstick
-ft2232_vid_pid 0x0640 0x002c
-
diff --git a/tcl/interface/icebear.cfg b/tcl/interface/icebear.cfg
deleted file mode 100644
index 88b5e36..0000000
--- a/tcl/interface/icebear.cfg
+++ /dev/null
@@ -1,11 +0,0 @@
-#
-# Section5 ICEBear
-#
-# http://section5.ch/icebear
-#
-
-interface ft2232
-ft2232_device_desc "ICEbear JTAG adapter"
-ft2232_layout icebear
-ft2232_vid_pid 0x0403 0xc140
-
diff --git a/tcl/interface/imx-native.cfg b/tcl/interface/imx-native.cfg
new file mode 100644
index 0000000..c2f80eb
--- /dev/null
+++ b/tcl/interface/imx-native.cfg
@@ -0,0 +1,35 @@
+#
+# Config for using NXP IMX CPU
+#
+# This is best used with a fast enough buffer but also
+# is suitable for direct connection if the target voltage
+# matches to host voltage and the cable is short enough.
+#
+#
+
+interface imx_gpio
+
+# For most IMX processors 0x0209c000
+imx_gpio_peripheral_base 0x0209c000
+
+# Transition delay calculation: SPEED_COEFF/khz - SPEED_OFFSET
+# These depend on system clock, calibrated for IMX6UL@528MHz
+# imx_gpio_speed SPEED_COEFF SPEED_OFFSET
+imx_gpio_speed_coeffs 50000 50
+
+# Each of the JTAG lines need a gpio number set: tck tms tdi tdo.
+# Example configuration:
+# imx_gpio_jtag_nums 6 7 8 9
+
+# SWD interface pins: swclk swdio
+# Example configuration:
+imx_gpio_swd_nums 1 6
+
+# imx_gpio_trst_num 10
+# reset_config trst_only
+
+# imx_gpio_srst_num 11
+# reset_config srst_only srst_push_pull
+
+# or if you have both connected,
+# reset_config trst_and_srst srst_push_pull \ No newline at end of file
diff --git a/tcl/interface/jtag-lock-pick_tiny_2.cfg b/tcl/interface/jtag-lock-pick_tiny_2.cfg
deleted file mode 100644
index 539f0f9..0000000
--- a/tcl/interface/jtag-lock-pick_tiny_2.cfg
+++ /dev/null
@@ -1,10 +0,0 @@
-#
-# DISTORTEC JTAG-lock-pick Tiny 2
-#
-# http://www.distortec.com
-#
-
-interface ft2232
-ft2232_device_desc "JTAG-lock-pick Tiny 2"
-ft2232_layout ktlink
-ft2232_vid_pid 0x0403 0x8220
diff --git a/tcl/interface/jtagkey-tiny.cfg b/tcl/interface/jtagkey-tiny.cfg
deleted file mode 100644
index 633fdda..0000000
--- a/tcl/interface/jtagkey-tiny.cfg
+++ /dev/null
@@ -1,9 +0,0 @@
-#
-# Amontec JTAGkey-tiny
-#
-# http://www.amontec.com/jtagkey-tiny.shtml
-#
-
-# The JTAGkey-tiny uses exactly the same config as the JTAGkey.
-source [find interface/jtagkey.cfg]
-
diff --git a/tcl/interface/jtagkey.cfg b/tcl/interface/jtagkey.cfg
deleted file mode 100644
index ca45dfc..0000000
--- a/tcl/interface/jtagkey.cfg
+++ /dev/null
@@ -1,11 +0,0 @@
-#
-# Amontec JTAGkey
-#
-# http://www.amontec.com/jtagkey.shtml
-#
-
-interface ft2232
-ft2232_device_desc "Amontec JTAGkey"
-ft2232_layout jtagkey
-ft2232_vid_pid 0x0403 0xcff8
-
diff --git a/tcl/interface/jtagkey2.cfg b/tcl/interface/jtagkey2.cfg
deleted file mode 100644
index 40a0b0d..0000000
--- a/tcl/interface/jtagkey2.cfg
+++ /dev/null
@@ -1,11 +0,0 @@
-#
-# Amontec JTAGkey2
-#
-# http://www.amontec.com/jtagkey2.shtml
-#
-
-interface ft2232
-ft2232_device_desc "Amontec JTAGkey-2"
-ft2232_layout jtagkey
-ft2232_vid_pid 0x0403 0xCFF8
-
diff --git a/tcl/interface/jtagkey2p.cfg b/tcl/interface/jtagkey2p.cfg
deleted file mode 100644
index 98a9417..0000000
--- a/tcl/interface/jtagkey2p.cfg
+++ /dev/null
@@ -1,11 +0,0 @@
-#
-# Amontec JTAGkey2P
-#
-# http://www.amontec.com/jtagkey2p.shtml
-#
-
-interface ft2232
-ft2232_device_desc "Amontec JTAGkey-2P"
-ft2232_layout jtagkey
-ft2232_vid_pid 0x0403 0xCFF8
-
diff --git a/tcl/interface/kitprog.cfg b/tcl/interface/kitprog.cfg
new file mode 100644
index 0000000..9449714
--- /dev/null
+++ b/tcl/interface/kitprog.cfg
@@ -0,0 +1,12 @@
+#
+# Cypress Semiconductor KitProg
+#
+# Note: This is the driver for the proprietary KitPtog protocol. If the
+# KitProg is in CMSIS-DAP mode, you should either use the cmsis-dap
+# interface driver or switch the KitProg to KitProg mode.
+#
+
+interface kitprog
+
+# Optionally specify the serial number of the KitProg you want to use.
+#kitprog_serial 1926402735485200
diff --git a/tcl/interface/kt-link.cfg b/tcl/interface/kt-link.cfg
deleted file mode 100644
index 93af8e4..0000000
--- a/tcl/interface/kt-link.cfg
+++ /dev/null
@@ -1,10 +0,0 @@
-#
-# Kristech KT-Link
-#
-# http://www.kristech.eu
-#
-
-interface ft2232
-ft2232_device_desc "KT-LINK"
-ft2232_layout ktlink
-ft2232_vid_pid 0x0403 0xBBE2
diff --git a/tcl/interface/lisa-l.cfg b/tcl/interface/lisa-l.cfg
deleted file mode 100644
index cc7d6cc..0000000
--- a/tcl/interface/lisa-l.cfg
+++ /dev/null
@@ -1,11 +0,0 @@
-#
-# Lisa/L
-#
-# http://paparazzi.enac.fr/wiki/Lisa
-#
-
-interface ft2232
-ft2232_vid_pid 0x0403 0x6010
-ft2232_device_desc "Lisa/L"
-ft2232_layout "lisa-l"
-ft2232_latency 2
diff --git a/tcl/interface/luminary-icdi.cfg b/tcl/interface/luminary-icdi.cfg
deleted file mode 100644
index 94e00ae..0000000
--- a/tcl/interface/luminary-icdi.cfg
+++ /dev/null
@@ -1,21 +0,0 @@
-#
-# Luminary Micro Stellaris LM3S9B9x Evaluation Kits
-# In-Circuit Debug Interface (ICDI) Board
-#
-# Essentially all Luminary debug hardware is the same, (with both
-# JTAG and SWD support compatible with ICDI boards. This ICDI adapter
-# configuration is JTAG-only, but the same hardware handles SWD too.
-#
-# This is a discrete FT2232 based debug board which supports ARM's
-# JTAG/SWD connectors in both backwards-compatible 20-pin format and
-# in the new-style compact 10-pin. There's also an 8-pin connector
-# with serial port support. It's included with LM3S9B9x eval boards.
-#
-# http://www.luminarymicro.com/products/ek-lm3s9b90.html
-# http://www.luminarymicro.com/products/ek-lm3s9b92.html
-#
-
-interface ft2232
-ft2232_device_desc "Luminary Micro ICDI Board"
-ft2232_layout luminary_icdi
-ft2232_vid_pid 0x0403 0xbcda
diff --git a/tcl/interface/luminary-lm3s811.cfg b/tcl/interface/luminary-lm3s811.cfg
deleted file mode 100644
index fd747c0..0000000
--- a/tcl/interface/luminary-lm3s811.cfg
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# Luminary Micro Stellaris LM3S811 Evaluation Kit
-#
-# http://www.luminarymicro.com/products/stellaris_811_evaluation_kits.html
-#
-# NOTE: this is only for boards *before* Rev C, which adds support
-# for SWO tracing with ADBUS_6 DBG_ENn and BDBUS_4 SWO_EN signals.
-# The "evb_lm3s811" layout doesn't set up those signals.
-#
-# Rev C boards work more like the other Stellaris eval boards. They
-# need to use the "luminary_icdi" layout to work correctly.
-#
-
-interface ft2232
-ft2232_device_desc "LM3S811 Evaluation Board"
-ft2232_layout evb_lm3s811
-ft2232_vid_pid 0x0403 0xbcd9
-
diff --git a/tcl/interface/luminary.cfg b/tcl/interface/luminary.cfg
deleted file mode 100644
index e94e514..0000000
--- a/tcl/interface/luminary.cfg
+++ /dev/null
@@ -1,31 +0,0 @@
-#
-# Luminary Micro Stellaris Evaluation Kits
-#
-# http://www.luminarymicro.com/products/evaluation_kits.html
-#
-# There are a number of evaluation kits for Stellaris Cortex-M3 chips.
-# Currently they all bundle FT2232 based debug support. When that is
-# used (instead of an external adapter), use this config file in one
-# of these two modes:
-#
-# - Eval board debug ... debug of the Stellaris chip via port A.
-#
-# - Other board debug ... same thing, but the board acts as a debug
-# adapter for another board (using a standard ARM JTAG connector).
-# The Stellaris chip stays in reset.
-#
-# Those support both JTAG and SWD. SWD is an ARM-only two-wire debug
-# protocol; in 2009, OpenOCD does not support SWD.
-#
-# Port B of the FT2232 chip is normally used as a serial link to the
-# Stellaris chip. On most boards (but not older LM3S811 eval boards),
-# when SWD is used Port B may instead be used to read low-bandwidth
-# "SWO trace" data, including so-called "printf style" output from
-# firmware via the ITM module as well as profile data.
-#
-
-interface ft2232
-ft2232_device_desc "Stellaris Evaluation Board"
-ft2232_layout luminary_icdi
-ft2232_vid_pid 0x0403 0xbcd9
-
diff --git a/tcl/interface/minimodule.cfg b/tcl/interface/minimodule.cfg
deleted file mode 100644
index c8f9ba1..0000000
--- a/tcl/interface/minimodule.cfg
+++ /dev/null
@@ -1,10 +0,0 @@
-#
-# FTDI MiniModule
-#
-# http://www.ftdichip.com/Support/Documents/DataSheets/Modules/DS_FT2232H_Mini_Module.pdf
-#
-
-interface ft2232
-ft2232_device_desc "FT2232H MiniModule"
-ft2232_layout "minimodule"
-ft2232_vid_pid 0x0403 0x6010
diff --git a/tcl/interface/neodb.cfg b/tcl/interface/neodb.cfg
deleted file mode 100644
index 8e2f526..0000000
--- a/tcl/interface/neodb.cfg
+++ /dev/null
@@ -1,10 +0,0 @@
-#
-# Openmoko USB JTAG/RS232 adapter
-#
-# http://wiki.openmoko.org/wiki/Debug_Board_v3
-#
-
-interface ft2232
-ft2232_device_desc "Debug Board for Neo1973"
-ft2232_layout jtagkey
-ft2232_vid_pid 0x1457 0x5118
diff --git a/tcl/interface/ngxtech.cfg b/tcl/interface/ngxtech.cfg
deleted file mode 100644
index 9dfe01c..0000000
--- a/tcl/interface/ngxtech.cfg
+++ /dev/null
@@ -1,10 +0,0 @@
-#
-# NGX ARM USB JTAG
-#
-# http://shop.ngxtechnologies.com/product_info.php?cPath=26&products_id=30
-#
-
-interface ft2232
-ft2232_device_desc "NGX JTAG A"
-ft2232_vid_pid 0x0403 0x6010
-ft2232_layout "oocdlink"
diff --git a/tcl/interface/olimex-arm-usb-ocd-h.cfg b/tcl/interface/olimex-arm-usb-ocd-h.cfg
deleted file mode 100644
index 47daa92..0000000
--- a/tcl/interface/olimex-arm-usb-ocd-h.cfg
+++ /dev/null
@@ -1,11 +0,0 @@
-#
-# Olimex ARM-USB-OCD-H
-#
-# http://www.olimex.com/dev/arm-usb-ocd.html
-#
-
-interface ft2232
-ft2232_device_desc "Olimex OpenOCD JTAG ARM-USB-OCD-H"
-ft2232_layout olimex-jtag
-ft2232_vid_pid 0x15ba 0x002b
-
diff --git a/tcl/interface/olimex-arm-usb-ocd.cfg b/tcl/interface/olimex-arm-usb-ocd.cfg
deleted file mode 100644
index 569dcef..0000000
--- a/tcl/interface/olimex-arm-usb-ocd.cfg
+++ /dev/null
@@ -1,11 +0,0 @@
-#
-# Olimex ARM-USB-OCD
-#
-# http://www.olimex.com/dev/arm-usb-ocd.html
-#
-
-interface ft2232
-ft2232_device_desc "Olimex OpenOCD JTAG"
-ft2232_layout olimex-jtag
-ft2232_vid_pid 0x15ba 0x0003
-
diff --git a/tcl/interface/olimex-arm-usb-tiny-h.cfg b/tcl/interface/olimex-arm-usb-tiny-h.cfg
deleted file mode 100644
index b6aa952..0000000
--- a/tcl/interface/olimex-arm-usb-tiny-h.cfg
+++ /dev/null
@@ -1,11 +0,0 @@
-#
-# Olimex ARM-USB-TINY-H
-#
-# http://www.olimex.com/dev/arm-usb-tiny-h.html
-#
-
-interface ft2232
-ft2232_device_desc "Olimex OpenOCD JTAG ARM-USB-TINY-H"
-ft2232_layout olimex-jtag
-ft2232_vid_pid 0x15ba 0x002a
-
diff --git a/tcl/interface/olimex-jtag-tiny.cfg b/tcl/interface/olimex-jtag-tiny.cfg
deleted file mode 100644
index f28ed9d..0000000
--- a/tcl/interface/olimex-jtag-tiny.cfg
+++ /dev/null
@@ -1,11 +0,0 @@
-#
-# Olimex ARM-USB-TINY
-#
-# http://www.olimex.com/dev/arm-usb-tiny.html
-#
-
-interface ft2232
-ft2232_device_desc "Olimex OpenOCD JTAG TINY"
-ft2232_layout olimex-jtag
-ft2232_vid_pid 0x15ba 0x0004
-
diff --git a/tcl/interface/oocdlink.cfg b/tcl/interface/oocdlink.cfg
deleted file mode 100644
index 4e962f5..0000000
--- a/tcl/interface/oocdlink.cfg
+++ /dev/null
@@ -1,12 +0,0 @@
-#
-# Joern Kaipf's OOCDLink
-#
-# http://www.joernonline.de/contrexx2/cms/index.php?page=126
-#
-
-interface ft2232
-ft2232_device_desc "OOCDLink"
-ft2232_layout oocdlink
-ft2232_vid_pid 0x0403 0xbaf8
-adapter_khz 5
-
diff --git a/tcl/interface/opendous_ftdi.cfg b/tcl/interface/opendous_ftdi.cfg
deleted file mode 100644
index e0e05c4..0000000
--- a/tcl/interface/opendous_ftdi.cfg
+++ /dev/null
@@ -1,15 +0,0 @@
-#
-# Opendous
-#
-# http://code.google.com/p/opendous/wiki/JTAG
-#
-# According to the website, it is similar to jtagkey, but it uses channel B
-# (and it has a different pid number).
-#
-
-interface ft2232
-ft2232_device_desc "Dual RS232-HS"
-ft2232_layout jtagkey
-ft2232_vid_pid 0x0403 0x6010
-ft2232_channel 2
-
diff --git a/tcl/interface/openocd-usb-hs.cfg b/tcl/interface/openocd-usb-hs.cfg
deleted file mode 100644
index ddf3dce..0000000
--- a/tcl/interface/openocd-usb-hs.cfg
+++ /dev/null
@@ -1,11 +0,0 @@
-#
-# embedded projects openocd usb adapter v3
-#
-# http://shop.embedded-projects.net/index.php?module=artikel&action=artikel&id=14
-#
-
-interface ft2232
-ft2232_vid_pid 0x0403 0x6010
-ft2232_device_desc "Dual RS232-HS"
-ft2232_layout "oocdlink"
-ft2232_latency 2
diff --git a/tcl/interface/openocd-usb.cfg b/tcl/interface/openocd-usb.cfg
deleted file mode 100644
index 4000b23..0000000
--- a/tcl/interface/openocd-usb.cfg
+++ /dev/null
@@ -1,11 +0,0 @@
-#
-# Hubert Hoegl's USB to JTAG
-#
-# http://www.hs-augsburg.de/~hhoegl/proj/usbjtag/usbjtag.html
-#
-
-interface ft2232
-ft2232_vid_pid 0x0403 0x6010
-ft2232_device_desc "Dual RS232"
-ft2232_layout "oocdlink"
-ft2232_latency 2
diff --git a/tcl/interface/openrd.cfg b/tcl/interface/openrd.cfg
deleted file mode 100644
index 322b508..0000000
--- a/tcl/interface/openrd.cfg
+++ /dev/null
@@ -1,12 +0,0 @@
-#
-# Marvell OpenRD
-#
-# http://www.marvell.com/products/embedded_processors/developer/kirkwood/openrd.jsp
-#
-
-interface ft2232
-ft2232_layout sheevaplug
-ft2232_vid_pid 0x0403 0x9e90
-ft2232_device_desc "OpenRD JTAGKey FT2232D B"
-adapter_khz 3000
-
diff --git a/tcl/interface/redbee-econotag.cfg b/tcl/interface/redbee-econotag.cfg
deleted file mode 100644
index 7e17a05..0000000
--- a/tcl/interface/redbee-econotag.cfg
+++ /dev/null
@@ -1,13 +0,0 @@
-#
-# Redwire Redbee-Econotag
-#
-# http://www.redwirellc.com/store/node/1
-#
-# The Redbee-Econotag has an onboard FT2232H with:
-# - FT2232H channel A wired to mc13224v JTAG
-# - FT2232H channel B wired to mc13224v UART1
-#
-
-interface ft2232
-ft2232_layout redbee-econotag
-ft2232_vid_pid 0x0403 0x6010
diff --git a/tcl/interface/redbee-usb.cfg b/tcl/interface/redbee-usb.cfg
deleted file mode 100644
index 5e7e4f7..0000000
--- a/tcl/interface/redbee-usb.cfg
+++ /dev/null
@@ -1,13 +0,0 @@
-#
-# Redwire Redbee-USB
-#
-# http://www.redwirellc.com
-#
-# The Redbee-USB has an onboard FT2232H with:
-# - FT2232H channel B wired to mc13224v JTAG
-# - FT2232H channel A wired to mc13224v UART1
-#
-
-interface ft2232
-ft2232_layout redbee-usb
-ft2232_vid_pid 0x0403 0x6010
diff --git a/tcl/interface/sheevaplug.cfg b/tcl/interface/sheevaplug.cfg
deleted file mode 100644
index d46d71e..0000000
--- a/tcl/interface/sheevaplug.cfg
+++ /dev/null
@@ -1,12 +0,0 @@
-#
-# Marvel SheevaPlug Development Kit
-#
-# http://www.marvell.com/products/embedded_processors/developer/kirkwood/sheevaplug.jsp
-#
-
-interface ft2232
-ft2232_layout sheevaplug
-ft2232_vid_pid 0x9e88 0x9e8f
-ft2232_device_desc "SheevaPlug JTAGKey FT2232D B"
-adapter_khz 2000
-
diff --git a/tcl/interface/signalyzer-h2.cfg b/tcl/interface/signalyzer-h2.cfg
deleted file mode 100644
index 24288ac..0000000
--- a/tcl/interface/signalyzer-h2.cfg
+++ /dev/null
@@ -1,11 +0,0 @@
-#
-# Xverve Signalyzer H2 (DT-USB-SH2)
-#
-# http://www.signalyzer.com
-#
-
-interface ft2232
-ft2232_device_desc "Signalyzer H2"
-ft2232_layout signalyzer-h
-ft2232_vid_pid 0x0403 0xbca2
-
diff --git a/tcl/interface/signalyzer-h4.cfg b/tcl/interface/signalyzer-h4.cfg
deleted file mode 100644
index d2b260b..0000000
--- a/tcl/interface/signalyzer-h4.cfg
+++ /dev/null
@@ -1,11 +0,0 @@
-#
-# Xverve Signalyzer H4 (DT-USB-SH4)
-#
-# http://www.signalyzer.com
-#
-
-interface ft2232
-ft2232_device_desc "Signalyzer H4"
-ft2232_layout signalyzer-h
-ft2232_vid_pid 0x0403 0xbca4
-
diff --git a/tcl/interface/signalyzer-lite.cfg b/tcl/interface/signalyzer-lite.cfg
deleted file mode 100644
index 834bc0c..0000000
--- a/tcl/interface/signalyzer-lite.cfg
+++ /dev/null
@@ -1,11 +0,0 @@
-#
-# Xverve Signalyzer LITE (DT-USB-SLITE)
-#
-# http://www.signalyzer.com
-#
-
-interface ft2232
-ft2232_device_desc "Signalyzer LITE"
-ft2232_layout signalyzer
-ft2232_vid_pid 0x0403 0xbca1
-
diff --git a/tcl/interface/signalyzer.cfg b/tcl/interface/signalyzer.cfg
deleted file mode 100644
index b0581c5..0000000
--- a/tcl/interface/signalyzer.cfg
+++ /dev/null
@@ -1,11 +0,0 @@
-#
-# Xverve Signalyzer Tool (DT-USB-ST)
-#
-# http://www.signalyzer.com
-#
-
-interface ft2232
-ft2232_device_desc "Signalyzer"
-ft2232_layout signalyzer
-ft2232_vid_pid 0x0403 0xbca0
-
diff --git a/tcl/interface/stm32-stick.cfg b/tcl/interface/stm32-stick.cfg
deleted file mode 100644
index 9dcf816..0000000
--- a/tcl/interface/stm32-stick.cfg
+++ /dev/null
@@ -1,11 +0,0 @@
-#
-# Hitex STM32-PerformanceStick
-#
-# http://www.hitex.com/index.php?id=340
-#
-
-interface ft2232
-ft2232_device_desc "STM32-PerformanceStick"
-ft2232_layout stm32stick
-ft2232_vid_pid 0x0640 0x002d
-
diff --git a/tcl/interface/turtelizer2.cfg b/tcl/interface/turtelizer2.cfg
deleted file mode 100644
index c5e10c0..0000000
--- a/tcl/interface/turtelizer2.cfg
+++ /dev/null
@@ -1,15 +0,0 @@
-#
-# egnite Turtelizer 2
-#
-# http://www.ethernut.de/en/hardware/turtelizer/index.html
-#
-# Deprecated, if possible use tcl/interface/ftdi/turtelizer...
-# To run, one of following configure option needed
-# --enable-legacy-ft2232_libftdi
-# --enable-legacy-ft2232_ftd2xx
-
-interface ft2232
-ft2232_device_desc "Turtelizer JTAG/RS232 Adapter"
-ft2232_layout turtelizer2
-ft2232_vid_pid 0x0403 0xbdc8
-
diff --git a/tcl/interface/usb-jtag.cfg b/tcl/interface/usb-jtag.cfg
index 15274d5..cb4d29b 100644
--- a/tcl/interface/usb-jtag.cfg
+++ b/tcl/interface/usb-jtag.cfg
@@ -27,11 +27,11 @@
#
# TODO: Refactor the usb_blaster driver to allow loading firmware using any low
# level driver. Loading firmware is currently only supported on the ublast2
-# driver but ixo-usb-jtag requires the ftdi or ftd2xx driver.
+# driver but ixo-usb-jtag requires the ftdi driver.
interface usb_blaster
usb_blaster_vid_pid 0x16C0 0x06AD
usb_blaster_device_desc "Van Ooijen Technische Informatica"
# ixo-usb-jtag is only compatible with the ublast1 protocol implemented via the
-# ftdi or ftd2xx modes, using ublast2 will cause openocd to hang.
+# ftdi modes, using ublast2 will cause openocd to hang.
usb_blaster_lowlevel_driver ftdi
diff --git a/tcl/interface/vpaclink.cfg b/tcl/interface/vpaclink.cfg
deleted file mode 100644
index a4795d3..0000000
--- a/tcl/interface/vpaclink.cfg
+++ /dev/null
@@ -1,10 +0,0 @@
-#
-# Voipac VPACLink
-#
-# http://voipac.com/27M-JTG-000
-#
-
-interface ft2232
-ft2232_device_desc "VPACLink A"
-ft2232_layout oocdlink
-ft2232_vid_pid 0x0403 0x6010
diff --git a/tcl/interface/xds100v2.cfg b/tcl/interface/xds100v2.cfg
deleted file mode 100644
index f14f1d8..0000000
--- a/tcl/interface/xds100v2.cfg
+++ /dev/null
@@ -1,10 +0,0 @@
-#
-# Texas Instruments XDS100v2
-#
-# http://processors.wiki.ti.com/index.php/XDS100#XDS100v2_Features
-#
-
-interface ft2232
-ft2232_device_desc "Texas Instruments Inc.XDS100 Ver 2.0"
-ft2232_layout xds100v2
-ft2232_vid_pid 0x0403 0xa6d0
diff --git a/tcl/target/adsp-sc58x.cfg b/tcl/target/adsp-sc58x.cfg
new file mode 100644
index 0000000..369137e
--- /dev/null
+++ b/tcl/target/adsp-sc58x.cfg
@@ -0,0 +1,45 @@
+# Analog Devices ADSP-SC58x (ARM Cortex-A5 plus one or two SHARC+ DSPs)
+
+# evaluation boards by Analog Devices (and designs derived from them) use a non-standard 10-pin 0.05" ARM Cortex Debug Connector
+# pin 9 (GND or GNDDetect) has been usurped with JTAG /TRST
+# as a result, a standards-compliant debug pod will only force the processor's debug interface into reset, preventing usage
+# so, a connector adapter must be employed on these boards to isolate or otherwise prevent /TRST from being asserted
+
+transport select swd
+source [find target/swj-dp.tcl]
+
+if { [info exists CHIPNAME] } {
+ set _CHIPNAME $CHIPNAME
+} else {
+ set _CHIPNAME ADSP-SC58x
+}
+
+if { [info exists ENDIAN] } {
+ set _ENDIAN $ENDIAN
+} else {
+ set _ENDIAN little
+}
+
+if { [info exists CPUTAPID] } {
+ set _CPUTAPID $CPUTAPID
+} else {
+ set _CPUTAPID 0x3BA02477
+}
+
+swj_newdap $_CHIPNAME cpu -expected-id $_CPUTAPID
+
+set _TARGETNAME $_CHIPNAME.cpu
+target create $_TARGETNAME cortex_a -endian $_ENDIAN -chain-position $_TARGETNAME
+
+$_TARGETNAME configure -event examine-end {
+ global _TARGETNAME
+ sc58x_enabledebug $_TARGETNAME
+}
+
+proc sc58x_enabledebug {target} {
+ # Enable debugging functionality by setting relevant bits in the TAPC_DBGCTL register
+ # the "phys" option is critical; the OpenOCD Cortex-A target code prevents normal mww when the target is not halted
+ # however, it is not possible to halt the target unless these register bits have been set
+ $target mww phys 0x31131000 0xFFFF
+}
+
diff --git a/tcl/target/am335x.cfg b/tcl/target/am335x.cfg
index 7409615..3ca196b 100644
--- a/tcl/target/am335x.cfg
+++ b/tcl/target/am335x.cfg
@@ -76,3 +76,35 @@ target create $_TARGETNAME cortex_a -chain-position $_CHIPNAME.dap -dbgbase 0x80
# SRAM: 64K at 0x4030.0000; use the first 16K
$_TARGETNAME configure -work-area-phys 0x40300000 -work-area-size 0x4000
+
+
+# when putting the target into 'reset halt', we need to disable the watchdog as
+# it would otherwise trigger while we're in JTAG
+# FIXME: unify with target/am437x.cfg
+source [find mem_helper.tcl]
+set WDT1_BASE_ADDR 0x44e35000
+set WDT1_W_PEND_WSPR [expr $WDT1_BASE_ADDR + 0x0034]
+set WDT1_WSPR [expr $WDT1_BASE_ADDR + 0x0048]
+proc disable_watchdog { } {
+ global WDT1_WSPR
+ global WDT1_W_PEND_WSPR
+ global _TARGETNAME
+
+ set curstate [$_TARGETNAME curstate]
+
+ if { [string compare $curstate halted] == 0 } {
+ set WDT_DISABLE_SEQ1 0xaaaa
+ set WDT_DISABLE_SEQ2 0x5555
+
+ mww phys $WDT1_WSPR $WDT_DISABLE_SEQ1
+
+ # Empty body to make sure this executes as fast as possible.
+ # We don't want any delays here otherwise romcode might start
+ # executing and end up changing state of certain IPs.
+ while { [expr [mrw $WDT1_W_PEND_WSPR] & 0x10] } { }
+
+ mww phys $WDT1_WSPR $WDT_DISABLE_SEQ2
+ while { [expr [mrw $WDT1_W_PEND_WSPR] & 0x10] } { }
+ }
+}
+$_TARGETNAME configure -event reset-end { disable_watchdog }
diff --git a/tcl/target/at91sam4c32x.cfg b/tcl/target/at91sam4c32x.cfg
new file mode 100644
index 0000000..5344e0c
--- /dev/null
+++ b/tcl/target/at91sam4c32x.cfg
@@ -0,0 +1,9 @@
+# script for ATMEL sam4c32, a Cortex-M4 chip
+#
+
+source [find target/at91sam4XXX.cfg]
+
+set _FLASHNAME $_CHIPNAME.flash0
+flash bank $_FLASHNAME at91sam4 0x01000000 0 1 1 $_TARGETNAME
+set _FLASHNAME $_CHIPNAME.flash1
+flash bank $_FLASHNAME at91sam4 0x01100000 0 1 1 $_TARGETNAME
diff --git a/tcl/target/at91sam4cXXX.cfg b/tcl/target/at91sam4cXXX.cfg
new file mode 100644
index 0000000..3f10c61
--- /dev/null
+++ b/tcl/target/at91sam4cXXX.cfg
@@ -0,0 +1,7 @@
+# script for ATMEL sam4c, a Cortex-M4 chip
+#
+
+source [find target/at91sam4XXX.cfg]
+
+set _FLASHNAME $_CHIPNAME.flash
+flash bank $_FLASHNAME at91sam4 0x01000000 0 1 1 $_TARGETNAME
diff --git a/tcl/target/at91samdXX.cfg b/tcl/target/at91samdXX.cfg
index 47b4f5f..93a95c8 100644
--- a/tcl/target/at91samdXX.cfg
+++ b/tcl/target/at91samdXX.cfg
@@ -53,11 +53,6 @@ $_TARGETNAME configure -event reset-deassert-post {
# srst_pulls_trst is not configured here to avoid an error raised in reset halt
reset_config srst_gates_jtag
-# Atmel's EDBG (on-board cmsis-dap adapter of Xplained kits) cannot
-# stop the MCU before it starts executing code if hardware RESETN
-# line is configured by command "reset_config srst_only"
-# Use "reset_config none" (default) before flash programming.
-
# Do not use a reset button with other SWD adapter than Atmel's EDBG.
# DSU usually locks MCU in reset state until you issue a reset command
# in OpenOCD.
diff --git a/tcl/target/atmega128rfa1.cfg b/tcl/target/atmega128rfa1.cfg
new file mode 100644
index 0000000..2c12a61
--- /dev/null
+++ b/tcl/target/atmega128rfa1.cfg
@@ -0,0 +1,22 @@
+set _CHIPNAME avr
+set _ENDIAN little
+
+# jtag speed
+adapter_khz 4500
+
+# avr jtag docs never connect RSTN
+reset_config none
+
+#jtag scan chain
+if { [info exists CPUTAPID] } {
+ set _CPUTAPID $CPUTAPID
+} else {
+ set _CPUTAPID 0x0a70103f
+}
+jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID
+
+set _TARGETNAME $_CHIPNAME.cpu
+target create $_TARGETNAME avr -endian $_ENDIAN -chain-position $_TARGETNAME
+
+set _FLASHNAME $_CHIPNAME.flash
+flash bank $_FLASHNAME avr 0 0 0 0 $_TARGETNAME
diff --git a/tcl/target/hi6220.cfg b/tcl/target/hi6220.cfg
new file mode 100644
index 0000000..7daa3c1
--- /dev/null
+++ b/tcl/target/hi6220.cfg
@@ -0,0 +1,56 @@
+# Hisilicon Hi6220 Target
+
+if { [info exists CHIPNAME] } {
+ set _CHIPNAME $CHIPNAME
+} else {
+ set _CHIPNAME hi6220
+}
+
+#
+# Main DAP
+#
+if { [info exists DAP_TAPID] } {
+ set _DAP_TAPID $DAP_TAPID
+} else {
+ set _DAP_TAPID 0x4ba00477
+}
+
+# declare the one JTAG tap to access the DAP
+jtag newtap $_CHIPNAME dap -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_DAP_TAPID -ignore-version -enable
+
+# declare the 8 main application cores
+set _TARGETNAME $_CHIPNAME.cpu
+set _smp_command ""
+
+set $_TARGETNAME.cti(0) 0x80198000
+set $_TARGETNAME.cti(1) 0x80199000
+set $_TARGETNAME.cti(2) 0x8019A000
+set $_TARGETNAME.cti(3) 0x8019B000
+set $_TARGETNAME.cti(4) 0x801D8000
+set $_TARGETNAME.cti(5) 0x801D9000
+set $_TARGETNAME.cti(6) 0x801DA000
+set $_TARGETNAME.cti(7) 0x801DB000
+
+set _cores 8
+for { set _core 0 } { $_core < $_cores } { incr _core 1 } {
+
+ set _command "target create ${_TARGETNAME}$_core aarch64 \
+ -chain-position $_CHIPNAME.dap -coreid $_core -ctibase [set $_TARGETNAME.cti($_core)]"
+
+ if { $_core != 0 } {
+ # non-boot core examination may fail
+ set _command "$_command -defer-examine"
+ set _smp_command "$_smp_command ${_TARGETNAME}$_core"
+ } else {
+ # uncomment when "hawt" rtos is merged
+ # set _command "$_command -rtos hawt"
+ set _smp_command "target smp ${_TARGETNAME}$_core"
+ }
+
+ eval $_command
+}
+
+eval $_smp_command
+
+# declare the auxiliary Cortex-M3 core on AP #2 (runs mcuimage.bin)
+target create ${_TARGETNAME}.m3 cortex_m -chain-position $_CHIPNAME.dap -ap-num 2 -defer-examine
diff --git a/tcl/target/imx51.cfg b/tcl/target/imx51.cfg
index b143aad..d10cf9f 100644
--- a/tcl/target/imx51.cfg
+++ b/tcl/target/imx51.cfg
@@ -36,9 +36,6 @@ target create $_TARGETNAME cortex_a -chain-position $_CHIPNAME.DAP
# some TCK tycles are required to activate the DEBUG power domain
jtag configure $_CHIPNAME.SJC -event post-reset "runtest 100"
-# have the DAP "always" be active
-jtag configure $_CHIPNAME.SJC -event setup "jtag tapenable $_CHIPNAME.DAP"
-
proc imx51_dbginit {target} {
# General Cortex-A8 debug initialisation
cortex_a dbginit
diff --git a/tcl/target/imx53.cfg b/tcl/target/imx53.cfg
index 87a3008..5ad6473 100644
--- a/tcl/target/imx53.cfg
+++ b/tcl/target/imx53.cfg
@@ -36,9 +36,6 @@ target create $_TARGETNAME cortex_a -chain-position $_CHIPNAME.DAP
# some TCK tycles are required to activate the DEBUG power domain
jtag configure $_CHIPNAME.SJC -event post-reset "runtest 100"
-# have the DAP "always" be active
-jtag configure $_CHIPNAME.SJC -event setup "jtag tapenable $_CHIPNAME.DAP"
-
proc imx53_dbginit {target} {
# General Cortex-A8 debug initialisation
cortex_a dbginit
diff --git a/tcl/target/stm32f1x.cfg b/tcl/target/stm32f1x.cfg
index bd02e95..5a4c2fa 100644
--- a/tcl/target/stm32f1x.cfg
+++ b/tcl/target/stm32f1x.cfg
@@ -37,37 +37,8 @@ if { [info exists CPUTAPID] } {
swj_newdap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID
-if { [info exists BSTAPID] } {
- # FIXME this never gets used to override defaults...
- set _BSTAPID $BSTAPID
-} else {
- # See STM Document RM0008
- # Section 29.6.2
- # Low density devices, Rev A
- set _BSTAPID1 0x06412041
- # Medium density devices, Rev A
- set _BSTAPID2 0x06410041
- # Medium density devices, Rev B and Rev Z
- set _BSTAPID3 0x16410041
- set _BSTAPID4 0x06420041
- # High density devices, Rev A
- set _BSTAPID5 0x06414041
- # Connectivity line devices, Rev A and Rev Z
- set _BSTAPID6 0x06418041
- # XL line devices, Rev A
- set _BSTAPID7 0x06430041
- # VL line devices, Rev A and Z In medium-density and high-density value line devices
- set _BSTAPID8 0x06420041
- # VL line devices, Rev A
- set _BSTAPID9 0x06428041
-}
-
if {[using_jtag]} {
- swj_newdap $_CHIPNAME bs -irlen 5 -expected-id $_BSTAPID1 \
- -expected-id $_BSTAPID2 -expected-id $_BSTAPID3 \
- -expected-id $_BSTAPID4 -expected-id $_BSTAPID5 \
- -expected-id $_BSTAPID6 -expected-id $_BSTAPID7 \
- -expected-id $_BSTAPID8 -expected-id $_BSTAPID9
+ jtag newtap $_CHIPNAME bs -irlen 5
}
set _TARGETNAME $_CHIPNAME.cpu
diff --git a/tcl/target/stm32f2x.cfg b/tcl/target/stm32f2x.cfg
index 0e734de..44955d4 100644
--- a/tcl/target/stm32f2x.cfg
+++ b/tcl/target/stm32f2x.cfg
@@ -50,17 +50,8 @@ if { [info exists CPUTAPID] } {
swj_newdap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID
-if { [info exists BSTAPID] } {
- set _BSTAPID $BSTAPID
-} else {
- # See STM Document RM0033
- # Section 32.6.2
- #
- set _BSTAPID 0x06411041
-}
-
if {[using_jtag]} {
- swj_newdap $_CHIPNAME bs -irlen 5 -expected-id $_BSTAPID
+ jtag newtap $_CHIPNAME bs -irlen 5
}
set _TARGETNAME $_CHIPNAME.cpu
diff --git a/tcl/target/stm32f3x.cfg b/tcl/target/stm32f3x.cfg
index f3ea40b..0c8919f 100644
--- a/tcl/target/stm32f3x.cfg
+++ b/tcl/target/stm32f3x.cfg
@@ -50,27 +50,8 @@ if { [info exists CPUTAPID] } {
swj_newdap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID
-if { [info exists BSTAPID] } {
- set _BSTAPID $BSTAPID
-} else {
- # STM Document RM0316 rev 5 for STM32F302/303 B/C size
- set _BSTAPID1 0x06422041
- # STM Document RM0313 rev 3 for STM32F37x
- set _BSTAPID2 0x06432041
- # STM Document RM364 rev 1 for STM32F334
- set _BSTAPID3 0x06438041
- # STM Document RM316 rev 5 for STM32F303 6/8 size
- # STM Document RM365 rev 3 for STM32F302 6/8 size
- # STM Document RM366 rev 2 for STM32F301 6/8 size
- set _BSTAPID4 0x06439041
- # STM Document RM016 rev 5 for STM32F303 D/E size
- set _BSTAPID5 0x06446041
-}
-
if {[using_jtag]} {
- swj_newdap $_CHIPNAME bs -irlen 5 -expected-id $_BSTAPID1 \
- -expected-id $_BSTAPID2 -expected-id $_BSTAPID3 \
- -expected-id $_BSTAPID4 -expected-id $_BSTAPID5
+ jtag newtap $_CHIPNAME bs -irlen 5
}
set _TARGETNAME $_CHIPNAME.cpu
diff --git a/tcl/target/stm32f4x.cfg b/tcl/target/stm32f4x.cfg
index 2d5cf37..7a0af9f 100644
--- a/tcl/target/stm32f4x.cfg
+++ b/tcl/target/stm32f4x.cfg
@@ -37,39 +37,8 @@ if { [info exists CPUTAPID] } {
swj_newdap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID
-if { [info exists BSTAPID] } {
- set _BSTAPID $BSTAPID
-} else {
- # See STM Document RM0090
- # Section 38.6.2
- # STM32F405xx/07xx and STM32F415xx/17xx
- set _BSTAPID1 0x06413041
- # STM32F42xxx and STM32F43xxx
- set _BSTAPID2 0x06419041
- # See STM Document RM0368 (Rev. 3)
- # STM32F401B/C
- set _BSTAPID3 0x06423041
- # STM32F401D/E
- set _BSTAPID4 0x06433041
- # See STM Document RM0383 (Rev 2)
- # STM32F411
- set _BSTAPID5 0x06431041
- # See STM Document RM0386
- # STM32F469
- set _BSTAPID6 0x06434041
- # See STM Document RM0401
- # STM32F410
- set _BSTAPID7 0x06458041
- # STM32F412
- set _BSTAPID8 0x06441041
-}
-
if {[using_jtag]} {
- swj_newdap $_CHIPNAME bs -irlen 5 -expected-id $_BSTAPID1 \
- -expected-id $_BSTAPID2 -expected-id $_BSTAPID3 \
- -expected-id $_BSTAPID4 -expected-id $_BSTAPID5 \
- -expected-id $_BSTAPID6 -expected-id $_BSTAPID7 \
- -expected-id $_BSTAPID8
+ jtag newtap $_CHIPNAME bs -irlen 5
}
set _TARGETNAME $_CHIPNAME.cpu
diff --git a/tcl/target/stm32f7x.cfg b/tcl/target/stm32f7x.cfg
index 05470d4..4065e2a 100755
--- a/tcl/target/stm32f7x.cfg
+++ b/tcl/target/stm32f7x.cfg
@@ -37,17 +37,8 @@ if { [info exists CPUTAPID] } {
swj_newdap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID
-if { [info exists BSTAPID] } {
- set _BSTAPID $BSTAPID
-} else {
- # See STM Document RM0385
- # Section 40.6.1
- # STM32F75xxG
- set _BSTAPID1 0x06449041
-}
-
if {[using_jtag]} {
- swj_newdap $_CHIPNAME bs -irlen 5 -expected-id $_BSTAPID1
+ jtag newtap $_CHIPNAME bs -irlen 5
}
set _TARGETNAME $_CHIPNAME.cpu
diff --git a/tcl/target/stm32l0.cfg b/tcl/target/stm32l0.cfg
index fd8f951..245213b 100644
--- a/tcl/target/stm32l0.cfg
+++ b/tcl/target/stm32l0.cfg
@@ -4,6 +4,7 @@
#
source [find target/swj-dp.tcl]
+source [find mem_helper.tcl]
if { [info exists CHIPNAME] } {
set _CHIPNAME $CHIPNAME
@@ -75,3 +76,12 @@ $_TARGETNAME configure -event reset-init {
$_TARGETNAME configure -event reset-start {
adapter_khz 300
}
+
+$_TARGETNAME configure -event examine-end {
+ # DBGMCU_CR |= DBG_STANDBY | DBG_STOP | DBG_SLEEP
+ mmw 0x40015804 0x00000007 0
+
+ # Stop watchdog counters during halt
+ # DBGMCU_APB1_FZ |= DBG_IWDG_STOP | DBG_WWDG_STOP
+ mmw 0x40015808 0x00001800 0
+}
diff --git a/tcl/target/stm32l0_dual_bank.cfg b/tcl/target/stm32l0_dual_bank.cfg
new file mode 100644
index 0000000..f9f1a4e
--- /dev/null
+++ b/tcl/target/stm32l0_dual_bank.cfg
@@ -0,0 +1,5 @@
+source [find target/stm32l0.cfg]
+
+# Add the second flash bank.
+set _FLASHNAME $_CHIPNAME.flash1
+flash bank $_FLASHNAME stm32lx 0 0 0 0 $_TARGETNAME
diff --git a/tcl/target/stm32l1.cfg b/tcl/target/stm32l1.cfg
index 790c495..a8d6fdf 100644
--- a/tcl/target/stm32l1.cfg
+++ b/tcl/target/stm32l1.cfg
@@ -46,28 +46,8 @@ if { [info exists CPUTAPID] } {
swj_newdap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID
-if { [info exists BSTAPID] } {
- # FIXME this never gets used to override defaults...
- set _BSTAPID $BSTAPID
-} else {
- # See STM Document RM0038 Section 30.6.1 Rev. 12
-
- # Low and medium density
- set _BSTAPID1 0x06416041
- # Cat.2 device (medium+ density)
- set _BSTAPID2 0x06429041
- # Cat.3 device (medium+ density)
- set _BSTAPID3 0x06427041
- # Cat.4 device, STM32L15/6xxD or Cat.3 device, some STM32L15/6xxC-A models
- set _BSTAPID4 0x06436041
- # Cat.5 device (high density), STM32L15/6xxE
- set _BSTAPID5 0x06437041
-}
-
if {[using_jtag]} {
- swj_newdap $_CHIPNAME bs -irlen 5 \
- -expected-id $_BSTAPID1 -expected-id $_BSTAPID2 -expected-id $_BSTAPID3 \
- -expected-id $_BSTAPID4 -expected-id $_BSTAPID5
+ jtag newtap $_CHIPNAME bs -irlen 5
}
set _TARGETNAME $_CHIPNAME.cpu
diff --git a/tcl/target/stm32l4x.cfg b/tcl/target/stm32l4x.cfg
index dec0069..ccee48e 100644
--- a/tcl/target/stm32l4x.cfg
+++ b/tcl/target/stm32l4x.cfg
@@ -37,17 +37,8 @@ if { [info exists CPUTAPID] } {
swj_newdap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID
-if { [info exists BSTAPID] } {
- set _BSTAPID $BSTAPID
-} else {
- # See STM Document RM0351
- # Section 44.6.3
- # STM32L4X6
- set _BSTAPID1 0x06415041
-}
-
if {[using_jtag]} {
- swj_newdap $_CHIPNAME bs -irlen 5 -expected-id $_BSTAPID1
+ jtag newtap $_CHIPNAME bs -irlen 5
}
set _TARGETNAME $_CHIPNAME.cpu
@@ -84,7 +75,7 @@ $_TARGETNAME configure -event reset-init {
# Use MSI 24 MHz clock, compliant even with VOS == 2.
# 3 WS compliant with VOS == 2 and 24 MHz.
mww 0x40022000 0x00000103 ;# FLASH_ACR = PRFTBE | 3(Latency)
- mww 0x40021000 0x00000099 ;# RCC_CR = MSI_ON | MSIRGSEL| MSI Range 10
+ mww 0x40021000 0x00000099 ;# RCC_CR = MSI_ON | MSIRGSEL | MSI Range 9
# Boost JTAG frequency
adapter_khz 4000
}
diff --git a/tcl/tools/firmware-recovery.tcl b/tcl/tools/firmware-recovery.tcl
index 6e23540..8e017ce 100644
--- a/tcl/tools/firmware-recovery.tcl
+++ b/tcl/tools/firmware-recovery.tcl
@@ -4,6 +4,7 @@ echo "Use -c firmware_help to get help\n"
set known_boards {
"asus-rt-n16 ASUS RT-N16"
"asus-rt-n66u ASUS RT-N66U"
+ "linksys-wag200g Linksys WAG200G"
"linksys-wrt54gl Linksys WRT54GL v1.1"
"netgear-dg834v3 Netgear DG834G v3"
"tp-link_tl-mr3020 TP-LINK TL-MR3020"