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. | |
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.
| 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.
| 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.
| 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.