From: Rama devi Veggalam <rama.devi.veggalam@amd.com>
To: <bp@alien8.de>, <tony.luck@intel.com>, <michal.simek@amd.com>,
<robh@kernel.org>, <krzk+dt@kernel.org>, <conor+dt@kernel.org>
Cc: <linux-kernel@vger.kernel.org>, <linux-edac@vger.kernel.org>,
<devicetree@vger.kernel.org>, <james.morse@arm.com>,
<mchehab@kernel.org>, <rric@kernel.org>, <git@amd.com>,
Rama devi Veggalam <rama.devi.veggalam@amd.com>
Subject: [PATCH v3 2/4] Documentation: ABI: Add ABI doc for versal edac sysfs
Date: Thu, 25 Jun 2026 02:55:43 +0530 [thread overview]
Message-ID: <20260624212545.2850787-3-rama.devi.veggalam@amd.com> (raw)
In-Reply-To: <20260624212545.2850787-1-rama.devi.veggalam@amd.com>
Add documentation for the sysfs entries created for
versal edac (XilSEM).
Signed-off-by: Rama devi Veggalam <rama.devi.veggalam@amd.com>
---
Changes in v3:
- Renamed file name from xilsem edac to versal edac
Changes in v2:
- Updated Date field in sysfs file
---
.../ABI/testing/sysfs-driver-versal-edac | 303 ++++++++++++++++++
1 file changed, 303 insertions(+)
create mode 100644 Documentation/ABI/testing/sysfs-driver-versal-edac
diff --git a/Documentation/ABI/testing/sysfs-driver-versal-edac b/Documentation/ABI/testing/sysfs-driver-versal-edac
new file mode 100644
index 000000000000..c35d864fcbe2
--- /dev/null
+++ b/Documentation/ABI/testing/sysfs-driver-versal-edac
@@ -0,0 +1,303 @@
+What: /sys/devices/system/edac/versal_xilsem/xsem_scan_control
+Date: What: /sys/devices/system/edac/mc/mc0/xsem_scan_control
+Date: June 2026
+Contact: rama.devi.veggalam@amd.com
+Description:
+ It is a read/write file.
+ Writing to this file causes the software to initiate a
+ request to the firmware for doing requested scan operation in
+ Configuration RAM (CRAM) or NPI of Versal mono/SSIT devices.
+ User needs to provide scan operation id (init, start, stop) and
+ SLR id (Versal SSIT device) details. For Versal mono devices,
+ the SLR id should be 0.
+ The scan operation id values are as given below:
+ 1 - Initialize the scan
+ 2 - Start CRAM scan
+ 3 - Stop CRAM scan
+ 5 - Start NPI scan
+ 6 - Stop NPI scan
+ 7 - Inject NPI error in first descriptor
+
+ When read, it shows the current scan status with error code.
+ The format is <0x1030 | operation Id> <error code> <Slr ID>
+ The different error codes are as given below:
+ ========== =====
+ Error Code Cause
+ ========== =====
+ 0x0 Scan operation success
+ 0x1 Failure in NPI scan
+ 0x80 Calibration timeout
+ 0x2000 Internal error
+ 0x500000 CRAM initialization not yet done
+ 0x600000 Start scan failed
+ 0x700000 Stop scan failed
+ 0xF00000 Active CRC/UE error
+ 0x1000000 ECC/CRC error detected during calibration
+ ========== =====
+
+What: /sys/devices/system/edac/mc/mc0/xsem_cram_injecterr
+Date: June 2026
+Contact: rama.devi.veggalam@amd.com
+Description:
+ It is a read/write file.
+ Writing to this file causes the software to initiate a
+ request to the firmware for doing error injection in
+ Configuration RAM (CRAM) of Versal mono/SSIT devices.
+ User needs to provide the location details of CRAM
+ (frame, qword, bit number, row number) and
+ SLR id (Versal SSIT device) details to inject the error.
+ For Versal mono devices, the SLR id should be 0..
+ When read, it shows the current error injection status. The
+ format is <header> <error code> <Slr ID>
+ Example: 0x10304 0
+ The different error codes are as given below:
+ ========== =====
+ Error Code Cause
+ ========== =====
+ 0x0 Error injection success
+ 0x2000 Internal NULL pointer error
+ 0x500000 CRAM initialization not yet done
+ 0x800000 Invalid row
+ 0x900000 Invalid qword
+ 0xA00000 Invalid bit
+ 0xB00000 Invalid frame address
+ 0xC00000 Unexpected bits flipped
+ 0xD00000 Masked bit
+ 0xE00000 Invalid block type
+ 0xF00000 Active CRC/UE error in CRAM
+ ========== =====
+
+What: /sys/devices/system/edac/mc/mc0/xsem_cram_framecc_read
+Date: June 2026
+Contact: rama.devi.veggalam@amd.com
+Description:
+ It is a read/write file.
+ Writing to this file causes the software to initiate a
+ request to the firmware for reading frame ECC values in
+ Configuration RAM (CRAM) of Versal devices. User needs
+ to provide the location details of CRAM
+ (frame, row number, SLR id in SSIT device) to read the ECC values.
+ For Versal mono devices, SLR id should be 0.
+ When read, it shows the ECC values for the requested frame.
+ The format is <header> <ECC_0> <ECC_1> <status>
+ Example:
+ Read Frame ECC Cmd: [0x3030a]
+ Frame ECC Word_0: [0x52f245]
+ Frame ECC Word_1: [0x7c5a6b]
+ Cmd Status: [0x0]
+
+What: /sys/devices/system/edac/mc/mc0/xsem_read_config
+Date: June 2026
+Contact: rama.devi.veggalam@amd.com
+Description:
+ It is a read/write file.
+ Writing to this file causes the software to initiate a
+ request to the firmware for reading Xilsem configuration.
+ When read, it shows the CRAM and NPI scan configuration.
+ The format is <status> <header> <CRAM config> <NPI config>
+ Example: Read Config Cmd: [0x30309]
+ CRAM Scan Config: [0x2e]
+ NPI Scan Config: [0x5016]
+ Cmd Status: [0x0]
+
+What: /sys/devices/system/edac/mc/mc0/xsem_read_status
+Date: June 2026
+Contact: rama.devi.veggalam@amd.com
+Description:
+ It is a read/write file.
+ Writing to this file causes the software to initiate a
+ request read the Xilsem status. User needs to provide
+ the module id for status. The module id values are as given below:
+ 1 - CRAM scan
+ 2 - NPI scan
+ When read, it shows the status of the requested module.
+ For CRAM: <status> <CE count>
+ Example: 0x10005 0
+ For NPI: <status> <scan count> <heartbeat count>
+ Example: 0xA01 0x10 0x1
+
+What: /sys/devices/system/edac/mc/mc0/xsem_cram_ssit_getcrc
+Date: June 2026
+Contact: rama.devi.veggalam@amd.com
+Description:
+ It is a read/write file.
+ Writing to this file causes the software to initiate a
+ request to read CRC of a row in CRAM. User needs to provide
+ the row number and SLR id (Versal SSIT device) for which CRC
+ to be read. For Versal mono devices, SLR id should be 0.
+ When read, it shows the CRC of the requested row.
+ The format is: <Header> <CRC Word 0 to 3> <status>
+ Example: Read CRC Cmd:[0x1030c]
+ CRC_Word 0:[0x0]
+ CRC_Word 1:[0x1f72d881]
+ CRC_Word 2:[0x0]
+ CRC_Word 3:[0x0]
+ Cmd status: [0x0]
+
+What: /sys/devices/system/edac/mc/mc0/xsem_read_ssit_status
+Date: June 2026
+Contact: rama.devi.veggalam@amd.com
+Description:
+ It is a read/write file.
+ Writing to this file causes the software to initiate a
+ request to read CRAM and NPI scan status information in a given SLR.
+ User needs to provide SLR id in Versal SSIT device for which
+ XilSEM status to be read. When read, it shows
+ the XilSEM status of the requested SLR.
+ The format is: <Header> <SLR id> <NPI status info> <CRAM status info>
+ Example: Read SLR Status Cmd:[0x1030d]
+ SLR ID:[0x3]
+ NPI status:[0xa01]
+ NPI scan count:[0x413]
+ NPI Heartbeat count:[0x1150c]
+ NPI scan skip count 0 :[0x0]
+ NPI scan skip count 1 :[0x0]
+ NPI scan skip count 2 :[0x0]
+ NPI scan skip count 3 :[0x0]
+ NPI scan skip count 4 :[0x0]
+ NPI scan skip count 5 :[0x0]
+ NPI scan skip count 6 :[0x0]
+ NPI scan skip count 7 :[0x0]
+ NPI error info 0 :[0x0]
+ NPI error info 1 :[0x0]
+ CRAM status:[0x10005]
+ Error Location High 0: [0x0]
+ Error Location Low 0: [0x0]
+ Error Location High 1: [0x0]
+ Error Location Low 1: [0x0]
+ Error Location High 2: [0x0]
+ Error Location Low 2: [0x0]
+ Error Location High 3: [0x0]
+ Error Location Low 3: [0x0]
+ Error Location High 4: [0x0]
+ Error Location Low 4: [0x0]
+ Error Location High 5: [0x0]
+ Error Location Low 5: [0x0]
+ Error Location High 6: [0x0]
+ Error Location Low 6: [0x0]
+ CRAM scan CE count:[0x0]
+
+What: /sys/devices/system/edac/mc/mc0/xsem_total_cframes_ssit
+Date: June 2026
+Contact: rama.devi.veggalam@amd.com
+Description:
+ It is a read/write file.
+ Writing to this file causes the software to initiate a
+ request to read total cframes in a row in CRAM.
+ User needs to provide row number and SLR id in
+ Versal SSIT device for which total frames to be read.
+ When read, it shows total number of Cframes for the requested SLR.
+ The format is: <Header> <SLR id> <row> <total frames> <Cmd status>
+ Example: Read Total Frames Cmd : [0x4030e]
+ SLR ID : [0x3]
+ Row Index: [0x0]
+ Type[0] frame count: [38752]
+ Type[1] frame count: [262144]
+ Type[2] frame count: [20480]
+ Type[3] frame count: [16]
+ Type[4] frame count: [8]
+ Type[5] frame count: [0]
+ Type[6] frame count: [83]
+ Cmd Status: [0x0]
+Contact: rama.devi.veggalam@amd.com
+Description:
+ It is a read/write file.
+ Writing to this file causes the software to initiate a
+ request to the firmware for doing requested scan operation in
+ Configuration RAM (CRAM) or NPI of Versal devices. User needs
+ to provide scan operation id (init, start, stop) details.
+ The scan operation id values are as given below:
+ 1 - Initialize the scan
+ 2 - Start CRAM scan
+ 3 - Stop CRAM scan
+ 5 - Start NPI scan
+ 6 - Stop NPI scan
+ 7 - Inject NPI error in first descriptor
+
+ When read, it shows the current scan status with error code.
+ The format is <0x1030 | operation Id> <error code>.
+ The different error codes are as given below:
+ ========== =====
+ Error Code Cause
+ ========== =====
+ 0x0 Scan operation success
+ 0x1 Failure in NPI scan
+ 0x80 Calibration timeout
+ 0x2000 Internal error
+ 0x500000 CRAM initialization not yet done
+ 0x600000 Start scan failed
+ 0x700000 Stop scan failed
+ 0xF00000 Active CRC/UE error
+ 0x1000000 ECC/CRC error detected during calibration
+ ========== =====
+
+What: /sys/devices/system/edac/versal_xilsem/xsem_cram_injecterr
+Date: July 2025
+Contact: rama.devi.veggalam@amd.com
+Description:
+ It is a read/write file.
+ Writing to this file causes the software to initiate a
+ request to the firmware for doing error injection in
+ Configuration RAM (CRAM) of Versal devices. User needs
+ to provide the location details of CRAM
+ (frame, qword, bit number, row number) to inject the error.
+ When read, it shows the current error injection status. The
+ format is <header> <error code>.
+ Example: 0x10304 0
+ The different error codes are as given below:
+ ========== =====
+ Error Code Cause
+ ========== =====
+ 0x0 Error injection success
+ 0x2000 Internal NULL pointer error
+ 0x500000 CRAM initialization not yet done
+ 0x800000 Invalid row
+ 0x900000 Invalid qword
+ 0xA00000 Invalid bit
+ 0xB00000 Invalid frame address
+ 0xC00000 Unexpected bits flipped
+ 0xD00000 Masked bit
+ 0xE00000 Invalid block type
+ 0xF00000 Active CRC/UE error in CRAM
+ ========== =====
+
+What: /sys/devices/system/edac/versal_xilsem/xsem_cram_framecc_read
+Date: July 2025
+Contact: rama.devi.veggalam@amd.com
+Description:
+ It is a read/write file.
+ Writing to this file causes the software to initiate a
+ request to the firmware for reading frame ECC values in
+ Configuration RAM (CRAM) of Versal devices. User needs
+ to provide the location details of CRAM
+ (frame, row number) to read the ECC values.
+ When read, it shows the ECC values for the requested frame.
+ The format is <status> <header> <ECC_0> <ECC_1>
+ Example: 0 0x1030A 0x363B1A 0x8A0200
+
+What: /sys/devices/system/edac/versal_xilsem/xsem_read_config
+Date: July 2025
+Contact: rama.devi.veggalam@amd.com
+Description:
+ It is a read/write file.
+ Writing to this file causes the software to initiate a
+ request to the firmware for reading Xilsem configuration.
+ When read, it shows the CRAM and NPI scan configuration.
+ The format is <status> <header> <CRAM config> <NPI config>
+ Example: 0 0x1030A 0x26 0x5016
+
+What: /sys/devices/system/edac/versal_xilsem/xsem_read_status
+Date: July 2025
+Contact: rama.devi.veggalam@amd.com
+Description:
+ It is a read/write file.
+ Writing to this file causes the software to initiate a
+ request read the Xilsem status. User needs to provide
+ the module id for status. The module id values are as given below:
+ 1 - CRAM scan
+ 2 - NPI scan
+ When read, it shows the status of the requested module.
+ For CRAM: <status> <CE count>
+ Example: 0x10005 0
+ For NPI: <status> <scan count> <heartbeat count>
+ Example: 0xA01 0x10 0x1
--
2.23.0
next prev parent reply other threads:[~2026-06-24 21:26 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-24 21:25 [PATCH v3 0/4] Add support for Versal Xilsem edac Rama devi Veggalam
2026-06-24 21:25 ` [PATCH v3 1/4] dt-bindings: edac: Add bindings for Xilinx Versal XilSEM Rama devi Veggalam
2026-06-24 21:33 ` sashiko-bot
2026-06-24 21:25 ` Rama devi Veggalam [this message]
2026-06-24 21:32 ` [PATCH v3 2/4] Documentation: ABI: Add ABI doc for versal edac sysfs sashiko-bot
2026-06-24 21:25 ` [PATCH v3 3/4] firmware: xilinx: Add support for Xilsem scan operations Rama devi Veggalam
2026-06-24 21:39 ` sashiko-bot
2026-06-24 21:25 ` [PATCH v3 4/4] edac: xilinx: Add EDAC support for Versal XilSem Rama devi Veggalam
2026-06-24 21:37 ` sashiko-bot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260624212545.2850787-3-rama.devi.veggalam@amd.com \
--to=rama.devi.veggalam@amd.com \
--cc=bp@alien8.de \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=git@amd.com \
--cc=james.morse@arm.com \
--cc=krzk+dt@kernel.org \
--cc=linux-edac@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mchehab@kernel.org \
--cc=michal.simek@amd.com \
--cc=robh@kernel.org \
--cc=rric@kernel.org \
--cc=tony.luck@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox