tcl/board: Add AM654 EVM basic support
[fw/openocd] / tcl / target / stellaris.cfg
index 0afe2e791ac8d8cd2fc6219aa01db5a769307c46..3cab4d1406eaf761950ff8c1fb19001cd0d54312 100644 (file)
@@ -42,17 +42,18 @@ if { [info exists CPUTAPID] } {
 # ... even though SWD ignores all except TAPID, and
 # JTAG shouldn't need anything more then irlen. (and TAPID).
 swj_newdap $_CHIPNAME cpu -irlen 4 -irmask 0xf \
-       -expected-id $_CPUTAPID -ignore-version
+    -expected-id $_CPUTAPID -ignore-version
+dap create $_CHIPNAME.dap -chain-position $_CHIPNAME.cpu
 
 if { [info exists WORKAREASIZE] } {
    set _WORKAREASIZE $WORKAREASIZE
 } else {
-   # default to 8K working area
-   set _WORKAREASIZE 0x2000
+   # default to 2K working area
+   set _WORKAREASIZE 0x800
 }
 
 set _TARGETNAME $_CHIPNAME.cpu
-target create $_TARGETNAME cortex_m3 -chain-position $_CHIPNAME.cpu
+target create $_TARGETNAME cortex_m -dap $_CHIPNAME.dap
 
 # 8K working area at base of ram, not backed up
 #
@@ -67,7 +68,7 @@ $_TARGETNAME configure -work-area-phys 0x20000000 -work-area-size $_WORKAREASIZE
 # NOTE: this may be increased by a reset-init handler, after it
 # configures and enables the PLL.  Or you might need to decrease
 # this, if you're using a slower clock.
-adapter_khz 500
+adapter speed 500
 
 source [find mem_helper.tcl]
 
@@ -131,9 +132,9 @@ proc reset_peripherals {family} {
 }
 
 $_TARGETNAME configure -event reset-start {
-       adapter_khz 500
+       adapter speed 500
 
-       #       
+       #
        # When nRST is asserted on most Stellaris devices, it clears some of
        # the debug state.  The ARMv7M and Cortex-M3 TRMs say that's wrong;
        # and OpenOCD depends on those TRMs.  So we won't use SRST on those
@@ -155,14 +156,17 @@ $_TARGETNAME configure -event reset-start {
        }
 
        if {$device_class == 0 || $device_class == 1 ||
-               $device_class == 3 || $device_class == 5} {
-               # Sandstorm, Fury, DustDevil and Blizzard are able to use NVIC SYSRESETREQ
-               cortex_m3 reset_config sysresetreq
+               $device_class == 3 || $device_class == 5 || $device_class == 0xa} {
+               if {![using_hla]} {
+                  # Sandstorm, Fury, DustDevil, Blizzard and Snowflake are able to use NVIC SYSRESETREQ
+                  cortex_m reset_config sysresetreq
+               }
        } else {
-               # Tempest and Firestorm default to using NVIC VECTRESET
-               # peripherals will need reseting manually, see proc reset_peripherals
-               cortex_m3 reset_config vectreset
-
+               if {![using_hla]} {
+                  # Tempest and Firestorm default to using NVIC VECTRESET
+                  # peripherals will need resetting manually, see proc reset_peripherals
+                  cortex_m reset_config vectreset
+               }
                # reset peripherals, based on code in
                # http://www.ti.com/lit/er/spmz573a/spmz573a.pdf
                reset_peripherals $device_class