[PATCH 0/7] Support generating DIMM parameters on more systems

John Watts contact at jookia.org
Sat Jan 21 06:44:22 PST 2023


Boards that with swappable RAM sticks need to read SPD data and generate
useful parameters for the board's memory controller.

Currently the only board that does this is the ls1046ardb.
This patch series modifies and re-organizes that code so it's usable by
other boards.

I have used and tested this patch series on the i.MX6 and ensured the
existing board still compiles.

There is one API change: spd_read_eeprom now takes a memtype parameter.
This is required as the current code only supports reading DDR4 chips
while the i.MX6 uses DDR3 chips.

John Watts (7):
  I2C: i.MX: Add early i2c support for i.MX6
  ddr: fsl: Pass mclk_ps to ddr*_compute_dimm_parameters
  ddr_dimms: Move FSL dimm_params to include/ddr_dimms.h
  ddr: fsl: Remove includes to fsl-specific code
  ddr_dimms: Move ddr*_dimm_params to common
  ddr_dimms: Remove mclk_ps for DDR3 and DDR4
  ddr_spd: Support reading SPD from DDR3 sticks

 arch/arm/boards/ls1046ardb/lowlevel.c         |   2 +-
 common/Makefile                               |   4 +
 .../ddr/fsl => common}/ddr1_dimm_params.c     |  13 +-
 .../ddr/fsl => common}/ddr2_dimm_params.c     |   7 +-
 .../ddr/fsl => common}/ddr3_dimm_params.c     |   6 +-
 .../ddr/fsl => common}/ddr4_dimm_params.c     |   6 +-
 common/ddr_spd.c                              |  16 ++-
 drivers/ddr/fsl/Makefile                      |   4 -
 drivers/ddr/fsl/fsl_ddr.h                     |  12 --
 drivers/ddr/fsl/main.c                        |   9 +-
 drivers/i2c/busses/i2c-imx-early.c            |  14 +++
 include/ddr_dimms.h                           | 114 ++++++++++++++++++
 include/ddr_spd.h                             |   3 +-
 include/pbl/i2c.h                             |   1 +
 include/soc/fsl/fsl_ddr_sdram.h               |  92 +-------------
 15 files changed, 166 insertions(+), 137 deletions(-)
 rename {drivers/ddr/fsl => common}/ddr1_dimm_params.c (96%)
 rename {drivers/ddr/fsl => common}/ddr2_dimm_params.c (98%)
 rename {drivers/ddr/fsl => common}/ddr3_dimm_params.c (98%)
 rename {drivers/ddr/fsl => common}/ddr4_dimm_params.c (98%)
 create mode 100644 include/ddr_dimms.h

-- 
2.39.0




More information about the barebox mailing list