stm32: Fix L0/1xx CPUTAPID setting and add new L1xx BSTAPIDs
authorJuha Niskanen <juha.niskanen@haltian.com>
Wed, 5 Nov 2014 13:39:58 +0000 (15:39 +0200)
committerAndreas Fritiofson <andreas.fritiofson@gmail.com>
Wed, 3 Dec 2014 09:07:54 +0000 (09:07 +0000)
Fix script parse error, when using JTAG, introduced in
commit 0187ced9ed2

Add several BS TAPIDs with comments about ST documentation.

Change-Id: I8d0370b244ccaf7ea0dbe1919bfad1915f7317d4
Signed-off-by: Juha Niskanen <juha.niskanen@haltian.com>
Reviewed-on: http://openocd.zylin.com/2376
Tested-by: jenkins
Reviewed-by: RĂ©mi PRUD'HOMME <prudhomme.remi@gmail.com>
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
tcl/target/stm32l.cfg

index 1fa06f0f4698fe3d26c80564ee76926309b75c0a..8f6d90550a6bf335f7bf71dac8001f212a778d80 100644 (file)
@@ -40,7 +40,7 @@ if { [info exists CPUTAPID] } {
 } else {
    if { [using_jtag] } {
       # See STM Document RM0038
-      # Section 24.6.3
+      # Section 30.6.3 - corresponds to Cortex-M3 r2p0
       set _CPUTAPID 0x4ba00477
    } {
       set _CPUTAPID1 0x2ba01477
@@ -48,19 +48,31 @@ if { [info exists CPUTAPID] } {
    }
 }
 
-swj_newdap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID1 -expected-id $_CPUTAPID2
+if { [using_jtag] } {
+   swj_newdap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID
+} else {
+   swj_newdap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID1 -expected-id $_CPUTAPID2
+}
 
 if { [info exists BSTAPID] } {
    # FIXME this never gets used to override defaults...
    set _BSTAPID $BSTAPID
 } else {
-  # See STM Document RM0038
-  # Section 24.6.2
-  set _BSTAPID 0x06416041
+   # See STM Document RM0038 Section 30.6.1
+   # (section 30.6.2 seems incorrect, at least in RM0038 DocID 15965 Rev 10)
+
+   # Low and medium density
+   set _BSTAPID1 0x06416041
+   # Cat.3 device (medium+ density)
+   set _BSTAPID2 0x06427041
+   # Cat.4 device, STM32L15/6xxD or Cat.3 device, some STM32L15/6xxC-A models
+   set _BSTAPID3 0x06436041
+   # Cat.5 device (high density), STM32L15/6xxE
+   set _BSTAPID4 0x06437041
 }
 
 if {[using_jtag]} {
- swj_newdap $_CHIPNAME bs -irlen 5 -expected-id $_BSTAPID
+   swj_newdap $_CHIPNAME bs -irlen 5 -expected-id $_BSTAPID1 -expected-id $_BSTAPID2 -expected-id $_BSTAPID3 -expected-id $_BSTAPID4
 }
 
 set _TARGETNAME $_CHIPNAME.cpu