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...@ti.com/ Changes since v3: Pull redundant DDR functions to arch/arm/mach-k3/* v3: https://lore.kernel.org/all/20240523050430.455201-1-s...@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...@ti.com/ Changes since v1: Add support for J7* devices. v1: https://lore.kernel.org/u-boot/20240131060213.1128024-1-s...@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