| #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 */ |