Documentation: ABI: add sysfs interface for ZynqMP CSU registers

Document the new sysfs interface that exposes Configuration Security
Unit (CSU) registers through the zynqmp-firmware driver.

The interface is available under:

  /sys/devices/platform/firmware:zynqmp-firmware/csu_registers/

The CSU registers are discovered at boot time using the PM_QUERY_DATA
firmware API. The following registers are currently supported:

  - multiboot     (CSU_MULTI_BOOT)
  - idcode        (CSU_IDCODE, read-only)
  - pcap-status   (CSU_PCAP_STATUS, read-only)

Read operations use the existing IOCTL_READ_REG firmware interface,
while write operations use IOCTL_MASK_WRITE_REG.

Access control is enforced by the firmware. Write attempts to
read-only registers are rejected by firmware even though the sysfs file
permissions allow writes.

Document the ABI entry accordingly.

Signed-off-by: Ronak Jain <ronak.jain@amd.com>
Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/20260520093654.3303917-2-ronak.jain@amd.com
This commit is contained in:
Ronak Jain 2026-05-20 02:36:53 -07:00 committed by Michal Simek
parent fdee7c66c0
commit 8ebebccf15

View File

@ -254,3 +254,36 @@ Description:
The expected result is 500.
Users: Xilinx
What: /sys/devices/platform/firmware\:zynqmp-firmware/csu_registers/*
Date: May 2026
KernelVersion: 7.2
Contact: "Ronak Jain" <ronak.jain@amd.com>
Description:
Read/Write CSU (Configuration Security Unit) registers.
This interface provides dynamic access to CSU registers that are
discovered from the firmware at boot time using PM_QUERY_DATA API.
The supported registers are:
- multiboot: CSU_MULTI_BOOT register
- idcode: CSU_IDCODE register (read-only)
- pcap-status: CSU_PCAP_STATUS register (read-only)
Read operations use the existing IOCTL_READ_REG API.
Write operations use the existing IOCTL_MASK_WRITE_REG API.
The firmware enforces access control - read-only registers will reject
write attempts even though the sysfs permissions show write access.
Usage for reading::
# cat /sys/devices/platform/firmware\:zynqmp-firmware/csu_registers/multiboot
# cat /sys/devices/platform/firmware\:zynqmp-firmware/csu_registers/idcode
Usage for writing (mask and value are in hexadecimal)::
# echo 0xFFFFFFF 0x0 > /sys/devices/platform/firmware\:zynqmp-firmware/csu_registers/multiboot
Users: Xilinx/AMD