Browse Source

cfg: allow stellaris device class override

Some devices, eg. The Tempest class return the wrong device class
when queried. Add the ability to manually override the device class.

Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
tags/v0.5.0
B. A. Bryce 10 years ago
committed by Spencer Oliver
parent
commit
29f0ac0efd
1 changed files with 20 additions and 1 deletions
  1. +20
    -1
      tcl/target/stellaris.cfg

+ 20
- 1
tcl/target/stellaris.cfg View File

@@ -1,5 +1,17 @@
# TI/Luminary Stellaris LM3S chip family

# Some devices have errata in returning their device class.
# DEVICECLASS is provided as a manual override
# Manual setting of a device class of 0xff is not allowed

global _DEVICECLASS

if { [info exists DEVICECLASS ] } {
set _DEVICECLASS $DEVICECLASS
} else {
set _DEVICECLASS 0xff
}

# Luminary chips support both JTAG and SWD transports.
# Adapt based on what transport is active.
source [find target/swj-dp.tcl]
@@ -74,7 +86,14 @@ $_TARGETNAME configure -event reset-start {
# /openocd-development/2008-August/003065.html
#

set device_class [expr (([mrw 0x400fe000] >> 16) & 0xff)]
global _DEVICECLASS

if {$_DEVICECLASS != 0xff} {
set device_class $_DEVICECLASS
} else {
set device_class [expr (([mrw 0x400fe000] >> 16) & 0xff)]
}

if {$device_class == 0 || $device_class == 1 || $device_class == 3} {
# Sandstorm, Fury and DustDevil are able to use NVIC SYSRESETREQ
cortex_m3 reset_config sysresetreq


Loading…
Cancel
Save