This is an automated email from Gerrit.

"liangzhen <zhen.li...@spacemit.com>" just uploaded a new patch set to Gerrit, 
which you can find at https://review.openocd.org/c/openocd/+/8361

-- gerrit

commit 88baf29e3a6e79cf2837d0b8ceb3e8a3277fb93a
Author: liangzhen <zhen.li...@spacemit.com>
Date:   Mon Sep 2 20:21:48 2024 +0800

    tcl/target: Add SpacemiT Key Stone K1 config
    
    Add basic connection details with Key Stone K1
    
    Change-Id: I3e51d4194cfd3b7fe8ae395e0aca0fa4799dfb73
    Signed-off-by: liangzhen <zhen.li...@spacemit.com>

diff --git a/tcl/target/spacemit-k1.cfg b/tcl/target/spacemit-k1.cfg
new file mode 100644
index 0000000000..09acc9140f
--- /dev/null
+++ b/tcl/target/spacemit-k1.cfg
@@ -0,0 +1,80 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+#
+# SpacemiT Key Stone K1 target
+#
+# https://www.spacemit.com/key-stone-k1
+#
+
+source [find interface/jlink.cfg]
+
+transport select jtag
+
+adapter speed 2000
+
+bindto 0.0.0.0
+
+if { [info exists CHIPNAME] } {
+    set _CHIPNAME $CHIPNAME
+} else {
+    set _CHIPNAME K1
+}
+
+if { [info exists CORES] } {
+    set _cores $CORES
+} else {
+    set _cores 1
+}
+
+if { [ info exists SECJTAG ] } {
+    jtag newtap $_CHIPNAME cpu -irlen 5 -expected-id 0x10000E21
+} else {
+    jtag newtap pre unknown -irlen 1 -expected-id 0x00000000 -disable
+    jtag configure pre.unknown -event tap-enable ""
+
+    jtag newtap $_CHIPNAME cpu -irlen 5 -expected-id 0x10000E21 -disable
+    jtag configure $_CHIPNAME.cpu -event tap-enable ""
+
+    jtag newtap post unknown -irlen 9 -expected-id 0x08501C0D -ignore-version
+
+    jtag configure post.unknown -event setup {
+        global _CHIPNAME
+
+        irscan post.unknown 0x98
+        drscan post.unknown 16 0xa
+
+        jtag tapenable pre.unknown
+        jtag tapenable $_CHIPNAME.cpu
+    }
+}
+
+set _TARGETNAME $_CHIPNAME.cpu
+set DBGBASE {0x0 0x400}
+set _smp_command "target smp"
+
+for { set _core 0 } { $_core < $_cores } { incr _core } {
+    set _command "target create $_TARGETNAME.$_core riscv -chain-position 
$_TARGETNAME \
+        -coreid [expr {$_core % 4}] -dbgbase [lindex $DBGBASE [expr {$_core / 
4}]]"
+
+    if { [expr {$_core % 4}] == 0 } {
+        set _command "$_command -rtos hwthread"
+    }
+
+    eval $_command
+
+    set _smp_command "$_smp_command $_TARGETNAME.$_core"
+}
+
+eval $_smp_command
+
+set _SPEED 8000
+
+$_TARGETNAME.0 configure -event examine-start {
+    adapter speed $_SPEED
+    puts [ adapter speed ]
+}
+
+foreach t [target names] {
+    # $t riscv set_mem_access sysbus progbuf
+    $t riscv set_mem_access progbuf
+}

-- 

Reply via email to