]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
Documentation: ABI: add sysfs interface for ZynqMP CSU registers
authorRonak Jain <ronak.jain@amd.com>
Wed, 20 May 2026 09:36:53 +0000 (02:36 -0700)
committerMichal Simek <michal.simek@amd.com>
Mon, 25 May 2026 14:09:12 +0000 (16:09 +0200)
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
Documentation/ABI/stable/sysfs-driver-firmware-zynqmp

index c3fec3c835af362061d0211e4e31b9abd7e096bc..ac8c2314deee26b412394fb13d11c3722d6676f9 100644 (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