#ifndef __dimm_h #define __dimm_h /* * Module name: %M% * Description: * Serial Presence Detect Definitions Module * SCCS identification: %I% * Branch: %B% * Sequence: %S% * Date newest applied delta was created (MM/DD/YY): %G% * Time newest applied delta was created (HH:MM:SS): %U% * SCCS file name %F% * Fully qualified SCCS file name: * %P% * Copyright: * (C) COPYRIGHT MOTOROLA, INC. 1996 * ALL RIGHTS RESERVED * Notes: * 1. All data was taken from an IBM application note titled * "Serial Presence Detect Definitions". * History: * Date Who * * 10/24/96 Rob Baxter * Initial release. * */ /* * serial PD byte assignment address map (256 byte EEPROM) */ typedef struct dimm { uchar n_bytes; /* 00 number of bytes written/used */ uchar t_bytes; /* 01 total number of bytes in serial PD device */ uchar fmt; /* 02 fundamental memory type (FPM/EDO/SDRAM) */ uchar n_row; /* 03 number of rows */ uchar n_col; /* 04 number of columns */ uchar n_banks; /* 05 number of banks */ uchar data_w_lo; /* 06 data width */ uchar data_w_hi; /* 07 data width */ uchar ifl; /* 08 interface levels */ uchar a_ras; /* 09 RAS access */ uchar a_cas; /* 0A CAS access */ uchar ct; /* 0B configuration type (non-parity/parity/ECC) */ uchar refresh_rt; /* 0C refresh rate/type */ uchar p_dram_o; /* 0D primary DRAM organization */ uchar s_dram_o; /* 0E secondary DRAM organization (parity/ECC-checkbits) */ uchar reserved[17]; /* 0F reserved fields for future offerings */ uchar ss_info[32]; /* 20 superset information (may be used in the future) */ uchar m_info[64]; /* 40 manufacturer information (optional) */ uchar unused[128]; /* 80 unused storage locations */ } dimm_t; /* * memory type definitions */ #define DIMM_MT_FPM 1 /* standard FPM (fast page mode) DRAM */ #define DIMM_MT_EDO 2 /* EDO (extended data out) */ #define DIMM_MT_PN 3 /* pipelined nibble */ #define DIMM_MT_SDRAM 4 /* SDRAM (synchronous DRAM) */ /* * row addresses definitions */ #define DIMM_RA_RDNDNT (1<<7) /* redundant addressing */ #define DIMM_RA_MASK 0x7f /* number of row addresses mask */ /* * module interface levels definitions */ #define DIMM_IFL_TTL 0 /* TTL/5V tolerant */ #define DIMM_IFL_LVTTL 1 /* LVTTL (not 5V tolerant) */ #define DIMM_IFL_HSTL15 2 /* HSTL 1.5 */ #define DIMM_IFL_SSTL33 3 /* SSTL 3.3 */ #define DIMM_IFL_SSTL25 4 /* SSTL 2.5 */ /* * DIMM configuration type definitions */ #define DIMM_CT_NONE 0 /* none */ #define DIMM_CT_PARITY 1 /* parity */ #define DIMM_CT_ECC 2 /* ECC */ /* * row addresses definitions */ #define DIMM_RRT_SR (1<<7) /* self refresh flag */ #define DIMM_RRT_MASK 0x7f /* refresh rate mask */ #define DIMM_RRT_NRML 0x00 /* normal (15.625us) */ #define DIMM_RRT_R_3_9 0x01 /* reduced .25x (3.9us) */ #define DIMM_RRT_R_7_8 0x02 /* reduced .5x (7.8us) */ #define DIMM_RRT_E_31_3 0x03 /* extended 2x (31.3us) */ #define DIMM_RRT_E_62_5 0x04 /* extended 4x (62.5us) */ #define DIMM_RRT_E_125 0x05 /* extended 8x (125us) */ #endif /* __dimm_h */