Hi

This is a patch to add Luminary Micro LM3S9B90 and LM3S9B92 Evaluation Kit support. These kits include a new ft2232 adapter, the Luminary In-Circuit Debug Interface (ICDI) Board. So i added this as a new ft2232 layout, called "luminary_icdi".

The topic is discussed here: https://lists.berlios.de/pipermail/openocd-development/2009-June/008880.html

Please apply this patch.

Best regards
 Marcel
Index: tcl/interface/luminary-icdi.cfg
===================================================================
--- tcl/interface/luminary-icdi.cfg	(revision 0)
+++ tcl/interface/luminary-icdi.cfg	(revision 0)
@@ -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
Index: tcl/target/lm3s9b9x.cfg
===================================================================
--- tcl/target/lm3s9b9x.cfg	(revision 0)
+++ tcl/target/lm3s9b9x.cfg	(revision 0)
@@ -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
Index: tcl/board/ek-lm3s9b9x.cfg
===================================================================
--- tcl/board/ek-lm3s9b9x.cfg	(revision 0)
+++ tcl/board/ek-lm3s9b9x.cfg	(revision 0)
@@ -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
Index: src/jtag/ft2232.c
===================================================================
--- src/jtag/ft2232.c	(revision 2427)
+++ src/jtag/ft2232.c	(working copy)
@@ -156,6 +156,7 @@
 	{ "oocdlink",             jtagkey_init,              jtagkey_reset,      NULL                    },
 	{ "signalyzer",           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       },
 	{ "flyswatter",           flyswatter_init,           flyswatter_reset,   flyswatter_jtag_blink   },
 	{ "turtelizer2",          turtle_init,               turtle_reset,       turtle_jtag_blink       },
@@ -2163,6 +2164,15 @@
 		low_output    = 0x88;
 		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
 	{
 		LOG_ERROR("BUG: usbjtag_init called for unknown layout '%s'", ft2232_layout);
Index: doc/openocd.texi
===================================================================
--- doc/openocd.texi	(revision 2427)
+++ doc/openocd.texi	(working copy)
@@ -539,6 +539,8 @@
 @* See: @url{http://www.signalyzer.com}
 @item @b{evb_lm3s811}
 @* 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}
 @* See: @url{http://www.olimex.com}
 @item @b{flyswatter}
@@ -1829,6 +1831,7 @@
 @item @b{evb_lm3s811} Luminary Micro EVB_LM3S811 as a JTAG interface,
 either for the local Cortex-M3 (SRST only)
 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{icebear} ICEbear JTAG adapter from Section 5
 @item @b{jtagkey} Amontec JTAGkey and JTAGkey-Tiny (and compatibles)
_______________________________________________
Openocd-development mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to