# SPDX-License-Identifier: BSD-3-Clause # Copyright (c) 2025 HPMicro source [find target/hpmicro/hpm_reset.cfg] set dmsbcs 0x38 set dmsbaddress0 0x39 set dmsbdata0 0x3C proc target0_dmi_write_reg {reg value} { $::_TARGET0 riscv dmi_write ${reg} ${value} } proc target0_dmi_read_reg {reg} { set v [$::_TARGET0 riscv dmi_read ${reg} $::dmsbdata0] return ${v} } proc sba_write_mem {addr value} { target0_dmi_write_reg $::dmsbaddress0 ${addr} target0_dmi_write_reg $::dmsbdata0 ${value} } proc sba_read_mem {addr} { set sbcs [expr { 0x100000 | [target0_dmi_read_reg $::dmsbcs] }] target0_dmi_write_reg $::dmsbcs ${sbcs} target0_dmi_write_reg $::dmsbaddress0 ${addr} set value [target0_dmi_read_reg $::dmsbdata0] return ${value} }