Fuses: Difference between revisions
No edit summary |
|||
Line 11: | Line 11: | ||
! Address | ! Address | ||
|- | |- | ||
| [[# | | [[#FUSE_FUSECTRL|FUSE_FUSECTRL]] | ||
| 0x7000F800 | | 0x7000F800 | ||
|- | |- | ||
| [[# | | [[#FUSE_FUSEADDR|FUSE_FUSEADDR]] | ||
| 0x7000F804 | | 0x7000F804 | ||
|- | |- | ||
| [[# | | [[#FUSE_FUSERDATA|FUSE_FUSERDATA]] | ||
| 0x7000F808 | | 0x7000F808 | ||
|- | |- | ||
| [[# | | [[#FUSE_FUSEWDATA|FUSE_FUSEWDATA]] | ||
| 0x7000F80C | | 0x7000F80C | ||
|- | |- | ||
| | | FUSE_FUSETIME_RD1 | ||
| 0x7000F810 | | 0x7000F810 | ||
|- | |- | ||
| | | FUSE_FUSETIME_RD2 | ||
| 0x7000F814 | | 0x7000F814 | ||
|- | |- | ||
| | | FUSE_FUSETIME_PGM1 | ||
| 0x7000F818 | | 0x7000F818 | ||
|- | |- | ||
| [[# | | [[#FUSE_FUSETIME_PGM2|FUSE_FUSETIME_PGM2]] | ||
| 0x7000F81C | | 0x7000F81C | ||
|- | |- | ||
| [[# | | [[#FUSE_PRIV2INTFC_START|FUSE_PRIV2INTFC_START]] | ||
| 0x7000F820 | | 0x7000F820 | ||
|- | |- | ||
Line 44: | Line 44: | ||
| 0x7000F828 | | 0x7000F828 | ||
|- | |- | ||
| [[# | | [[#FUSE_DISABLEREGPROGRAM|FUSE_DISABLEREGPROGRAM]] | ||
| 0x7000F82C | | 0x7000F82C | ||
|- | |- | ||
| [[# | | [[#FUSE_WRITE_ACCESS_SW|FUSE_WRITE_ACCESS_SW]] | ||
| 0x7000F830 | | 0x7000F830 | ||
|- | |- | ||
Line 56: | Line 56: | ||
| 0x7000F83C | | 0x7000F83C | ||
|- | |- | ||
| | | FUSE_FUSETIME_RD3 | ||
| 0x7000F84C | | 0x7000F84C | ||
|- | |- | ||
Line 75: | Line 75: | ||
|} | |} | ||
==== | ==== FUSE_FUSECTRL ==== | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
! Bits | ! Bits | ||
Line 81: | Line 81: | ||
|- | |- | ||
| 0-1 | | 0-1 | ||
| | | FUSE_FUSECTRL_CMD | ||
0x00: IDLE | |||
0x01: READ | |||
0x02: WRITE | |||
0x03: SENSE_CTRL | |||
|- | |- | ||
| 16-20 | | 16-20 | ||
| | | FUSE_FUSECTRL_STATE | ||
0x00: STATE_RESET | |||
0x01: STATE_POST_RESET | |||
0x02: STATE_LOAD_ROW0 | |||
0x03: STATE_LOAD_ROW1 | |||
0x04: STATE_IDLE | |||
0x05: STATE_READ_SETUP | |||
0x06: STATE_READ_STROBE | |||
0x07: STATE_SAMPLE_FUSES | |||
0x08: STATE_READ_HOLD | |||
0x09: STATE_FUSE_SRC_SETUP | |||
0x0A: STATE_WRITE_SETUP | |||
0x0B: STATE_WRITE_ADDR_SETUP | |||
0x0C: STATE_WRITE_PROGRAM | |||
0x0D: STATE_WRITE_ADDR_HOLD | |||
0x0E: STATE_FUSE_SRC_HOLD | |||
0x0F: STATE_READ_BEFORE_WRITE_SETUP | |||
|- | |||
| 21 | |||
| FUSE_FUSECTRL_MARGIN_READ | |||
|- | |||
| 22 | |||
| FUSE_FUSECTRL_RWL | |||
|- | |||
| 23 | |||
| FUSE_FUSECTRL_TRCS | |||
|- | |||
| 24 | |||
| FUSE_FUSECTRL_AT1 | |||
|- | |||
| 25 | |||
| FUSE_FUSECTRL_AT0 | |||
|- | |- | ||
| 26 | | 26 | ||
| | | FUSE_FUSECTRL_PD_CTRL | ||
|- | |- | ||
| 30 | | 30 | ||
| | | FUSE_FUSECTRL_FUSE_SENSE_DONE | ||
|- | |||
| 31 | |||
| FUSE_FUSECTRL_RECORD_SHIFT_DONE | |||
|} | |} | ||
Before fuse reading/writing the power down mode must be disabled. | Before fuse reading/writing the power down mode must be disabled. | ||
SENSE_CTRL mode flushes programmed values into the [[Fuses#Cache_registers|cache registers]]. | |||
==== | ==== FUSE_FUSEADDR ==== | ||
This register takes the address of the fuse to be read/written/sensed. | This register takes the address of the fuse to be read/written/sensed. | ||
==== | ==== FUSE_FUSERDATA ==== | ||
This register receives the value read from the fuse. | This register receives the value read from the fuse. | ||
==== | ==== FUSE_FUSEWDATA ==== | ||
This register takes the value to be written to the fuse. | This register takes the value to be written to the fuse. | ||
==== | ==== FUSE_FUSETIME_PGM2 ==== | ||
This register takes the fuse programming pulse (0xC0 == 19200 kHz). | This register takes the fuse programming pulse (0xC0 == 19200 kHz). | ||
==== | ==== FUSE_PRIV2INTFC_START ==== | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
! Bits | ! Bits | ||
Line 114: | Line 152: | ||
|- | |- | ||
| 0 | | 0 | ||
| | | FUSE_PRIV2INTFC_START_DATA | ||
|- | |- | ||
| 1 | | 1 | ||
| | | FUSE_PRIV2INTFC_START_SKIP_RECORDS | ||
|} | |} | ||
==== | ==== FUSE_DISABLEREGPROGRAM ==== | ||
If set to 0x01, this register disables fuse programming. | If set to 0x01, this register disables fuse programming. | ||
==== | ==== FUSE_WRITE_ACCESS_SW ==== | ||
If set to 0x01, this register disables software writes to the fuse driver registers. | If set to 0x01, this register disables software writes to the fuse driver registers. | ||