[PATCH v2 0/3] SiFive DDR controller and EDAC support

From: Yash Shah
Date: Mon Sep 07 2020 - 01:48:35 EST


The series add supports for SiFive DDR controller driver. This driver
is use to manage the Cadence DDR controller present in SiFive SoCs.
Currently it manages only the EDAC feature of the DDR controller.
The series also adds Memory controller EDAC support for SiFive platform.
It register for notifier event from SiFive DDR controller driver.

The series is tested and based on Linux v5.8.

For testing on Hifive Unleashed:
1. Enable the ECC bit of DDR controller during DDR initialization
2. Erase the entire DRAM in bootloader stage
3. Using FWC feature of DDR controller force ecc error to test

Changes in v2:
Incorporate below changes in EDAC patch as suggested by Borislav Petkov
- Replace all ifdeffery with if(IS_ENABLED(CONFIG_...))
- A few textual changes in patch description and code

Yash Shah (3):
dt-bindings: riscv: Add DT documentation for DDR Controller in SiFive
SoCs
soc: sifive: Add SiFive specific Cadence DDR controller driver
EDAC/sifive: Add EDAC support for Memory Controller in SiFive SoCs

.../devicetree/bindings/riscv/sifive-ddr.yaml | 41 ++++
drivers/edac/Kconfig | 2 +-
drivers/edac/sifive_edac.c | 119 +++++++++++-
drivers/soc/sifive/Kconfig | 6 +
drivers/soc/sifive/Makefile | 3 +-
drivers/soc/sifive/sifive_ddr.c | 207 +++++++++++++++++++++
include/soc/sifive/sifive_ddr.h | 73 ++++++++
7 files changed, 447 insertions(+), 4 deletions(-)
create mode 100644 Documentation/devicetree/bindings/riscv/sifive-ddr.yaml
create mode 100644 drivers/soc/sifive/sifive_ddr.c
create mode 100644 include/soc/sifive/sifive_ddr.h

--
2.7.4