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.