From: York Sun Date: Thu, 28 May 2015 09:24:08 +0000 (+0530) Subject: driver/ddr/fsl: Add a hook to update SPD address X-Git-Tag: v2025.01-rc5-pxa1908~12597^2~37 X-Git-Url: http://git.dujemihanovic.xyz/img/sics.gif?a=commitdiff_plain;h=b92557cd3f37538fbd813e72f447109cbde4ff87;p=u-boot.git driver/ddr/fsl: Add a hook to update SPD address In case SPD address changes between board revisions, updating SPD address can be called from board file. Signed-off-by: York Sun Signed-off-by: Prabhakar Kushwaha --- diff --git a/drivers/ddr/fsl/main.c b/drivers/ddr/fsl/main.c index fa223834f2..14ecf1219c 100644 --- a/drivers/ddr/fsl/main.c +++ b/drivers/ddr/fsl/main.c @@ -135,6 +135,13 @@ static void __get_spd(generic_spd_eeprom_t *spd, u8 i2c_address) __attribute__((weak, alias("__get_spd"))) void get_spd(generic_spd_eeprom_t *spd, u8 i2c_address); +/* This function allows boards to update SPD address */ +__weak void update_spd_address(unsigned int ctrl_num, + unsigned int slot, + unsigned int *addr) +{ +} + void fsl_ddr_get_spd(generic_spd_eeprom_t *ctrl_dimms_spd, unsigned int ctrl_num, unsigned int dimm_slots_per_ctrl) { @@ -148,6 +155,7 @@ void fsl_ddr_get_spd(generic_spd_eeprom_t *ctrl_dimms_spd, for (i = 0; i < dimm_slots_per_ctrl; i++) { i2c_address = spd_i2c_addr[ctrl_num][i]; + update_spd_address(ctrl_num, i, &i2c_address); get_spd(&(ctrl_dimms_spd[i]), i2c_address); } } diff --git a/include/fsl_ddr.h b/include/fsl_ddr.h index 4099a74a4a..728503b62c 100644 --- a/include/fsl_ddr.h +++ b/include/fsl_ddr.h @@ -136,4 +136,7 @@ void fsl_ddr_set_memctl_regs(const fsl_ddr_cfg_regs_t *regs, int fsl_ddr_get_dimm_params(dimm_params_t *pdimm, unsigned int controller_number, unsigned int dimm_number); +void update_spd_address(unsigned int ctrl_num, + unsigned int slot, + unsigned int *addr); #endif