Software APIs
rram_ctrl_info_page Struct Reference

A logical RRAM info page. More...

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

Data Fields

uint32_t page_id
 Physical page index.
 
bool emulated
 Whether this page is emulated on the data partition rather than backed by a real RRAM info page.
 
uint32_t num_pages
 Number of contiguous physical pages backing this logical page.
 

Detailed Description

A logical RRAM info page.

Unlike flash, RRAM has only RRAM_CTRL_PARAM_NUM_INFO_PAGES (8) physical info pages, too few for the 20 logical pages named in nvm_info_page_t. The remaining pages are emulated on the data partition of the RRAM. The permissions are currently per emulated page region and not per page. This needs to be adjusted: https://github.com/lowRISC/opentitan/issues/30914.

Definition at line 31 of file rram_ctrl.h.

Field Documentation

◆ emulated

bool rram_ctrl_info_page::emulated

Whether this page is emulated on the data partition rather than backed by a real RRAM info page.

Definition at line 44 of file rram_ctrl.h.

◆ num_pages

uint32_t rram_ctrl_info_page::num_pages

Number of contiguous physical pages backing this logical page.

Real info pages are always 1 (there's no way to combine physical info pages). Emulated pages can span multiple contiguous data-partition pages to fit content larger than 512 bytes; callers reading/writing more than num_pages * 512 bytes will silently spill into the next logical page's storage, since nothing enforces this bound at the read/write call site.

Definition at line 54 of file rram_ctrl.h.

◆ page_id

uint32_t rram_ctrl_info_page::page_id

Physical page index.

For a real page (emulated = false), this is an info-partition page index in [0, RRAM_CTRL_PARAM_NUM_INFO_PAGES - 1]. For an emulated page (emulated = true), this is a data-partition page index.

Definition at line 39 of file rram_ctrl.h.