CSU/PMU Register Access

Zynq UltraScale plus MPSoC Power Management

Release Date
2022-07-26

Read/Write the CSU and PMU global registers.

Register Write :

$ echo  <address> <mask> <value> > /sys/firmware/zynqmp/config_reg

Register Read :

$ echo <address> > /sys/firmware/zynqmp/config_reg
$ cat /sys/firmware/zynqmp/config_reg

CSU and PMU global registers are classified to two lists. White list (accessed all the time by default), Black list (accessed when a compile time flag is set)

we have a #define option (SECURE_ACCESS_VAL) that provides access to black list. To Access black list registers build the PMUFW with  SECURE_ACCESS_VAL flag set.

White List Registers :

CSU Module :

  • Csu_status
  • Csu_multi_boot
  • Csu_tamper_trig
  • Csu_ft_status
  • Jtag_chain_status
  • Idcode
  • Version
  • Csu_rom_digest(0:11)
  • Aes_status
  • Pcap_status

PMU Global Module :

  • Global_control
  • Global_Gen_Storage0 - 6
  • Pers_Glob_Gen_Storage0-6
  • Req_Iso_Status
  • Req_SwRst_Status
  • Csu_Br_Error
  • Safety_Chk

Black List Registers :

  • Every other register in CSU Module, that is not covered in the above white list will be a black register.
  • Every other register in PMU_GLOBAL Module,  that is not covered in the above white list will be a black register.
  • RSA and RSA_CORE module registers are black.