1 /*
2 * Copyright (c) 2019, Cypress Semiconductor Corporation. All rights reserved.
3 * Copyright (c) 2021, Arm Limited. All rights reserved.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18 #include "tfm_spm_log.h"
19 #include "driver_ppu.h"
20 #include "pc_config.h"
21 #include "ppu_config.h"
22 #include "RTE_Device.h"
23
24 #include "cy_device_headers.h"
25 #include "cy_prot.h"
26
27 struct ms_ppu_config {
28 uint16_t pcMask;
29 cy_en_prot_perm_t user;
30 cy_en_prot_perm_t priv;
31 bool secure;
32 };
33
34 struct ppu_resources {
35 enum ppu_type ppu_type;
36 union ppu {
37 PERI_MS_PPU_PR_Type *ms_ppu_pr;
38 PERI_MS_PPU_FX_Type *ms_ppu_fx;
39 PERI_PPU_PR_Type *ppu_pr;
40 PERI_PPU_GR_Type *ppu_gr;
41 PERI_GR_PPU_SL_Type *gr_ppu_sl;
42 PERI_GR_PPU_RG_Type *gr_ppu_rg;
43 } ppu;
44 union master_config {
45 struct ms_ppu_config ms_ppu;
46 cy_stc_ppu_prog_cfg_t ppu_pr;
47 cy_stc_ppu_gr_cfg_t ppu_gr;
48 cy_stc_ppu_sl_cfg_t gr_ppu_sl;
49 cy_stc_ppu_rg_cfg_t gr_ppu_rg;
50 } master_cfg;
51 union slave_config {
52 struct ms_ppu_config ms_ppu;
53 cy_stc_ppu_prog_cfg_t ppu_pr;
54 cy_stc_ppu_gr_cfg_t ppu_gr;
55 cy_stc_ppu_sl_cfg_t gr_ppu_sl;
56 cy_stc_ppu_rg_cfg_t gr_ppu_rg;
57 } slave_cfg;
58 /* These are only applicable when ppu_type is MS_PPU_PR */
59 uint32_t slave_address;
60 cy_en_prot_size_t slave_region_size;
61 };
62
63 /* Affect all 8 subregions */
64 #define ALL_ENABLED 0
65
66 /* The PDL doesn't work if we pass in pcMask values that are not supported by the hardware */
67 /* Note that this macro depends on the values of CY_PROT_PCMASKx macros */
68 #define FILTER_PCS(x) ((x) & ((1<<(PERI_PC_NR-1))-1))
69
70 /* Shared Driver wrapper functions */
PPU_Configure(const PPU_Resources * ppu_dev)71 cy_en_prot_status_t PPU_Configure(const PPU_Resources *ppu_dev)
72 {
73 cy_en_prot_status_t ret;
74
75 switch(ppu_dev->ppu_type) {
76 /* This block is only needed if there are MS_PPU_PR PPUs on the board */
77 #if defined(PERI_MS_PPU_PR0)
78 case MS_PPU_PR:
79 ret = Cy_Prot_ConfigPpuProgSlaveAddr(ppu_dev->ppu.ms_ppu_pr,
80 ppu_dev->slave_address,
81 ppu_dev->slave_region_size);
82 if (ret != CY_PROT_SUCCESS)
83 return ret;
84 /* Disable access from any other Protection Contexts */
85 ret = Cy_Prot_ConfigPpuProgSlaveAtt(ppu_dev->ppu.ms_ppu_pr,
86 FILTER_PCS(~ppu_dev->slave_cfg.ms_ppu.pcMask),
87 CY_PROT_PERM_DISABLED,
88 CY_PROT_PERM_DISABLED,
89 true);
90 if (ret != CY_PROT_SUCCESS)
91 return ret;
92 ret = Cy_Prot_ConfigPpuProgSlaveAtt(ppu_dev->ppu.ms_ppu_pr,
93 FILTER_PCS(ppu_dev->slave_cfg.ms_ppu.pcMask),
94 ppu_dev->slave_cfg.ms_ppu.user,
95 ppu_dev->slave_cfg.ms_ppu.priv,
96 ppu_dev->slave_cfg.ms_ppu.secure);
97 if (ret != CY_PROT_SUCCESS)
98 return ret;
99 ret = Cy_Prot_EnablePpuProgSlaveRegion(ppu_dev->ppu.ms_ppu_pr);
100 if (ret != CY_PROT_SUCCESS)
101 return ret;
102 /* Read-only access from any other Protection Contexts */
103 ret = Cy_Prot_ConfigPpuProgMasterAtt(ppu_dev->ppu.ms_ppu_pr,
104 FILTER_PCS(~ppu_dev->master_cfg.ms_ppu.pcMask),
105 CY_PROT_PERM_R,
106 CY_PROT_PERM_R,
107 true);
108 if (ret != CY_PROT_SUCCESS)
109 return ret;
110 ret = Cy_Prot_ConfigPpuProgMasterAtt(ppu_dev->ppu.ms_ppu_pr,
111 FILTER_PCS(ppu_dev->master_cfg.ms_ppu.pcMask),
112 ppu_dev->master_cfg.ms_ppu.user,
113 ppu_dev->master_cfg.ms_ppu.priv,
114 ppu_dev->master_cfg.ms_ppu.secure);
115 break;
116 #endif
117
118 /* This block is only needed if there are MS_PPU_FX PPUs on the board */
119 #if defined(PERI_MS_PPU_FX_PERI_MAIN)
120 case MS_PPU_FX:
121 /* Disable access from any other Protection Contexts */
122 ret = Cy_Prot_ConfigPpuFixedSlaveAtt(ppu_dev->ppu.ms_ppu_fx,
123 FILTER_PCS(~ppu_dev->slave_cfg.ms_ppu.pcMask),
124 CY_PROT_PERM_DISABLED,
125 CY_PROT_PERM_DISABLED,
126 true);
127 if (ret != CY_PROT_SUCCESS)
128 return ret;
129 ret = Cy_Prot_ConfigPpuFixedSlaveAtt(ppu_dev->ppu.ms_ppu_fx,
130 FILTER_PCS(ppu_dev->slave_cfg.ms_ppu.pcMask),
131 ppu_dev->slave_cfg.ms_ppu.user,
132 ppu_dev->slave_cfg.ms_ppu.priv,
133 ppu_dev->slave_cfg.ms_ppu.secure);
134 if (ret != CY_PROT_SUCCESS)
135 return ret;
136 /* Read-only access from any other Protection Contexts */
137 ret = Cy_Prot_ConfigPpuFixedMasterAtt(ppu_dev->ppu.ms_ppu_fx,
138 FILTER_PCS(~ppu_dev->master_cfg.ms_ppu.pcMask),
139 CY_PROT_PERM_R,
140 CY_PROT_PERM_R,
141 true);
142 if (ret != CY_PROT_SUCCESS)
143 return ret;
144 ret = Cy_Prot_ConfigPpuFixedMasterAtt(ppu_dev->ppu.ms_ppu_fx,
145 FILTER_PCS(ppu_dev->master_cfg.ms_ppu.pcMask),
146 ppu_dev->master_cfg.ms_ppu.user,
147 ppu_dev->master_cfg.ms_ppu.priv,
148 ppu_dev->master_cfg.ms_ppu.secure);
149 break;
150 #endif
151
152 /* This block is only needed if there are PPU_PR PPUs on the board */
153 #if defined(PERI_PPU_PR0)
154 case PPU_PR:
155 ret = Cy_Prot_ConfigPpuProgSlaveStruct(ppu_dev->ppu.ppu_pr,
156 &ppu_dev->slave_cfg.ppu_pr);
157 if (ret != CY_PROT_SUCCESS)
158 return ret;
159 ret = Cy_Prot_EnablePpuProgSlaveStruct(ppu_dev->ppu.ppu_pr);
160 if (ret != CY_PROT_SUCCESS)
161 return ret;
162 ret = Cy_Prot_ConfigPpuProgMasterStruct(ppu_dev->ppu.ppu_pr,
163 &ppu_dev->master_cfg.ppu_pr);
164 if (ret != CY_PROT_SUCCESS)
165 return ret;
166 ret = Cy_Prot_EnablePpuProgMasterStruct(ppu_dev->ppu.ppu_pr);
167 break;
168 #endif
169
170 /* This block is only needed if there are PPU_GR PPUs on the board */
171 #if defined(PERI_PPU_GR0)
172 case PPU_GR:
173 ret = Cy_Prot_ConfigPpuFixedGrSlaveStruct(ppu_dev->ppu.ppu_gr,
174 &ppu_dev->slave_cfg.ppu_gr);
175 if (ret != CY_PROT_SUCCESS)
176 return ret;
177 ret = Cy_Prot_EnablePpuFixedGrSlaveStruct(ppu_dev->ppu.ppu_gr);
178 if (ret != CY_PROT_SUCCESS)
179 return ret;
180 ret = Cy_Prot_ConfigPpuFixedGrMasterStruct(ppu_dev->ppu.ppu_gr,
181 &ppu_dev->master_cfg.ppu_gr);
182 if (ret != CY_PROT_SUCCESS)
183 return ret;
184 ret = Cy_Prot_EnablePpuFixedGrMasterStruct(ppu_dev->ppu.ppu_gr);
185 break;
186 #endif
187
188 /* This block is only needed if there are GR_PPU_SL PPUs on the board */
189 #if defined(PERI_GR_PPU_SL_CRYPTO)
190 case GR_PPU_SL:
191 ret = Cy_Prot_ConfigPpuFixedSlSlaveStruct(ppu_dev->ppu.gr_ppu_sl,
192 &ppu_dev->slave_cfg.gr_ppu_sl);
193 if (ret != CY_PROT_SUCCESS)
194 return ret;
195 ret = Cy_Prot_EnablePpuFixedSlSlaveStruct(ppu_dev->ppu.gr_ppu_sl);
196 if (ret != CY_PROT_SUCCESS)
197 return ret;
198 ret = Cy_Prot_ConfigPpuFixedSlMasterStruct(ppu_dev->ppu.gr_ppu_sl,
199 &ppu_dev->master_cfg.gr_ppu_sl);
200 if (ret != CY_PROT_SUCCESS)
201 return ret;
202 ret = Cy_Prot_EnablePpuFixedSlMasterStruct(ppu_dev->ppu.gr_ppu_sl);
203 break;
204 #endif
205
206 /* This block is only needed if there are GR_PPU_RG PPUs on the board */
207 #if defined(PERI_GR_PPU_RG_IPC_STRUCT0)
208 case GR_PPU_RG:
209 ret = Cy_Prot_ConfigPpuFixedRgSlaveStruct(ppu_dev->ppu.gr_ppu_rg,
210 &ppu_dev->slave_cfg.gr_ppu_rg);
211 if (ret != CY_PROT_SUCCESS)
212 return ret;
213 ret = Cy_Prot_EnablePpuFixedRgSlaveStruct(ppu_dev->ppu.gr_ppu_rg);
214 if (ret != CY_PROT_SUCCESS)
215 return ret;
216 ret = Cy_Prot_ConfigPpuFixedRgMasterStruct(ppu_dev->ppu.gr_ppu_rg,
217 &ppu_dev->master_cfg.gr_ppu_rg);
218 if (ret != CY_PROT_SUCCESS)
219 return ret;
220 ret = Cy_Prot_EnablePpuFixedRgMasterStruct(ppu_dev->ppu.gr_ppu_rg);
221 break;
222 #endif
223
224 default:
225 SPMLOG_ERRMSGVAL("Unexpected peripheral type ", ppu_dev->ppu_type);
226 return CY_PROT_BAD_PARAM;
227 }
228
229 return ret;
230 }
231
232 #define DEFINE_MS_PPU_PR(N) const PPU_Resources N##_PPU_Resources = { \
233 .ppu_type = MS_PPU_PR, \
234 .ppu = {.ms_ppu_pr = PERI_MS_PPU_##N}, \
235 .master_cfg.ms_ppu = PPU_##N##_MASTER_CONFIG, \
236 .slave_cfg.ms_ppu = PPU_##N##_SLAVE_CONFIG, \
237 .slave_address = PPU_##N##_SLAVE_ADDRESS, \
238 .slave_region_size = PPU_##N##_SLAVE_REGION_SIZE, \
239 };
240
241 #define DEFINE_MS_PPU_FX(N) const PPU_Resources N##_PPU_Resources = { \
242 .ppu_type = MS_PPU_FX, \
243 .ppu = {.ms_ppu_fx = PERI_MS_PPU_FX_##N}, \
244 .master_cfg.ms_ppu = PPU_##N##_MASTER_CONFIG, \
245 .slave_cfg.ms_ppu = PPU_##N##_SLAVE_CONFIG, \
246 };
247
248 #define DEFINE_PPU_PR(N) const PPU_Resources N##_PPU_Resources = { \
249 .ppu_type = PPU_PR, \
250 .ppu = {.ppu_pr = PERI_PPU_##N}, \
251 .master_cfg.ppu_pr = PPU_##N##_MASTER_CONFIG, \
252 .slave_cfg.ppu_pr = PPU_##N##_SLAVE_CONFIG, \
253 };
254
255 #define DEFINE_PPU_GR(N) const PPU_Resources N##_PPU_Resources = { \
256 .ppu_type = PPU_GR, \
257 .ppu = {.ppu_gr = PERI_PPU_##N}, \
258 .master_cfg.ppu_gr = PPU_##N##_MASTER_CONFIG, \
259 .slave_cfg.ppu_gr = PPU_##N##_SLAVE_CONFIG, \
260 };
261
262 #define DEFINE_GR_PPU_SL(N) const PPU_Resources N##_PPU_Resources = { \
263 .ppu_type = GR_PPU_SL, \
264 .ppu = {.gr_ppu_sl = PERI_GR_PPU_##N}, \
265 .master_cfg.gr_ppu_sl = PPU_##N##_MASTER_CONFIG, \
266 .slave_cfg.gr_ppu_sl = PPU_##N##_SLAVE_CONFIG, \
267 };
268
269 #define DEFINE_GR_PPU_RG(N) const PPU_Resources N##_PPU_Resources = { \
270 .ppu_type = GR_PPU_RG, \
271 .ppu = {.gr_ppu_rg = PERI_GR_PPU_##N}, \
272 .master_cfg.gr_ppu_rg = PPU_##N##_MASTER_CONFIG, \
273 .slave_cfg.gr_ppu_rg = PPU_##N##_SLAVE_CONFIG, \
274 };
275
276 #if (RTE_MS_PPU_PR7)
277 DEFINE_MS_PPU_PR(PR7)
278 #endif
279
280 #if (RTE_MS_PPU_PERI_MAIN)
281 DEFINE_MS_PPU_FX(PERI_MAIN)
282 #endif
283
284 #if (RTE_MS_PPU_PERI_GR0_GROUP)
285 DEFINE_MS_PPU_FX(PERI_GR0_GROUP)
286 #endif
287
288 #if (RTE_MS_PPU_PERI_GR1_GROUP)
289 DEFINE_MS_PPU_FX(PERI_GR1_GROUP)
290 #endif
291
292 #if (RTE_MS_PPU_PERI_GR2_GROUP)
293 DEFINE_MS_PPU_FX(PERI_GR2_GROUP)
294 #endif
295
296 #if (RTE_MS_PPU_PERI_GR3_GROUP)
297 DEFINE_MS_PPU_FX(PERI_GR3_GROUP)
298 #endif
299
300 #if (RTE_MS_PPU_PERI_GR4_GROUP)
301 DEFINE_MS_PPU_FX(PERI_GR4_GROUP)
302 #endif
303
304 #if (RTE_MS_PPU_PERI_GR6_GROUP)
305 DEFINE_MS_PPU_FX(PERI_GR6_GROUP)
306 #endif
307
308 #if (RTE_MS_PPU_PERI_GR9_GROUP)
309 DEFINE_MS_PPU_FX(PERI_GR9_GROUP)
310 #endif
311
312 #if (RTE_MS_PPU_PERI_GR10_GROUP)
313 DEFINE_MS_PPU_FX(PERI_GR10_GROUP)
314 #endif
315
316 #if (RTE_MS_PPU_PERI_TR)
317 DEFINE_MS_PPU_FX(PERI_TR)
318 #endif
319
320 #if (RTE_MS_PPU_CRYPTO_MAIN)
321 DEFINE_MS_PPU_FX(CRYPTO_MAIN)
322 #endif
323
324 #if (RTE_MS_PPU_CRYPTO_CRYPTO)
325 DEFINE_MS_PPU_FX(CRYPTO_CRYPTO)
326 #endif
327
328 #if (RTE_MS_PPU_CRYPTO_BOOT)
329 DEFINE_MS_PPU_FX(CRYPTO_BOOT)
330 #endif
331
332 #if (RTE_MS_PPU_CRYPTO_KEY0)
333 DEFINE_MS_PPU_FX(CRYPTO_KEY0)
334 #endif
335
336 #if (RTE_MS_PPU_CRYPTO_KEY1)
337 DEFINE_MS_PPU_FX(CRYPTO_KEY1)
338 #endif
339
340 #if (RTE_MS_PPU_CRYPTO_BUF)
341 DEFINE_MS_PPU_FX(CRYPTO_BUF)
342 #endif
343
344 #if (RTE_MS_PPU_CPUSS_CM4)
345 DEFINE_MS_PPU_FX(CPUSS_CM4)
346 #endif
347
348 #if (RTE_MS_PPU_CPUSS_CM0)
349 DEFINE_MS_PPU_FX(CPUSS_CM0)
350 #endif
351
352 #if (RTE_MS_PPU_CPUSS_CM0_INT)
353 DEFINE_MS_PPU_FX(CPUSS_CM0_INT)
354 #endif
355
356 #if (RTE_MS_PPU_CPUSS_CM4_INT)
357 DEFINE_MS_PPU_FX(CPUSS_CM4_INT)
358 #endif
359
360 #if (RTE_MS_PPU_FAULT_STRUCT0_MAIN)
361 DEFINE_MS_PPU_FX(FAULT_STRUCT0_MAIN)
362 #endif
363
364 #if (RTE_MS_PPU_FAULT_STRUCT1_MAIN)
365 DEFINE_MS_PPU_FX(FAULT_STRUCT1_MAIN)
366 #endif
367
368 #if (RTE_MS_PPU_IPC_STRUCT0_IPC)
369 DEFINE_MS_PPU_FX(IPC_STRUCT0_IPC)
370 #endif
371
372 #if (RTE_MS_PPU_IPC_STRUCT1_IPC)
373 DEFINE_MS_PPU_FX(IPC_STRUCT1_IPC)
374 #endif
375
376 #if (RTE_MS_PPU_IPC_STRUCT2_IPC)
377 DEFINE_MS_PPU_FX(IPC_STRUCT2_IPC)
378 #endif
379
380 #if (RTE_MS_PPU_IPC_STRUCT3_IPC)
381 DEFINE_MS_PPU_FX(IPC_STRUCT3_IPC)
382 #endif
383
384 #if (RTE_MS_PPU_IPC_STRUCT4_IPC)
385 DEFINE_MS_PPU_FX(IPC_STRUCT4_IPC)
386 #endif
387
388 #if (RTE_MS_PPU_IPC_STRUCT5_IPC)
389 DEFINE_MS_PPU_FX(IPC_STRUCT5_IPC)
390 #endif
391
392 #if (RTE_MS_PPU_IPC_STRUCT6_IPC)
393 DEFINE_MS_PPU_FX(IPC_STRUCT6_IPC)
394 #endif
395
396 #if (RTE_MS_PPU_IPC_STRUCT7_IPC)
397 DEFINE_MS_PPU_FX(IPC_STRUCT7_IPC)
398 #endif
399
400 #if (RTE_MS_PPU_IPC_STRUCT8_IPC)
401 DEFINE_MS_PPU_FX(IPC_STRUCT8_IPC)
402 #endif
403
404 #if (RTE_MS_PPU_IPC_STRUCT9_IPC)
405 DEFINE_MS_PPU_FX(IPC_STRUCT9_IPC)
406 #endif
407
408 #if (RTE_MS_PPU_IPC_STRUCT10_IPC)
409 DEFINE_MS_PPU_FX(IPC_STRUCT10_IPC)
410 #endif
411
412 #if (RTE_MS_PPU_IPC_STRUCT11_IPC)
413 DEFINE_MS_PPU_FX(IPC_STRUCT11_IPC)
414 #endif
415
416 #if (RTE_MS_PPU_IPC_STRUCT12_IPC)
417 DEFINE_MS_PPU_FX(IPC_STRUCT12_IPC)
418 #endif
419
420 #if (RTE_MS_PPU_IPC_STRUCT13_IPC)
421 DEFINE_MS_PPU_FX(IPC_STRUCT13_IPC)
422 #endif
423
424 #if (RTE_MS_PPU_IPC_STRUCT14_IPC)
425 DEFINE_MS_PPU_FX(IPC_STRUCT14_IPC)
426 #endif
427
428 #if (RTE_MS_PPU_IPC_STRUCT15_IPC)
429 DEFINE_MS_PPU_FX(IPC_STRUCT15_IPC)
430 #endif
431
432 #if (RTE_MS_PPU_IPC_INTR_STRUCT1_INTR)
433 DEFINE_MS_PPU_FX(IPC_INTR_STRUCT1_INTR)
434 #endif
435
436 #if (RTE_MS_PPU_IPC_INTR_STRUCT2_INTR)
437 DEFINE_MS_PPU_FX(IPC_INTR_STRUCT2_INTR)
438 #endif
439
440 #if (RTE_MS_PPU_IPC_INTR_STRUCT3_INTR)
441 DEFINE_MS_PPU_FX(IPC_INTR_STRUCT3_INTR)
442 #endif
443
444 #if (RTE_MS_PPU_IPC_INTR_STRUCT4_INTR)
445 DEFINE_MS_PPU_FX(IPC_INTR_STRUCT4_INTR)
446 #endif
447
448 #if (RTE_MS_PPU_IPC_INTR_STRUCT5_INTR)
449 DEFINE_MS_PPU_FX(IPC_INTR_STRUCT5_INTR)
450 #endif
451
452 #if (RTE_MS_PPU_IPC_INTR_STRUCT6_INTR)
453 DEFINE_MS_PPU_FX(IPC_INTR_STRUCT6_INTR)
454 #endif
455
456 #if (RTE_MS_PPU_IPC_INTR_STRUCT7_INTR)
457 DEFINE_MS_PPU_FX(IPC_INTR_STRUCT7_INTR)
458 #endif
459
460 #if (RTE_MS_PPU_IPC_INTR_STRUCT8_INTR)
461 DEFINE_MS_PPU_FX(IPC_INTR_STRUCT8_INTR)
462 #endif
463
464 #if (RTE_MS_PPU_IPC_INTR_STRUCT9_INTR)
465 DEFINE_MS_PPU_FX(IPC_INTR_STRUCT9_INTR)
466 #endif
467
468 #if (RTE_MS_PPU_IPC_INTR_STRUCT10_INTR)
469 DEFINE_MS_PPU_FX(IPC_INTR_STRUCT10_INTR)
470 #endif
471
472 #if (RTE_MS_PPU_IPC_INTR_STRUCT11_INTR)
473 DEFINE_MS_PPU_FX(IPC_INTR_STRUCT11_INTR)
474 #endif
475
476 #if (RTE_MS_PPU_IPC_INTR_STRUCT12_INTR)
477 DEFINE_MS_PPU_FX(IPC_INTR_STRUCT12_INTR)
478 #endif
479
480 #if (RTE_MS_PPU_IPC_INTR_STRUCT13_INTR)
481 DEFINE_MS_PPU_FX(IPC_INTR_STRUCT13_INTR)
482 #endif
483
484 #if (RTE_MS_PPU_IPC_INTR_STRUCT14_INTR)
485 DEFINE_MS_PPU_FX(IPC_INTR_STRUCT14_INTR)
486 #endif
487
488 #if (RTE_MS_PPU_IPC_INTR_STRUCT15_INTR)
489 DEFINE_MS_PPU_FX(IPC_INTR_STRUCT15_INTR)
490 #endif
491
492 #if (RTE_MS_PPU_PROT_SMPU_MAIN)
493 DEFINE_MS_PPU_FX(PROT_SMPU_MAIN)
494 #endif
495
496 #if (RTE_MS_PPU_PROT_MPU0_MAIN)
497 DEFINE_MS_PPU_FX(PROT_MPU0_MAIN)
498 #endif
499
500 #if (RTE_MS_PPU_PROT_MPU5_MAIN)
501 DEFINE_MS_PPU_FX(PROT_MPU5_MAIN)
502 #endif
503
504 #if (RTE_MS_PPU_PROT_MPU6_MAIN)
505 DEFINE_MS_PPU_FX(PROT_MPU6_MAIN)
506 #endif
507
508 #if (RTE_MS_PPU_PROT_MPU14_MAIN)
509 DEFINE_MS_PPU_FX(PROT_MPU14_MAIN)
510 #endif
511
512 #if (RTE_MS_PPU_FLASHC_MAIN)
513 DEFINE_MS_PPU_FX(FLASHC_MAIN)
514 #endif
515
516 #if (RTE_MS_PPU_FLASHC_CMD)
517 DEFINE_MS_PPU_FX(FLASHC_CMD)
518 #endif
519
520 #if (RTE_MS_PPU_SRSS_MAIN1)
521 DEFINE_MS_PPU_FX(SRSS_MAIN1)
522 #endif
523
524 #if (RTE_MS_PPU_SRSS_MAIN2)
525 DEFINE_MS_PPU_FX(SRSS_MAIN2)
526 #endif
527
528 #if (RTE_MS_PPU_WDT)
529 DEFINE_MS_PPU_FX(WDT)
530 #endif
531
532 #if (RTE_MS_PPU_MAIN)
533 DEFINE_MS_PPU_FX(MAIN)
534 #endif
535
536 #if (RTE_MS_PPU_SRSS_MAIN3)
537 DEFINE_MS_PPU_FX(SRSS_MAIN3)
538 #endif
539
540 #if (RTE_MS_PPU_SRSS_MAIN4)
541 DEFINE_MS_PPU_FX(SRSS_MAIN4)
542 #endif
543
544 #if (RTE_MS_PPU_SRSS_MAIN5)
545 DEFINE_MS_PPU_FX(SRSS_MAIN5)
546 #endif
547
548 #if (RTE_MS_PPU_SRSS_MAIN6)
549 DEFINE_MS_PPU_FX(SRSS_MAIN6)
550 #endif
551
552 #if (RTE_MS_PPU_SRSS_MAIN7)
553 DEFINE_MS_PPU_FX(SRSS_MAIN7)
554 #endif
555
556 #if (RTE_MS_PPU_BACKUP_BACKUP)
557 DEFINE_MS_PPU_FX(BACKUP_BACKUP)
558 #endif
559
560 #if (RTE_MS_PPU_DW0_DW)
561 DEFINE_MS_PPU_FX(DW0_DW)
562 #endif
563
564 #if (RTE_MS_PPU_DW1_DW)
565 DEFINE_MS_PPU_FX(DW1_DW)
566 #endif
567
568 #if (RTE_MS_PPU_DW0_DW_CRC)
569 DEFINE_MS_PPU_FX(DW0_DW_CRC)
570 #endif
571
572 #if (RTE_MS_PPU_DW1_DW_CRC)
573 DEFINE_MS_PPU_FX(DW1_DW_CRC)
574 #endif
575
576 #if (RTE_MS_PPU_DW0_CH_STRUCT0_CH)
577 DEFINE_MS_PPU_FX(DW0_CH_STRUCT0_CH)
578 #endif
579
580 #if (RTE_MS_PPU_DW0_CH_STRUCT1_CH)
581 DEFINE_MS_PPU_FX(DW0_CH_STRUCT1_CH)
582 #endif
583
584 #if (RTE_MS_PPU_DW0_CH_STRUCT2_CH)
585 DEFINE_MS_PPU_FX(DW0_CH_STRUCT2_CH)
586 #endif
587
588 #if (RTE_MS_PPU_DW0_CH_STRUCT3_CH)
589 DEFINE_MS_PPU_FX(DW0_CH_STRUCT3_CH)
590 #endif
591
592 #if (RTE_MS_PPU_DW0_CH_STRUCT4_CH)
593 DEFINE_MS_PPU_FX(DW0_CH_STRUCT4_CH)
594 #endif
595
596 #if (RTE_MS_PPU_DW0_CH_STRUCT5_CH)
597 DEFINE_MS_PPU_FX(DW0_CH_STRUCT5_CH)
598 #endif
599
600 #if (RTE_MS_PPU_DW0_CH_STRUCT6_CH)
601 DEFINE_MS_PPU_FX(DW0_CH_STRUCT6_CH)
602 #endif
603
604 #if (RTE_MS_PPU_DW0_CH_STRUCT7_CH)
605 DEFINE_MS_PPU_FX(DW0_CH_STRUCT7_CH)
606 #endif
607
608 #if (RTE_MS_PPU_DW0_CH_STRUCT8_CH)
609 DEFINE_MS_PPU_FX(DW0_CH_STRUCT8_CH)
610 #endif
611
612 #if (RTE_MS_PPU_DW0_CH_STRUCT9_CH)
613 DEFINE_MS_PPU_FX(DW0_CH_STRUCT9_CH)
614 #endif
615
616 #if (RTE_MS_PPU_DW0_CH_STRUCT10_CH)
617 DEFINE_MS_PPU_FX(DW0_CH_STRUCT10_CH)
618 #endif
619
620 #if (RTE_MS_PPU_DW0_CH_STRUCT11_CH)
621 DEFINE_MS_PPU_FX(DW0_CH_STRUCT11_CH)
622 #endif
623
624 #if (RTE_MS_PPU_DW0_CH_STRUCT12_CH)
625 DEFINE_MS_PPU_FX(DW0_CH_STRUCT12_CH)
626 #endif
627
628 #if (RTE_MS_PPU_DW0_CH_STRUCT13_CH)
629 DEFINE_MS_PPU_FX(DW0_CH_STRUCT13_CH)
630 #endif
631
632 #if (RTE_MS_PPU_DW0_CH_STRUCT14_CH)
633 DEFINE_MS_PPU_FX(DW0_CH_STRUCT14_CH)
634 #endif
635
636 #if (RTE_MS_PPU_DW0_CH_STRUCT15_CH)
637 DEFINE_MS_PPU_FX(DW0_CH_STRUCT15_CH)
638 #endif
639
640 #if (RTE_MS_PPU_DW0_CH_STRUCT16_CH)
641 DEFINE_MS_PPU_FX(DW0_CH_STRUCT16_CH)
642 #endif
643
644 #if (RTE_MS_PPU_DW0_CH_STRUCT17_CH)
645 DEFINE_MS_PPU_FX(DW0_CH_STRUCT17_CH)
646 #endif
647
648 #if (RTE_MS_PPU_DW0_CH_STRUCT18_CH)
649 DEFINE_MS_PPU_FX(DW0_CH_STRUCT18_CH)
650 #endif
651
652 #if (RTE_MS_PPU_DW0_CH_STRUCT19_CH)
653 DEFINE_MS_PPU_FX(DW0_CH_STRUCT19_CH)
654 #endif
655
656 #if (RTE_MS_PPU_DW0_CH_STRUCT20_CH)
657 DEFINE_MS_PPU_FX(DW0_CH_STRUCT20_CH)
658 #endif
659
660 #if (RTE_MS_PPU_DW0_CH_STRUCT21_CH)
661 DEFINE_MS_PPU_FX(DW0_CH_STRUCT21_CH)
662 #endif
663
664 #if (RTE_MS_PPU_DW0_CH_STRUCT22_CH)
665 DEFINE_MS_PPU_FX(DW0_CH_STRUCT22_CH)
666 #endif
667
668 #if (RTE_MS_PPU_DW0_CH_STRUCT23_CH)
669 DEFINE_MS_PPU_FX(DW0_CH_STRUCT23_CH)
670 #endif
671
672 #if (RTE_MS_PPU_DW0_CH_STRUCT24_CH)
673 DEFINE_MS_PPU_FX(DW0_CH_STRUCT24_CH)
674 #endif
675
676 #if (RTE_MS_PPU_DW0_CH_STRUCT25_CH)
677 DEFINE_MS_PPU_FX(DW0_CH_STRUCT25_CH)
678 #endif
679
680 #if (RTE_MS_PPU_DW0_CH_STRUCT26_CH)
681 DEFINE_MS_PPU_FX(DW0_CH_STRUCT26_CH)
682 #endif
683
684 #if (RTE_MS_PPU_DW0_CH_STRUCT27_CH)
685 DEFINE_MS_PPU_FX(DW0_CH_STRUCT27_CH)
686 #endif
687
688 #if (RTE_MS_PPU_DW0_CH_STRUCT28_CH)
689 DEFINE_MS_PPU_FX(DW0_CH_STRUCT28_CH)
690 #endif
691
692 #if (RTE_MS_PPU_DW1_CH_STRUCT0_CH)
693 DEFINE_MS_PPU_FX(DW1_CH_STRUCT0_CH)
694 #endif
695
696 #if (RTE_MS_PPU_DW1_CH_STRUCT1_CH)
697 DEFINE_MS_PPU_FX(DW1_CH_STRUCT1_CH)
698 #endif
699
700 #if (RTE_MS_PPU_DW1_CH_STRUCT2_CH)
701 DEFINE_MS_PPU_FX(DW1_CH_STRUCT2_CH)
702 #endif
703
704 #if (RTE_MS_PPU_DW1_CH_STRUCT3_CH)
705 DEFINE_MS_PPU_FX(DW1_CH_STRUCT3_CH)
706 #endif
707
708 #if (RTE_MS_PPU_DW1_CH_STRUCT4_CH)
709 DEFINE_MS_PPU_FX(DW1_CH_STRUCT4_CH)
710 #endif
711
712 #if (RTE_MS_PPU_DW1_CH_STRUCT5_CH)
713 DEFINE_MS_PPU_FX(DW1_CH_STRUCT5_CH)
714 #endif
715
716 #if (RTE_MS_PPU_DW1_CH_STRUCT6_CH)
717 DEFINE_MS_PPU_FX(DW1_CH_STRUCT6_CH)
718 #endif
719
720 #if (RTE_MS_PPU_DW1_CH_STRUCT7_CH)
721 DEFINE_MS_PPU_FX(DW1_CH_STRUCT7_CH)
722 #endif
723
724 #if (RTE_MS_PPU_DW1_CH_STRUCT8_CH)
725 DEFINE_MS_PPU_FX(DW1_CH_STRUCT8_CH)
726 #endif
727
728 #if (RTE_MS_PPU_DW1_CH_STRUCT9_CH)
729 DEFINE_MS_PPU_FX(DW1_CH_STRUCT9_CH)
730 #endif
731
732 #if (RTE_MS_PPU_DW1_CH_STRUCT10_CH)
733 DEFINE_MS_PPU_FX(DW1_CH_STRUCT10_CH)
734 #endif
735
736 #if (RTE_MS_PPU_DW1_CH_STRUCT11_CH)
737 DEFINE_MS_PPU_FX(DW1_CH_STRUCT11_CH)
738 #endif
739
740 #if (RTE_MS_PPU_DW1_CH_STRUCT12_CH)
741 DEFINE_MS_PPU_FX(DW1_CH_STRUCT12_CH)
742 #endif
743
744 #if (RTE_MS_PPU_DW1_CH_STRUCT13_CH)
745 DEFINE_MS_PPU_FX(DW1_CH_STRUCT13_CH)
746 #endif
747
748 #if (RTE_MS_PPU_DW1_CH_STRUCT14_CH)
749 DEFINE_MS_PPU_FX(DW1_CH_STRUCT14_CH)
750 #endif
751
752 #if (RTE_MS_PPU_DW1_CH_STRUCT15_CH)
753 DEFINE_MS_PPU_FX(DW1_CH_STRUCT15_CH)
754 #endif
755
756 #if (RTE_MS_PPU_DW1_CH_STRUCT16_CH)
757 DEFINE_MS_PPU_FX(DW1_CH_STRUCT16_CH)
758 #endif
759
760 #if (RTE_MS_PPU_DW1_CH_STRUCT17_CH)
761 DEFINE_MS_PPU_FX(DW1_CH_STRUCT17_CH)
762 #endif
763
764 #if (RTE_MS_PPU_DW1_CH_STRUCT18_CH)
765 DEFINE_MS_PPU_FX(DW1_CH_STRUCT18_CH)
766 #endif
767
768 #if (RTE_MS_PPU_DW1_CH_STRUCT19_CH)
769 DEFINE_MS_PPU_FX(DW1_CH_STRUCT19_CH)
770 #endif
771
772 #if (RTE_MS_PPU_DW1_CH_STRUCT20_CH)
773 DEFINE_MS_PPU_FX(DW1_CH_STRUCT20_CH)
774 #endif
775
776 #if (RTE_MS_PPU_DW1_CH_STRUCT21_CH)
777 DEFINE_MS_PPU_FX(DW1_CH_STRUCT21_CH)
778 #endif
779
780 #if (RTE_MS_PPU_DW1_CH_STRUCT22_CH)
781 DEFINE_MS_PPU_FX(DW1_CH_STRUCT22_CH)
782 #endif
783
784 #if (RTE_MS_PPU_DW1_CH_STRUCT23_CH)
785 DEFINE_MS_PPU_FX(DW1_CH_STRUCT23_CH)
786 #endif
787
788 #if (RTE_MS_PPU_DW1_CH_STRUCT24_CH)
789 DEFINE_MS_PPU_FX(DW1_CH_STRUCT24_CH)
790 #endif
791
792 #if (RTE_MS_PPU_DW1_CH_STRUCT25_CH)
793 DEFINE_MS_PPU_FX(DW1_CH_STRUCT25_CH)
794 #endif
795
796 #if (RTE_MS_PPU_DW1_CH_STRUCT26_CH)
797 DEFINE_MS_PPU_FX(DW1_CH_STRUCT26_CH)
798 #endif
799
800 #if (RTE_MS_PPU_DW1_CH_STRUCT27_CH)
801 DEFINE_MS_PPU_FX(DW1_CH_STRUCT27_CH)
802 #endif
803
804 #if (RTE_MS_PPU_DW1_CH_STRUCT28_CH)
805 DEFINE_MS_PPU_FX(DW1_CH_STRUCT28_CH)
806 #endif
807
808 #if (RTE_MS_PPU_DMAC_TOP)
809 DEFINE_MS_PPU_FX(DMAC_TOP)
810 #endif
811
812 #if (RTE_MS_PPU_DMAC_CH0_CH)
813 DEFINE_MS_PPU_FX(DMAC_CH0_CH)
814 #endif
815
816 #if (RTE_MS_PPU_DMAC_CH1_CH)
817 DEFINE_MS_PPU_FX(DMAC_CH1_CH)
818 #endif
819
820 #if (RTE_MS_PPU_DMAC_CH2_CH)
821 DEFINE_MS_PPU_FX(DMAC_CH2_CH)
822 #endif
823
824 #if (RTE_MS_PPU_DMAC_CH3_CH)
825 DEFINE_MS_PPU_FX(DMAC_CH3_CH)
826 #endif
827
828 #if (RTE_MS_PPU_EFUSE_DATA)
829 DEFINE_MS_PPU_FX(EFUSE_DATA)
830 #endif
831
832 #if (RTE_MS_PPU_PROFILE)
833 DEFINE_MS_PPU_FX(PROFILE)
834 #endif
835
836 #if (RTE_MS_PPU_HSIOM_PRT0_PRT)
837 DEFINE_MS_PPU_FX(HSIOM_PRT0_PRT)
838 #endif
839
840 #if (RTE_MS_PPU_HSIOM_PRT1_PRT)
841 DEFINE_MS_PPU_FX(HSIOM_PRT1_PRT)
842 #endif
843
844 #if (RTE_MS_PPU_HSIOM_PRT2_PRT)
845 DEFINE_MS_PPU_FX(HSIOM_PRT2_PRT)
846 #endif
847
848 #if (RTE_MS_PPU_HSIOM_PRT3_PRT)
849 DEFINE_MS_PPU_FX(HSIOM_PRT3_PRT)
850 #endif
851
852 #if (RTE_MS_PPU_HSIOM_PRT4_PRT)
853 DEFINE_MS_PPU_FX(HSIOM_PRT4_PRT)
854 #endif
855
856 #if (RTE_MS_PPU_HSIOM_PRT5_PRT)
857 DEFINE_MS_PPU_FX(HSIOM_PRT5_PRT)
858 #endif
859
860 #if (RTE_MS_PPU_HSIOM_PRT6_PRT)
861 DEFINE_MS_PPU_FX(HSIOM_PRT6_PRT)
862 #endif
863
864 #if (RTE_MS_PPU_HSIOM_PRT7_PRT)
865 DEFINE_MS_PPU_FX(HSIOM_PRT7_PRT)
866 #endif
867
868 #if (RTE_MS_PPU_HSIOM_PRT8_PRT)
869 DEFINE_MS_PPU_FX(HSIOM_PRT8_PRT)
870 #endif
871
872 #if (RTE_MS_PPU_HSIOM_PRT9_PRT)
873 DEFINE_MS_PPU_FX(HSIOM_PRT9_PRT)
874 #endif
875
876 #if (RTE_MS_PPU_HSIOM_PRT10_PRT)
877 DEFINE_MS_PPU_FX(HSIOM_PRT10_PRT)
878 #endif
879
880 #if (RTE_MS_PPU_HSIOM_PRT11_PRT)
881 DEFINE_MS_PPU_FX(HSIOM_PRT11_PRT)
882 #endif
883
884 #if (RTE_MS_PPU_HSIOM_PRT12_PRT)
885 DEFINE_MS_PPU_FX(HSIOM_PRT12_PRT)
886 #endif
887
888 #if (RTE_MS_PPU_HSIOM_PRT13_PRT)
889 DEFINE_MS_PPU_FX(HSIOM_PRT13_PRT)
890 #endif
891
892 #if (RTE_MS_PPU_HSIOM_PRT14_PRT)
893 DEFINE_MS_PPU_FX(HSIOM_PRT14_PRT)
894 #endif
895
896 #if (RTE_MS_PPU_HSIOM_AMUX)
897 DEFINE_MS_PPU_FX(HSIOM_AMUX)
898 #endif
899
900 #if (RTE_MS_PPU_HSIOM_MON)
901 DEFINE_MS_PPU_FX(HSIOM_MON)
902 #endif
903
904 #if (RTE_MS_PPU_GPIO_PRT0_PRT)
905 DEFINE_MS_PPU_FX(GPIO_PRT0_PRT)
906 #endif
907
908 #if (RTE_MS_PPU_GPIO_PRT1_PRT)
909 DEFINE_MS_PPU_FX(GPIO_PRT1_PRT)
910 #endif
911
912 #if (RTE_MS_PPU_GPIO_PRT2_PRT)
913 DEFINE_MS_PPU_FX(GPIO_PRT2_PRT)
914 #endif
915
916 #if (RTE_MS_PPU_GPIO_PRT3_PRT)
917 DEFINE_MS_PPU_FX(GPIO_PRT3_PRT)
918 #endif
919
920 #if (RTE_MS_PPU_GPIO_PRT4_PRT)
921 DEFINE_MS_PPU_FX(GPIO_PRT4_PRT)
922 #endif
923
924 #if (RTE_MS_PPU_GPIO_PRT5_PRT)
925 DEFINE_MS_PPU_FX(GPIO_PRT5_PRT)
926 #endif
927
928 #if (RTE_MS_PPU_GPIO_PRT6_PRT)
929 DEFINE_MS_PPU_FX(GPIO_PRT6_PRT)
930 #endif
931
932 #if (RTE_MS_PPU_GPIO_PRT7_PRT)
933 DEFINE_MS_PPU_FX(GPIO_PRT7_PRT)
934 #endif
935
936 #if (RTE_MS_PPU_GPIO_PRT8_PRT)
937 DEFINE_MS_PPU_FX(GPIO_PRT8_PRT)
938 #endif
939
940 #if (RTE_MS_PPU_GPIO_PRT9_PRT)
941 DEFINE_MS_PPU_FX(GPIO_PRT9_PRT)
942 #endif
943
944 #if (RTE_MS_PPU_GPIO_PRT10_PRT)
945 DEFINE_MS_PPU_FX(GPIO_PRT10_PRT)
946 #endif
947
948 #if (RTE_MS_PPU_GPIO_PRT11_PRT)
949 DEFINE_MS_PPU_FX(GPIO_PRT11_PRT)
950 #endif
951
952 #if (RTE_MS_PPU_GPIO_PRT12_PRT)
953 DEFINE_MS_PPU_FX(GPIO_PRT12_PRT)
954 #endif
955
956 #if (RTE_MS_PPU_GPIO_PRT13_PRT)
957 DEFINE_MS_PPU_FX(GPIO_PRT13_PRT)
958 #endif
959
960 #if (RTE_MS_PPU_GPIO_PRT14_PRT)
961 DEFINE_MS_PPU_FX(GPIO_PRT14_PRT)
962 #endif
963
964 #if (RTE_MS_PPU_GPIO_PRT0_CFG)
965 DEFINE_MS_PPU_FX(GPIO_PRT0_CFG)
966 #endif
967
968 #if (RTE_MS_PPU_GPIO_PRT1_CFG)
969 DEFINE_MS_PPU_FX(GPIO_PRT1_CFG)
970 #endif
971
972 #if (RTE_MS_PPU_GPIO_PRT2_CFG)
973 DEFINE_MS_PPU_FX(GPIO_PRT2_CFG)
974 #endif
975
976 #if (RTE_MS_PPU_GPIO_PRT3_CFG)
977 DEFINE_MS_PPU_FX(GPIO_PRT3_CFG)
978 #endif
979
980 #if (RTE_MS_PPU_GPIO_PRT4_CFG)
981 DEFINE_MS_PPU_FX(GPIO_PRT4_CFG)
982 #endif
983
984 #if (RTE_MS_PPU_GPIO_PRT5_CFG)
985 DEFINE_MS_PPU_FX(GPIO_PRT5_CFG)
986 #endif
987
988 #if (RTE_MS_PPU_GPIO_PRT6_CFG)
989 DEFINE_MS_PPU_FX(GPIO_PRT6_CFG)
990 #endif
991
992 #if (RTE_MS_PPU_GPIO_PRT7_CFG)
993 DEFINE_MS_PPU_FX(GPIO_PRT7_CFG)
994 #endif
995
996 #if (RTE_MS_PPU_GPIO_PRT8_CFG)
997 DEFINE_MS_PPU_FX(GPIO_PRT8_CFG)
998 #endif
999
1000 #if (RTE_MS_PPU_GPIO_PRT9_CFG)
1001 DEFINE_MS_PPU_FX(GPIO_PRT9_CFG)
1002 #endif
1003
1004 #if (RTE_MS_PPU_GPIO_PRT10_CFG)
1005 DEFINE_MS_PPU_FX(GPIO_PRT10_CFG)
1006 #endif
1007
1008 #if (RTE_MS_PPU_GPIO_PRT11_CFG)
1009 DEFINE_MS_PPU_FX(GPIO_PRT11_CFG)
1010 #endif
1011
1012 #if (RTE_MS_PPU_GPIO_PRT12_CFG)
1013 DEFINE_MS_PPU_FX(GPIO_PRT12_CFG)
1014 #endif
1015
1016 #if (RTE_MS_PPU_GPIO_PRT13_CFG)
1017 DEFINE_MS_PPU_FX(GPIO_PRT13_CFG)
1018 #endif
1019
1020 #if (RTE_MS_PPU_GPIO_PRT14_CFG)
1021 DEFINE_MS_PPU_FX(GPIO_PRT14_CFG)
1022 #endif
1023
1024 #if (RTE_MS_PPU_GPIO_GPIO)
1025 DEFINE_MS_PPU_FX(GPIO_GPIO)
1026 #endif
1027
1028 #if (RTE_MS_PPU_SMARTIO_PRT8_PRT)
1029 DEFINE_MS_PPU_FX(SMARTIO_PRT8_PRT)
1030 #endif
1031
1032 #if (RTE_MS_PPU_SMARTIO_PRT9_PRT)
1033 DEFINE_MS_PPU_FX(SMARTIO_PRT9_PRT)
1034 #endif
1035
1036 #if (RTE_MS_PPU_LPCOMP)
1037 DEFINE_MS_PPU_FX(LPCOMP)
1038 #endif
1039
1040 #if (RTE_MS_PPU_CSD0)
1041 DEFINE_MS_PPU_FX(CSD0)
1042 #endif
1043
1044 #if (RTE_MS_PPU_TCPWM0)
1045 DEFINE_MS_PPU_FX(TCPWM0)
1046 #endif
1047
1048 #if (RTE_MS_PPU_TCPWM1)
1049 DEFINE_MS_PPU_FX(TCPWM1)
1050 #endif
1051
1052 #if (RTE_MS_PPU_LCD0)
1053 DEFINE_MS_PPU_FX(LCD0)
1054 #endif
1055
1056 #if (RTE_MS_PPU_USBFS0)
1057 DEFINE_MS_PPU_FX(USBFS0)
1058 #endif
1059
1060 #if (RTE_MS_PPU_SMIF0)
1061 DEFINE_MS_PPU_FX(SMIF0)
1062 #endif
1063
1064 #if (RTE_MS_PPU_SDHC0)
1065 DEFINE_MS_PPU_FX(SDHC0)
1066 #endif
1067
1068 #if (RTE_MS_PPU_SDHC1)
1069 DEFINE_MS_PPU_FX(SDHC1)
1070 #endif
1071
1072 #if (RTE_MS_PPU_SCB0)
1073 DEFINE_MS_PPU_FX(SCB0)
1074 #endif
1075
1076 #if (RTE_MS_PPU_SCB1)
1077 DEFINE_MS_PPU_FX(SCB1)
1078 #endif
1079
1080 #if (RTE_MS_PPU_SCB2)
1081 DEFINE_MS_PPU_FX(SCB2)
1082 #endif
1083
1084 #if (RTE_MS_PPU_SCB3)
1085 DEFINE_MS_PPU_FX(SCB3)
1086 #endif
1087
1088 #if (RTE_MS_PPU_SCB4)
1089 DEFINE_MS_PPU_FX(SCB4)
1090 #endif
1091
1092 #if (RTE_MS_PPU_SCB5)
1093 DEFINE_MS_PPU_FX(SCB5)
1094 #endif
1095
1096 #if (RTE_MS_PPU_SCB6)
1097 DEFINE_MS_PPU_FX(SCB6)
1098 #endif
1099
1100 #if (RTE_MS_PPU_SCB7)
1101 DEFINE_MS_PPU_FX(SCB7)
1102 #endif
1103
1104 #if (RTE_MS_PPU_SCB8)
1105 DEFINE_MS_PPU_FX(SCB8)
1106 #endif
1107
1108 #if (RTE_MS_PPU_SCB9)
1109 DEFINE_MS_PPU_FX(SCB9)
1110 #endif
1111
1112 #if (RTE_MS_PPU_SCB10)
1113 DEFINE_MS_PPU_FX(SCB10)
1114 #endif
1115
1116 #if (RTE_MS_PPU_SCB11)
1117 DEFINE_MS_PPU_FX(SCB11)
1118 #endif
1119
1120 #if (RTE_MS_PPU_SCB12)
1121 DEFINE_MS_PPU_FX(SCB12)
1122 #endif
1123
1124 #if (RTE_MS_PPU_PDM0)
1125 DEFINE_MS_PPU_FX(PDM0)
1126 #endif
1127
1128 #if (RTE_MS_PPU_I2S0)
1129 DEFINE_MS_PPU_FX(I2S0)
1130 #endif
1131
1132 #if (RTE_MS_PPU_I2S1)
1133 DEFINE_MS_PPU_FX(I2S1)
1134 #endif
1135