Hi,

This series adds support for single bit ECC in the TI DDRSS bridge
inline ECC and adds required support code for AM64x EVM to enable it for
the full DDR space. This ECC module checks reads and writes to and from
DDR once enabled without additional action required. ECC is stored
together with the data so because of this, 1/9th of the total SDRAM
space is used for ECC storage and the rest 8/9th is available for system
use. From system point of view this means that available SDRAM will be
reduced from the end by 1/9, but otherwise SDRAM is accessed and used
the same. This series adds updates to the k3-ddrss driver for
configuration of the ECC, and also board and arch code to automatically
resize the available DDR if ECC is enabled through DT fixup.

In order to avoid duplicating information and keeping this series
generic this series moves to use the "memory" dt node for the main
source of DDR amount and base address instead of hard coding it which
has been done for all K3 previously. All TI K3 devices that use the
k3-ddrss driver have this same inline ECC, so taking this step to make
this more generic will allow this to be extended more easily.

By default this series does NOT actually enable ECC for the any platform
due to the multi second boot time increase that comes from the ECC
priming that is done as part of ECC init, but it can be enabled by
adding the 'ti,ecc-enable` property to the memorycontroller node in
k3-am642-r5-evm DT.

Regards,
Dave

Dave Gerlach (8):
  arm: dts: k3-am642-r5-evm: Mark memory with u-boot,dm-spl
  board: ti: am64x: Use fdt functions for ram and bank init
  dt-bindings: memory-controller: Add information about ECC bindings
  ram: k3-ddrss: Rename ddrss_ss_regs to ddrss_ctl_regs
  ram: k3-ddrss: Introduce ECC Functionality for full memory space
  board: ti: am64x: Account for DDR size fixups if ECC is enabled
  arm: dts: k3-am64-ddr: Add ss_cfg reg entry
  configs: am64x_evm_r5: Add CONFIG_NR_DRAM_BANKS as done in a53
    defconfig

 arch/arm/dts/k3-am64-ddr.dtsi                 |   5 +-
 arch/arm/dts/k3-am642-r5-evm.dts              |   1 +
 board/ti/am64x/evm.c                          |  74 ++++++++--
 configs/am64x_evm_r5_defconfig                |   1 +
 .../memory-controller/k3-j721e-ddrss.txt      |   8 +
 drivers/ram/k3-ddrss/k3-ddrss.c               | 138 +++++++++++++++++-
 include/k3-ddrss.h                            |  16 ++
 7 files changed, 230 insertions(+), 13 deletions(-)
 create mode 100644 include/k3-ddrss.h

-- 
2.35.0

Reply via email to