Changes

no edit summary
Line 594: Line 594:  
| 0x7000F9B4
 
| 0x7000F9B4
 
|-
 
|-
| FUSE_ARM_JTAG_DIS
+
| [[#FUSE_ARM_JTAG_DIS|FUSE_ARM_JTAG_DIS]]
 
| 0x7000F9B8
 
| 0x7000F9B8
 
|-
 
|-
Line 978: Line 978:  
Stores the 160-bit private key (128 bit SBK + 32-bit device key).
 
Stores the 160-bit private key (128 bit SBK + 32-bit device key).
   −
Reads to these registers after the SBK is locked out produce all-FF output.
+
Reads to these registers after [[#FUSE_PRIVATEKEYDISABLE|FUSE_PRIVATEKEYDISABLE]] is set produce all-FF output.
 +
 
 +
==== FUSE_ARM_JTAG_DIS ====
 +
Controls access to the Arm JTAG interface.
 +
 
 +
Production Erista and Mariko units have this value set to 0x1, while development Erista and Mariko units do not.
    
==== FUSE_RESERVED_SW ====
 
==== FUSE_RESERVED_SW ====
Line 1,005: Line 1,010:     
Stores software reserved configuration values.
 
Stores software reserved configuration values.
 +
 +
Production Erista and Mariko units have the forced RCM two button mode set, while development Erista and Mariko units do not.
    
Original Erista units have the RCM USB controller mode set to USB 2.0, while the first batch of patched Erista units have the RCM USB controller mode set to XUSB.
 
Original Erista units have the RCM USB controller mode set to USB 2.0, while the first batch of patched Erista units have the RCM USB controller mode set to XUSB.
Line 1,150: Line 1,157:  
==== FUSE_PKC_DISABLE ====
 
==== FUSE_PKC_DISABLE ====
 
Returns if public key crypto is used or not.
 
Returns if public key crypto is used or not.
 +
 +
==== FUSE_ODM_INFO ====
 +
{| class="wikitable" border="1"
 +
!  Bits
 +
!  Description
 +
|-
 +
| 0-7
 +
| Reserved
 +
|-
 +
| 8
 +
| Disable DBGEN
 +
|-
 +
| 9
 +
| Disable NIDEN
 +
|-
 +
| 10
 +
| Disable SPIDEN
 +
|-
 +
| 11
 +
| Disable SPNIDEN
 +
|-
 +
| 12
 +
| Disable DEVICEEN
 +
|}
 +
 +
Production Erista and Mariko units have this value set to 0x1F00 (all signals disabled).
 +
 +
Development Erista and Mariko units have this value set to 0x0000 (all signals enabled).
    
==== FUSE_ECO_RESERVE_0 ====
 
==== FUSE_ECO_RESERVE_0 ====
Line 1,182: Line 1,217:     
==== FUSE_SPARE_BIT_5 ====
 
==== FUSE_SPARE_BIT_5 ====
Must be non-zero on retail units, otherwise the first bootloader panics.
+
Must be non-zero on production units, otherwise the first bootloader panics.
On prototype units it can be zero, which tells the bootloader to choose from two pre-production master key seeds. If set to non-zero on a prototype unit, it tells the bootloader to choose from two master key seeds (with the second one being the same as the retail master key seed).
+
On prototype units it can be zero, which tells the bootloader to choose from two pre-production master key seeds. If set to non-zero on a prototype unit, it tells the bootloader to choose from two master key seeds (with the second one being the same as the production master key seed).
    
[4.0.0+] This value is no longer used during boot.
 
[4.0.0+] This value is no longer used during boot.
Line 1,242: Line 1,277:  
| 0x7000F8CC
 
| 0x7000F8CC
 
|-
 
|-
| FUSE_KEK00
+
| [[#FUSE_KEK|FUSE_KEK00]]
 
| 0x7000F8D0
 
| 0x7000F8D0
 
|-
 
|-
| FUSE_KEK01
+
| [[#FUSE_KEK|FUSE_KEK01]]
 
| 0x7000F8D4
 
| 0x7000F8D4
 
|-
 
|-
| FUSE_KEK02
+
| [[#FUSE_KEK|FUSE_KEK02]]
 
| 0x7000F8D8
 
| 0x7000F8D8
 
|-
 
|-
| FUSE_KEK03
+
| [[#FUSE_KEK|FUSE_KEK03]]
 
| 0x7000F8DC
 
| 0x7000F8DC
 
|-
 
|-
| FUSE_BEK00
+
| [[#FUSE_BEK|FUSE_BEK00]]
 
| 0x7000F8E0
 
| 0x7000F8E0
 
|-
 
|-
| FUSE_BEK01
+
| [[#FUSE_BEK|FUSE_BEK01]]
 
| 0x7000F8E4
 
| 0x7000F8E4
 
|-
 
|-
| FUSE_BEK02
+
| [[#FUSE_BEK|FUSE_BEK02]]
 
| 0x7000F8E8
 
| 0x7000F8E8
 
|-
 
|-
| FUSE_BEK03
+
| [[#FUSE_BEK|FUSE_BEK03]]
 
| 0x7000F8EC
 
| 0x7000F8EC
 
|-
 
|-
Line 1,803: Line 1,838:  
| 0x7000FBF4
 
| 0x7000FBF4
 
|}
 
|}
 +
 +
==== FUSE_KEK ====
 +
Stores the 128-bit KEK (Key Encryption Key) encrypted with the FEK (Fuse Encryption Key) selected by [[#FUSE_RESERVED_PRODUCTION|FUSE_RESERVED_PRODUCTION]] and [[#FUSE_BOOT_SECURITY_INFO|FUSE_BOOT_SECURITY_INFO]].
 +
 +
Reads to these registers after [[#FUSE_PRIVATEKEYDISABLE|FUSE_PRIVATEKEYDISABLE]] is set produce all-FF output.
 +
 +
==== FUSE_BEK ====
 +
Stores the 128-bit BEK (Boot Encryption Key) encrypted with the FEK (Fuse Encryption Key) selected by [[#FUSE_RESERVED_PRODUCTION|FUSE_RESERVED_PRODUCTION]] and [[#FUSE_BOOT_SECURITY_INFO|FUSE_BOOT_SECURITY_INFO]].
 +
 +
Reads to these registers after [[#FUSE_PRIVATEKEYDISABLE|FUSE_PRIVATEKEYDISABLE]] is set produce all-FF output.
    
==== FUSE_RESERVED_PRODUCTION ====
 
==== FUSE_RESERVED_PRODUCTION ====
Line 1,808: Line 1,853:  
!  Bits
 
!  Bits
 
!  Description
 
!  Description
 +
|-
 +
| 0-1
 +
| Reserved
 
|-
 
|-
 
| 2
 
| 2
Line 1,848: Line 1,896:  
Stores configuration values for the new boot security mechanism.
 
Stores configuration values for the new boot security mechanism.
   −
Mariko units have authentication set to PKC_RSA, encryption enabled, fuse encryption enabled and fuse encryption select set to OEM_KEY_0 (development) or OEM_KEY_1 (retail).
+
Mariko units have authentication set to PKC_RSA, encryption enabled, fuse encryption enabled and fuse encryption select set to OEM_KEY_0 (development units) or OEM_KEY_1 (production units).
    
= Bitmap =
 
= Bitmap =
Line 3,595: Line 3,643:  
|-
 
|-
 
! System version
 
! System version
! Expected number of burnt fuses (retail)
+
! Expected number of burnt fuses (production)
! Expected number of burnt fuses (non-retail)
+
! Expected number of burnt fuses (development)
 
|-
 
|-
 
| 1.0.0
 
| 1.0.0