jtag: linuxgpiod: drop extra parenthesis
[openocd.git] / tcl / target / renesas_rz_g2.cfg
1 # SPDX-License-Identifier: GPL-2.0-or-later
2
3 # Renesas RZ/G2 SOCs
4 # - There are a combination of Cortex-A57s, Cortex-A53s, Cortex-A55, Cortex-R7
5 # and Cortex-M33 for each SOC
6 # - Each SOC can boot through the Cortex-A5x cores
7
8 # Supported RZ/G2 SOCs and their cores:
9 # RZ/G2H: Cortex-A57 x4, Cortex-A53 x4, Cortex-R7
10 # RZ/G2M: Cortex-A57 x2, Cortex-A53 x4, Cortex-R7
11 # RZ/G2N: Cortex-A57 x2, Cortex-R7
12 # RZ/G2E: Cortex-A53 x2, Cortex-R7
13 # RZ/G2L: Cortex-A55 x2, Cortex-M33
14
15 # Usage:
16 # There are 2 configuration options:
17 # SOC: Selects the supported SOC. (Default 'G2L')
18 # BOOT_CORE: Selects the booting core. 'CA57', 'CA53' or 'CA55'
19
20 transport select jtag
21 reset_config trst_and_srst srst_gates_jtag
22 adapter speed 4000
23 adapter srst delay 500
24
25 if { [info exists SOC] } {
26 set _soc $SOC
27 } else {
28 set _soc G2L
29 }
30
31 set _num_ca57 0
32 set _num_ca55 0
33 set _num_ca53 0
34 set _num_cr7 0
35 set _num_cm33 0
36
37 # Set configuration for each SOC and the default 'BOOT_CORE'
38 switch $_soc {
39 G2H {
40 set _CHIPNAME r8a774ex
41 set _num_ca57 4
42 set _num_ca53 4
43 set _num_cr7 1
44 set _boot_core CA57
45 set _ap_num 1
46 }
47 G2M {
48 set _CHIPNAME r8a774ax
49 set _num_ca57 2
50 set _num_ca53 4
51 set _num_cr7 1
52 set _boot_core CA57
53 set _ap_num 1
54 }
55 G2N {
56 set _CHIPNAME r8a774bx
57 set _num_ca57 2
58 set _num_ca53 0
59 set _num_cr7 1
60 set _boot_core CA57
61 set _ap_num 1
62 }
63 G2E {
64 set _CHIPNAME r8a774c0
65 set _num_ca57 0
66 set _num_ca53 2
67 set _num_cr7 1
68 set _boot_core CA53
69 set _ap_num 1
70 }
71 G2L {
72 set _CHIPNAME r9a07g044l
73 set _num_ca55 2
74 set _num_cm33 1
75 set _boot_core CA55
76 set _ap_num 0
77 }
78 default {
79 error "'$_soc' is invalid!"
80 }
81 }
82
83 # If configured, override the default 'CHIPNAME'
84 if { [info exists CHIPNAME] } {
85 set _CHIPNAME $CHIPNAME
86 }
87
88 # If configured, override the default 'BOOT_CORE'
89 if { [info exists BOOT_CORE] } {
90 set _boot_core $BOOT_CORE
91 }
92
93 if { [info exists DAP_TAPID] } {
94 set _DAP_TAPID $DAP_TAPID
95 } else {
96 set _DAP_TAPID 0x6ba00477
97 }
98
99 echo "\t$_soc - $_num_ca57 CA57(s), $_num_ca55 CA55(s), $_num_ca53 CA53(s), $_num_cr7 CR7(s), \
100 $_num_cm33 CM33(s)"
101 echo "\tBoot Core - $_boot_core\n"
102
103 set _DAPNAME $_CHIPNAME.dap
104
105
106 # TAP and DAP
107 jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_DAP_TAPID \
108 -ignore-version
109 dap create $_DAPNAME -chain-position $_CHIPNAME.cpu
110 echo "$_CHIPNAME.cpu"
111
112 set CA57_DBGBASE {0x80410000 0x80510000 0x80610000 0x80710000}
113 set CA57_CTIBASE {0x80420000 0x80520000 0x80620000 0x80720000}
114 set CA55_DBGBASE {0x10E10000 0x10F10000}
115 set CA55_CTIBASE {0x10E20000 0x10F20000}
116 set CA53_DBGBASE {0x80C10000 0x80D10000 0x80E10000 0x80F10000}
117 set CA53_CTIBASE {0x80C20000 0x80D20000 0x80E20000 0x80F20000}
118 set CR7_DBGBASE 0x80910000
119 set CR7_CTIBASE 0x80918000
120 set CM33_DBGBASE 0xE000E000
121 set CM33_CTIBASE 0xE0042000
122
123 set smp_targets ""
124
125 proc setup_a5x {core_name dbgbase ctibase num boot} {
126 for { set _core 0 } { $_core < $num } { incr _core } {
127 set _TARGETNAME $::_CHIPNAME.$core_name.$_core
128 set _CTINAME $_TARGETNAME.cti
129 cti create $_CTINAME -dap $::_DAPNAME -ap-num $::_ap_num \
130 -baseaddr [lindex $ctibase $_core]
131 target create $_TARGETNAME aarch64 -dap $::_DAPNAME \
132 -ap-num $::_ap_num -dbgbase [lindex $dbgbase $_core] -cti $_CTINAME
133 if { $_core > 0 || $boot == 0 } {
134 $_TARGETNAME configure -defer-examine
135 }
136 set ::smp_targets "$::smp_targets $_TARGETNAME"
137 }
138 }
139
140 proc setup_cr7 {dbgbase ctibase} {
141 set _TARGETNAME $::_CHIPNAME.r7
142 set _CTINAME $_TARGETNAME.cti
143 cti create $_CTINAME -dap $::_DAPNAME -ap-num 1 -baseaddr $ctibase
144 target create $_TARGETNAME cortex_r4 -dap $::_DAPNAME \
145 -ap-num 1 -dbgbase $dbgbase -defer-examine
146 }
147
148 proc setup_cm33 {dbgbase ctibase} {
149 set _TARGETNAME $::_CHIPNAME.m33
150 set _CTINAME $_TARGETNAME.cti
151 cti create $_CTINAME -dap $::_DAPNAME -ap-num 2 -baseaddr $ctibase
152 target create $_TARGETNAME cortex_m -dap $::_DAPNAME \
153 -ap-num 2 -dbgbase $dbgbase -defer-examine
154 }
155
156 # Organize target list based on the boot core
157 if { $_boot_core == "CA57" } {
158 setup_a5x a57 $CA57_DBGBASE $CA57_CTIBASE $_num_ca57 1
159 setup_a5x a53 $CA53_DBGBASE $CA53_CTIBASE $_num_ca53 0
160 setup_cr7 $CR7_DBGBASE $CR7_CTIBASE
161 } elseif { $_boot_core == "CA53" } {
162 setup_a5x a53 $CA53_DBGBASE $CA53_CTIBASE $_num_ca53 1
163 setup_a5x a57 $CA57_DBGBASE $CA57_CTIBASE $_num_ca57 0
164 setup_cr7 $CR7_DBGBASE $CR7_CTIBASE
165 } elseif { $_boot_core == "CA55" } {
166 setup_a5x a55 $CA55_DBGBASE $CA55_CTIBASE $_num_ca55 1
167 setup_cm33 $CM33_DBGBASE $CM33_CTIBASE
168 }
169 echo "SMP targets:$smp_targets"
170 eval "target smp $smp_targets"
171
172 if { $_soc == "G2L"} {
173 target create $_CHIPNAME.axi_ap mem_ap -dap $_DAPNAME -ap-num 1
174 }
175
176 proc init_reset {mode} {
177 # Assert both resets: equivalent to a power-on reset
178 adapter assert trst assert srst
179
180 # Deassert TRST to begin TAP communication
181 adapter deassert trst assert srst
182
183 # TAP should now be responsive, validate the scan-chain
184 jtag arp_init
185 }

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)