Skip to content

Commit df68b1e

Browse files
aap-scen-sc
authored andcommitted
[syntacore] support for platform extensions in syntacore_target.cfg
Add `platform_extension` that allows to specify a key to be used with `::scr_info::expose_custom_string` function. Change-Id: Ib0b4e5a5a2e2a6f1eb0ab950e4e60e800e27f474 Signed-off-by: Parshintsev Anatoly <[email protected]>
1 parent 36c24d2 commit df68b1e

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

tcl/target/syntacore_target.cfg

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ set __sc_target_defaults(chipname) riscv
5353
set __sc_target_defaults(expose_csrs) ""
5454
set __sc_target_defaults(disable_EQ_triggers) 1
5555
set __sc_target_defaults(disable_ebreak) 0
56+
set __sc_target_defaults(platform_extension) ""
5657

5758
set __sc_target_defaults(smp_configuration) 0
5859
set __sc_target_defaults(gdb_report_data_abort) 1
@@ -75,6 +76,13 @@ proc proc_exists p {
7576
# return uplevel 1 [expr {[llength [info procs $p]] > 0}]
7677
}
7778

79+
proc check_and_call {msg proc_name args} {
80+
if {![proc_exists $proc_name]} {
81+
error $msg
82+
}
83+
tailcall $proc_name {*}$args
84+
}
85+
7886
proc sc_pre_tap_hook {} {
7987
}
8088

@@ -274,6 +282,14 @@ proc init_targets {} {
274282
jtag newtap [dict get $tap_item prefix] [dict get $tap_item suffix] -irlen [dict get $tap_item irlen]
275283
}
276284

285+
set _PLATFORM_EXT [sc_target_config_get platform_extension]
286+
set _EXPOSED_REGISTERS ""
287+
if {$_PLATFORM_EXT ne "" } {
288+
set errmsg "incorrect version of scr_info platform extension plugin"
289+
set platform_name [check_and_call $errmsg ::scr_info::type_name $_PLATFORM_EXT]
290+
set _EXPOSED_REGISTERS [check_and_call $errmsg ::scr_info::expose_custom_string ${platform_name}]
291+
sc_target_config_log "new registers from scr_info platform: $_EXPOSED_REGISTERS"
292+
}
277293
foreach tgt_item [lindex $tapmap 1] {
278294
if {[sc_target_config_get no_ocd_targets] == 1} {
279295
continue
@@ -303,6 +319,10 @@ proc init_targets {} {
303319
$_TARGETNAME riscv hide_csrs $HIDE_CSRS
304320
}
305321

322+
if {$_EXPOSED_REGISTERS ne ""} {
323+
$_TARGETNAME riscv expose_csrs $_EXPOSED_REGISTERS
324+
}
325+
306326
if {[sc_target_config_get expose_csrs] ne ""} {
307327
$_TARGETNAME riscv expose_csrs [sc_target_config_get expose_csrs]
308328
}

0 commit comments

Comments
 (0)