1 /* 2 * Copyright (c) 2020 - 2024 Renesas Electronics Corporation and/or its affiliates 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 /********************************************************************************************************************** 8 * File Name : intc_im33_iodefine.h 9 * Version : 1.00 10 * Description : IO define file for intc_im33. 11 *********************************************************************************************************************/ 12 13 /* ================================================================================================================= */ 14 /* ================ Device Specific Cluster Section ====== */ 15 /* ================================================================================================================= */ 16 17 /* ================================================================================================================= */ 18 /* ================ Device Specific Peripheral Section ====== */ 19 /* ================================================================================================================= */ 20 21 #ifndef INTC_IM33_IODEFINE_H 22 #define INTC_IM33_IODEFINE_H 23 24 typedef struct 25 { 26 union 27 { 28 __IOM uint32_t NSCR; 29 struct 30 { 31 __IOM uint32_t NSTAT : 1; 32 uint32_t : 15; 33 __IM uint32_t NSMON : 1; 34 uint32_t : 15; 35 } NSCR_b; 36 }; 37 union 38 { 39 __IOM uint32_t NITSR; 40 struct 41 { 42 __IOM uint32_t NTSEL : 1; 43 uint32_t : 31; 44 } NITSR_b; 45 }; 46 __IM uint8_t RESERVED[8]; 47 union 48 { 49 __IOM uint32_t ISCR; 50 struct 51 { 52 __IOM uint32_t ISTAT0 : 1; 53 __IOM uint32_t ISTAT1 : 1; 54 __IOM uint32_t ISTAT2 : 1; 55 __IOM uint32_t ISTAT3 : 1; 56 __IOM uint32_t ISTAT4 : 1; 57 __IOM uint32_t ISTAT5 : 1; 58 __IOM uint32_t ISTAT6 : 1; 59 __IOM uint32_t ISTAT7 : 1; 60 uint32_t : 24; 61 } ISCR_b; 62 }; 63 union 64 { 65 __IOM uint32_t IITSR; 66 struct 67 { 68 __IOM uint32_t IITSEL0 : 2; 69 __IOM uint32_t IITSEL1 : 2; 70 __IOM uint32_t IITSEL2 : 2; 71 __IOM uint32_t IITSEL3 : 2; 72 __IOM uint32_t IITSEL4 : 2; 73 __IOM uint32_t IITSEL5 : 2; 74 __IOM uint32_t IITSEL6 : 2; 75 __IOM uint32_t IITSEL7 : 2; 76 uint32_t : 16; 77 } IITSR_b; 78 }; 79 __IM uint8_t RESERVED1[8]; 80 union 81 { 82 __IOM uint32_t TSCR; 83 struct 84 { 85 __IOM uint32_t TSTAT0 : 1; 86 __IOM uint32_t TSTAT1 : 1; 87 __IOM uint32_t TSTAT2 : 1; 88 __IOM uint32_t TSTAT3 : 1; 89 __IOM uint32_t TSTAT4 : 1; 90 __IOM uint32_t TSTAT5 : 1; 91 __IOM uint32_t TSTAT6 : 1; 92 __IOM uint32_t TSTAT7 : 1; 93 __IOM uint32_t TSTAT8 : 1; 94 __IOM uint32_t TSTAT9 : 1; 95 __IOM uint32_t TSTAT10 : 1; 96 __IOM uint32_t TSTAT11 : 1; 97 __IOM uint32_t TSTAT12 : 1; 98 __IOM uint32_t TSTAT13 : 1; 99 __IOM uint32_t TSTAT14 : 1; 100 __IOM uint32_t TSTAT15 : 1; 101 __IOM uint32_t TSTAT16 : 1; 102 __IOM uint32_t TSTAT17 : 1; 103 __IOM uint32_t TSTAT18 : 1; 104 __IOM uint32_t TSTAT19 : 1; 105 __IOM uint32_t TSTAT20 : 1; 106 __IOM uint32_t TSTAT21 : 1; 107 __IOM uint32_t TSTAT22 : 1; 108 __IOM uint32_t TSTAT23 : 1; 109 __IOM uint32_t TSTAT24 : 1; 110 __IOM uint32_t TSTAT25 : 1; 111 __IOM uint32_t TSTAT26 : 1; 112 __IOM uint32_t TSTAT27 : 1; 113 __IOM uint32_t TSTAT28 : 1; 114 __IOM uint32_t TSTAT29 : 1; 115 __IOM uint32_t TSTAT30 : 1; 116 __IOM uint32_t TSTAT31 : 1; 117 } TSCR_b; 118 }; 119 union 120 { 121 __IOM uint32_t TITSR0; 122 struct 123 { 124 __IOM uint32_t TITSEL0 : 2; 125 __IOM uint32_t TITSEL1 : 2; 126 __IOM uint32_t TITSEL2 : 2; 127 __IOM uint32_t TITSEL3 : 2; 128 __IOM uint32_t TITSEL4 : 2; 129 __IOM uint32_t TITSEL5 : 2; 130 __IOM uint32_t TITSEL6 : 2; 131 __IOM uint32_t TITSEL7 : 2; 132 __IOM uint32_t TITSEL8 : 2; 133 __IOM uint32_t TITSEL9 : 2; 134 __IOM uint32_t TITSEL10 : 2; 135 __IOM uint32_t TITSEL11 : 2; 136 __IOM uint32_t TITSEL12 : 2; 137 __IOM uint32_t TITSEL13 : 2; 138 __IOM uint32_t TITSEL14 : 2; 139 __IOM uint32_t TITSEL15 : 2; 140 } TITSR0_b; 141 }; 142 union 143 { 144 __IOM uint32_t TITSR1; 145 struct 146 { 147 __IOM uint32_t TITSEL16 : 2; 148 __IOM uint32_t TITSEL17 : 2; 149 __IOM uint32_t TITSEL18 : 2; 150 __IOM uint32_t TITSEL19 : 2; 151 __IOM uint32_t TITSEL20 : 2; 152 __IOM uint32_t TITSEL21 : 2; 153 __IOM uint32_t TITSEL22 : 2; 154 __IOM uint32_t TITSEL23 : 2; 155 __IOM uint32_t TITSEL24 : 2; 156 __IOM uint32_t TITSEL25 : 2; 157 __IOM uint32_t TITSEL26 : 2; 158 __IOM uint32_t TITSEL27 : 2; 159 __IOM uint32_t TITSEL28 : 2; 160 __IOM uint32_t TITSEL29 : 2; 161 __IOM uint32_t TITSEL30 : 2; 162 __IOM uint32_t TITSEL31 : 2; 163 } TITSR1_b; 164 }; 165 __IM uint8_t RESERVED2[4]; 166 union 167 { 168 __IOM uint32_t TSSR0; 169 struct 170 { 171 __IOM uint32_t TSSEL0 : 7; 172 __IOM uint32_t TIEN0 : 1; 173 __IOM uint32_t TSSEL1 : 7; 174 __IOM uint32_t TIEN1 : 1; 175 __IOM uint32_t TSSEL2 : 7; 176 __IOM uint32_t TIEN2 : 1; 177 __IOM uint32_t TSSEL3 : 7; 178 __IOM uint32_t TIEN3 : 1; 179 } TSSR0_b; 180 }; 181 union 182 { 183 __IOM uint32_t TSSR1; 184 struct 185 { 186 __IOM uint32_t TSSEL4 : 7; 187 __IOM uint32_t TIEN4 : 1; 188 __IOM uint32_t TSSEL5 : 7; 189 __IOM uint32_t TIEN5 : 1; 190 __IOM uint32_t TSSEL6 : 7; 191 __IOM uint32_t TIEN6 : 1; 192 __IOM uint32_t TSSEL7 : 7; 193 __IOM uint32_t TIEN7 : 1; 194 } TSSR1_b; 195 }; 196 union 197 { 198 __IOM uint32_t TSSR2; 199 struct 200 { 201 __IOM uint32_t TSSEL8 : 7; 202 __IOM uint32_t TIEN8 : 1; 203 __IOM uint32_t TSSEL9 : 7; 204 __IOM uint32_t TIEN9 : 1; 205 __IOM uint32_t TSSEL10 : 7; 206 __IOM uint32_t TIEN10 : 1; 207 __IOM uint32_t TSSEL11 : 7; 208 __IOM uint32_t TIEN11 : 1; 209 } TSSR2_b; 210 }; 211 union 212 { 213 __IOM uint32_t TSSR3; 214 struct 215 { 216 __IOM uint32_t TSSEL12 : 7; 217 __IOM uint32_t TIEN12 : 1; 218 __IOM uint32_t TSSEL13 : 7; 219 __IOM uint32_t TIEN13 : 1; 220 __IOM uint32_t TSSEL14 : 7; 221 __IOM uint32_t TIEN14 : 1; 222 __IOM uint32_t TSSEL15 : 7; 223 __IOM uint32_t TIEN15 : 1; 224 } TSSR3_b; 225 }; 226 union 227 { 228 __IOM uint32_t TSSR4; 229 struct 230 { 231 __IOM uint32_t TSSEL16 : 7; 232 __IOM uint32_t TIEN16 : 1; 233 __IOM uint32_t TSSEL17 : 7; 234 __IOM uint32_t TIEN17 : 1; 235 __IOM uint32_t TSSEL18 : 7; 236 __IOM uint32_t TIEN18 : 1; 237 __IOM uint32_t TSSEL19 : 7; 238 __IOM uint32_t TIEN19 : 1; 239 } TSSR4_b; 240 }; 241 union 242 { 243 __IOM uint32_t TSSR5; 244 struct 245 { 246 __IOM uint32_t TSSEL20 : 7; 247 __IOM uint32_t TIEN20 : 1; 248 __IOM uint32_t TSSEL21 : 7; 249 __IOM uint32_t TIEN21 : 1; 250 __IOM uint32_t TSSEL22 : 7; 251 __IOM uint32_t TIEN22 : 1; 252 __IOM uint32_t TSSEL23 : 7; 253 __IOM uint32_t TIEN23 : 1; 254 } TSSR5_b; 255 }; 256 union 257 { 258 __IOM uint32_t TSSR6; 259 struct 260 { 261 __IOM uint32_t TSSEL24 : 7; 262 __IOM uint32_t TIEN24 : 1; 263 __IOM uint32_t TSSEL25 : 7; 264 __IOM uint32_t TIEN25 : 1; 265 __IOM uint32_t TSSEL26 : 7; 266 __IOM uint32_t TIEN26 : 1; 267 __IOM uint32_t TSSEL27 : 7; 268 __IOM uint32_t TIEN27 : 1; 269 } TSSR6_b; 270 }; 271 union 272 { 273 __IOM uint32_t TSSR7; 274 struct 275 { 276 __IOM uint32_t TSSEL28 : 7; 277 __IOM uint32_t TIEN28 : 1; 278 __IOM uint32_t TSSEL29 : 7; 279 __IOM uint32_t TIEN29 : 1; 280 __IOM uint32_t TSSEL30 : 7; 281 __IOM uint32_t TIEN30 : 1; 282 __IOM uint32_t TSSEL31 : 7; 283 __IOM uint32_t TIEN31 : 1; 284 } TSSR7_b; 285 }; 286 union 287 { 288 __IOM uint32_t BEISR0; 289 struct 290 { 291 __IOM uint32_t BESTAT0 : 1; 292 __IOM uint32_t BESTAT1 : 1; 293 __IOM uint32_t BESTAT2 : 1; 294 __IOM uint32_t BESTAT3 : 1; 295 __IOM uint32_t BESTAT4 : 1; 296 __IOM uint32_t BESTAT5 : 1; 297 __IOM uint32_t BESTAT6 : 1; 298 __IOM uint32_t BESTAT7 : 1; 299 __IOM uint32_t BESTAT8 : 1; 300 __IOM uint32_t BESTAT9 : 1; 301 __IOM uint32_t BESTAT10 : 1; 302 __IOM uint32_t BESTAT11 : 1; 303 __IOM uint32_t BESTAT12 : 1; 304 __IOM uint32_t BESTAT13 : 1; 305 __IOM uint32_t BESTAT14 : 1; 306 __IOM uint32_t BESTAT15 : 1; 307 __IOM uint32_t BESTAT16 : 1; 308 __IOM uint32_t BESTAT17 : 1; 309 __IOM uint32_t BESTAT18 : 1; 310 __IOM uint32_t BESTAT19 : 1; 311 __IOM uint32_t BESTAT20 : 1; 312 __IOM uint32_t BESTAT21 : 1; 313 __IOM uint32_t BESTAT22 : 1; 314 __IOM uint32_t BESTAT23 : 1; 315 __IOM uint32_t BESTAT24 : 1; 316 __IOM uint32_t BESTAT25 : 1; 317 __IOM uint32_t BESTAT26 : 1; 318 __IOM uint32_t BESTAT27 : 1; 319 __IOM uint32_t BESTAT28 : 1; 320 __IOM uint32_t BESTAT29 : 1; 321 __IOM uint32_t BESTAT30 : 1; 322 __IOM uint32_t BESTAT31 : 1; 323 } BEISR0_b; 324 }; 325 union 326 { 327 __IOM uint32_t BEISR1; 328 struct 329 { 330 __IOM uint32_t BESTAT32 : 1; 331 __IOM uint32_t BESTAT33 : 1; 332 __IOM uint32_t BESTAT34 : 1; 333 __IOM uint32_t BESTAT35 : 1; 334 __IOM uint32_t BESTAT36 : 1; 335 __IOM uint32_t BESTAT37 : 1; 336 __IOM uint32_t BESTAT38 : 1; 337 __IOM uint32_t BESTAT39 : 1; 338 __IOM uint32_t BESTAT40 : 1; 339 __IOM uint32_t BESTAT41 : 1; 340 __IOM uint32_t BESTAT42 : 1; 341 __IOM uint32_t BESTAT43 : 1; 342 __IOM uint32_t BESTAT44 : 1; 343 __IOM uint32_t BESTAT45 : 1; 344 __IOM uint32_t BESTAT46 : 1; 345 uint32_t : 17; 346 } BEISR1_b; 347 }; 348 __IM uint8_t RESERVED3[8]; 349 union 350 { 351 __IOM uint32_t EREISR0; 352 struct 353 { 354 __IOM uint32_t A01ESTAT0 : 1; 355 __IOM uint32_t A01ESTAT1 : 1; 356 __IOM uint32_t A01ESTAT2 : 1; 357 __IOM uint32_t A01ESTAT3 : 1; 358 __IOM uint32_t A01ESTAT4 : 1; 359 __IOM uint32_t A01ESTAT5 : 1; 360 __IOM uint32_t A01ESTAT6 : 1; 361 __IOM uint32_t A01ESTAT7 : 1; 362 __IOM uint32_t A11ESTAT0 : 1; 363 __IOM uint32_t A11ESTAT1 : 1; 364 __IOM uint32_t A11ESTAT2 : 1; 365 __IOM uint32_t A11ESTAT3 : 1; 366 __IOM uint32_t A11ESTAT4 : 1; 367 __IOM uint32_t A11ESTAT5 : 1; 368 __IOM uint32_t A11ESTAT6 : 1; 369 __IOM uint32_t A11ESTAT7 : 1; 370 uint32_t : 16; 371 } EREISR0_b; 372 }; 373 union 374 { 375 __IOM uint32_t EREISR1; 376 struct 377 { 378 __IOM uint32_t M01ESTAT0 : 1; 379 __IOM uint32_t M01ESTAT1 : 1; 380 __IOM uint32_t M01ESTAT2 : 1; 381 __IOM uint32_t M01ESTAT3 : 1; 382 __IOM uint32_t M01ESTAT4 : 1; 383 __IOM uint32_t M01ESTAT5 : 1; 384 __IOM uint32_t M01ESTAT6 : 1; 385 __IOM uint32_t M01ESTAT7 : 1; 386 __IOM uint32_t M11ESTAT0 : 1; 387 __IOM uint32_t M11ESTAT1 : 1; 388 __IOM uint32_t M11ESTAT2 : 1; 389 __IOM uint32_t M11ESTAT3 : 1; 390 __IOM uint32_t M11ESTAT4 : 1; 391 __IOM uint32_t M11ESTAT5 : 1; 392 __IOM uint32_t M11ESTAT6 : 1; 393 __IOM uint32_t M11ESTAT7 : 1; 394 uint32_t : 16; 395 } EREISR1_b; 396 }; 397 union 398 { 399 __IOM uint32_t EREISR2; 400 struct 401 { 402 __IOM uint32_t A02ESTAT0 : 1; 403 __IOM uint32_t A02ESTAT1 : 1; 404 __IOM uint32_t A02ESTAT2 : 1; 405 __IOM uint32_t A02ESTAT3 : 1; 406 __IOM uint32_t A02ESTAT4 : 1; 407 __IOM uint32_t A02ESTAT5 : 1; 408 __IOM uint32_t A02ESTAT6 : 1; 409 __IOM uint32_t A02ESTAT7 : 1; 410 __IOM uint32_t A12ESTAT0 : 1; 411 __IOM uint32_t A12ESTAT1 : 1; 412 __IOM uint32_t A12ESTAT2 : 1; 413 __IOM uint32_t A12ESTAT3 : 1; 414 __IOM uint32_t A12ESTAT4 : 1; 415 __IOM uint32_t A12ESTAT5 : 1; 416 __IOM uint32_t A12ESTAT6 : 1; 417 __IOM uint32_t A12ESTAT7 : 1; 418 uint32_t : 16; 419 } EREISR2_b; 420 }; 421 union 422 { 423 __IOM uint32_t EREISR3; 424 struct 425 { 426 __IOM uint32_t M02ESTAT0 : 1; 427 __IOM uint32_t M02ESTAT1 : 1; 428 __IOM uint32_t M02ESTAT2 : 1; 429 __IOM uint32_t M02ESTAT3 : 1; 430 __IOM uint32_t M02ESTAT4 : 1; 431 __IOM uint32_t M02ESTAT5 : 1; 432 __IOM uint32_t M02ESTAT6 : 1; 433 __IOM uint32_t M02ESTAT7 : 1; 434 __IOM uint32_t M12ESTAT0 : 1; 435 __IOM uint32_t M12ESTAT1 : 1; 436 __IOM uint32_t M12ESTAT2 : 1; 437 __IOM uint32_t M12ESTAT3 : 1; 438 __IOM uint32_t M12ESTAT4 : 1; 439 __IOM uint32_t M12ESTAT5 : 1; 440 __IOM uint32_t M12ESTAT6 : 1; 441 __IOM uint32_t M12ESTAT7 : 1; 442 uint32_t : 16; 443 } EREISR3_b; 444 }; 445 union 446 { 447 __IOM uint32_t EREISR4; 448 struct 449 { 450 __IOM uint32_t A0OFSTAT0 : 1; 451 __IOM uint32_t A0OFSTAT1 : 1; 452 __IOM uint32_t A0OFSTAT2 : 1; 453 __IOM uint32_t A0OFSTAT3 : 1; 454 __IOM uint32_t A0OFSTAT4 : 1; 455 __IOM uint32_t A0OFSTAT5 : 1; 456 __IOM uint32_t A0OFSTAT6 : 1; 457 __IOM uint32_t A0OFSTAT7 : 1; 458 __IOM uint32_t A1OFSTAT0 : 1; 459 __IOM uint32_t A1OFSTAT1 : 1; 460 __IOM uint32_t A1OFSTAT2 : 1; 461 __IOM uint32_t A1OFSTAT3 : 1; 462 __IOM uint32_t A1OFSTAT4 : 1; 463 __IOM uint32_t A1OFSTAT5 : 1; 464 __IOM uint32_t A1OFSTAT6 : 1; 465 __IOM uint32_t A1OFSTAT7 : 1; 466 uint32_t : 16; 467 } EREISR4_b; 468 }; 469 union 470 { 471 __IOM uint32_t EREISR5; 472 struct 473 { 474 __IOM uint32_t M0OFSTAT0 : 1; 475 __IOM uint32_t M0OFSTAT1 : 1; 476 __IOM uint32_t M0OFSTAT2 : 1; 477 __IOM uint32_t M0OFSTAT3 : 1; 478 __IOM uint32_t M0OFSTAT4 : 1; 479 __IOM uint32_t M0OFSTAT5 : 1; 480 __IOM uint32_t M0OFSTAT6 : 1; 481 __IOM uint32_t M0OFSTAT7 : 1; 482 __IOM uint32_t M1OFSTAT0 : 1; 483 __IOM uint32_t M1OFSTAT1 : 1; 484 __IOM uint32_t M1OFSTAT2 : 1; 485 __IOM uint32_t M1OFSTAT3 : 1; 486 __IOM uint32_t M1OFSTAT4 : 1; 487 __IOM uint32_t M1OFSTAT5 : 1; 488 __IOM uint32_t M1OFSTAT6 : 1; 489 __IOM uint32_t M1OFSTAT7 : 1; 490 uint32_t : 16; 491 } EREISR5_b; 492 }; 493 __IM uint8_t RESERVED4[8]; 494 union 495 { 496 __IOM uint32_t INTPMSEL0; 497 struct 498 { 499 __IOM uint32_t PMINTSEL0 : 1; 500 __IOM uint32_t PMINTSEL1 : 1; 501 __IOM uint32_t PMINTSEL2 : 1; 502 __IOM uint32_t PMINTSEL3 : 1; 503 __IOM uint32_t PMINTSEL4 : 1; 504 __IOM uint32_t PMINTSEL5 : 1; 505 __IOM uint32_t PMINTSEL6 : 1; 506 __IOM uint32_t PMINTSEL7 : 1; 507 __IOM uint32_t PMINTSEL8 : 1; 508 __IOM uint32_t PMINTSEL9 : 1; 509 __IOM uint32_t PMINTSEL10 : 1; 510 __IOM uint32_t PMINTSEL11 : 1; 511 __IOM uint32_t PMINTSEL12 : 1; 512 __IOM uint32_t PMINTSEL13 : 1; 513 __IOM uint32_t PMINTSEL14 : 1; 514 __IOM uint32_t PMINTSEL15 : 1; 515 __IOM uint32_t PMINTSEL16 : 1; 516 __IOM uint32_t PMINTSEL17 : 1; 517 __IOM uint32_t PMINTSEL18 : 1; 518 __IOM uint32_t PMINTSEL19 : 1; 519 __IOM uint32_t PMINTSEL20 : 1; 520 __IOM uint32_t PMINTSEL21 : 1; 521 __IOM uint32_t PMINTSEL22 : 1; 522 __IOM uint32_t PMINTSEL23 : 1; 523 __IOM uint32_t PMINTSEL24 : 1; 524 __IOM uint32_t PMINTSEL25 : 1; 525 __IOM uint32_t PMINTSEL26 : 1; 526 __IOM uint32_t PMINTSEL27 : 1; 527 __IOM uint32_t PMINTSEL28 : 1; 528 __IOM uint32_t PMINTSEL29 : 1; 529 __IOM uint32_t PMINTSEL30 : 1; 530 __IOM uint32_t PMINTSEL31 : 1; 531 } INTPMSEL0_b; 532 }; 533 union 534 { 535 __IOM uint32_t INTPMSEL1; 536 struct 537 { 538 __IOM uint32_t PMINTSEL32 : 1; 539 __IOM uint32_t PMINTSEL33 : 1; 540 __IOM uint32_t PMINTSEL34 : 1; 541 __IOM uint32_t PMINTSEL35 : 1; 542 __IOM uint32_t PMINTSEL36 : 1; 543 __IOM uint32_t PMINTSEL37 : 1; 544 __IOM uint32_t PMINTSEL38 : 1; 545 __IOM uint32_t PMINTSEL39 : 1; 546 __IOM uint32_t PMINTSEL40 : 1; 547 __IOM uint32_t PMINTSEL41 : 1; 548 __IOM uint32_t PMINTSEL42 : 1; 549 __IOM uint32_t PMINTSEL43 : 1; 550 uint32_t : 20; 551 } INTPMSEL1_b; 552 }; 553 } R_INTC_IM33_Type; 554 555 /* =========================================================================================================================== */ 556 /* ================ Device Specific Peripheral Address Map ================ */ 557 /* =========================================================================================================================== */ 558 #if BSP_FEATURE_CURRENT_CORE_IS_CM33_FPU 559 #define R_INTC_IM33_BASE 0x41070000 560 #else 561 #define R_INTC_IM33_BASE 0x41060000 562 #endif 563 564 /* =========================================================================================================================== */ 565 /* ================ Peripheral declaration ================ */ 566 /* =========================================================================================================================== */ 567 568 #define R_INTC_IM33 ((R_INTC_IM33_Type *) R_INTC_IM33_BASE) 569 570 #endif /* INTC_IM33_IODEFINE_H */ 571