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>
This commit is contained in:
parent
d02dfff48b
commit
29f0ac0efd
|
@ -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…
Reference in New Issue