Line 10: |
Line 10: |
| * 0x54501400 to 0x54501500: SCP (secure crypto processor?). | | * 0x54501400 to 0x54501500: SCP (secure crypto processor?). |
| * 0x54501500 to 0x54501600: Unknown. | | * 0x54501500 to 0x54501600: Unknown. |
− | * 0x54501600 to 0x54501700: MCCIF (Memory Controller Client Interface). | + | * 0x54501600 to 0x54501700: TFBIF (Tegra Framebuffer Interface). |
| * 0x54501700 to 0x54501800: DMA. | | * 0x54501700 to 0x54501800: DMA. |
| * 0x54501800 to 0x54501900: TEGRA (miscellaneous interfaces). | | * 0x54501800 to 0x54501900: TEGRA (miscellaneous interfaces). |
Line 31: |
Line 31: |
| | 0x04 | | | 0x04 |
| |- | | |- |
− | | TSEC_THI_INT_STATUS | + | | [[#TSEC_THI_INT_STATUS|TSEC_THI_INT_STATUS]] |
| | 0x54500078 | | | 0x54500078 |
| | 0x04 | | | 0x04 |
Line 55: |
Line 55: |
| | 0x04 | | | 0x04 |
| |- | | |- |
− | | FALCON_IRQSSET | + | | [[#FALCON_IRQSSET|FALCON_IRQSSET]] |
| | 0x54501000 | | | 0x54501000 |
| | 0x04 | | | 0x04 |
| |- | | |- |
− | | FALCON_IRQSCLR | + | | [[#FALCON_IRQSCLR|FALCON_IRQSCLR]] |
| | 0x54501004 | | | 0x54501004 |
| | 0x04 | | | 0x04 |
Line 75: |
Line 75: |
| | 0x04 | | | 0x04 |
| |- | | |- |
− | | FALCON_IRQMCLR | + | | [[#FALCON_IRQMCLR|FALCON_IRQMCLR]] |
| | 0x54501014 | | | 0x54501014 |
| | 0x04 | | | 0x04 |
Line 225: |
Line 225: |
| | FALCON_HOST_IO_INDEX | | | FALCON_HOST_IO_INDEX |
| | 0x545010AC | | | 0x545010AC |
| + | | 0x04 |
| + | |- |
| + | | [[#FALCON_EXCI|FALCON_EXCI]] |
| + | | 0x545010D0 |
| | 0x04 | | | 0x04 |
| |- | | |- |
Line 515: |
Line 519: |
| | 0x04 | | | 0x04 |
| |- | | |- |
− | | TSEC_MCCIF_UNK0 | + | | TSEC_TFBIF_UNK0 |
| | 0x54501600 | | | 0x54501600 |
| | 0x04 | | | 0x04 |
| |- | | |- |
− | | [[#TSEC_MCCIF_FIFOCTRL|TSEC_MCCIF_FIFOCTRL]] | + | | [[#TSEC_TFBIF_MCCIF_FIFOCTRL|TSEC_TFBIF_MCCIF_FIFOCTRL]] |
| | 0x54501604 | | | 0x54501604 |
| | 0x04 | | | 0x04 |
| |- | | |- |
− | | TSEC_MCCIF_UNK1 | + | | TSEC_TFBIF_UNK1 |
| | 0x54501608 | | | 0x54501608 |
| | 0x04 | | | 0x04 |
| |- | | |- |
− | | TSEC_MCCIF_UNK2 | + | | TSEC_TFBIF_UNK2 |
| | 0x5450160C | | | 0x5450160C |
| | 0x04 | | | 0x04 |
| |- | | |- |
− | | TSEC_MCCIF_UNK3 | + | | TSEC_TFBIF_UNK3 |
| | 0x54501630 | | | 0x54501630 |
| | 0x04 | | | 0x04 |
| |- | | |- |
− | | [[#TSEC_MCCIF_FIFOCTRL1|TSEC_MCCIF_FIFOCTRL1]] | + | | [[#TSEC_TFBIF_MCCIF_FIFOCTRL1|TSEC_TFBIF_MCCIF_FIFOCTRL1]] |
| | 0x54501634 | | | 0x54501634 |
| | 0x04 | | | 0x04 |
| |- | | |- |
− | | TSEC_MCCIF_UNK4 | + | | TSEC_TFBIF_UNK4 |
| | 0x54501640 | | | 0x54501640 |
| | 0x04 | | | 0x04 |
| |- | | |- |
− | | [[#TSEC_MCCIF_UNK5|TSEC_MCCIF_UNK5]] | + | | [[#TSEC_TFBIF_UNK5|TSEC_TFBIF_UNK5]] |
| | 0x54501644 | | | 0x54501644 |
| | 0x04 | | | 0x04 |
| |- | | |- |
− | | [[#TSEC_MCCIF_UNK6|TSEC_MCCIF_UNK6]] | + | | [[#TSEC_TFBIF_UNK6|TSEC_TFBIF_UNK6]] |
| | 0x54501648 | | | 0x54501648 |
| | 0x04 | | | 0x04 |
Line 587: |
Line 591: |
| | 0x04 | | | 0x04 |
| |} | | |} |
| + | |
| + | === TSEC_THI_INT_STATUS === |
| + | {| class="wikitable" border="1" |
| + | ! Bits |
| + | ! Description |
| + | |- |
| + | | 0 |
| + | | TSEC_THI_INT_STATUS_FALCON_INT |
| + | |} |
| + | |
| + | === FALCON_IRQSSET === |
| + | {| class="wikitable" border="1" |
| + | ! Bits |
| + | ! Description |
| + | |- |
| + | | 0 |
| + | | FALCON_IRQSSET_GPTMR |
| + | |- |
| + | | 1 |
| + | | FALCON_IRQSSET_WDTMR |
| + | |- |
| + | | 2 |
| + | | FALCON_IRQSSET_MTHD |
| + | |- |
| + | | 3 |
| + | | FALCON_IRQSSET_CTXSW |
| + | |- |
| + | | 4 |
| + | | FALCON_IRQSSET_HALT |
| + | |- |
| + | | 5 |
| + | | FALCON_IRQSSET_EXTERR |
| + | |- |
| + | | 6 |
| + | | FALCON_IRQSSET_SWGEN0 |
| + | |- |
| + | | 7 |
| + | | FALCON_IRQSSET_SWGEN1 |
| + | |- |
| + | | 8-15 |
| + | | FALCON_IRQSSET_EXT |
| + | |} |
| + | |
| + | Used for setting Falcon's IRQs. |
| + | |
| + | === FALCON_IRQSCLR === |
| + | {| class="wikitable" border="1" |
| + | ! Bits |
| + | ! Description |
| + | |- |
| + | | 0 |
| + | | FALCON_IRQSCLR_GPTMR |
| + | |- |
| + | | 1 |
| + | | FALCON_IRQSCLR_WDTMR |
| + | |- |
| + | | 2 |
| + | | FALCON_IRQSCLR_MTHD |
| + | |- |
| + | | 3 |
| + | | FALCON_IRQSCLR_CTXSW |
| + | |- |
| + | | 4 |
| + | | FALCON_IRQSCLR_HALT |
| + | |- |
| + | | 5 |
| + | | FALCON_IRQSCLR_EXTERR |
| + | |- |
| + | | 6 |
| + | | FALCON_IRQSCLR_SWGEN0 |
| + | |- |
| + | | 7 |
| + | | FALCON_IRQSCLR_SWGEN1 |
| + | |- |
| + | | 8-15 |
| + | | FALCON_IRQSCLR_EXT |
| + | |} |
| + | |
| + | Used for clearing Falcon's IRQs. |
| + | |
| + | === FALCON_IRQSTAT === |
| + | {| class="wikitable" border="1" |
| + | ! Bits |
| + | ! Description |
| + | |- |
| + | | 0 |
| + | | FALCON_IRQSTAT_GPTMR |
| + | |- |
| + | | 1 |
| + | | FALCON_IRQSTAT_WDTMR |
| + | |- |
| + | | 2 |
| + | | FALCON_IRQSTAT_MTHD |
| + | |- |
| + | | 3 |
| + | | FALCON_IRQSTAT_CTXSW |
| + | |- |
| + | | 4 |
| + | | FALCON_IRQSTAT_HALT |
| + | |- |
| + | | 5 |
| + | | FALCON_IRQSTAT_EXTERR |
| + | |- |
| + | | 6 |
| + | | FALCON_IRQSTAT_SWGEN0 |
| + | |- |
| + | | 7 |
| + | | FALCON_IRQSTAT_SWGEN1 |
| + | |- |
| + | | 8-15 |
| + | | FALCON_IRQSTAT_EXT |
| + | |} |
| + | |
| + | Used for getting the status of Falcon's IRQs. |
| + | |
| + | === FALCON_IRQMODE === |
| + | {| class="wikitable" border="1" |
| + | ! Bits |
| + | ! Description |
| + | |- |
| + | | 0 |
| + | | FALCON_IRQMODE_GPTMR |
| + | |- |
| + | | 1 |
| + | | FALCON_IRQMODE_WDTMR |
| + | |- |
| + | | 2 |
| + | | FALCON_IRQMODE_MTHD |
| + | |- |
| + | | 3 |
| + | | FALCON_IRQMODE_CTXSW |
| + | |- |
| + | | 4 |
| + | | FALCON_IRQMODE_HALT |
| + | |- |
| + | | 5 |
| + | | FALCON_IRQMODE_EXTERR |
| + | |- |
| + | | 6 |
| + | | FALCON_IRQMODE_SWGEN0 |
| + | |- |
| + | | 7 |
| + | | FALCON_IRQMODE_SWGEN1 |
| + | |- |
| + | | 8-15 |
| + | | FALCON_IRQMODE_EXT |
| + | |} |
| + | |
| + | Used for changing the mode Falcon's IRQs. A value of 1 means level triggered while a value of 0 means edge triggered. |
| | | |
| === FALCON_IRQMSET === | | === FALCON_IRQMSET === |
− | Used for configuring Falcon's IRQs. | + | {| class="wikitable" border="1" |
| + | ! Bits |
| + | ! Description |
| + | |- |
| + | | 0 |
| + | | FALCON_IRQMSET_GPTMR |
| + | |- |
| + | | 1 |
| + | | FALCON_IRQMSET_WDTMR |
| + | |- |
| + | | 2 |
| + | | FALCON_IRQMSET_MTHD |
| + | |- |
| + | | 3 |
| + | | FALCON_IRQMSET_CTXSW |
| + | |- |
| + | | 4 |
| + | | FALCON_IRQMSET_HALT |
| + | |- |
| + | | 5 |
| + | | FALCON_IRQMSET_EXTERR |
| + | |- |
| + | | 6 |
| + | | FALCON_IRQMSET_SWGEN0 |
| + | |- |
| + | | 7 |
| + | | FALCON_IRQMSET_SWGEN1 |
| + | |- |
| + | | 8-15 |
| + | | FALCON_IRQMSET_EXT |
| + | |} |
| + | |
| + | Used for setting the mask for Falcon's IRQs. |
| + | |
| + | === FALCON_IRQMCLR === |
| + | {| class="wikitable" border="1" |
| + | ! Bits |
| + | ! Description |
| + | |- |
| + | | 0 |
| + | | FALCON_IRQMCLR_GPTMR |
| + | |- |
| + | | 1 |
| + | | FALCON_IRQMCLR_WDTMR |
| + | |- |
| + | | 2 |
| + | | FALCON_IRQMCLR_MTHD |
| + | |- |
| + | | 3 |
| + | | FALCON_IRQMCLR_CTXSW |
| + | |- |
| + | | 4 |
| + | | FALCON_IRQMCLR_HALT |
| + | |- |
| + | | 5 |
| + | | FALCON_IRQMCLR_EXTERR |
| + | |- |
| + | | 6 |
| + | | FALCON_IRQMCLR_SWGEN0 |
| + | |- |
| + | | 7 |
| + | | FALCON_IRQMCLR_SWGEN1 |
| + | |- |
| + | | 8-15 |
| + | | FALCON_IRQMCLR_EXT |
| + | |} |
| + | |
| + | Used for clearing the mask for Falcon's IRQs. |
| + | |
| + | === FALCON_IRQMASK === |
| + | {| class="wikitable" border="1" |
| + | ! Bits |
| + | ! Description |
| + | |- |
| + | | 0 |
| + | | FALCON_IRQMASK_GPTMR |
| + | |- |
| + | | 1 |
| + | | FALCON_IRQMASK_WDTMR |
| + | |- |
| + | | 2 |
| + | | FALCON_IRQMASK_MTHD |
| + | |- |
| + | | 3 |
| + | | FALCON_IRQMASK_CTXSW |
| + | |- |
| + | | 4 |
| + | | FALCON_IRQMASK_HALT |
| + | |- |
| + | | 5 |
| + | | FALCON_IRQMASK_EXTERR |
| + | |- |
| + | | 6 |
| + | | FALCON_IRQMASK_SWGEN0 |
| + | |- |
| + | | 7 |
| + | | FALCON_IRQMASK_SWGEN1 |
| + | |- |
| + | | 8-15 |
| + | | FALCON_IRQMASK_EXT |
| + | |} |
| + | |
| + | Used for getting the value of the mask for Falcon's IRQs. |
| | | |
| === FALCON_IRQDEST === | | === FALCON_IRQDEST === |
− | Used for configuring Falcon's IRQs. | + | {| class="wikitable" border="1" |
| + | ! Bits |
| + | ! Description |
| + | |- |
| + | | 0 |
| + | | FALCON_IRQDEST_GPTMR |
| + | |- |
| + | | 1 |
| + | | FALCON_IRQDEST_WDTMR |
| + | |- |
| + | | 2 |
| + | | FALCON_IRQDEST_MTHD |
| + | |- |
| + | | 3 |
| + | | FALCON_IRQDEST_CTXSW |
| + | |- |
| + | | 4 |
| + | | FALCON_IRQDEST_HALT |
| + | |- |
| + | | 5 |
| + | | FALCON_IRQDEST_EXTERR |
| + | |- |
| + | | 6 |
| + | | FALCON_IRQDEST_SWGEN0 |
| + | |- |
| + | | 7 |
| + | | FALCON_IRQDEST_SWGEN1 |
| + | |- |
| + | | 8-15 |
| + | | FALCON_IRQDEST_EXT |
| + | |- |
| + | | 16 |
| + | | FALCON_IRQDEST_TARGET_GPTMR |
| + | |- |
| + | | 17 |
| + | | FALCON_IRQDEST_TARGET_WDTMR |
| + | |- |
| + | | 18 |
| + | | FALCON_IRQDEST_TARGET_MTHD |
| + | |- |
| + | | 19 |
| + | | FALCON_IRQDEST_TARGET_CTXSW |
| + | |- |
| + | | 20 |
| + | | FALCON_IRQDEST_TARGET_HALT |
| + | |- |
| + | | 21 |
| + | | FALCON_IRQDEST_TARGET_EXTERR |
| + | |- |
| + | | 22 |
| + | | FALCON_IRQDEST_TARGET_SWGEN0 |
| + | |- |
| + | | 23 |
| + | | FALCON_IRQDEST_TARGET_SWGEN1 |
| + | |- |
| + | | 24-31 |
| + | | FALCON_IRQDEST_TARGET_EXT |
| + | |} |
| + | |
| + | Used for routing Falcon's IRQs. |
| | | |
| === FALCON_SCRATCH0 === | | === FALCON_SCRATCH0 === |
− | MMIO register for reading/writing data to Falcon.
| + | Scratch register for reading/writing data to Falcon. |
| | | |
| === FALCON_SCRATCH1 === | | === FALCON_SCRATCH1 === |
− | MMIO register for reading/writing data to Falcon.
| + | Scratch register for reading/writing data to Falcon. |
| | | |
| === FALCON_ITFEN === | | === FALCON_ITFEN === |
Line 621: |
Line 935: |
| | 0 | | | 0 |
| | FALCON_IDLESTATE_FALCON_BUSY | | | FALCON_IDLESTATE_FALCON_BUSY |
| + | |- |
| + | | 1-15 |
| + | | FALCON_IDLESTATE_EXT_BUSY |
| |} | | |} |
| | | |
Line 626: |
Line 943: |
| | | |
| === FALCON_DEBUGINFO === | | === FALCON_DEBUGINFO === |
| + | Used for UCODE self revocation. This register takes the base address of the GSC carveout shifted right by 8. |
| + | |
| [6.0.0+] [[NV_services|nvservices]] sets this to 0x8005FF00 >> 8 (physical DRAM address inside the GPU UCODE carveout) before starting the nvhost_tsec firmware. | | [6.0.0+] [[NV_services|nvservices]] sets this to 0x8005FF00 >> 8 (physical DRAM address inside the GPU UCODE carveout) before starting the nvhost_tsec firmware. |
| + | |
| + | === FALCON_EXCI === |
| + | Contains information about raised exceptions. |
| | | |
| === FALCON_CPUCTL === | | === FALCON_CPUCTL === |
Line 739: |
Line 1,061: |
| |} | | |} |
| | | |
− | === TSEC_MCCIF_FIFOCTRL === | + | === TSEC_TFBIF_MCCIF_FIFOCTRL === |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| ! Bits | | ! Bits |
Line 745: |
Line 1,067: |
| |- | | |- |
| | 0 | | | 0 |
− | | TSEC_MCCIF_FIFOCTRL_RCLK_OVERRIDE | + | | TSEC_TFBIF_MCCIF_FIFOCTRL_RCLK_OVERRIDE |
| |- | | |- |
| | 1 | | | 1 |
− | | TSEC_MCCIF_FIFOCTRL_WCLK_OVERRIDE | + | | TSEC_TFBIF_MCCIF_FIFOCTRL_WCLK_OVERRIDE |
| |- | | |- |
| | 2 | | | 2 |
− | | TSEC_MCCIF_FIFOCTRL_WRCL_MCLE2X | + | | TSEC_TFBIF_MCCIF_FIFOCTRL_WRCL_MCLE2X |
| |- | | |- |
| | 3 | | | 3 |
− | | TSEC_MCCIF_FIFOCTRL_RDMC_RDFAST | + | | TSEC_TFBIF_MCCIF_FIFOCTRL_RDMC_RDFAST |
| |- | | |- |
| | 4 | | | 4 |
− | | TSEC_MCCIF_FIFOCTRL_WRMC_CLLE2X | + | | TSEC_TFBIF_MCCIF_FIFOCTRL_WRMC_CLLE2X |
| |- | | |- |
| | 5 | | | 5 |
− | | TSEC_MCCIF_FIFOCTRL_RDCL_RDFAST | + | | TSEC_TFBIF_MCCIF_FIFOCTRL_RDCL_RDFAST |
| |- | | |- |
| | 6 | | | 6 |
− | | TSEC_MCCIF_FIFOCTRL_CCLK_OVERRIDE | + | | TSEC_TFBIF_MCCIF_FIFOCTRL_CCLK_OVERRIDE |
| |- | | |- |
| | 7 | | | 7 |
− | | TSEC_MCCIF_FIFOCTRL_RCLK_OVR_MODE | + | | TSEC_TFBIF_MCCIF_FIFOCTRL_RCLK_OVR_MODE |
| |- | | |- |
| | 8 | | | 8 |
− | | TSEC_MCCIF_FIFOCTRL_WCLK_OVR_MODE | + | | TSEC_TFBIF_MCCIF_FIFOCTRL_WCLK_OVR_MODE |
| |} | | |} |
| | | |
Line 778: |
Line 1,100: |
| |- | | |- |
| | 0-15 | | | 0-15 |
− | | TSEC_MCCIF_FIFOCTRL1_SRD2MC_REORDER_DEPTH_LIMIT | + | | TSEC_TFBIF_MCCIF_FIFOCTRL1_SRD2MC_REORDER_DEPTH_LIMIT |
| |- | | |- |
| | 16-31 | | | 16-31 |
− | | TSEC_MCCIF_FIFOCTRL1_SWR2MC_REORDER_DEPTH_LIMIT | + | | TSEC_TFBIF_MCCIF_FIFOCTRL1_SWR2MC_REORDER_DEPTH_LIMIT |
| |} | | |} |
| | | |
− | === TSEC_MCCIF_UNK5 === | + | === TSEC_TFBIF_UNK5 === |
| Used to control accesses to DRAM. | | Used to control accesses to DRAM. |
| | | |
| [6.0.0+] The nvhost_tsec firmware sets this register to 0x10 or 0x111110 before reading memory from the GPU UCODE carveout. | | [6.0.0+] The nvhost_tsec firmware sets this register to 0x10 or 0x111110 before reading memory from the GPU UCODE carveout. |
| | | |
− | === TSEC_MCCIF_UNK6 === | + | === TSEC_TFBIF_UNK6 === |
| Used to control accesses to DRAM. | | Used to control accesses to DRAM. |
| | | |