Skip to content
Open
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions Device.md
Original file line number Diff line number Diff line change
Expand Up @@ -275,7 +275,7 @@ gantt
section Id
BOOT_EE :id7, 0, 1
BOOT_DEF :id6, after bit7 , 2
- :id5, after bit6 , 3
UPDATE_FIRMWARE :id5, after bit6 , 3
- :id4, after bit5 , 4
NAME_TO_DEFAULT :id3, after bit4 , 5
SAVE :id2, after bit3 , 6
Expand All @@ -297,9 +297,11 @@ gantt

* **RST_EE [Bit 1]:** If this bit is set and non-volatile memory is available, the device MUST reset and reboot with all core and application registers set to the values saved in persistent storage, usually an EEPROM. Any currently stored values MUST remain the permanent boot option. If this bit is set and non-volatile memory is not available, the device MUST respond with an `Error` message. When sending a response to a `Read` command, the device MUST clear this bit in the response payload.

* **SAVE [Bit 3]:** If this bit is set and non-volatile memory is available, the device MUST save any non-volatile core and application registers to persistent storage, and reboot. The non-volatile memory should be configured as the permanent boot option. If this bit is set and non-volatile memory is not available, the device MUST respond with an `Error` message. When sending a response to a `Read` command, the device MUST clear this bit in the response payload.
* **SAVE [Bit 2]:** If this bit is set and non-volatile memory is available, the device MUST save any non-volatile core and application registers to persistent storage, and reboot. The non-volatile memory should be configured as the permanent boot option. If this bit is set and non-volatile memory is not available, the device MUST respond with an `Error` message. When sending a response to a `Read` command, the device MUST clear this bit in the response payload.

* **NAME_TO_DEFAULT [Bit 3]:** If this bit is set, the device MUST reboot and restore the value of [`R_DEVICE_NAME`](#r_device_name-25-bytes--devices-name) to its default value. When sending a response to a `Read` command, the device MUST clear this bit in the response payload.

* **NAME_TO_DEFAULT [Bit 4]:** If this bit is set, the device MUST reboot and restore the value of [`R_DEVICE_NAME`](#r_device_name-25-bytes--devices-name) to its default value. When sending a response to a `Read` command, the device MUST clear this bit in the response payload.
* **UPDATE_FIRMWARE [Bit 5]:** If this bit is set, the device MUST enter firmware update mode. In this mode the device will no longer be expected to respond to any commands until the update completes. Once completed, the device MUST reset. A `Read` from this register should always return 0.

* **BOOT_DEF [Bit 6]:** When sending a response to a `Read` command, the device MUST set this bit if the device booted with its default register values. If non-volatile memory is not available, the device MUST always set this bit when sending a response to a `Read` command. This bit is read-only state, so if this bit is set on a command message, the device MUST respond with an `Error` message.

Expand Down
1 change: 1 addition & 0 deletions schema/core.yml
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,7 @@ bitMasks:
RestoreEeprom: {value: 0x2, description: The device will boot and restore all the registers to the values stored in non-volatile memory.}
Save: {value: 0x4, description: The device will boot and save all the current register values to non-volatile memory.}
RestoreName: {value: 0x8, description: The device will boot with the default device name.}
FirmwareUpdate: {value: 0x20, description: The device will trigger firmware update mode.}
BootFromDefault: {value: 0x40, description: Specifies that the device has booted from default factory values.}
BootFromEeprom: {value: 0x80, description: Specifies that the device has booted from non-volatile values stored in EEPROM.}
ClockConfigurationFlags:
Expand Down