Skip to content

Commit 66cc883

Browse files
committed
Merge tag 'edac_updates_for_v6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras
Pull EDAC updates from Borislav Petkov: - A new EDAC driver for Xilinx's Versal integrated memory controller * tag 'edac_updates_for_v6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras: EDAC/versal: Add a Xilinx Versal memory controller driver dt-bindings: memory-controllers: Add support for Xilinx Versal EDAC for DDRMC
2 parents 9e87705 + 6f15b17 commit 66cc883

File tree

6 files changed

+1158
-0
lines changed

6 files changed

+1158
-0
lines changed
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/memory-controllers/xlnx,versal-ddrmc-edac.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Xilinx Versal DDRMC (Integrated DDR Memory Controller)
8+
9+
maintainers:
10+
- Shubhrajyoti Datta <[email protected]>
11+
- Sai Krishna Potthuri <[email protected]>
12+
13+
description:
14+
The integrated DDR Memory Controllers (DDRMCs) support both DDR4 and LPDDR4/
15+
4X memory interfaces. Versal DDR memory controller has an optional ECC support
16+
which correct single bit ECC errors and detect double bit ECC errors.
17+
18+
properties:
19+
compatible:
20+
const: xlnx,versal-ddrmc
21+
22+
reg:
23+
items:
24+
- description: DDR Memory Controller registers
25+
- description: NOC registers corresponding to DDR Memory Controller
26+
27+
reg-names:
28+
items:
29+
- const: base
30+
- const: noc
31+
32+
interrupts:
33+
maxItems: 1
34+
35+
required:
36+
- compatible
37+
- reg
38+
- reg-names
39+
- interrupts
40+
41+
additionalProperties: false
42+
43+
examples:
44+
- |
45+
#include <dt-bindings/interrupt-controller/arm-gic.h>
46+
47+
bus {
48+
#address-cells = <2>;
49+
#size-cells = <2>;
50+
memory-controller@f6150000 {
51+
compatible = "xlnx,versal-ddrmc";
52+
reg = <0x0 0xf6150000 0x0 0x2000>, <0x0 0xf6070000 0x0 0x20000>;
53+
reg-names = "base", "noc";
54+
interrupt-parent = <&gic>;
55+
interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
56+
};
57+
};

MAINTAINERS

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23738,6 +23738,13 @@ F: Documentation/devicetree/bindings/media/xilinx/
2373823738
F: drivers/media/platform/xilinx/
2373923739
F: include/uapi/linux/xilinx-v4l2-controls.h
2374023740

23741+
XILINX VERSAL EDAC DRIVER
23742+
M: Shubhrajyoti Datta <[email protected]>
23743+
M: Sai Krishna Potthuri <[email protected]>
23744+
S: Maintained
23745+
F: Documentation/devicetree/bindings/memory-controllers/xlnx,versal-ddrmc-edac.yaml
23746+
F: drivers/edac/versal_edac.c
23747+
2374123748
XILINX WATCHDOG DRIVER
2374223749
M: Srinivas Neeli <[email protected]>
2374323750
R: Shubhrajyoti Datta <[email protected]>

drivers/edac/Kconfig

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -561,4 +561,16 @@ config EDAC_NPCM
561561
error detection (in-line ECC in which a section 1/8th of the memory
562562
device used to store data is used for ECC storage).
563563

564+
config EDAC_VERSAL
565+
tristate "Xilinx Versal DDR Memory Controller"
566+
depends on ARCH_ZYNQMP || COMPILE_TEST
567+
help
568+
Support for error detection and correction on the Xilinx Versal DDR
569+
memory controller.
570+
571+
Report both single bit errors (CE) and double bit errors (UE).
572+
Support injecting both correctable and uncorrectable errors
573+
for debugging purposes.
574+
575+
564576
endif # EDAC

drivers/edac/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,3 +86,4 @@ obj-$(CONFIG_EDAC_BLUEFIELD) += bluefield_edac.o
8686
obj-$(CONFIG_EDAC_DMC520) += dmc520_edac.o
8787
obj-$(CONFIG_EDAC_NPCM) += npcm_edac.o
8888
obj-$(CONFIG_EDAC_ZYNQMP) += zynqmp_edac.o
89+
obj-$(CONFIG_EDAC_VERSAL) += versal_edac.o

0 commit comments

Comments
 (0)