[PATCH 0/9] Support for 4 GB DDR modules for 32-bit U-Boot builds

Pali Rohár pali at kernel.org
Fri Sep 9 17:32:37 CEST 2022


This patch series fixes U-Boot code to correctly handle RAM size larger
than 2 GB and then fixes fsl ddr driver to do not crash U-Boot when 4 GB
DDR module is detected when U-Boot operates in 32-bit mode (as opposite
of the 36-bit mode).

With this patch series it is possible to boot 32-bit U-Boot with 4 GB
SODIMM DDR3 module without crashes. U-Boot will still use just
CONFIG_MAX_MEM_MAPPED amount of RAM, but it is better than crashing due
to the truncating of 4GB value to 32-bit number (which is zero).

I tested this patch series on powerpc P2020 based board but only with
U-Boot v2022.04 because U-Boot master branch is still broken on P2020.

Pali Rohár (9):
  common/memsize.c: Fix get_effective_memsize() to always check for
    CONFIG_MAX_MEM_MAPPED
  common/memsize.c: Fix get_effective_memsize() to check for overflow
  board_f: Fix types for board_get_usable_ram_top()
  board_f: Fix printing gd->ram_size and gd->ram_top
  ddr: fsl: Fix checking for maximal mappable memory
  ddr: fsl: Fix fsl_ddr_sdram_size() for 4GB modules with 32-bit
    phys_size_t
  ddr: fsl: Allow to detect 4 GB DDR modules in 32-bit mode
  ddr: fsl: Fix re-align of verbose DRAM information for non-SPL builds
  powerpc/mpc85xx: Explain TLB unmapped memory message

 arch/arm/mach-imx/imx8m/soc.c           |  2 +-
 arch/arm/mach-mvebu/arm64-common.c      |  2 +-
 arch/arm/mach-rockchip/sdram.c          |  2 +-
 arch/arm/mach-stm32mp/dram_init.c       |  2 +-
 arch/arm/mach-sunxi/board.c             |  2 +-
 arch/arm/mach-tegra/board2.c            |  2 +-
 arch/mips/mach-jz47xx/jz4780/jz4780.c   |  2 +-
 arch/mips/mach-octeon/dram.c            |  2 +-
 arch/powerpc/cpu/mpc85xx/tlb.c          |  2 +-
 arch/riscv/cpu/fu540/dram.c             |  2 +-
 arch/riscv/cpu/fu740/dram.c             |  2 +-
 arch/riscv/cpu/generic/dram.c           |  2 +-
 arch/x86/cpu/broadwell/sdram.c          |  2 +-
 arch/x86/cpu/coreboot/sdram.c           |  2 +-
 arch/x86/cpu/efi/payload.c              |  2 +-
 arch/x86/cpu/efi/sdram.c                |  2 +-
 arch/x86/cpu/intel_common/mrc.c         |  4 ++--
 arch/x86/cpu/ivybridge/sdram.c          |  2 +-
 arch/x86/cpu/qemu/dram.c                |  2 +-
 arch/x86/cpu/quark/dram.c               |  2 +-
 arch/x86/cpu/slimbootloader/sdram.c     |  2 +-
 arch/x86/cpu/tangier/sdram.c            |  2 +-
 arch/x86/include/asm/mrc_common.h       |  2 +-
 arch/x86/include/asm/u-boot-x86.h       |  2 +-
 arch/x86/lib/fsp1/fsp_dram.c            |  2 +-
 arch/x86/lib/fsp2/fsp_dram.c            |  2 +-
 board/broadcom/bcmns3/ns3.c             |  2 +-
 board/imgtec/boston/ddr.c               |  2 +-
 board/menlo/m53menlo/m53menlo.c         |  2 +-
 board/raspberrypi/rpi/rpi.c             |  2 +-
 board/ti/am65x/evm.c                    |  2 +-
 board/ti/j721e/evm.c                    |  2 +-
 board/ti/j721s2/evm.c                   |  2 +-
 board/xilinx/zynqmp/zynqmp.c            |  2 +-
 common/board_f.c                        |  6 ++---
 common/memsize.c                        | 20 ++++++++++++----
 drivers/ddr/fsl/lc_common_dimm_params.c |  3 +++
 drivers/ddr/fsl/main.c                  | 31 ++++++++++++++++++++-----
 drivers/video/fsl_dcu_fb.c              |  2 +-
 include/init.h                          |  2 +-
 40 files changed, 84 insertions(+), 50 deletions(-)

-- 
2.20.1



More information about the U-Boot mailing list