[PATCH 1/2] Documentation: ABI: add sysfs interface for ZynqMP CSU registers
Thangaraj, Senthil Nathan
SenthilNathan.Thangaraj at amd.com
Thu Apr 23 21:23:44 PDT 2026
[AMD Official Use Only - AMD Internal Distribution Only]
> -----Original Message-----
> From: Ronak Jain <ronak.jain at amd.com>
> Sent: Wednesday, April 8, 2026 4:43 AM
> To: Simek, Michal <michal.simek at amd.com>; Thangaraj, Senthil Nathan
> <SenthilNathan.Thangaraj at amd.com>
> Cc: linux-kernel at vger.kernel.org; linux-arm-kernel at lists.infradead.org; Jain,
> Ronak <ronak.jain at amd.com>
> Subject: [PATCH 1/2] 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 at amd.com>
> ---
> .../ABI/stable/sysfs-driver-firmware-zynqmp | 33 +++++++++++++++++++
> 1 file changed, 33 insertions(+)
>
> diff --git a/Documentation/ABI/stable/sysfs-driver-firmware-zynqmp
> b/Documentation/ABI/stable/sysfs-driver-firmware-zynqmp
> index c3fec3c835af..f537f7d9bb55 100644
> --- a/Documentation/ABI/stable/sysfs-driver-firmware-zynqmp
> +++ b/Documentation/ABI/stable/sysfs-driver-firmware-zynqmp
> @@ -254,3 +254,36 @@ Description:
> The expected result is 500.
>
> Users: Xilinx
> +
> +What: /sys/devices/platform/firmware\:zynqmp-
> firmware/csu_registers/*
> +Date: March 2026
Should we need to change the month to April ?
> +KernelVersion: 7.1
> +Contact: "Ronak Jain" <ronak.jain at 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
> --
> 2.34.1
Thanks,
Senthil
More information about the linux-arm-kernel
mailing list