blob: ae9233e5e5b2d7a53d7448f424b82c7e232dc33f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
# Copyright (c) 2025 HPMicro
# SPDX-License-Identifier: BSD-3-Clause
source [file join [file dirname [info script]] 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}]
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}
}
|