4 #define MAX_DIMM_SOCKETS_PER_CHANNEL 4
5 #define MAX_NUM_CHANNELS 2
6 #define MAX_DIMM_SOCKETS (MAX_NUM_CHANNELS * MAX_DIMM_SOCKETS_PER_CHANNEL)
8 struct mem_controller {
9 device_t d0, d0f1; // PCI bus/device/fcns of E7501 memory controller
11 // SMBus addresses of DIMM slots for each channel,
12 // in order from closest to MCH to furthest away
14 uint16_t channel0[MAX_DIMM_SOCKETS_PER_CHANNEL];
15 uint16_t channel1[MAX_DIMM_SOCKETS_PER_CHANNEL];
19 void sdram_initialize(int controllers, const struct mem_controller *ctrl);
22 #endif /* RAMINIT_H */