tegra194.c (24225B)
1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * Copyright (C) 2017-2021 NVIDIA CORPORATION. All rights reserved. 4 */ 5 6#include <soc/tegra/mc.h> 7 8#include <dt-bindings/memory/tegra194-mc.h> 9 10#include "mc.h" 11 12static const struct tegra_mc_client tegra194_mc_clients[] = { 13 { 14 .id = TEGRA194_MEMORY_CLIENT_PTCR, 15 .name = "ptcr", 16 .sid = TEGRA194_SID_PASSTHROUGH, 17 .regs = { 18 .sid = { 19 .override = 0x000, 20 .security = 0x004, 21 }, 22 }, 23 }, { 24 .id = TEGRA194_MEMORY_CLIENT_MIU7R, 25 .name = "miu7r", 26 .sid = TEGRA194_SID_MIU, 27 .regs = { 28 .sid = { 29 .override = 0x008, 30 .security = 0x00c, 31 }, 32 }, 33 }, { 34 .id = TEGRA194_MEMORY_CLIENT_MIU7W, 35 .name = "miu7w", 36 .sid = TEGRA194_SID_MIU, 37 .regs = { 38 .sid = { 39 .override = 0x010, 40 .security = 0x014, 41 }, 42 }, 43 }, { 44 .id = TEGRA194_MEMORY_CLIENT_HDAR, 45 .name = "hdar", 46 .sid = TEGRA194_SID_HDA, 47 .regs = { 48 .sid = { 49 .override = 0x0a8, 50 .security = 0x0ac, 51 }, 52 }, 53 }, { 54 .id = TEGRA194_MEMORY_CLIENT_HOST1XDMAR, 55 .name = "host1xdmar", 56 .sid = TEGRA194_SID_HOST1X, 57 .regs = { 58 .sid = { 59 .override = 0x0b0, 60 .security = 0x0b4, 61 }, 62 }, 63 }, { 64 .id = TEGRA194_MEMORY_CLIENT_NVENCSRD, 65 .name = "nvencsrd", 66 .sid = TEGRA194_SID_NVENC, 67 .regs = { 68 .sid = { 69 .override = 0x0e0, 70 .security = 0x0e4, 71 }, 72 }, 73 }, { 74 .id = TEGRA194_MEMORY_CLIENT_SATAR, 75 .name = "satar", 76 .sid = TEGRA194_SID_SATA, 77 .regs = { 78 .sid = { 79 .override = 0x0f8, 80 .security = 0x0fc, 81 }, 82 }, 83 }, { 84 .id = TEGRA194_MEMORY_CLIENT_MPCORER, 85 .name = "mpcorer", 86 .sid = TEGRA194_SID_PASSTHROUGH, 87 .regs = { 88 .sid = { 89 .override = 0x138, 90 .security = 0x13c, 91 }, 92 }, 93 }, { 94 .id = TEGRA194_MEMORY_CLIENT_NVENCSWR, 95 .name = "nvencswr", 96 .sid = TEGRA194_SID_NVENC, 97 .regs = { 98 .sid = { 99 .override = 0x158, 100 .security = 0x15c, 101 }, 102 }, 103 }, { 104 .id = TEGRA194_MEMORY_CLIENT_HDAW, 105 .name = "hdaw", 106 .sid = TEGRA194_SID_HDA, 107 .regs = { 108 .sid = { 109 .override = 0x1a8, 110 .security = 0x1ac, 111 }, 112 }, 113 }, { 114 .id = TEGRA194_MEMORY_CLIENT_MPCOREW, 115 .name = "mpcorew", 116 .sid = TEGRA194_SID_PASSTHROUGH, 117 .regs = { 118 .sid = { 119 .override = 0x1c8, 120 .security = 0x1cc, 121 }, 122 }, 123 }, { 124 .id = TEGRA194_MEMORY_CLIENT_SATAW, 125 .name = "sataw", 126 .sid = TEGRA194_SID_SATA, 127 .regs = { 128 .sid = { 129 .override = 0x1e8, 130 .security = 0x1ec, 131 }, 132 }, 133 }, { 134 .id = TEGRA194_MEMORY_CLIENT_ISPRA, 135 .name = "ispra", 136 .sid = TEGRA194_SID_ISP, 137 .regs = { 138 .sid = { 139 .override = 0x220, 140 .security = 0x224, 141 }, 142 }, 143 }, { 144 .id = TEGRA194_MEMORY_CLIENT_ISPFALR, 145 .name = "ispfalr", 146 .sid = TEGRA194_SID_ISP_FALCON, 147 .regs = { 148 .sid = { 149 .override = 0x228, 150 .security = 0x22c, 151 }, 152 }, 153 }, { 154 .id = TEGRA194_MEMORY_CLIENT_ISPWA, 155 .name = "ispwa", 156 .sid = TEGRA194_SID_ISP, 157 .regs = { 158 .sid = { 159 .override = 0x230, 160 .security = 0x234, 161 }, 162 }, 163 }, { 164 .id = TEGRA194_MEMORY_CLIENT_ISPWB, 165 .name = "ispwb", 166 .sid = TEGRA194_SID_ISP, 167 .regs = { 168 .sid = { 169 .override = 0x238, 170 .security = 0x23c, 171 }, 172 }, 173 }, { 174 .id = TEGRA194_MEMORY_CLIENT_XUSB_HOSTR, 175 .name = "xusb_hostr", 176 .sid = TEGRA194_SID_XUSB_HOST, 177 .regs = { 178 .sid = { 179 .override = 0x250, 180 .security = 0x254, 181 }, 182 }, 183 }, { 184 .id = TEGRA194_MEMORY_CLIENT_XUSB_HOSTW, 185 .name = "xusb_hostw", 186 .sid = TEGRA194_SID_XUSB_HOST, 187 .regs = { 188 .sid = { 189 .override = 0x258, 190 .security = 0x25c, 191 }, 192 }, 193 }, { 194 .id = TEGRA194_MEMORY_CLIENT_XUSB_DEVR, 195 .name = "xusb_devr", 196 .sid = TEGRA194_SID_XUSB_DEV, 197 .regs = { 198 .sid = { 199 .override = 0x260, 200 .security = 0x264, 201 }, 202 }, 203 }, { 204 .id = TEGRA194_MEMORY_CLIENT_XUSB_DEVW, 205 .name = "xusb_devw", 206 .sid = TEGRA194_SID_XUSB_DEV, 207 .regs = { 208 .sid = { 209 .override = 0x268, 210 .security = 0x26c, 211 }, 212 }, 213 }, { 214 .id = TEGRA194_MEMORY_CLIENT_SDMMCRA, 215 .name = "sdmmcra", 216 .sid = TEGRA194_SID_SDMMC1, 217 .regs = { 218 .sid = { 219 .override = 0x300, 220 .security = 0x304, 221 }, 222 }, 223 }, { 224 .id = TEGRA194_MEMORY_CLIENT_SDMMCR, 225 .name = "sdmmcr", 226 .sid = TEGRA194_SID_SDMMC3, 227 .regs = { 228 .sid = { 229 .override = 0x310, 230 .security = 0x314, 231 }, 232 }, 233 }, { 234 .id = TEGRA194_MEMORY_CLIENT_SDMMCRAB, 235 .name = "sdmmcrab", 236 .sid = TEGRA194_SID_SDMMC4, 237 .regs = { 238 .sid = { 239 .override = 0x318, 240 .security = 0x31c, 241 }, 242 }, 243 }, { 244 .id = TEGRA194_MEMORY_CLIENT_SDMMCWA, 245 .name = "sdmmcwa", 246 .sid = TEGRA194_SID_SDMMC1, 247 .regs = { 248 .sid = { 249 .override = 0x320, 250 .security = 0x324, 251 }, 252 }, 253 }, { 254 .id = TEGRA194_MEMORY_CLIENT_SDMMCW, 255 .name = "sdmmcw", 256 .sid = TEGRA194_SID_SDMMC3, 257 .regs = { 258 .sid = { 259 .override = 0x330, 260 .security = 0x334, 261 }, 262 }, 263 }, { 264 .id = TEGRA194_MEMORY_CLIENT_SDMMCWAB, 265 .name = "sdmmcwab", 266 .sid = TEGRA194_SID_SDMMC4, 267 .regs = { 268 .sid = { 269 .override = 0x338, 270 .security = 0x33c, 271 }, 272 }, 273 }, { 274 .id = TEGRA194_MEMORY_CLIENT_VICSRD, 275 .name = "vicsrd", 276 .sid = TEGRA194_SID_VIC, 277 .regs = { 278 .sid = { 279 .override = 0x360, 280 .security = 0x364, 281 }, 282 }, 283 }, { 284 .id = TEGRA194_MEMORY_CLIENT_VICSWR, 285 .name = "vicswr", 286 .sid = TEGRA194_SID_VIC, 287 .regs = { 288 .sid = { 289 .override = 0x368, 290 .security = 0x36c, 291 }, 292 }, 293 }, { 294 .id = TEGRA194_MEMORY_CLIENT_VIW, 295 .name = "viw", 296 .sid = TEGRA194_SID_VI, 297 .regs = { 298 .sid = { 299 .override = 0x390, 300 .security = 0x394, 301 }, 302 }, 303 }, { 304 .id = TEGRA194_MEMORY_CLIENT_NVDECSRD, 305 .name = "nvdecsrd", 306 .sid = TEGRA194_SID_NVDEC, 307 .regs = { 308 .sid = { 309 .override = 0x3c0, 310 .security = 0x3c4, 311 }, 312 }, 313 }, { 314 .id = TEGRA194_MEMORY_CLIENT_NVDECSWR, 315 .name = "nvdecswr", 316 .sid = TEGRA194_SID_NVDEC, 317 .regs = { 318 .sid = { 319 .override = 0x3c8, 320 .security = 0x3cc, 321 }, 322 }, 323 }, { 324 .id = TEGRA194_MEMORY_CLIENT_APER, 325 .name = "aper", 326 .sid = TEGRA194_SID_APE, 327 .regs = { 328 .sid = { 329 .override = 0x3c0, 330 .security = 0x3c4, 331 }, 332 }, 333 }, { 334 .id = TEGRA194_MEMORY_CLIENT_APEW, 335 .name = "apew", 336 .sid = TEGRA194_SID_APE, 337 .regs = { 338 .sid = { 339 .override = 0x3d0, 340 .security = 0x3d4, 341 }, 342 }, 343 }, { 344 .id = TEGRA194_MEMORY_CLIENT_NVJPGSRD, 345 .name = "nvjpgsrd", 346 .sid = TEGRA194_SID_NVJPG, 347 .regs = { 348 .sid = { 349 .override = 0x3f0, 350 .security = 0x3f4, 351 }, 352 }, 353 }, { 354 .id = TEGRA194_MEMORY_CLIENT_NVJPGSWR, 355 .name = "nvjpgswr", 356 .sid = TEGRA194_SID_NVJPG, 357 .regs = { 358 .sid = { 359 .override = 0x3f0, 360 .security = 0x3f4, 361 }, 362 }, 363 }, { 364 .name = "axiapr", 365 .id = TEGRA194_MEMORY_CLIENT_AXIAPR, 366 .sid = TEGRA194_SID_PASSTHROUGH, 367 .regs = { 368 .sid = { 369 .override = 0x410, 370 .security = 0x414, 371 }, 372 }, 373 }, { 374 .id = TEGRA194_MEMORY_CLIENT_AXIAPW, 375 .name = "axiapw", 376 .sid = TEGRA194_SID_PASSTHROUGH, 377 .regs = { 378 .sid = { 379 .override = 0x418, 380 .security = 0x41c, 381 }, 382 }, 383 }, { 384 .id = TEGRA194_MEMORY_CLIENT_ETRR, 385 .name = "etrr", 386 .sid = TEGRA194_SID_ETR, 387 .regs = { 388 .sid = { 389 .override = 0x420, 390 .security = 0x424, 391 }, 392 }, 393 }, { 394 .id = TEGRA194_MEMORY_CLIENT_ETRW, 395 .name = "etrw", 396 .sid = TEGRA194_SID_ETR, 397 .regs = { 398 .sid = { 399 .override = 0x428, 400 .security = 0x42c, 401 }, 402 }, 403 }, { 404 .id = TEGRA194_MEMORY_CLIENT_AXISR, 405 .name = "axisr", 406 .sid = TEGRA194_SID_PASSTHROUGH, 407 .regs = { 408 .sid = { 409 .override = 0x460, 410 .security = 0x464, 411 }, 412 }, 413 }, { 414 .id = TEGRA194_MEMORY_CLIENT_AXISW, 415 .name = "axisw", 416 .sid = TEGRA194_SID_PASSTHROUGH, 417 .regs = { 418 .sid = { 419 .override = 0x468, 420 .security = 0x46c, 421 }, 422 }, 423 }, { 424 .id = TEGRA194_MEMORY_CLIENT_EQOSR, 425 .name = "eqosr", 426 .sid = TEGRA194_SID_EQOS, 427 .regs = { 428 .sid = { 429 .override = 0x470, 430 .security = 0x474, 431 }, 432 }, 433 }, { 434 .name = "eqosw", 435 .id = TEGRA194_MEMORY_CLIENT_EQOSW, 436 .sid = TEGRA194_SID_EQOS, 437 .regs = { 438 .sid = { 439 .override = 0x478, 440 .security = 0x47c, 441 }, 442 }, 443 }, { 444 .id = TEGRA194_MEMORY_CLIENT_UFSHCR, 445 .name = "ufshcr", 446 .sid = TEGRA194_SID_UFSHC, 447 .regs = { 448 .sid = { 449 .override = 0x480, 450 .security = 0x484, 451 }, 452 }, 453 }, { 454 .id = TEGRA194_MEMORY_CLIENT_UFSHCW, 455 .name = "ufshcw", 456 .sid = TEGRA194_SID_UFSHC, 457 .regs = { 458 .sid = { 459 .override = 0x488, 460 .security = 0x48c, 461 }, 462 }, 463 }, { 464 .id = TEGRA194_MEMORY_CLIENT_NVDISPLAYR, 465 .name = "nvdisplayr", 466 .sid = TEGRA194_SID_NVDISPLAY, 467 .regs = { 468 .sid = { 469 .override = 0x490, 470 .security = 0x494, 471 }, 472 }, 473 }, { 474 .id = TEGRA194_MEMORY_CLIENT_BPMPR, 475 .name = "bpmpr", 476 .sid = TEGRA194_SID_BPMP, 477 .regs = { 478 .sid = { 479 .override = 0x498, 480 .security = 0x49c, 481 }, 482 }, 483 }, { 484 .id = TEGRA194_MEMORY_CLIENT_BPMPW, 485 .name = "bpmpw", 486 .sid = TEGRA194_SID_BPMP, 487 .regs = { 488 .sid = { 489 .override = 0x4a0, 490 .security = 0x4a4, 491 }, 492 }, 493 }, { 494 .id = TEGRA194_MEMORY_CLIENT_BPMPDMAR, 495 .name = "bpmpdmar", 496 .sid = TEGRA194_SID_BPMP, 497 .regs = { 498 .sid = { 499 .override = 0x4a8, 500 .security = 0x4ac, 501 }, 502 }, 503 }, { 504 .id = TEGRA194_MEMORY_CLIENT_BPMPDMAW, 505 .name = "bpmpdmaw", 506 .sid = TEGRA194_SID_BPMP, 507 .regs = { 508 .sid = { 509 .override = 0x4b0, 510 .security = 0x4b4, 511 }, 512 }, 513 }, { 514 .id = TEGRA194_MEMORY_CLIENT_AONR, 515 .name = "aonr", 516 .sid = TEGRA194_SID_AON, 517 .regs = { 518 .sid = { 519 .override = 0x4b8, 520 .security = 0x4bc, 521 }, 522 }, 523 }, { 524 .id = TEGRA194_MEMORY_CLIENT_AONW, 525 .name = "aonw", 526 .sid = TEGRA194_SID_AON, 527 .regs = { 528 .sid = { 529 .override = 0x4c0, 530 .security = 0x4c4, 531 }, 532 }, 533 }, { 534 .id = TEGRA194_MEMORY_CLIENT_AONDMAR, 535 .name = "aondmar", 536 .sid = TEGRA194_SID_AON, 537 .regs = { 538 .sid = { 539 .override = 0x4c8, 540 .security = 0x4cc, 541 }, 542 }, 543 }, { 544 .id = TEGRA194_MEMORY_CLIENT_AONDMAW, 545 .name = "aondmaw", 546 .sid = TEGRA194_SID_AON, 547 .regs = { 548 .sid = { 549 .override = 0x4d0, 550 .security = 0x4d4, 551 }, 552 }, 553 }, { 554 .id = TEGRA194_MEMORY_CLIENT_SCER, 555 .name = "scer", 556 .sid = TEGRA194_SID_SCE, 557 .regs = { 558 .sid = { 559 .override = 0x4d8, 560 .security = 0x4dc, 561 }, 562 }, 563 }, { 564 .id = TEGRA194_MEMORY_CLIENT_SCEW, 565 .name = "scew", 566 .sid = TEGRA194_SID_SCE, 567 .regs = { 568 .sid = { 569 .override = 0x4e0, 570 .security = 0x4e4, 571 }, 572 }, 573 }, { 574 .id = TEGRA194_MEMORY_CLIENT_SCEDMAR, 575 .name = "scedmar", 576 .sid = TEGRA194_SID_SCE, 577 .regs = { 578 .sid = { 579 .override = 0x4e8, 580 .security = 0x4ec, 581 }, 582 }, 583 }, { 584 .id = TEGRA194_MEMORY_CLIENT_SCEDMAW, 585 .name = "scedmaw", 586 .sid = TEGRA194_SID_SCE, 587 .regs = { 588 .sid = { 589 .override = 0x4f0, 590 .security = 0x4f4, 591 }, 592 }, 593 }, { 594 .id = TEGRA194_MEMORY_CLIENT_APEDMAR, 595 .name = "apedmar", 596 .sid = TEGRA194_SID_APE, 597 .regs = { 598 .sid = { 599 .override = 0x4f8, 600 .security = 0x4fc, 601 }, 602 }, 603 }, { 604 .id = TEGRA194_MEMORY_CLIENT_APEDMAW, 605 .name = "apedmaw", 606 .sid = TEGRA194_SID_APE, 607 .regs = { 608 .sid = { 609 .override = 0x500, 610 .security = 0x504, 611 }, 612 }, 613 }, { 614 .id = TEGRA194_MEMORY_CLIENT_NVDISPLAYR1, 615 .name = "nvdisplayr1", 616 .sid = TEGRA194_SID_NVDISPLAY, 617 .regs = { 618 .sid = { 619 .override = 0x508, 620 .security = 0x50c, 621 }, 622 }, 623 }, { 624 .id = TEGRA194_MEMORY_CLIENT_VICSRD1, 625 .name = "vicsrd1", 626 .sid = TEGRA194_SID_VIC, 627 .regs = { 628 .sid = { 629 .override = 0x510, 630 .security = 0x514, 631 }, 632 }, 633 }, { 634 .id = TEGRA194_MEMORY_CLIENT_NVDECSRD1, 635 .name = "nvdecsrd1", 636 .sid = TEGRA194_SID_NVDEC, 637 .regs = { 638 .sid = { 639 .override = 0x518, 640 .security = 0x51c, 641 }, 642 }, 643 }, { 644 .id = TEGRA194_MEMORY_CLIENT_MIU0R, 645 .name = "miu0r", 646 .sid = TEGRA194_SID_MIU, 647 .regs = { 648 .sid = { 649 .override = 0x530, 650 .security = 0x534, 651 }, 652 }, 653 }, { 654 .name = "miu0w", 655 .id = TEGRA194_MEMORY_CLIENT_MIU0W, 656 .sid = TEGRA194_SID_MIU, 657 .regs = { 658 .sid = { 659 .override = 0x538, 660 .security = 0x53c, 661 }, 662 }, 663 }, { 664 .id = TEGRA194_MEMORY_CLIENT_MIU1R, 665 .name = "miu1r", 666 .sid = TEGRA194_SID_MIU, 667 .regs = { 668 .sid = { 669 .override = 0x540, 670 .security = 0x544, 671 }, 672 }, 673 }, { 674 .id = TEGRA194_MEMORY_CLIENT_MIU1W, 675 .name = "miu1w", 676 .sid = TEGRA194_SID_MIU, 677 .regs = { 678 .sid = { 679 .override = 0x548, 680 .security = 0x54c, 681 }, 682 }, 683 }, { 684 .id = TEGRA194_MEMORY_CLIENT_MIU2R, 685 .name = "miu2r", 686 .sid = TEGRA194_SID_MIU, 687 .regs = { 688 .sid = { 689 .override = 0x570, 690 .security = 0x574, 691 }, 692 }, 693 }, { 694 .id = TEGRA194_MEMORY_CLIENT_MIU2W, 695 .name = "miu2w", 696 .sid = TEGRA194_SID_MIU, 697 .regs = { 698 .sid = { 699 .override = 0x578, 700 .security = 0x57c, 701 }, 702 }, 703 }, { 704 .id = TEGRA194_MEMORY_CLIENT_MIU3R, 705 .name = "miu3r", 706 .sid = TEGRA194_SID_MIU, 707 .regs = { 708 .sid = { 709 .override = 0x580, 710 .security = 0x584, 711 }, 712 }, 713 }, { 714 .id = TEGRA194_MEMORY_CLIENT_MIU3W, 715 .name = "miu3w", 716 .sid = TEGRA194_SID_MIU, 717 .regs = { 718 .sid = { 719 .override = 0x588, 720 .security = 0x58c, 721 }, 722 }, 723 }, { 724 .id = TEGRA194_MEMORY_CLIENT_MIU4R, 725 .name = "miu4r", 726 .sid = TEGRA194_SID_MIU, 727 .regs = { 728 .sid = { 729 .override = 0x590, 730 .security = 0x594, 731 }, 732 }, 733 }, { 734 .id = TEGRA194_MEMORY_CLIENT_MIU4W, 735 .name = "miu4w", 736 .sid = TEGRA194_SID_MIU, 737 .regs = { 738 .sid = { 739 .override = 0x598, 740 .security = 0x59c, 741 }, 742 }, 743 }, { 744 .id = TEGRA194_MEMORY_CLIENT_DPMUR, 745 .name = "dpmur", 746 .sid = TEGRA194_SID_PASSTHROUGH, 747 .regs = { 748 .sid = { 749 .override = 0x598, 750 .security = 0x59c, 751 }, 752 }, 753 }, { 754 .id = TEGRA194_MEMORY_CLIENT_VIFALR, 755 .name = "vifalr", 756 .sid = TEGRA194_SID_VI_FALCON, 757 .regs = { 758 .sid = { 759 .override = 0x5e0, 760 .security = 0x5e4, 761 }, 762 }, 763 }, { 764 .id = TEGRA194_MEMORY_CLIENT_VIFALW, 765 .name = "vifalw", 766 .sid = TEGRA194_SID_VI_FALCON, 767 .regs = { 768 .sid = { 769 .override = 0x5e8, 770 .security = 0x5ec, 771 }, 772 }, 773 }, { 774 .id = TEGRA194_MEMORY_CLIENT_DLA0RDA, 775 .name = "dla0rda", 776 .sid = TEGRA194_SID_NVDLA0, 777 .regs = { 778 .sid = { 779 .override = 0x5f0, 780 .security = 0x5f4, 781 }, 782 }, 783 }, { 784 .id = TEGRA194_MEMORY_CLIENT_DLA0FALRDB, 785 .name = "dla0falrdb", 786 .sid = TEGRA194_SID_NVDLA0, 787 .regs = { 788 .sid = { 789 .override = 0x5f8, 790 .security = 0x5fc, 791 }, 792 }, 793 }, { 794 .id = TEGRA194_MEMORY_CLIENT_DLA0WRA, 795 .name = "dla0wra", 796 .sid = TEGRA194_SID_NVDLA0, 797 .regs = { 798 .sid = { 799 .override = 0x600, 800 .security = 0x604, 801 }, 802 }, 803 }, { 804 .id = TEGRA194_MEMORY_CLIENT_DLA0FALWRB, 805 .name = "dla0falwrb", 806 .sid = TEGRA194_SID_NVDLA0, 807 .regs = { 808 .sid = { 809 .override = 0x608, 810 .security = 0x60c, 811 }, 812 }, 813 }, { 814 .id = TEGRA194_MEMORY_CLIENT_DLA1RDA, 815 .name = "dla1rda", 816 .sid = TEGRA194_SID_NVDLA1, 817 .regs = { 818 .sid = { 819 .override = 0x610, 820 .security = 0x614, 821 }, 822 }, 823 }, { 824 .id = TEGRA194_MEMORY_CLIENT_DLA1FALRDB, 825 .name = "dla1falrdb", 826 .sid = TEGRA194_SID_NVDLA1, 827 .regs = { 828 .sid = { 829 .override = 0x618, 830 .security = 0x61c, 831 }, 832 }, 833 }, { 834 .id = TEGRA194_MEMORY_CLIENT_DLA1WRA, 835 .name = "dla1wra", 836 .sid = TEGRA194_SID_NVDLA1, 837 .regs = { 838 .sid = { 839 .override = 0x620, 840 .security = 0x624, 841 }, 842 }, 843 }, { 844 .id = TEGRA194_MEMORY_CLIENT_DLA1FALWRB, 845 .name = "dla1falwrb", 846 .sid = TEGRA194_SID_NVDLA1, 847 .regs = { 848 .sid = { 849 .override = 0x628, 850 .security = 0x62c, 851 }, 852 }, 853 }, { 854 .id = TEGRA194_MEMORY_CLIENT_PVA0RDA, 855 .name = "pva0rda", 856 .sid = TEGRA194_SID_PVA0, 857 .regs = { 858 .sid = { 859 .override = 0x630, 860 .security = 0x634, 861 }, 862 }, 863 }, { 864 .id = TEGRA194_MEMORY_CLIENT_PVA0RDB, 865 .name = "pva0rdb", 866 .sid = TEGRA194_SID_PVA0, 867 .regs = { 868 .sid = { 869 .override = 0x638, 870 .security = 0x63c, 871 }, 872 }, 873 }, { 874 .id = TEGRA194_MEMORY_CLIENT_PVA0RDC, 875 .name = "pva0rdc", 876 .sid = TEGRA194_SID_PVA0, 877 .regs = { 878 .sid = { 879 .override = 0x640, 880 .security = 0x644, 881 }, 882 }, 883 }, { 884 .id = TEGRA194_MEMORY_CLIENT_PVA0WRA, 885 .name = "pva0wra", 886 .sid = TEGRA194_SID_PVA0, 887 .regs = { 888 .sid = { 889 .override = 0x648, 890 .security = 0x64c, 891 }, 892 }, 893 }, { 894 .id = TEGRA194_MEMORY_CLIENT_PVA0WRB, 895 .name = "pva0wrb", 896 .sid = TEGRA194_SID_PVA0, 897 .regs = { 898 .sid = { 899 .override = 0x650, 900 .security = 0x654, 901 }, 902 }, 903 }, { 904 .id = TEGRA194_MEMORY_CLIENT_PVA0WRC, 905 .name = "pva0wrc", 906 .sid = TEGRA194_SID_PVA0, 907 .regs = { 908 .sid = { 909 .override = 0x658, 910 .security = 0x65c, 911 }, 912 }, 913 }, { 914 .id = TEGRA194_MEMORY_CLIENT_PVA1RDA, 915 .name = "pva1rda", 916 .sid = TEGRA194_SID_PVA1, 917 .regs = { 918 .sid = { 919 .override = 0x660, 920 .security = 0x664, 921 }, 922 }, 923 }, { 924 .id = TEGRA194_MEMORY_CLIENT_PVA1RDB, 925 .name = "pva1rdb", 926 .sid = TEGRA194_SID_PVA1, 927 .regs = { 928 .sid = { 929 .override = 0x668, 930 .security = 0x66c, 931 }, 932 }, 933 }, { 934 .id = TEGRA194_MEMORY_CLIENT_PVA1RDC, 935 .name = "pva1rdc", 936 .sid = TEGRA194_SID_PVA1, 937 .regs = { 938 .sid = { 939 .override = 0x670, 940 .security = 0x674, 941 }, 942 }, 943 }, { 944 .id = TEGRA194_MEMORY_CLIENT_PVA1WRA, 945 .name = "pva1wra", 946 .sid = TEGRA194_SID_PVA1, 947 .regs = { 948 .sid = { 949 .override = 0x678, 950 .security = 0x67c, 951 }, 952 }, 953 }, { 954 .id = TEGRA194_MEMORY_CLIENT_PVA1WRB, 955 .name = "pva1wrb", 956 .sid = TEGRA194_SID_PVA1, 957 .regs = { 958 .sid = { 959 .override = 0x680, 960 .security = 0x684, 961 }, 962 }, 963 }, { 964 .id = TEGRA194_MEMORY_CLIENT_PVA1WRC, 965 .name = "pva1wrc", 966 .sid = TEGRA194_SID_PVA1, 967 .regs = { 968 .sid = { 969 .override = 0x688, 970 .security = 0x68c, 971 }, 972 }, 973 }, { 974 .id = TEGRA194_MEMORY_CLIENT_RCER, 975 .name = "rcer", 976 .sid = TEGRA194_SID_RCE, 977 .regs = { 978 .sid = { 979 .override = 0x690, 980 .security = 0x694, 981 }, 982 }, 983 }, { 984 .id = TEGRA194_MEMORY_CLIENT_RCEW, 985 .name = "rcew", 986 .sid = TEGRA194_SID_RCE, 987 .regs = { 988 .sid = { 989 .override = 0x698, 990 .security = 0x69c, 991 }, 992 }, 993 }, { 994 .id = TEGRA194_MEMORY_CLIENT_RCEDMAR, 995 .name = "rcedmar", 996 .sid = TEGRA194_SID_RCE, 997 .regs = { 998 .sid = { 999 .override = 0x6a0, 1000 .security = 0x6a4, 1001 }, 1002 }, 1003 }, { 1004 .id = TEGRA194_MEMORY_CLIENT_RCEDMAW, 1005 .name = "rcedmaw", 1006 .sid = TEGRA194_SID_RCE, 1007 .regs = { 1008 .sid = { 1009 .override = 0x6a8, 1010 .security = 0x6ac, 1011 }, 1012 }, 1013 }, { 1014 .id = TEGRA194_MEMORY_CLIENT_NVENC1SRD, 1015 .name = "nvenc1srd", 1016 .sid = TEGRA194_SID_NVENC1, 1017 .regs = { 1018 .sid = { 1019 .override = 0x6b0, 1020 .security = 0x6b4, 1021 }, 1022 }, 1023 }, { 1024 .id = TEGRA194_MEMORY_CLIENT_NVENC1SWR, 1025 .name = "nvenc1swr", 1026 .sid = TEGRA194_SID_NVENC1, 1027 .regs = { 1028 .sid = { 1029 .override = 0x6b8, 1030 .security = 0x6bc, 1031 }, 1032 }, 1033 }, { 1034 .id = TEGRA194_MEMORY_CLIENT_PCIE0R, 1035 .name = "pcie0r", 1036 .sid = TEGRA194_SID_PCIE0, 1037 .regs = { 1038 .sid = { 1039 .override = 0x6c0, 1040 .security = 0x6c4, 1041 }, 1042 }, 1043 }, { 1044 .id = TEGRA194_MEMORY_CLIENT_PCIE0W, 1045 .name = "pcie0w", 1046 .sid = TEGRA194_SID_PCIE0, 1047 .regs = { 1048 .sid = { 1049 .override = 0x6c8, 1050 .security = 0x6cc, 1051 }, 1052 }, 1053 }, { 1054 .id = TEGRA194_MEMORY_CLIENT_PCIE1R, 1055 .name = "pcie1r", 1056 .sid = TEGRA194_SID_PCIE1, 1057 .regs = { 1058 .sid = { 1059 .override = 0x6d0, 1060 .security = 0x6d4, 1061 }, 1062 }, 1063 }, { 1064 .id = TEGRA194_MEMORY_CLIENT_PCIE1W, 1065 .name = "pcie1w", 1066 .sid = TEGRA194_SID_PCIE1, 1067 .regs = { 1068 .sid = { 1069 .override = 0x6d8, 1070 .security = 0x6dc, 1071 }, 1072 }, 1073 }, { 1074 .id = TEGRA194_MEMORY_CLIENT_PCIE2AR, 1075 .name = "pcie2ar", 1076 .sid = TEGRA194_SID_PCIE2, 1077 .regs = { 1078 .sid = { 1079 .override = 0x6e0, 1080 .security = 0x6e4, 1081 }, 1082 }, 1083 }, { 1084 .id = TEGRA194_MEMORY_CLIENT_PCIE2AW, 1085 .name = "pcie2aw", 1086 .sid = TEGRA194_SID_PCIE2, 1087 .regs = { 1088 .sid = { 1089 .override = 0x6e8, 1090 .security = 0x6ec, 1091 }, 1092 }, 1093 }, { 1094 .id = TEGRA194_MEMORY_CLIENT_PCIE3R, 1095 .name = "pcie3r", 1096 .sid = TEGRA194_SID_PCIE3, 1097 .regs = { 1098 .sid = { 1099 .override = 0x6f0, 1100 .security = 0x6f4, 1101 }, 1102 }, 1103 }, { 1104 .id = TEGRA194_MEMORY_CLIENT_PCIE3W, 1105 .name = "pcie3w", 1106 .sid = TEGRA194_SID_PCIE3, 1107 .regs = { 1108 .sid = { 1109 .override = 0x6f8, 1110 .security = 0x6fc, 1111 }, 1112 }, 1113 }, { 1114 .id = TEGRA194_MEMORY_CLIENT_PCIE4R, 1115 .name = "pcie4r", 1116 .sid = TEGRA194_SID_PCIE4, 1117 .regs = { 1118 .sid = { 1119 .override = 0x700, 1120 .security = 0x704, 1121 }, 1122 }, 1123 }, { 1124 .id = TEGRA194_MEMORY_CLIENT_PCIE4W, 1125 .name = "pcie4w", 1126 .sid = TEGRA194_SID_PCIE4, 1127 .regs = { 1128 .sid = { 1129 .override = 0x708, 1130 .security = 0x70c, 1131 }, 1132 }, 1133 }, { 1134 .id = TEGRA194_MEMORY_CLIENT_PCIE5R, 1135 .name = "pcie5r", 1136 .sid = TEGRA194_SID_PCIE5, 1137 .regs = { 1138 .sid = { 1139 .override = 0x710, 1140 .security = 0x714, 1141 }, 1142 }, 1143 }, { 1144 .id = TEGRA194_MEMORY_CLIENT_PCIE5W, 1145 .name = "pcie5w", 1146 .sid = TEGRA194_SID_PCIE5, 1147 .regs = { 1148 .sid = { 1149 .override = 0x718, 1150 .security = 0x71c, 1151 }, 1152 }, 1153 }, { 1154 .id = TEGRA194_MEMORY_CLIENT_ISPFALW, 1155 .name = "ispfalw", 1156 .sid = TEGRA194_SID_ISP_FALCON, 1157 .regs = { 1158 .sid = { 1159 .override = 0x720, 1160 .security = 0x724, 1161 }, 1162 }, 1163 }, { 1164 .id = TEGRA194_MEMORY_CLIENT_DLA0RDA1, 1165 .name = "dla0rda1", 1166 .sid = TEGRA194_SID_NVDLA0, 1167 .regs = { 1168 .sid = { 1169 .override = 0x748, 1170 .security = 0x74c, 1171 }, 1172 }, 1173 }, { 1174 .id = TEGRA194_MEMORY_CLIENT_DLA1RDA1, 1175 .name = "dla1rda1", 1176 .sid = TEGRA194_SID_NVDLA1, 1177 .regs = { 1178 .sid = { 1179 .override = 0x750, 1180 .security = 0x754, 1181 }, 1182 }, 1183 }, { 1184 .id = TEGRA194_MEMORY_CLIENT_PVA0RDA1, 1185 .name = "pva0rda1", 1186 .sid = TEGRA194_SID_PVA0, 1187 .regs = { 1188 .sid = { 1189 .override = 0x758, 1190 .security = 0x75c, 1191 }, 1192 }, 1193 }, { 1194 .id = TEGRA194_MEMORY_CLIENT_PVA0RDB1, 1195 .name = "pva0rdb1", 1196 .sid = TEGRA194_SID_PVA0, 1197 .regs = { 1198 .sid = { 1199 .override = 0x760, 1200 .security = 0x764, 1201 }, 1202 }, 1203 }, { 1204 .id = TEGRA194_MEMORY_CLIENT_PVA1RDA1, 1205 .name = "pva1rda1", 1206 .sid = TEGRA194_SID_PVA1, 1207 .regs = { 1208 .sid = { 1209 .override = 0x768, 1210 .security = 0x76c, 1211 }, 1212 }, 1213 }, { 1214 .id = TEGRA194_MEMORY_CLIENT_PVA1RDB1, 1215 .name = "pva1rdb1", 1216 .sid = TEGRA194_SID_PVA1, 1217 .regs = { 1218 .sid = { 1219 .override = 0x770, 1220 .security = 0x774, 1221 }, 1222 }, 1223 }, { 1224 .id = TEGRA194_MEMORY_CLIENT_PCIE5R1, 1225 .name = "pcie5r1", 1226 .sid = TEGRA194_SID_PCIE5, 1227 .regs = { 1228 .sid = { 1229 .override = 0x778, 1230 .security = 0x77c, 1231 }, 1232 }, 1233 }, { 1234 .id = TEGRA194_MEMORY_CLIENT_NVENCSRD1, 1235 .name = "nvencsrd1", 1236 .sid = TEGRA194_SID_NVENC, 1237 .regs = { 1238 .sid = { 1239 .override = 0x780, 1240 .security = 0x784, 1241 }, 1242 }, 1243 }, { 1244 .id = TEGRA194_MEMORY_CLIENT_NVENC1SRD1, 1245 .name = "nvenc1srd1", 1246 .sid = TEGRA194_SID_NVENC1, 1247 .regs = { 1248 .sid = { 1249 .override = 0x788, 1250 .security = 0x78c, 1251 }, 1252 }, 1253 }, { 1254 .id = TEGRA194_MEMORY_CLIENT_ISPRA1, 1255 .name = "ispra1", 1256 .sid = TEGRA194_SID_ISP, 1257 .regs = { 1258 .sid = { 1259 .override = 0x790, 1260 .security = 0x794, 1261 }, 1262 }, 1263 }, { 1264 .id = TEGRA194_MEMORY_CLIENT_PCIE0R1, 1265 .name = "pcie0r1", 1266 .sid = TEGRA194_SID_PCIE0, 1267 .regs = { 1268 .sid = { 1269 .override = 0x798, 1270 .security = 0x79c, 1271 }, 1272 }, 1273 }, { 1274 .id = TEGRA194_MEMORY_CLIENT_NVDEC1SRD, 1275 .name = "nvdec1srd", 1276 .sid = TEGRA194_SID_NVDEC1, 1277 .regs = { 1278 .sid = { 1279 .override = 0x7c8, 1280 .security = 0x7cc, 1281 }, 1282 }, 1283 }, { 1284 .id = TEGRA194_MEMORY_CLIENT_NVDEC1SRD1, 1285 .name = "nvdec1srd1", 1286 .sid = TEGRA194_SID_NVDEC1, 1287 .regs = { 1288 .sid = { 1289 .override = 0x7d0, 1290 .security = 0x7d4, 1291 }, 1292 }, 1293 }, { 1294 .id = TEGRA194_MEMORY_CLIENT_NVDEC1SWR, 1295 .name = "nvdec1swr", 1296 .sid = TEGRA194_SID_NVDEC1, 1297 .regs = { 1298 .sid = { 1299 .override = 0x7d8, 1300 .security = 0x7dc, 1301 }, 1302 }, 1303 }, { 1304 .id = TEGRA194_MEMORY_CLIENT_MIU5R, 1305 .name = "miu5r", 1306 .sid = TEGRA194_SID_MIU, 1307 .regs = { 1308 .sid = { 1309 .override = 0x7e0, 1310 .security = 0x7e4, 1311 }, 1312 }, 1313 }, { 1314 .id = TEGRA194_MEMORY_CLIENT_MIU5W, 1315 .name = "miu5w", 1316 .sid = TEGRA194_SID_MIU, 1317 .regs = { 1318 .sid = { 1319 .override = 0x7e8, 1320 .security = 0x7ec, 1321 }, 1322 }, 1323 }, { 1324 .id = TEGRA194_MEMORY_CLIENT_MIU6R, 1325 .name = "miu6r", 1326 .sid = TEGRA194_SID_MIU, 1327 .regs = { 1328 .sid = { 1329 .override = 0x7f0, 1330 .security = 0x7f4, 1331 }, 1332 }, 1333 }, { 1334 .id = TEGRA194_MEMORY_CLIENT_MIU6W, 1335 .name = "miu6w", 1336 .sid = TEGRA194_SID_MIU, 1337 .regs = { 1338 .sid = { 1339 .override = 0x7f8, 1340 .security = 0x7fc, 1341 }, 1342 }, 1343 }, 1344}; 1345 1346const struct tegra_mc_soc tegra194_mc_soc = { 1347 .num_clients = ARRAY_SIZE(tegra194_mc_clients), 1348 .clients = tegra194_mc_clients, 1349 .num_address_bits = 40, 1350 .num_channels = 16, 1351 .client_id_mask = 0xff, 1352 .intmask = MC_INT_DECERR_ROUTE_SANITY | 1353 MC_INT_DECERR_GENERALIZED_CARVEOUT | MC_INT_DECERR_MTS | 1354 MC_INT_SECERR_SEC | MC_INT_DECERR_VPR | 1355 MC_INT_SECURITY_VIOLATION | MC_INT_DECERR_EMEM, 1356 .has_addr_hi_reg = true, 1357 .ops = &tegra186_mc_ops, 1358 .ch_intmask = 0x00000f00, 1359 .global_intstatus_channel_shift = 8, 1360};