Skip to content

Commit 852667c

Browse files
committed
Merge ras/edac-drivers into for-next
* ras/edac-drivers: EDAC/npcm: Add NPCM memory controller driver dt-bindings: memory-controllers: nuvoton: Add NPCM memory controller Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
2 parents 0a81fa5 + d244c61 commit 852667c

5 files changed

Lines changed: 613 additions & 0 deletions

File tree

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/memory-controllers/nuvoton,npcm-memory-controller.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Nuvoton NPCM Memory Controller
8+
9+
maintainers:
10+
- Marvin Lin <kflin@nuvoton.com>
11+
- Stanley Chu <yschu@nuvoton.com>
12+
13+
description: |
14+
The Nuvoton BMC SoC supports DDR4 memory with or without ECC (error correction
15+
check).
16+
17+
The memory controller supports single bit error correction, double bit error
18+
detection (in-line ECC in which a section (1/8th) of the memory device used to
19+
store data is used for ECC storage).
20+
21+
Note, the bootloader must configure ECC mode for the memory controller.
22+
23+
properties:
24+
compatible:
25+
enum:
26+
- nuvoton,npcm750-memory-controller
27+
- nuvoton,npcm845-memory-controller
28+
29+
reg:
30+
maxItems: 1
31+
32+
interrupts:
33+
maxItems: 1
34+
35+
required:
36+
- compatible
37+
- reg
38+
- interrupts
39+
40+
additionalProperties: false
41+
42+
examples:
43+
- |
44+
#include <dt-bindings/interrupt-controller/arm-gic.h>
45+
46+
mc: memory-controller@f0824000 {
47+
compatible = "nuvoton,npcm750-memory-controller";
48+
reg = <0xf0824000 0x1000>;
49+
interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
50+
};

MAINTAINERS

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7468,6 +7468,14 @@ L: linux-edac@vger.kernel.org
74687468
S: Maintained
74697469
F: drivers/edac/mpc85xx_edac.[ch]
74707470

7471+
EDAC-NPCM
7472+
M: Marvin Lin <kflin@nuvoton.com>
7473+
M: Stanley Chu <yschu@nuvoton.com>
7474+
L: linux-edac@vger.kernel.org
7475+
S: Maintained
7476+
F: Documentation/devicetree/bindings/memory-controllers/nuvoton,npcm-memory-controller.yaml
7477+
F: drivers/edac/npcm_edac.c
7478+
74717479
EDAC-PASEMI
74727480
M: Egor Martovetsky <egor@pasemi.com>
74737481
L: linux-edac@vger.kernel.org

drivers/edac/Kconfig

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -550,4 +550,15 @@ config EDAC_ZYNQMP
550550
Xilinx ZynqMP OCM (On Chip Memory) controller. It can also be
551551
built as a module. In that case it will be called zynqmp_edac.
552552

553+
config EDAC_NPCM
554+
tristate "Nuvoton NPCM DDR Memory Controller"
555+
depends on (ARCH_NPCM || COMPILE_TEST)
556+
help
557+
Support for error detection and correction on the Nuvoton NPCM DDR
558+
memory controller.
559+
560+
The memory controller supports single bit error correction, double bit
561+
error detection (in-line ECC in which a section 1/8th of the memory
562+
device used to store data is used for ECC storage).
563+
553564
endif # EDAC

drivers/edac/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,4 +84,5 @@ obj-$(CONFIG_EDAC_QCOM) += qcom_edac.o
8484
obj-$(CONFIG_EDAC_ASPEED) += aspeed_edac.o
8585
obj-$(CONFIG_EDAC_BLUEFIELD) += bluefield_edac.o
8686
obj-$(CONFIG_EDAC_DMC520) += dmc520_edac.o
87+
obj-$(CONFIG_EDAC_NPCM) += npcm_edac.o
8788
obj-$(CONFIG_EDAC_ZYNQMP) += zynqmp_edac.o

0 commit comments

Comments
 (0)