This patch adds support for the Luminary Micro LM3S9B90 target and LM3S9B92 Evaluation Kit. These kits include a new ft2232 adapter, the Luminary In-Circuit Debug Interface (ICDI) Board, so this is added as a new ft2232 layout called "luminary_icdi". git-svn-id: svn://svn.berlios.de/openocd/trunk@2429 b42882b7-edfa-0310-969c-e2dbd0fdcd60tags/v0.2.0
@@ -539,6 +539,8 @@ chips are starting to become available in JTAG adapters. | |||||
@* See: @url{http://www.signalyzer.com} | @* See: @url{http://www.signalyzer.com} | ||||
@item @b{evb_lm3s811} | @item @b{evb_lm3s811} | ||||
@* See: @url{http://www.luminarymicro.com} - The Stellaris LM3S811 eval board has an FTD2232C chip built in. | @* See: @url{http://www.luminarymicro.com} - The Stellaris LM3S811 eval board has an FTD2232C chip built in. | ||||
@item @b{luminary_icdi} | |||||
@* See: @url{http://www.luminarymicro.com} - Luminary In-Circuit Debug Interface (ICDI) Board, included in the Stellaris LM3S9B90 and LM3S9B92 Evaluation Kits. | |||||
@item @b{olimex-jtag} | @item @b{olimex-jtag} | ||||
@* See: @url{http://www.olimex.com} | @* See: @url{http://www.olimex.com} | ||||
@item @b{flyswatter} | @item @b{flyswatter} | ||||
@@ -1829,6 +1831,7 @@ Currently valid layout @var{name} values include: | |||||
@item @b{evb_lm3s811} Luminary Micro EVB_LM3S811 as a JTAG interface, | @item @b{evb_lm3s811} Luminary Micro EVB_LM3S811 as a JTAG interface, | ||||
either for the local Cortex-M3 (SRST only) | either for the local Cortex-M3 (SRST only) | ||||
or in a passthrough mode (neither SRST nor TRST) | or in a passthrough mode (neither SRST nor TRST) | ||||
@item @b{luminary_icdi} Luminary In-Circuit Debug Interface (ICDI) Board | |||||
@item @b{flyswatter} Tin Can Tools Flyswatter | @item @b{flyswatter} Tin Can Tools Flyswatter | ||||
@item @b{icebear} ICEbear JTAG adapter from Section 5 | @item @b{icebear} ICEbear JTAG adapter from Section 5 | ||||
@item @b{jtagkey} Amontec JTAGkey and JTAGkey-Tiny (and compatibles) | @item @b{jtagkey} Amontec JTAGkey and JTAGkey-Tiny (and compatibles) | ||||
@@ -156,6 +156,7 @@ static const ft2232_layout_t ft2232_layouts[] = | |||||
{ "oocdlink", jtagkey_init, jtagkey_reset, NULL }, | { "oocdlink", jtagkey_init, jtagkey_reset, NULL }, | ||||
{ "signalyzer", usbjtag_init, usbjtag_reset, NULL }, | { "signalyzer", usbjtag_init, usbjtag_reset, NULL }, | ||||
{ "evb_lm3s811", usbjtag_init, usbjtag_reset, NULL }, | { "evb_lm3s811", usbjtag_init, usbjtag_reset, NULL }, | ||||
{ "luminary_icdi", usbjtag_init, usbjtag_reset, NULL }, | |||||
{ "olimex-jtag", olimex_jtag_init, olimex_jtag_reset, olimex_jtag_blink }, | { "olimex-jtag", olimex_jtag_init, olimex_jtag_reset, olimex_jtag_blink }, | ||||
{ "flyswatter", flyswatter_init, flyswatter_reset, flyswatter_jtag_blink }, | { "flyswatter", flyswatter_init, flyswatter_reset, flyswatter_jtag_blink }, | ||||
{ "turtelizer2", turtle_init, turtle_reset, turtle_jtag_blink }, | { "turtelizer2", turtle_init, turtle_reset, turtle_jtag_blink }, | ||||
@@ -2163,6 +2164,15 @@ static int usbjtag_init(void) | |||||
low_output = 0x88; | low_output = 0x88; | ||||
low_direction = 0x8b; | low_direction = 0x8b; | ||||
} | } | ||||
else if (strcmp(ft2232_layout, "luminary_icdi") == 0) | |||||
{ | |||||
nTRST = 0x0; | |||||
nTRSTnOE = 0x00; | |||||
nSRST = 0x20; | |||||
nSRSTnOE = 0x20; | |||||
low_output = 0x88; | |||||
low_direction = 0xcb; | |||||
} | |||||
else | else | ||||
{ | { | ||||
LOG_ERROR("BUG: usbjtag_init called for unknown layout '%s'", ft2232_layout); | LOG_ERROR("BUG: usbjtag_init called for unknown layout '%s'", ft2232_layout); | ||||
@@ -0,0 +1,18 @@ | |||||
# | |||||
# Luminary Micro Stellaris LM3S9B9x Evaluation Kits | |||||
# | |||||
# http://www.luminarymicro.com/products/ek-lm3s9b90.html | |||||
# http://www.luminarymicro.com/products/ek-lm3s9b92.html | |||||
# | |||||
source [find interface/luminary-icdi.cfg] | |||||
source [find target/lm3s9b9x.cfg] | |||||
# jtag speed | |||||
jtag_khz 500 | |||||
jtag_nsrst_delay 100 | |||||
jtag_ntrst_delay 100 | |||||
#LM3S9B9x Evaluation Board has only srst | |||||
reset_config srst_only |
@@ -0,0 +1,12 @@ | |||||
# | |||||
# Luminary Micro Stellaris LM3S9B9x Evaluation Kits | |||||
# In-Circuit Debug Interface (ICDI) Board | |||||
# | |||||
# 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 |
@@ -0,0 +1,39 @@ | |||||
# | |||||
# Luminary Micro Stellaris LM3S9B9x Microcontroller | |||||
# | |||||
# http://www.luminarymicro.com/products/lm3s9b90.html | |||||
# http://www.luminarymicro.com/products/lm3s9b92.htm | |||||
# | |||||
if { [info exists CHIPNAME] } { | |||||
set _CHIPNAME $CHIPNAME | |||||
} else { | |||||
set _CHIPNAME lm3s9b9x | |||||
} | |||||
if { [info exists ENDIAN] } { | |||||
set _ENDIAN $ENDIAN | |||||
} else { | |||||
# this defaults to a little endian | |||||
set _ENDIAN little | |||||
} | |||||
if { [info exists CPUTAPID ] } { | |||||
set _CPUTAPID $CPUTAPID | |||||
} else { | |||||
# forth generation Tempest device | |||||
set _CPUTAPID 0x4ba00477 | |||||
} | |||||
#jtag scan chain | |||||
jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 1 -irmask 0xf -expected-id $_CPUTAPID | |||||
#Cortex-M3 with Luminary lm3s variant | |||||
set _TARGETNAME $_CHIPNAME.cpu | |||||
target create $_TARGETNAME cortex_m3 -endian $_ENDIAN -chain-position $_TARGETNAME -variant lm3s | |||||
# 16k working area at base of ram | |||||
$_TARGETNAME configure -work-area-virt 0 -work-area-phys 0x20000000 -work-area-size 0x4000 -work-area-backup 0 | |||||
#flash configuration | |||||
flash bank stellaris 0 0 0 0 0 |