[PATCH v5 0/9] Inline ECC Series

Santhosh Kumar K s-k6 at ti.com
Fri Dec 13 11:31:20 CET 2024


Hello,

This series is to:

Add support for Inline ECC in DDR for AM64X, AM62X, AM62AX, AM62PX,
J721S2 and J784S4 devices.

(1/9) Add ss_cfg reg entry
(2/9) Enable ECC priming with BIST engine
(3/9) Add a function to store base address and size of RAM's banks
      in a 64-bit device private data
(4/9) Setup the ECC region start and range
(5/9) Enable ECC 1-bit error, 2-bit error and multiple-bit
      error interrupts
(6/9) Add CONFIG_K3_INLINE_ECC
(7/9) Remove 'ti,ecc-enable' flag
(8/9) Set default NR_DRAM_BANKS to 2
(9/9) Pull Redundant DDR functions to a common location and Fixup
      DDR size when ECC is enabled
      
Changes since v4:
1. Make dram_init and dram_init_banksize weak at mach-k3/ and define at
   board/ti/
2. Remove 'ti,ecc-enable' flag
3. Minor changes like patch order change (8/8 in v4 to 1/9 in v5),
   use 'u64'

v4: https://lore.kernel.org/u-boot/20241021044024.835846-1-s-k6@ti.com/

Changes since v3:
Pull redundant DDR functions to arch/arm/mach-k3/*

v3: https://lore.kernel.org/all/20240523050430.455201-1-s-k6@ti.com/

Changes since v2:
Removed 'default n' in Kconfig as that is default setting

v2: https://lore.kernel.org/u-boot/20240510084707.1903133-1-s-k6@ti.com/

Changes since v1:
Add support for J7* devices.

v1: https://lore.kernel.org/u-boot/20240131060213.1128024-1-s-k6@ti.com/

Test Results: https://gist.github.com/santhosh21/88de920771ed2efa0463a5a367cb8d7b

Thanks and Regards,
Santhosh.

Georgi Vlaev (1):
  ram: k3-ddrss: Use the DDR controller BIST engine for ECC priming

Neha Malcom Francis (2):
  drivers: ram: Kconfig: Add CONFIG_K3_INLINE_ECC
  arm: mach-k3: Set NR_DRAM_BANKS to 2

Santhosh Kumar K (6):
  arm: dts: k3-*-ddr: Add ss_cfg reg entry
  ram: k3-ddrss: Add k3_ddrss_ddr_bank_base_size_calc() to solve
    'calculations restricted to 32 bits' issue
  ram: k3-ddrss: Setup ECC region start and range
  ram: k3-ddrss: Enable ECC interrupts
  ram: k3-ddrss: Remove 'ti,ecc-enable' support
  board: ti: Pull redundant DDR functions to a common location and Fixup
    DDR size when ECC is enabled

 arch/arm/dts/k3-am62a-ddr.dtsi         |   7 +-
 arch/arm/dts/k3-j721s2-ddr.dtsi        |  12 +-
 arch/arm/dts/k3-j784s4-ddr.dtsi        |  24 ++-
 arch/arm/mach-k3/Kconfig               |   3 +
 arch/arm/mach-k3/Makefile              |   2 +-
 arch/arm/mach-k3/include/mach/k3-ddr.h |  15 ++
 arch/arm/mach-k3/k3-ddr.c              |  72 ++++++++
 board/ti/am62ax/evm.c                  |  17 +-
 board/ti/am62px/evm.c                  |  17 +-
 board/ti/am62x/evm.c                   |  63 +------
 board/ti/am64x/evm.c                   |  73 +--------
 board/ti/am65x/evm.c                   |  29 +---
 board/ti/common/Makefile               |   1 +
 board/ti/common/k3-ddr.c               |  33 ++++
 board/ti/common/k3-ddr.h               |  12 ++
 board/ti/j721e/evm.c                   |  29 +---
 board/ti/j721s2/evm.c                  |  35 ++--
 board/ti/j784s4/evm.c                  |  17 +-
 configs/am62ax_evm_a53_defconfig       |   1 -
 configs/am62px_evm_a53_defconfig       |   1 -
 configs/am62x_evm_a53_defconfig        |   1 -
 configs/am62x_evm_r5_defconfig         |   1 -
 configs/am64x_evm_a53_defconfig        |   1 -
 configs/am64x_evm_r5_defconfig         |   1 -
 configs/am65x_evm_a53_defconfig        |   1 -
 configs/am65x_evm_r5_defconfig         |   1 -
 configs/am65x_evm_r5_usbdfu_defconfig  |   1 -
 configs/am65x_evm_r5_usbmsc_defconfig  |   1 -
 configs/j7200_evm_a72_defconfig        |   1 -
 configs/j721e_evm_a72_defconfig        |   1 -
 configs/j721s2_evm_a72_defconfig       |   1 -
 configs/j722s_evm_a53_defconfig        |   1 -
 configs/j784s4_evm_a72_defconfig       |   1 -
 drivers/ram/Kconfig                    |  10 ++
 drivers/ram/k3-ddrss/k3-ddrss.c        | 219 +++++++++++++++++++++----
 35 files changed, 417 insertions(+), 288 deletions(-)
 create mode 100644 arch/arm/mach-k3/include/mach/k3-ddr.h
 create mode 100644 arch/arm/mach-k3/k3-ddr.c
 create mode 100644 board/ti/common/k3-ddr.c
 create mode 100644 board/ti/common/k3-ddr.h

-- 
2.34.1



More information about the U-Boot mailing list