Software APIs
Data Fields
retention_sram_creator Struct Reference

Retention SRAM silicon creator area. More...

#include <sw/device/silicon_creator/lib/drivers/retention_sram.h>

Data Fields

uint32_t reset_reasons
 Reset reasons reported by the reset manager before they were reset in mask ROM.
 
boot_svc_msg_t boot_svc_msg
 Boot services message area. More...
 
uint32_t reserved [(2044 -(sizeof(uint32_t)+sizeof(boot_svc_msg_t)+sizeof(boot_log_t)+sizeof(rom_error_t)))/sizeof(uint32_t)]
 Space reserved for future allocation by the silicon creator. More...
 
boot_log_t boot_log
 Boot log area. More...
 
rom_error_t last_shutdown_reason
 Shutdown reason. More...
 

Detailed Description

Retention SRAM silicon creator area.

Definition at line 23 of file retention_sram.h.

Field Documentation

◆ boot_log

boot_log_t retention_sram_creator::boot_log

Boot log area.

This buffer tracks information about the boot process.

Definition at line 63 of file retention_sram.h.

◆ boot_svc_msg

boot_svc_msg_t retention_sram_creator::boot_svc_msg

Boot services message area.

This is the shared buffer through which ROM_EXT and silicon owner code communicate with each other.

Definition at line 35 of file retention_sram.h.

◆ last_shutdown_reason

rom_error_t retention_sram_creator::last_shutdown_reason

Shutdown reason.

Reason of the last shutdown, redacted according to the redaction policy. This field is initialized to kErrorOk on PoR and a value of kErrorOk indicates that no shutdowns since the last PoR.

Definition at line 71 of file retention_sram.h.

◆ reserved

uint32_t retention_sram_creator::reserved[(2044 -(sizeof(uint32_t)+sizeof(boot_svc_msg_t)+sizeof(boot_log_t)+sizeof(rom_error_t)))/ sizeof(uint32_t)]

Space reserved for future allocation by the silicon creator.

The first half of the retention SRAM is reserved for the silicon creator except for the first word that stores the format version. Hence the total size of this struct must be 2044 bytes.

The remaining space is reserved for future use.

We are locating the boot_svc at the beginning and the rest of the members at the end so that:

  • We can grow boot_svc down into the reserved space if needed.
  • We can add additional members at the end (growing up into reserved space) without affecting the layout of other structures.

Definition at line 52 of file retention_sram.h.

◆ reset_reasons

uint32_t retention_sram_creator::reset_reasons

Reset reasons reported by the reset manager before they were reset in mask ROM.

Definition at line 28 of file retention_sram.h.