| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- # SPDX-License-Identifier: BSD-3-Clause
- # Copyright (C) 2022 by NanoXplore, France - all rights reserved
- #
- # configuration file for NG-Ultra SoC from NanoXplore.
- # NG-Ultra is a quad-core Cortex-R52 SoC + an FPGA.
- #
- transport select jtag
- adapter speed 10000
- if { [info exists CHIPNAME] } {
- set _CHIPNAME $CHIPNAME
- } else {
- set _CHIPNAME NGULTRA
- }
- if { [info exists CHIPCORES] } {
- set _cores $CHIPCORES
- } else {
- set _cores 4
- }
- set DBGBASE {0x88210000 0x88310000 0x88410000 0x88510000}
- set CTIBASE {0x88220000 0x88320000 0x88420000 0x88520000}
- # Coresight access to the SoC
- jtag newtap $_CHIPNAME.coresight cpu -irlen 4 -expected-id 0x6BA00477
- # Misc TAP devices
- jtag newtap $_CHIPNAME.soc cpu -irlen 7 -expected-id 0xFAAA0555
- jtag newtap $_CHIPNAME.pmb unknown1 -irlen 5 -expected-id 0xBA20A005
- jtag newtap $_CHIPNAME.fpga fpga -irlen 4 -ignore-version -ignore-bypass
- # Create the Coresight DAP
- dap create $_CHIPNAME.coresight.dap -chain-position $_CHIPNAME.coresight.cpu
- for { set _core 0 } { $_core < $_cores } { incr _core } {
- cti create cti.$_core -dap $_CHIPNAME.coresight.dap -ap-num 0 \
- -baseaddr [lindex $CTIBASE $_core]
- # Cores are armv8-r but works with aarch64 (since armv8-r not directly supported by openocd yet).
- if { $_core == 0} {
- target create core.$_core aarch64 -dap $_CHIPNAME.coresight.dap \
- -ap-num 0 -dbgbase [lindex $DBGBASE $_core] -cti cti.$_core
- } else {
- target create core.$_core aarch64 -dap $_CHIPNAME.coresight.dap \
- -ap-num 0 -dbgbase [lindex $DBGBASE $_core] -cti cti.$_core -defer-examine
- }
- }
- # Create direct APB and AXI interfaces
- target create APB mem_ap -dap $_CHIPNAME.coresight.dap -ap-num 0
- target create AXI mem_ap -dap $_CHIPNAME.coresight.dap -ap-num 1
|