Skip to content

Commit

Permalink
Add new fuse/lockbits offsets to README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
stople committed Sep 24, 2024
1 parent 5d4e956 commit 97423e0
Showing 1 changed file with 16 additions and 0 deletions.
16 changes: 16 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,10 @@ If you want to update the SMC firmware, please read this [guide](doc/update-guid
| 0x41 | Master read | 1 byte | Get Keycode Fast |
| 0x42 | Master read | 1 byte | Get Mouse Movement Fast |
| 0x43 | Master read | 1 byte | Get PS/2 Data Fast |
| 0x44 | Master read | 1 byte | Get low fuse setting |
| 0x45 | Master read | 1 byte | Get lock bits |
| 0x46 | Master read | 1 byte | Get extended fuse setting |
| 0x47 | Master read | 1 byte | Get high fuse setting |
| 0x8e | Master write | 1 byte | Get Bootloader Version |
| 0x8f | Master write | 0x31 | Start bootloader |
| 0x90 | Master write | 1 byte | Set flash page (0-127) |
Expand Down Expand Up @@ -165,6 +169,18 @@ the firmware was especially designed with these commands in mind:
- Get Mouse Movement Fast (0x42) returns a mouse packet if available, otherwise the request is NACKed.
- Get PS/2 Data Fast (0x43) returns both keycode and mouse packet, first a key code (1 byte) and then a mouse packet (3..4 bytes). If only one of them is available, the other will be reported as 0. If neither one is available, the request is NACKed.

## Get fuses and lock bits (0x44..0x47)

These offsets returns the fuse settings and lock bits (low-lock-extended-high).

Expected value:
- Low: $F1
- Lock: $FF
- Extended: $FE
- High: $D4

The reason for this particular order, is size optimization in SMC FW.

## Get bootloader version (0x8e)

Returns the version of a possible bootloader installed at the top of the
Expand Down

0 comments on commit 97423e0

Please sign in to comment.