diff options
Diffstat (limited to 'include/ddr_spd.h')
-rw-r--r-- | include/ddr_spd.h | 42 |
1 files changed, 38 insertions, 4 deletions
diff --git a/include/ddr_spd.h b/include/ddr_spd.h index 6e63d90e5e..415fc88f63 100644 --- a/include/ddr_spd.h +++ b/include/ddr_spd.h @@ -6,7 +6,7 @@ #ifndef _DDR_SPD_H_ #define _DDR_SPD_H_ -#include <i2c/i2c.h> +#include <pbl/i2c.h> /* * Format from "JEDEC Standard No. 21-C, @@ -264,6 +264,40 @@ struct ddr3_spd_eeprom { /* 69-76 RC1,3,5...15 (MS Nibble) / RC0,2,4...14 (LS Nibble) */ unsigned char rcw[8]; } registered; + struct { + /* 60 (Load Reduced) Module Nominal Height */ + unsigned char mod_height; + /* 61 (Load Reduced) Module Maximum Thickness */ + unsigned char mod_thickness; + /* 62 (Load Reduced) Reference Raw Card Used */ + unsigned char ref_raw_card; + /* 63 Module Attributes */ + unsigned char modu_attr; + /* 64 Memory Buffer Revision ID */ + unsigned char buf_rev_id; + /* 65 Memory Buffer Manufacturer ID Code, Least Significant Byte */ + unsigned char buf_id_lo; + /* 66 Memory Buffer Manufacturer ID Code, Most Significant Byte */ + unsigned char buf_id_hi; + /* 67-89 FxRCy and MR1,2 Registers */ + unsigned char fxrcy_mr1_2[23]; + /* 90 Minimum Module Delay Time for 1.5 V */ + unsigned char min_delay_1_5; + /* 91 Maximum Module Delay Time for 1.5 V */ + unsigned char max_delay_1_5; + /* 92 Minimum Module Delay Time for 1.35 V */ + unsigned char min_delay_1_35; + /* 93 Maximum Module Delay Time for 1.35 V */ + unsigned char max_delay_1_35; + /* 94 Minimum Module Delay Time for 1.25 V */ + unsigned char min_delay_1_25; + /* 95 Maximum Module Delay Time for 1.25 V */ + unsigned char max_delay_1_25; + /* 96-101 Reserved */ + unsigned char reserved[6]; + /* 102-116 Memory Buffer Personality Bytes */ + unsigned char mem_buf_personality[15]; + } loadreduced; unsigned char uc[57]; /* 60-116 Module-Specific Section */ } mod_section; @@ -574,8 +608,8 @@ void ddr2_spd_dump(const struct ddr2_spd_eeprom *spd); int ddr3_spd_check(const struct ddr3_spd_eeprom *spd); int ddr4_spd_check(const struct ddr4_spd_eeprom *spd); -int spd_read_eeprom(void *ctx, - int (*xfer)(void *ctx, struct i2c_msg *msgs, int num), - uint8_t addr, void *buf); +int spd_read_eeprom(struct pbl_i2c *i2c, + uint8_t addr, void *buf, + int memtype); #endif /* _DDR_SPD_H_ */ |