aboutsummaryrefslogtreecommitdiff
path: root/platform/atm2/ATM22xx-x1x/openocd/atm2x_pseq.tcl
blob: 26989b15618338f0fdb39d3251595a44267ef2f9 (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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#
# atm2x_pseq.tcl
# Production APIs for PSEQ operations
# Copyright (C) Atmosic 2018-2019
#

proc enable_hpc {} {
    global CMSDK_PSEQ_XTAL_BITS1

    enable_pseq
    set xb1 [mrw $CMSDK_PSEQ_XTAL_BITS1]
    mww $CMSDK_PSEQ_XTAL_BITS1 [expr {$xb1 | (1 << 19)}]
    disable_pseq
}

proc disable_hpc {} {
    global CMSDK_PSEQ_XTAL_BITS1

    enable_pseq
    set xb1 [mrw $CMSDK_PSEQ_XTAL_BITS1]
    mww $CMSDK_PSEQ_XTAL_BITS1 [expr {$xb1 & ~(1 << 19)}]
    disable_pseq
}

proc enable_emram {} {
    global CMSDK_PSEQ_EMRAM_OVERRIDES
    global CMSDK_PSEQ_EMRAM_OVERRIDES2
    global CMSDK_PSEQ_EMRAM_OVERRIDES3
    global CMSDK_PSEQ_EMRAM_OVERRIDES4
    global CMSDK_PSEQ_EMRAM_OVERRIDES5
    global CMSDK_PSEQ_EMRAM_OVERRIDES6

    enable_pseq
    mww $CMSDK_PSEQ_EMRAM_OVERRIDES 0
    mww $CMSDK_PSEQ_EMRAM_OVERRIDES6 0
    mww $CMSDK_PSEQ_EMRAM_OVERRIDES5 0
    mww $CMSDK_PSEQ_EMRAM_OVERRIDES4 0
    mww $CMSDK_PSEQ_EMRAM_OVERRIDES3 0
    mww $CMSDK_PSEQ_EMRAM_OVERRIDES2 0
}

proc enable_uram {} {
    global CMSDK_PSEQ_SYSRAM_OVERRIDES
    global CMSDK_PSEQ_SYSRAM_OVERRIDES2
    global CMSDK_PSEQ_SYSRAM_OVERRIDES3
    global CMSDK_PSEQ_SYSRAM_OVERRIDES4
    global CMSDK_PSEQ_SYSRAM_OVERRIDES5
    global CMSDK_PSEQ_SYSRAM_OVERRIDES6

    enable_pseq
    mww $CMSDK_PSEQ_SYSRAM_OVERRIDES 0
    mww $CMSDK_PSEQ_SYSRAM_OVERRIDES6 0
    mww $CMSDK_PSEQ_SYSRAM_OVERRIDES5 0
    mww $CMSDK_PSEQ_SYSRAM_OVERRIDES4 0
    mww $CMSDK_PSEQ_SYSRAM_OVERRIDES3 0
    mww $CMSDK_PSEQ_SYSRAM_OVERRIDES2 0
}