This is an automated email from Gerrit.

"Peter pan <peter.pa...@gmail.com>" just uploaded a new patch set to Gerrit, 
which you can find at https://review.openocd.org/c/openocd/+/8353

-- gerrit

commit b5727961ef0619018193e44da8f9d668785fe29b
Author: Jiafei Pan <jiafei....@nxp.com>
Date:   Tue Jun 18 12:16:42 2024 +0800

    target: add NXP imx93 and EVK board support
    
    Have verified with JLink:
    openocd -f interface/jlink.cfg -f board/nxp_imx93-evk.cfg
    
    Change-Id: I9363b67cf56bc8615b06d7b64b75e7fe398e1c45
    Signed-off-by: Jiafei Pan <jiafei....@nxp.com>

diff --git a/tcl/board/nxp_imx93-evk.cfg b/tcl/board/nxp_imx93-evk.cfg
new file mode 100644
index 0000000000..7dfbf77ad0
--- /dev/null
+++ b/tcl/board/nxp_imx93-evk.cfg
@@ -0,0 +1,25 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+#
+# configuration file for NXP i.MX93 EVK
+#
+
+# only JTAG supported
+transport select jtag
+
+# set a safe JTAG clock speed, can be overridden
+adapter speed 1000
+
+# default JTAG configuration has only SRST and no TRST
+reset_config srst_only srst_push_pull
+
+# delay after SRST goes inactive
+adapter srst delay 70
+
+
+# board has an i.MX93 with 2 Cortex-A55 cores
+set CHIPNAME imx93
+set CHIPCORES 2
+
+# source SoC configuration
+source [find target/imx93.cfg]
diff --git a/tcl/target/imx93.cfg b/tcl/target/imx93.cfg
new file mode 100644
index 0000000000..b5484f9463
--- /dev/null
+++ b/tcl/target/imx93.cfg
@@ -0,0 +1,55 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+#
+# configuration file for NXP i.MX93 family of SoCs
+#
+if { [info exists CHIPNAME] } {
+   set  _CHIPNAME $CHIPNAME
+} else {
+   set  _CHIPNAME imx93
+}
+
+if { [info exists CHIPCORES] } {
+    set _cores $CHIPCORES
+} else {
+    set _cores 1
+}
+
+# CoreSight Debug Access Port
+if { [info exists DAP_TAPID] } {
+        set _DAP_TAPID $DAP_TAPID
+} else {
+        set _DAP_TAPID 0x0892801d
+}
+
+# the DAP tap
+jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x01 -irmask 0x0f \
+        -expected-id $_DAP_TAPID
+
+dap create $_CHIPNAME.dap -chain-position $_CHIPNAME.cpu
+
+set _TARGETNAME $_CHIPNAME.a55
+set _CTINAME $_CHIPNAME.cti
+
+set DBGBASE {0x40810000 0x40910000}
+set CTIBASE {0x40820000 0x40920000}
+
+for { set _core 0 } { $_core < $_cores } { incr _core } {
+
+    cti create $_CTINAME.$_core -dap $_CHIPNAME.dap -ap-num 1 \
+        -baseaddr [lindex $CTIBASE $_core]
+
+    set _command "target create $_TARGETNAME.$_core aarch64 -dap 
$_CHIPNAME.dap \
+        -dbgbase [lindex $DBGBASE $_core] -cti $_CTINAME.$_core -coreid $_core"
+
+    eval $_command
+}
+
+# declare the auxiliary Cortex-M33 core on AP #4
+target create ${_CHIPNAME}.m33 cortex_m -dap ${_CHIPNAME}.dap -ap-num 3
+
+# AHB-AP for direct access to soc bus
+target create ${_CHIPNAME}.ahb mem_ap -dap ${_CHIPNAME}.dap -ap-num 0
+
+# default target is A55 core 0
+targets $_TARGETNAME.1

-- 

Reply via email to