From 4d1b3cbafc7a1bf44ca695103cf4701d8e8ef8e9 Mon Sep 17 00:00:00 2001 From: Marc Schink Date: Fri, 29 Nov 2024 20:29:18 +0000 Subject: [PATCH] tcl/target: Add support for Nordic nRF54L series The RISC-V coprocessor is currently not supported. It is attached to the DAP via AP#2 but the AP implementation is unknown. The nRFL54L series uses resistive RAM (RRAM) as non-volatile memory which can be programmed directly. Since it does not fit in the current flash memory infrastructure of OpenOCD there is no NVM support so far. Change-Id: I9934af4fd3bb8b7272954fc4b17638c7dabbbee0 Signed-off-by: Marc Schink Reviewed-on: https://review.openocd.org/c/openocd/+/8609 Tested-by: jenkins Reviewed-by: Antonio Borneo --- tcl/target/nordic/nrf54l.cfg | 50 ++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 tcl/target/nordic/nrf54l.cfg diff --git a/tcl/target/nordic/nrf54l.cfg b/tcl/target/nordic/nrf54l.cfg new file mode 100644 index 000000000..70ead1365 --- /dev/null +++ b/tcl/target/nordic/nrf54l.cfg @@ -0,0 +1,50 @@ +# SPDX-License-Identifier: GPL-2.0-or-later + +# +# Nordic nRF54L series +# +# Arm Cortex-M33 processor with RISC-V coprocessor +# +# The device uses resistive RAM (RRAM) as non-volatile memory. +# + +if { [info exists CHIPNAME] } { + set _CHIPNAME $CHIPNAME +} else { + set _CHIPNAME nrf54l +} + +# Work-area is a space in RAM used for flash programming, by default use 16 KiB. +if { [info exists WORKAREASIZE] } { + set _WORKAREASIZE $WORKAREASIZE +} else { + set _WORKAREASIZE 0x4000 +} + +if { [info exists CPUTAPID] } { + set _CPUTAPID $CPUTAPID +} else { + set _CPUTAPID 0x6ba02477 +} + +transport select swd + +swd newdap $_CHIPNAME cpu -expected-id $_CPUTAPID +dap create $_CHIPNAME.dap -chain-position $_CHIPNAME.cpu + +set _TARGETNAME $_CHIPNAME.cpu +target create $_TARGETNAME cortex_m -dap $_CHIPNAME.dap -ap-num 0 + +$_TARGETNAME configure -work-area-phys 0x20000000 -work-area-size $_WORKAREASIZE -work-area-backup 0 + +# Create target for the control access port (CTRL-AP). +target create $_CHIPNAME.ctrl mem_ap -dap $_CHIPNAME.dap -ap-num 1 + +adapter speed 1000 + +# Use main processor as default target. +targets $_TARGETNAME + +if {![using_hla]} { + $_TARGETNAME cortex_m reset_config sysresetreq +}