1 /* SPDX-License-Identifier: GPL-2.0
2  *
3  * Copyright 2016-2020 HabanaLabs, Ltd.
4  * All Rights Reserved.
5  *
6  */
7 
8 #ifndef GAUDI_CORESIGHT_H
9 #define GAUDI_CORESIGHT_H
10 
11 enum gaudi_debug_stm_regs_index {
12 	GAUDI_STM_FIRST = 0,
13 	GAUDI_STM_MME0_ACC = GAUDI_STM_FIRST,
14 	GAUDI_STM_MME0_SBAB,
15 	GAUDI_STM_MME0_CTRL,
16 	GAUDI_STM_MME1_ACC,
17 	GAUDI_STM_MME1_SBAB,
18 	GAUDI_STM_MME1_CTRL,
19 	GAUDI_STM_MME2_ACC,
20 	GAUDI_STM_MME2_SBAB,
21 	GAUDI_STM_MME2_CTRL,
22 	GAUDI_STM_MME3_ACC,
23 	GAUDI_STM_MME3_SBAB,
24 	GAUDI_STM_MME3_CTRL,
25 	GAUDI_STM_DMA_IF_W_S,
26 	GAUDI_STM_DMA_IF_E_S,
27 	GAUDI_STM_DMA_IF_W_N,
28 	GAUDI_STM_DMA_IF_E_N,
29 	GAUDI_STM_CPU,
30 	GAUDI_STM_DMA_CH_0_CS,
31 	GAUDI_STM_DMA_CH_1_CS,
32 	GAUDI_STM_DMA_CH_2_CS,
33 	GAUDI_STM_DMA_CH_3_CS,
34 	GAUDI_STM_DMA_CH_4_CS,
35 	GAUDI_STM_DMA_CH_5_CS,
36 	GAUDI_STM_DMA_CH_6_CS,
37 	GAUDI_STM_DMA_CH_7_CS,
38 	GAUDI_STM_PCIE,
39 	GAUDI_STM_MMU_CS,
40 	GAUDI_STM_PSOC,
41 	GAUDI_STM_NIC0_0,
42 	GAUDI_STM_NIC0_1,
43 	GAUDI_STM_NIC1_0,
44 	GAUDI_STM_NIC1_1,
45 	GAUDI_STM_NIC2_0,
46 	GAUDI_STM_NIC2_1,
47 	GAUDI_STM_NIC3_0,
48 	GAUDI_STM_NIC3_1,
49 	GAUDI_STM_NIC4_0,
50 	GAUDI_STM_NIC4_1,
51 	GAUDI_STM_TPC0_EML,
52 	GAUDI_STM_TPC1_EML,
53 	GAUDI_STM_TPC2_EML,
54 	GAUDI_STM_TPC3_EML,
55 	GAUDI_STM_TPC4_EML,
56 	GAUDI_STM_TPC5_EML,
57 	GAUDI_STM_TPC6_EML,
58 	GAUDI_STM_TPC7_EML,
59 	GAUDI_STM_LAST = GAUDI_STM_TPC7_EML
60 };
61 
62 enum gaudi_debug_etf_regs_index {
63 	GAUDI_ETF_FIRST = 0,
64 	GAUDI_ETF_MME0_ACC = GAUDI_ETF_FIRST,
65 	GAUDI_ETF_MME0_SBAB,
66 	GAUDI_ETF_MME0_CTRL,
67 	GAUDI_ETF_MME1_ACC,
68 	GAUDI_ETF_MME1_SBAB,
69 	GAUDI_ETF_MME1_CTRL,
70 	GAUDI_ETF_MME2_ACC,
71 	GAUDI_ETF_MME2_SBAB,
72 	GAUDI_ETF_MME2_CTRL,
73 	GAUDI_ETF_MME3_ACC,
74 	GAUDI_ETF_MME3_SBAB,
75 	GAUDI_ETF_MME3_CTRL,
76 	GAUDI_ETF_DMA_IF_W_S,
77 	GAUDI_ETF_DMA_IF_E_S,
78 	GAUDI_ETF_DMA_IF_W_N,
79 	GAUDI_ETF_DMA_IF_E_N,
80 	GAUDI_ETF_CPU_0,
81 	GAUDI_ETF_CPU_1,
82 	GAUDI_ETF_CPU_TRACE,
83 	GAUDI_ETF_DMA_CH_0_CS,
84 	GAUDI_ETF_DMA_CH_1_CS,
85 	GAUDI_ETF_DMA_CH_2_CS,
86 	GAUDI_ETF_DMA_CH_3_CS,
87 	GAUDI_ETF_DMA_CH_4_CS,
88 	GAUDI_ETF_DMA_CH_5_CS,
89 	GAUDI_ETF_DMA_CH_6_CS,
90 	GAUDI_ETF_DMA_CH_7_CS,
91 	GAUDI_ETF_PCIE,
92 	GAUDI_ETF_MMU_CS,
93 	GAUDI_ETF_PSOC,
94 	GAUDI_ETF_NIC0_0,
95 	GAUDI_ETF_NIC0_1,
96 	GAUDI_ETF_NIC1_0,
97 	GAUDI_ETF_NIC1_1,
98 	GAUDI_ETF_NIC2_0,
99 	GAUDI_ETF_NIC2_1,
100 	GAUDI_ETF_NIC3_0,
101 	GAUDI_ETF_NIC3_1,
102 	GAUDI_ETF_NIC4_0,
103 	GAUDI_ETF_NIC4_1,
104 	GAUDI_ETF_TPC0_EML,
105 	GAUDI_ETF_TPC1_EML,
106 	GAUDI_ETF_TPC2_EML,
107 	GAUDI_ETF_TPC3_EML,
108 	GAUDI_ETF_TPC4_EML,
109 	GAUDI_ETF_TPC5_EML,
110 	GAUDI_ETF_TPC6_EML,
111 	GAUDI_ETF_TPC7_EML,
112 	GAUDI_ETF_LAST = GAUDI_ETF_TPC7_EML
113 };
114 
115 enum gaudi_debug_funnel_regs_index {
116 	GAUDI_FUNNEL_FIRST = 0,
117 	GAUDI_FUNNEL_MME0_ACC = GAUDI_FUNNEL_FIRST,
118 	GAUDI_FUNNEL_MME1_ACC,
119 	GAUDI_FUNNEL_MME2_ACC,
120 	GAUDI_FUNNEL_MME3_ACC,
121 	GAUDI_FUNNEL_SRAM_Y0_X0,
122 	GAUDI_FUNNEL_SRAM_Y0_X1,
123 	GAUDI_FUNNEL_SRAM_Y0_X2,
124 	GAUDI_FUNNEL_SRAM_Y0_X3,
125 	GAUDI_FUNNEL_SRAM_Y0_X4,
126 	GAUDI_FUNNEL_SRAM_Y0_X5,
127 	GAUDI_FUNNEL_SRAM_Y0_X6,
128 	GAUDI_FUNNEL_SRAM_Y0_X7,
129 	GAUDI_FUNNEL_SRAM_Y1_X0,
130 	GAUDI_FUNNEL_SRAM_Y1_X1,
131 	GAUDI_FUNNEL_SRAM_Y1_X2,
132 	GAUDI_FUNNEL_SRAM_Y1_X3,
133 	GAUDI_FUNNEL_SRAM_Y1_X4,
134 	GAUDI_FUNNEL_SRAM_Y1_X5,
135 	GAUDI_FUNNEL_SRAM_Y1_X6,
136 	GAUDI_FUNNEL_SRAM_Y1_X7,
137 	GAUDI_FUNNEL_SRAM_Y2_X0,
138 	GAUDI_FUNNEL_SRAM_Y2_X1,
139 	GAUDI_FUNNEL_SRAM_Y2_X2,
140 	GAUDI_FUNNEL_SRAM_Y2_X3,
141 	GAUDI_FUNNEL_SRAM_Y2_X4,
142 	GAUDI_FUNNEL_SRAM_Y2_X5,
143 	GAUDI_FUNNEL_SRAM_Y2_X6,
144 	GAUDI_FUNNEL_SRAM_Y2_X7,
145 	GAUDI_FUNNEL_SRAM_Y3_X0,
146 	GAUDI_FUNNEL_SRAM_Y3_X1,
147 	GAUDI_FUNNEL_SRAM_Y3_X2,
148 	GAUDI_FUNNEL_SRAM_Y3_X4,
149 	GAUDI_FUNNEL_SRAM_Y3_X3,
150 	GAUDI_FUNNEL_SRAM_Y3_X5,
151 	GAUDI_FUNNEL_SRAM_Y3_X6,
152 	GAUDI_FUNNEL_SRAM_Y3_X7,
153 	GAUDI_FUNNEL_SIF_0,
154 	GAUDI_FUNNEL_SIF_1,
155 	GAUDI_FUNNEL_SIF_2,
156 	GAUDI_FUNNEL_SIF_3,
157 	GAUDI_FUNNEL_SIF_4,
158 	GAUDI_FUNNEL_SIF_5,
159 	GAUDI_FUNNEL_SIF_6,
160 	GAUDI_FUNNEL_SIF_7,
161 	GAUDI_FUNNEL_NIF_0,
162 	GAUDI_FUNNEL_NIF_1,
163 	GAUDI_FUNNEL_NIF_2,
164 	GAUDI_FUNNEL_NIF_3,
165 	GAUDI_FUNNEL_NIF_4,
166 	GAUDI_FUNNEL_NIF_5,
167 	GAUDI_FUNNEL_NIF_6,
168 	GAUDI_FUNNEL_NIF_7,
169 	GAUDI_FUNNEL_DMA_IF_W_S,
170 	GAUDI_FUNNEL_DMA_IF_E_S,
171 	GAUDI_FUNNEL_DMA_IF_W_N,
172 	GAUDI_FUNNEL_DMA_IF_E_N,
173 	GAUDI_FUNNEL_CPU,
174 	GAUDI_FUNNEL_NIC_TPC_W_S,
175 	GAUDI_FUNNEL_NIC_TPC_E_S,
176 	GAUDI_FUNNEL_NIC_TPC_W_N,
177 	GAUDI_FUNNEL_NIC_TPC_E_N,
178 	GAUDI_FUNNEL_PCIE,
179 	GAUDI_FUNNEL_PSOC,
180 	GAUDI_FUNNEL_NIC0,
181 	GAUDI_FUNNEL_NIC1,
182 	GAUDI_FUNNEL_NIC2,
183 	GAUDI_FUNNEL_NIC3,
184 	GAUDI_FUNNEL_NIC4,
185 	GAUDI_FUNNEL_TPC0_EML,
186 	GAUDI_FUNNEL_TPC1_EML,
187 	GAUDI_FUNNEL_TPC2_EML,
188 	GAUDI_FUNNEL_TPC3_EML,
189 	GAUDI_FUNNEL_TPC4_EML,
190 	GAUDI_FUNNEL_TPC5_EML,
191 	GAUDI_FUNNEL_TPC6_EML,
192 	GAUDI_FUNNEL_TPC7_EML,
193 	GAUDI_FUNNEL_LAST = GAUDI_FUNNEL_TPC7_EML
194 };
195 
196 enum gaudi_debug_bmon_regs_index {
197 	GAUDI_BMON_FIRST = 0,
198 	GAUDI_BMON_MME0_ACC_0 = GAUDI_BMON_FIRST,
199 	GAUDI_BMON_MME0_SBAB_0,
200 	GAUDI_BMON_MME0_SBAB_1,
201 	GAUDI_BMON_MME0_CTRL_0,
202 	GAUDI_BMON_MME0_CTRL_1,
203 	GAUDI_BMON_MME1_ACC_0,
204 	GAUDI_BMON_MME1_SBAB_0,
205 	GAUDI_BMON_MME1_SBAB_1,
206 	GAUDI_BMON_MME1_CTRL_0,
207 	GAUDI_BMON_MME1_CTRL_1,
208 	GAUDI_BMON_MME2_ACC_0,
209 	GAUDI_BMON_MME2_SBAB_0,
210 	GAUDI_BMON_MME2_SBAB_1,
211 	GAUDI_BMON_MME2_CTRL_0,
212 	GAUDI_BMON_MME2_CTRL_1,
213 	GAUDI_BMON_MME3_ACC_0,
214 	GAUDI_BMON_MME3_SBAB_0,
215 	GAUDI_BMON_MME3_SBAB_1,
216 	GAUDI_BMON_MME3_CTRL_0,
217 	GAUDI_BMON_MME3_CTRL_1,
218 	GAUDI_BMON_DMA_IF_W_S_SOB_WR,
219 	GAUDI_BMON_DMA_IF_W_S_0_WR,
220 	GAUDI_BMON_DMA_IF_W_S_0_RD,
221 	GAUDI_BMON_DMA_IF_W_S_1_WR,
222 	GAUDI_BMON_DMA_IF_W_S_1_RD,
223 	GAUDI_BMON_DMA_IF_E_S_SOB_WR,
224 	GAUDI_BMON_DMA_IF_E_S_0_WR,
225 	GAUDI_BMON_DMA_IF_E_S_0_RD,
226 	GAUDI_BMON_DMA_IF_E_S_1_WR,
227 	GAUDI_BMON_DMA_IF_E_S_1_RD,
228 	GAUDI_BMON_DMA_IF_W_N_SOB_WR,
229 	GAUDI_BMON_DMA_IF_W_N_HBM0_WR,
230 	GAUDI_BMON_DMA_IF_W_N_HBM0_RD,
231 	GAUDI_BMON_DMA_IF_W_N_HBM1_WR,
232 	GAUDI_BMON_DMA_IF_W_N_HBM1_RD,
233 	GAUDI_BMON_DMA_IF_E_N_SOB_WR,
234 	GAUDI_BMON_DMA_IF_E_N_HBM0_WR,
235 	GAUDI_BMON_DMA_IF_E_N_HBM0_RD,
236 	GAUDI_BMON_DMA_IF_E_N_HBM1_WR,
237 	GAUDI_BMON_DMA_IF_E_N_HBM1_RD,
238 	GAUDI_BMON_CPU_WR,
239 	GAUDI_BMON_CPU_RD,
240 	GAUDI_BMON_DMA_CH_0_0,
241 	GAUDI_BMON_DMA_CH_0_1,
242 	GAUDI_BMON_DMA_CH_1_0,
243 	GAUDI_BMON_DMA_CH_1_1,
244 	GAUDI_BMON_DMA_CH_2_0,
245 	GAUDI_BMON_DMA_CH_2_1,
246 	GAUDI_BMON_DMA_CH_3_0,
247 	GAUDI_BMON_DMA_CH_3_1,
248 	GAUDI_BMON_DMA_CH_4_0,
249 	GAUDI_BMON_DMA_CH_4_1,
250 	GAUDI_BMON_DMA_CH_5_0,
251 	GAUDI_BMON_DMA_CH_5_1,
252 	GAUDI_BMON_DMA_CH_6_0,
253 	GAUDI_BMON_DMA_CH_6_1,
254 	GAUDI_BMON_DMA_CH_7_0,
255 	GAUDI_BMON_DMA_CH_7_1,
256 	GAUDI_BMON_PCIE_MSTR_WR,
257 	GAUDI_BMON_PCIE_MSTR_RD,
258 	GAUDI_BMON_PCIE_SLV_WR,
259 	GAUDI_BMON_PCIE_SLV_RD,
260 	GAUDI_BMON_MMU_0,
261 	GAUDI_BMON_MMU_1,
262 	GAUDI_BMON_NIC0_0,
263 	GAUDI_BMON_NIC0_1,
264 	GAUDI_BMON_NIC0_2,
265 	GAUDI_BMON_NIC0_3,
266 	GAUDI_BMON_NIC0_4,
267 	GAUDI_BMON_NIC1_0,
268 	GAUDI_BMON_NIC1_1,
269 	GAUDI_BMON_NIC1_2,
270 	GAUDI_BMON_NIC1_3,
271 	GAUDI_BMON_NIC1_4,
272 	GAUDI_BMON_NIC2_0,
273 	GAUDI_BMON_NIC2_1,
274 	GAUDI_BMON_NIC2_2,
275 	GAUDI_BMON_NIC2_3,
276 	GAUDI_BMON_NIC2_4,
277 	GAUDI_BMON_NIC3_0,
278 	GAUDI_BMON_NIC3_1,
279 	GAUDI_BMON_NIC3_2,
280 	GAUDI_BMON_NIC3_3,
281 	GAUDI_BMON_NIC3_4,
282 	GAUDI_BMON_NIC4_0,
283 	GAUDI_BMON_NIC4_1,
284 	GAUDI_BMON_NIC4_2,
285 	GAUDI_BMON_NIC4_3,
286 	GAUDI_BMON_NIC4_4,
287 	GAUDI_BMON_TPC0_EML_0,
288 	GAUDI_BMON_TPC0_EML_1,
289 	GAUDI_BMON_TPC0_EML_2,
290 	GAUDI_BMON_TPC0_EML_3,
291 	GAUDI_BMON_TPC1_EML_0,
292 	GAUDI_BMON_TPC1_EML_1,
293 	GAUDI_BMON_TPC1_EML_2,
294 	GAUDI_BMON_TPC1_EML_3,
295 	GAUDI_BMON_TPC2_EML_0,
296 	GAUDI_BMON_TPC2_EML_1,
297 	GAUDI_BMON_TPC2_EML_2,
298 	GAUDI_BMON_TPC2_EML_3,
299 	GAUDI_BMON_TPC3_EML_0,
300 	GAUDI_BMON_TPC3_EML_1,
301 	GAUDI_BMON_TPC3_EML_2,
302 	GAUDI_BMON_TPC3_EML_3,
303 	GAUDI_BMON_TPC4_EML_0,
304 	GAUDI_BMON_TPC4_EML_1,
305 	GAUDI_BMON_TPC4_EML_2,
306 	GAUDI_BMON_TPC4_EML_3,
307 	GAUDI_BMON_TPC5_EML_0,
308 	GAUDI_BMON_TPC5_EML_1,
309 	GAUDI_BMON_TPC5_EML_2,
310 	GAUDI_BMON_TPC5_EML_3,
311 	GAUDI_BMON_TPC6_EML_0,
312 	GAUDI_BMON_TPC6_EML_1,
313 	GAUDI_BMON_TPC6_EML_2,
314 	GAUDI_BMON_TPC6_EML_3,
315 	GAUDI_BMON_TPC7_EML_0,
316 	GAUDI_BMON_TPC7_EML_1,
317 	GAUDI_BMON_TPC7_EML_2,
318 	GAUDI_BMON_TPC7_EML_3,
319 	GAUDI_BMON_LAST = GAUDI_BMON_TPC7_EML_3
320 };
321 
322 enum gaudi_debug_spmu_regs_index {
323 	GAUDI_SPMU_FIRST = 0,
324 	GAUDI_SPMU_MME0_ACC = GAUDI_SPMU_FIRST,
325 	GAUDI_SPMU_MME0_SBAB,
326 	GAUDI_SPMU_MME0_CTRL,
327 	GAUDI_SPMU_MME1_ACC,
328 	GAUDI_SPMU_MME1_SBAB,
329 	GAUDI_SPMU_MME1_CTRL,
330 	GAUDI_SPMU_MME2_MME2_ACC,
331 	GAUDI_SPMU_MME2_SBAB,
332 	GAUDI_SPMU_MME2_CTRL,
333 	GAUDI_SPMU_MME3_ACC,
334 	GAUDI_SPMU_MME3_SBAB,
335 	GAUDI_SPMU_MME3_CTRL,
336 	GAUDI_SPMU_DMA_CH_0_CS,
337 	GAUDI_SPMU_DMA_CH_1_CS,
338 	GAUDI_SPMU_DMA_CH_2_CS,
339 	GAUDI_SPMU_DMA_CH_3_CS,
340 	GAUDI_SPMU_DMA_CH_4_CS,
341 	GAUDI_SPMU_DMA_CH_5_CS,
342 	GAUDI_SPMU_DMA_CH_6_CS,
343 	GAUDI_SPMU_DMA_CH_7_CS,
344 	GAUDI_SPMU_PCIE,
345 	GAUDI_SPMU_MMU_CS,
346 	GAUDI_SPMU_NIC0_0,
347 	GAUDI_SPMU_NIC0_1,
348 	GAUDI_SPMU_NIC1_0,
349 	GAUDI_SPMU_NIC1_1,
350 	GAUDI_SPMU_NIC2_0,
351 	GAUDI_SPMU_NIC2_1,
352 	GAUDI_SPMU_NIC3_0,
353 	GAUDI_SPMU_NIC3_1,
354 	GAUDI_SPMU_NIC4_0,
355 	GAUDI_SPMU_NIC4_1,
356 	GAUDI_SPMU_TPC0_EML,
357 	GAUDI_SPMU_TPC1_EML,
358 	GAUDI_SPMU_TPC2_EML,
359 	GAUDI_SPMU_TPC3_EML,
360 	GAUDI_SPMU_TPC4_EML,
361 	GAUDI_SPMU_TPC5_EML,
362 	GAUDI_SPMU_TPC6_EML,
363 	GAUDI_SPMU_TPC7_EML,
364 	GAUDI_SPMU_LAST = GAUDI_SPMU_TPC7_EML
365 };
366 
367 #endif /* GAUDI_CORESIGHT_H */
368