Changes

4,050 bytes added ,  21:59, 4 December 2018
no edit summary
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.