Fuses: Difference between revisions

No edit summary
No edit summary
Line 145: Line 145:
|}
|}


This register takes the address of the fuse to be read/written/sensed.
Takes the address of the fuse to be read/written/sensed.


==== FUSE_FUSERDATA ====
==== FUSE_FUSERDATA ====
Line 156: Line 156:
|}
|}


This register receives the value read from the fuse.
Returns the value read from the fuse.


==== FUSE_FUSEWDATA ====
==== FUSE_FUSEWDATA ====
Line 167: Line 167:
|}
|}


This register takes the value to be written to the fuse.
Takes the value to be written to the fuse.


==== FUSE_FUSETIME_RD1 ====
==== FUSE_FUSETIME_RD1 ====
Line 183: Line 183:
| FUSE_FUSETIME_RD1_THR_MAX
| FUSE_FUSETIME_RD1_THR_MAX
|}
|}
Controls the [[#FUSE_FUSECTRL|STATE_READ_SETUP]] (TSUR_MAX), [[#FUSE_FUSECTRL|STATE_READ_STROBE]] (TSUR_FUSEOUT) and [[#FUSE_FUSECTRL|STATE_READ_HOLD]] (THR_MAX) times.


==== FUSE_FUSETIME_RD2 ====
==== FUSE_FUSETIME_RD2 ====
Line 192: Line 194:
| FUSE_FUSETIME_RD2_TWIDTH_RD
| FUSE_FUSETIME_RD2_TWIDTH_RD
|}
|}
Controls [[#FUSE_FUSECTRL|STATE_SAMPLE_FUSES]] (TWIDTH_RD) time.


==== FUSE_FUSETIME_PGM1 ====
==== FUSE_FUSETIME_PGM1 ====
Line 210: Line 214:
| FUSE_FUSETIME_PGM1_THP_PS
| FUSE_FUSETIME_PGM1_THP_PS
|}
|}
Controls the [[#FUSE_FUSECTRL|STATE_WRITE_SETUP]] (TSUP_MAX), [[#FUSE_FUSECTRL|STATE_WRITE_ADDR_SETUP]] (TSUP_ADDR), [[#FUSE_FUSECTRL|STATE_WRITE_ADDR_HOLD]] (THP_ADDR) and [[#FUSE_FUSECTRL|STATE_FUSE_SRC_HOLD]] (THP_PS) times.


==== FUSE_FUSETIME_PGM2 ====
==== FUSE_FUSETIME_PGM2 ====
Line 225: Line 231:
| FUSE_FUSETIME_PGM2_THP_CSPS
| FUSE_FUSETIME_PGM2_THP_CSPS
|}
|}
Controls the [[#FUSE_FUSECTRL|STATE_WRITE_PROGRAM]] (TWIDTH_PGM), [[#FUSE_FUSECTRL|STATE_FUSE_SRC_SETUP]] (TSUP_PS) and [[#FUSE_FUSECTRL|STATE_READ_BEFORE_WRITE_SETUP]] (THP_CSPS) times.


==== FUSE_PRIV2INTFC_START ====
==== FUSE_PRIV2INTFC_START ====
Line 237: Line 245:
| FUSE_PRIV2INTFC_SKIP_RECORDS
| FUSE_PRIV2INTFC_SKIP_RECORDS
|}
|}
Controls the interface between the internal fuse chip (INTFC) and the fuse cache registers (PRIV).


==== FUSE_FUSEBYPASS ====
==== FUSE_FUSEBYPASS ====
Line 247: Line 257:
|}
|}


If set, this register enables fuse bypass mode. This is only available in hardware where the [[#Bitmap|bypass_fuses]] fuse remains unburnt.
If set, this register enables fuse bypass mode. This is only available in hardware where the [[#Bitmap|production_mode]] fuse remains unburnt.


==== FUSE_PRIVATEKEYDISABLE ====
==== FUSE_PRIVATEKEYDISABLE ====
Line 261: Line 271:
|}
|}


If set, this register hides the [[#Bitmap|private_key]] fuses.
If set, this register hides the [[#Bitmap|private_key]] fuses until the next reset.


==== FUSE_DISABLEREGPROGRAM ====
==== FUSE_DISABLEREGPROGRAM ====
Line 272: Line 282:
|}
|}


If set, this register disables fuse programming.
If set, this register disables fuse programming until the next reset.


==== FUSE_WRITE_ACCESS_SW ====
==== FUSE_WRITE_ACCESS_SW ====
Line 286: Line 296:
|}
|}


If set, this register makes the fuse driver registers read-only.
Controls and returns the status of software writes to the fuse cache registers.


==== FUSE_PWR_GOOD_SW ====
==== FUSE_PWR_GOOD_SW ====
Line 367: Line 377:
| FUSE_PRIV2RESHIFT_STATUS_1_SL2_TBANK_VAL
| FUSE_PRIV2RESHIFT_STATUS_1_SL2_TBANK_VAL
|}
|}
Controls and returns the status of the RESHIFT hardware block used in RAM repair.


==== FUSE_FUSETIME_RD3 ====
==== FUSE_FUSETIME_RD3 ====
Line 376: Line 388:
| FUSE_FUSETIME_RD3_TSUR_PDCS
| FUSE_FUSETIME_RD3_TSUR_PDCS
|}
|}
Controls the [[#FUSE_FUSECTRL|STATE_READ_DEASSERT_PD]] (TSUR_PDCS) time.


==== FUSE_PRIVATE_KEY0_NONZERO ====
==== FUSE_PRIVATE_KEY0_NONZERO ====
Line 385: Line 399:
| FUSE_PRIVATE_KEY0_NONZERO_DATA
| FUSE_PRIVATE_KEY0_NONZERO_DATA
|}
|}
Returns whether [[#Bitmap|private_key0]] is empty or not.


==== FUSE_PRIVATE_KEY1_NONZERO ====
==== FUSE_PRIVATE_KEY1_NONZERO ====
Line 394: Line 410:
| FUSE_PRIVATE_KEY1_NONZERO_DATA
| FUSE_PRIVATE_KEY1_NONZERO_DATA
|}
|}
Returns whether [[#Bitmap|private_key1]] is empty or not.


==== FUSE_PRIVATE_KEY2_NONZERO ====
==== FUSE_PRIVATE_KEY2_NONZERO ====
Line 403: Line 422:
| FUSE_PRIVATE_KEY2_NONZERO_DATA
| FUSE_PRIVATE_KEY2_NONZERO_DATA
|}
|}
Returns whether [[#Bitmap|private_key2]] is empty or not.


==== FUSE_PRIVATE_KEY3_NONZERO ====
==== FUSE_PRIVATE_KEY3_NONZERO ====
Line 412: Line 433:
| FUSE_PRIVATE_KEY3_NONZERO_DATA
| FUSE_PRIVATE_KEY3_NONZERO_DATA
|}
|}
Returns whether [[#Bitmap|private_key3]] is empty or not.


==== FUSE_PRIVATE_KEY4_NONZERO ====
==== FUSE_PRIVATE_KEY4_NONZERO ====
Line 421: Line 444:
| FUSE_PRIVATE_KEY4_NONZERO_DATA
| FUSE_PRIVATE_KEY4_NONZERO_DATA
|}
|}
Returns whether [[#Bitmap|private_key4]] is empty or not.


=== Cache registers ===
=== Cache registers ===
Line 1,464: Line 1,489:
| aid
| aid
| 103
| 103
| None
| 0-31
|-
| ramrepair_record0
| 104
| None
| 0-31
|-
| ramrepair_record1
| 105
| None
| 0-31
|-
| ramrepair_record2
| 106
| None
| 0-31
|-
| ramrepair_record3
| 107
| None
| 0-31
|-
| ramrepair_record4
| 108
| None
| 0-31
|-
| ramrepair_record5
| 109
| None
| None
| 0-31
| 0-31