Four 32-bit persistent global storage registers are available for general use. Their values are preserved after software reboots. The following table lists the persistent global general storage registers.
Device Node | MMIO Register | Valid Value Range |
---|---|---|
/sys/firmware/zynqmp/pggs0 | PMC_GLOBAL_PERS_GLOB_GEN_STORAGE3 |
0x00000000 to
0xFFFFFFFF
|
/sys/firmware/zynqmp/pggs1 | PMC_GLOBAL_PERS_GLOB_GEN_STORAGE4 |
0x00000000 to
0xFFFFFFFF
|
/sys/firmware/zynqmp/pggs2 | PSM_GLOBAL_PERS_GLOB_GEN_STORAGE0 |
0x00000000 to
0xFFFFFFFF
|
/sys/firmware/zynqmp/pggs3 | PSM_GLOBAL_PERS_GLOB_GEN_STORAGE1 |
0x00000000 to
0xFFFFFFFF
|
To read the value of a persistent global storage register:
cat /sys/firmware/zynqmp/pggs0
To write the mask and value of a persistent global storage register:
echo 0xFFFFFFFF 0x1234ABCD > /sys/firmware/zynqmp/pggs0
The following registers are reserved.
Important:
Xilinx recommends that you do not use reserved registers.
Register | Description |
---|---|
PMC_GLOBAL_GLOBAL_GEN_STORAGE0, PMC_GLOBAL_GLOBAL_GEN_STORAGE1 |
Contains the ROM execution time stamp. When PLM is active, it reads these two registers to obtain the execution time of ROM. Registers can be used after loading boot PDI. |
PMC_GLOBAL_GLOBAL_GEN_STORAGE2 | Contains device security status, updated by ROM. PLM uses this register to determine if KAT needs to be performed. |
PMC_GLOBAL_GLOBAL_GEN_STORAGE4 | Used by PLM to store ATF handoff parameter address pointer. |
PMC_GLOBAL_PERS_GLOB_GEN_STORAGE0 |
Reserved for XilPM to save the status of each power domain initialization. |
PMC_GLOBAL_PERS_GLOB_GEN_STORAGE1 | Not yet used in PLM but intended for data sharing between PLM and debugger. |