summaryrefslogtreecommitdiff
path: root/bsp/hpmicro/hpm6750evkmini/board/debug_scripts/openocd/soc/hpm_common.cfg
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}
}