Switch 2: Fuses: Difference between revisions

Add info from Orin Fuse specification
No edit summary
 
Line 18: Line 18:
| 0 || 5..8 || [[#OdmLock]]
| 0 || 5..8 || [[#OdmLock]]
|-
|-
| 0 || 9 || Fa
| 0 || 9 || [[#Fa]]
|-
|-
| 0 || 10 || SecurityMode
| 0 || 10 || [[#SecurityMode]]
|-
|-
| 0 || 11 || ArmJtagDisable
| 0 || 11 || [[#ArmJtagDisable]]
|-
|-
| 0 || 12 || NvJtagProtectionEnable[0]
| 0 || 12 || [[#NvJtagProtectionEnable]]
|-
|-
| 0 || 16..20 || DebugAuthentication[0..4]
| 0 || 16..20 || [[#DebugAuthentication]]
|-
|-
| 0 || 28 || ZeroizeDis
| 0 || 28 || ZeroizeDis
Line 624: Line 624:


Both shadowed values should always agree with each other, and they should be programmed together without a reset in-between.
Both shadowed values should always agree with each other, and they should be programmed together without a reset in-between.
The two redundant bits are OR'd together which protects 1 from becoming a 0.


=== H2 Fuses ===
=== H2 Fuses ===
Line 894: Line 896:
== NvJtagProtectionEnable ==
== NvJtagProtectionEnable ==
If set, [[#Fa]] cannot be used.
If set, [[#Fa]] cannot be used.
== SecurityMode ==
According to documentation, this acts as a lock for "all manufacturing fuses", and prevents them from being read or modified.
Also known as the "ODM production mode" fuse.
== ArmJtagDisable ==
External debug paths disable for both Arm JTAG and USB SWD.
== DebugAuthentication ==
Fine-grained disables on debug signals.
bit0: Forces dbgen to 0
bit1: Forces niden to 0
bit2: Forces spiden to 0
bit3: Forces spniden to 0
bit4: Forces deviceen to 0


== SecBootDeviceSelect ==
== SecBootDeviceSelect ==
Line 900: Line 923:
== H2 ==
== H2 ==
CRC32 of physical fuse words #188 bit20 and above, up to word #259 bit24. Uses polynomial 0x1EDC6F41.
CRC32 of physical fuse words #188 bit20 and above, up to word #259 bit24. Uses polynomial 0x1EDC6F41.
Valid if SecurityMode == 1.