[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