new file mode 100644
@@ -0,0 +1,135 @@
+What: /sys/class/scrub/
+Date: November 2023
+KernelVersion: 6.8
+Contact: linux-kernel@vger.kernel.org
+Description:
+ The scrub/ class subdirectory belongs to the scrub
+ subsystem.
+
+What: /sys/class/scrub/scrubX/
+Date: November 2023
+KernelVersion: 6.8
+Contact: linux-kernel@vger.kernel.org
+Description:
+ The /sys/class/scrub/scrub{0,1,2,3,...} directories
+ correspond to each scrub device.
+
+What: /sys/class/scrub/scrubX/name
+Date: November 2023
+KernelVersion: 6.8
+Contact: linux-kernel@vger.kernel.org
+Description:
+ (RO) name of the memory scrub device
+
+What: /sys/class/scrub/scrubX/regionY/
+Date: November 2023
+KernelVersion: 6.8
+Contact: linux-kernel@vger.kernel.org
+Description:
+ The /sys/class/scrub/scrubX/region{0,1,2,3,...}
+ directories correspond to each scrub region under a scrub device.
+ Scrub region is a physical address range or for example
+ memory media FRU of DDR5 ECS feature for which scrub may be
+ separately controlled.
+
+What: /sys/class/scrub/scrubX/regionY/enable
+Date: November 2023
+KernelVersion: 6.8
+Contact: linux-kernel@vger.kernel.org
+Description:
+ (WO) Start/Stop CXL memory patrol scrub.
+ 1 - enable the CXL memory patrol scrub.
+ 0 - disable the CXL memory patrol scrub.
+
+What: /sys/class/scrub/scrubX/regionY/speed
+Date: November 2023
+KernelVersion: 6.8
+Contact: linux-kernel@vger.kernel.org
+Description:
+ (RW) The scrub cycle to set for the CXL memory
+ patrol scrub and it must be within the supported
+ range. The unit of the scrub cycle is hour.
+
+What: /sys/class/scrub/scrubX/regionY/speed_available
+Date: November 2023
+KernelVersion: 6.8
+Contact: linux-kernel@vger.kernel.org
+Description:
+ (RO) Supported range of the scrub cycle by the
+ CXL memory patrol scrub.
+ The unit of the scrub cycle is hour.
+
+What: /sys/class/scrub/scrubX/regionY/ecs_log_entry_type
+Date: November 2023
+KernelVersion: 6.8
+Contact: linux-kernel@vger.kernel.org
+Description:
+ (RW) The log entry type of how the DDR5 ECS log is
+ reported.
+ 00b - per DRAM.
+ 01b - per memory media FRU.
+
+What: /sys/class/scrub/scrubX/regionY/ecs_log_entry_type_per_dram
+Date: November 2023
+KernelVersion: 6.8
+Contact: linux-kernel@vger.kernel.org
+Description:
+ (RO) Returns true if current log entry type of DDR5 ECS
+ region is per DRAM.
+
+What: /sys/class/scrub/scrubX/regionY/ecs_log_entry_type_per_memory_media
+Date: November 2023
+KernelVersion: 6.8
+Contact: linux-kernel@vger.kernel.org
+Description:
+ (RO) Returns true if current log entry type of DDR5 ECS
+ region is per memory media FRU.
+
+What: /sys/class/scrub/scrubX/regionY/mode
+Date: November 2023
+KernelVersion: 6.8
+Contact: linux-kernel@vger.kernel.org
+Description:
+ (RW) The mode of how the DDR5 ECS counts the errors.
+ 0 - ECS counts rows with errors.
+ 1 - ECS counts codewords with errors.
+
+What: /sys/class/scrub/scrubX/regionY/mode_counts_rows
+Date: November 2023
+KernelVersion: 6.8
+Contact: linux-kernel@vger.kernel.org
+Description:
+ (RO) Returns true if current mode of DDR5 ECS region
+ is counts rows with errors.
+
+What: /sys/class/scrub/scrubX/regionY/mode_counts_codewords
+Date: November 2023
+KernelVersion: 6.8
+Contact: linux-kernel@vger.kernel.org
+Description:
+ (RO) Returns true if current mode of DDR5 ECS region
+ is counts codewords with errors.
+
+What: /sys/class/scrub/scrubX/regionY/reset_counter
+Date: November 2023
+KernelVersion: 6.8
+Contact: linux-kernel@vger.kernel.org
+Description:
+ (WO) DDR5 ECS reset ECC counter.
+ 0 - normal, ECC counter running actively.
+ 1 - reset ECC counter to the default value.
+
+What: /sys/class/scrub/scrubX/regionY/threshold
+Date: November 2023
+KernelVersion: 6.8
+Contact: linux-kernel@vger.kernel.org
+Description:
+ (RW) DDR5 ECS threshold count per GB of memory cells.
+
+What: /sys/class/scrub/scrubX/regionY/threshold_available
+Date: November 2023
+KernelVersion: 6.8
+Contact: linux-kernel@vger.kernel.org
+Description:
+ (RO) Supported list of DDR5 ECS threshold count per GB of
+ memory cells.