Changes

1,047 bytes added ,  18:22, 29 July 2019
Line 1,256: Line 1,256:  
|  0x00
 
|  0x00
 
|  0x04
 
|  0x04
br_version
+
BootRomVersion
 
|  Set to 0x00210001 (BOOTDATA_VERSION_T210).  
 
|  Set to 0x00210001 (BOOTDATA_VERSION_T210).  
 
|-
 
|-
 
|  0x04
 
|  0x04
 
|  0x04
 
|  0x04
bd_version
+
DataVersion
 
|  Set to 0x00210001 (BOOTDATA_VERSION_T210).  
 
|  Set to 0x00210001 (BOOTDATA_VERSION_T210).  
 
|-
 
|-
 
|  0x08
 
|  0x08
 
|  0x04
 
|  0x04
rcm_version
+
RcmVersion
 
|  Set to 0x00210001 (BOOTDATA_VERSION_T210).  
 
|  Set to 0x00210001 (BOOTDATA_VERSION_T210).  
 
|-
 
|-
 
|  0x0C
 
|  0x0C
 
|  0x04
 
|  0x04
boot_type
+
BootType
 
|
 
|
  BOOT_TYPE_COLD = 1
+
  None = 0
  BOOT_TYPE_RECOVERY = 2
+
Cold = 1
  BOOT_TYPE_UART = 3
+
  Recovery = 2
  BOOT_TYPE_EXIT_RCM = 4
+
  Uart = 3
 +
  ExitRcm = 4
 
|-
 
|-
 
|  0x10
 
|  0x10
 
|  0x04
 
|  0x04
unk0
+
PrimaryDevice
|  Set to 0x05 on coldboot.  
+
|  Set to 0x05 (IROM) on coldboot.  
 
|-
 
|-
 
|  0x14
 
|  0x14
 
|  0x04
 
|  0x04
boot_device_type
+
SecondaryDevice
|
+
| Set to 0x04 (SDMMC) on coldboot.
 
|-
 
|-
 
|  0x18
 
|  0x18
 
|  0x04
 
|  0x04
boot_start_time
+
BootTimeLogInit
 
|  Value from TIMERUS_CNTR_1US when the BootROM enters its main function.
 
|  Value from TIMERUS_CNTR_1US when the BootROM enters its main function.
 
|-
 
|-
 
|  0x1C
 
|  0x1C
 
|  0x04
 
|  0x04
bootrom_lockdown_value
+
BootTimeLogExit
 
|  This is the value that gets written into SB_CSR before nvboot. (0x10)
 
|  This is the value that gets written into SB_CSR before nvboot. (0x10)
 
|-
 
|-
 
|  0x20
 
|  0x20
 
|  0x04
 
|  0x04
boot_read_bct_time
+
BootReadBctTickCnt
 
|  Time spent reading the BCT.
 
|  Time spent reading the BCT.
 
|-
 
|-
 
|  0x24
 
|  0x24
 
|  0x04
 
|  0x04
boot_parse_bootloader_time
+
BootReadBLTickCnt
 
|  Time spent parsing the bootloader info from the BCT.
 
|  Time spent parsing the bootloader info from the BCT.
 
|-
 
|-
 
|  0x28
 
|  0x28
 
|  0x04
 
|  0x04
osc_freq
+
OscFrequency
 
|  Value from CLK_RST_CONTROLLER_OSC_CTRL.  
 
|  Value from CLK_RST_CONTROLLER_OSC_CTRL.  
 
|-
 
|-
 
|  0x2C
 
|  0x2C
 
|  0x01
 
|  0x01
is_boot_device_loaded
+
DevInitialized
 
|  Set to 1 after the boot device is initialized.
 
|  Set to 1 after the boot device is initialized.
 
|-
 
|-
 
|  0x2D
 
|  0x2D
 
|  0x01
 
|  0x01
is_sdram_configured
+
SdramInitialized
 
|  Set to 1 after the SDRAM parameters are parsed.
 
|  Set to 1 after the SDRAM parameters are parsed.
 
|-
 
|-
 
|  0x2E
 
|  0x2E
 
|  0x01
 
|  0x01
is_forced_rcm_pmc
+
ClearedForceRecovery
 
|  Set to 1 if bit 2 was set in APBDEV_PMC_SCRATCH0.
 
|  Set to 1 if bit 2 was set in APBDEV_PMC_SCRATCH0.
 
|-
 
|-
 
|  0x2F
 
|  0x2F
 
|  0x01
 
|  0x01
is_enable_fail_back_pmc
+
ClearedFailBack
 
|  Set to 1 if bit 4 was set in APBDEV_PMC_SCRATCH0.
 
|  Set to 1 if bit 4 was set in APBDEV_PMC_SCRATCH0.
 
|-
 
|-
 
|  0x30
 
|  0x30
0x02
+
0x01
is_bootloader_version_mismatch
+
InvokedFailBack
 
|  Set to 1 if the bootloaders have different versions in the BCT.
 
|  Set to 1 if the bootloaders have different versions in the BCT.
 +
|-
 +
|  0x31
 +
|  0x01
 +
|  IRomPatchStatus
 +
 
|-
 
|-
 
|  0x32
 
|  0x32
0x02
+
0x01
is_bct_valid
+
BctValid
 
|  Set to 1 if the BCT was parsed successfully.
 
|  Set to 1 if the BCT was parsed successfully.
 
|-
 
|-
0x34
+
0x33
0x04
+
0x09
unk2
+
BctStatus
+
Each bit contains the status for BCT reads in a given block.
|-
  −
|  0x38
  −
|  0x04
  −
|  unk3
  −
|   
   
|-
 
|-
 
|  0x3C
 
|  0x3C
 
|  0x04
 
|  0x04
active_bootloader_idx
+
BctLastJournalRead
Value from 0 to 3 that represents which bootloader is active.
+
Contains the status of the last journal block read.
 +
None = 0
 +
Success = 1
 +
ValidationFailure = 2
 +
DeviceReadError = 3
 
|-
 
|-
 
|  0x40
 
|  0x40
 
|  0x04
 
|  0x04
bct_start_block
+
BctBlock
 
|  Block number where the BCT was found.
 
|  Block number where the BCT was found.
 
|-
 
|-
 
|  0x44
 
|  0x44
 
|  0x04
 
|  0x04
bct_start_page
+
BctPage
 
|  Page number where the BCT was found.
 
|  Page number where the BCT was found.
 
|-
 
|-
 
|  0x48
 
|  0x48
 
|  0x04
 
|  0x04
bct_size
+
BctSize
 
|  Size of the BCT in IRAM (0x2800).  
 
|  Size of the BCT in IRAM (0x2800).  
 
|-
 
|-
 
|  0x4C
 
|  0x4C
 
|  0x04
 
|  0x04
bct_ptr
+
BctPtr
 
|  Pointer to the BCT in IRAM (0x40000100).  
 
|  Pointer to the BCT in IRAM (0x40000100).  
 
|-
 
|-
 
|  0x50
 
|  0x50
 
|  0x18*4
 
|  0x18*4
bootloader_headers[4]
+
BlState
|
+
| Contains the state of attempts to load each bootloader.
 
  {| class="wikitable" border="1"
 
  {| class="wikitable" border="1"
 
  |-
 
  |-
Line 1,390: Line 1,395:  
  |  0x00
 
  |  0x00
 
  |  0x04
 
  |  0x04
  |  is_active
+
  |  Status
 
  |-
 
  |-
 
  |  0x04
 
  |  0x04
 
  |  0x04
 
  |  0x04
  |  bootloader_start_block
+
  |  FirstEccBlock
 
  |-
 
  |-
 
  |  0x08
 
  |  0x08
 
  |  0x04
 
  |  0x04
  |  bootloader_start_page
+
  |  FirstEccPage
 
  |-
 
  |-
 
  |  0x0C
 
  |  0x0C
 
  |  0x04
 
  |  0x04
  |  bootloader_length
+
  |  FirstCorrectedEccBlock
 
  |-
 
  |-
 
  |  0x10
 
  |  0x10
 
  |  0x04
 
  |  0x04
  |  bootloader_signed_start
+
  |  FirstCorrectedEccPage
 
  |-
 
  |-
 
  |  0x14
 
  |  0x14
 +
|  0x01
 +
|  HadEccError
 +
|-
 +
|  0x15
 +
|  0x01
 +
|  HadCrcError
 +
|-
 +
|  0x16
 +
|  0x01
 +
|  HadCorrectedEccError
 +
|-
 +
|  0x17
 +
|  0x01
 +
|  UsedForEccRecovery
 +
|}
 +
|-
 +
|  0xB0
 +
|  0x3C
 +
|  SecondaryDevStatus
 +
|  Structure to hold secondary boot device status.
 +
For SDMMC, the following applies:
 +
{| class="wikitable" border="1"
 +
|-
 +
!  Offset
 +
!  Size
 +
!  Field
 +
|-
 +
|  0x00
 +
|  0x01
 +
|  FuseDataWidth
 +
|-
 +
|  0x01
 +
|  0x01
 +
|  FuseVoltageRange
 +
|-
 +
|  0x02
 +
|  0x01
 +
|  FuseDisableBootMode
 +
|-
 +
|  0x03
 +
|  0x01
 +
|  FuseDdrMode
 +
|-
 +
|  0x04
 +
|  0x01
 +
|  DiscoveredCardType
 +
|-
 +
|  0x05
 +
|  0x03
 +
|  Reserved
 +
|-
 +
|  0x08
 +
|  0x04
 +
|  DiscoveredVoltageRange
 +
|-
 +
|  0x0C
 +
|  0x01
 +
|  DataWidthUnderUse
 +
|-
 +
|  0x0D
 +
|  0x01
 +
|  PowerClassUnderUse
 +
|-
 +
|  0x0E
 +
|  0x01
 +
|  AutoCalStatus
 +
|-
 +
|  0x0F
 +
|  0x01
 +
|  Reserved
 +
|-
 +
|  0x10
 +
|  0x10
 +
|  Cid
 +
|-
 +
|  0x20
 
  |  0x04
 
  |  0x04
  |  bootloader_signature
+
  |  NumPagesRead
 +
|-
 +
|  0x24
 +
|  0x04
 +
|  NumCrcErrors
 +
|-
 +
|  0x25
 +
|  0x01
 +
|  BootFromBootPartition
 +
|-
 +
|  0x27
 +
|  0x15
 +
|  Reserved
 
  |}
 
  |}
 
|-
 
|-
0xB0
+
0xEC
0x40
+
0x04
boot_device_info
+
UsbChargingStatus
Structure to hold boot device parameters.
+
|   
 
|-
 
|-
 
|  0xF0
 
|  0xF0
 
|  0x04
 
|  0x04
bct_end_ptr
+
SafeStartAddr
 
|  Pointer to the end of the BCT in IRAM (0x40002900).
 
|  Pointer to the end of the BCT in IRAM (0x40002900).
 
|-
 
|-
 
|  0xF4
 
|  0xF4
 
|  0x0C
 
|  0x0C
padding
+
Padding
 
|  Must be empty.
 
|  Must be empty.
 
|}
 
|}