blob: 1e0128ce72247c4a06aad3444b0b1dd4d9ce669c [file] [log] [blame]
Angel Pons4b429832020-04-02 23:48:50 +02001/* SPDX-License-Identifier: GPL-2.0-only */
Martin Roth5474eb12018-05-26 19:22:33 -06002
Stefan Reinauerb15975b2011-10-21 12:57:59 -07003#ifndef RAMINIT_H
4#define RAMINIT_H
5
Elyes HAOUASc4e41932018-11-01 11:29:50 +01006#include <stdint.h>
7
Stefan Reinauerb15975b2011-10-21 12:57:59 -07008#define MAX_DIMM_SOCKETS_PER_CHANNEL 4
9#define MAX_NUM_CHANNELS 2
10#define MAX_DIMM_SOCKETS (MAX_NUM_CHANNELS * MAX_DIMM_SOCKETS_PER_CHANNEL)
11
12struct mem_controller {
Antonello Dettori7ea0fe52016-09-03 10:45:33 +020013 pci_devfn_t d0, d0f1; // PCI bus/device/fcns of E7501 memory controller
Stefan Reinauerb15975b2011-10-21 12:57:59 -070014
15 // SMBus addresses of DIMM slots for each channel,
16 // in order from closest to MCH to furthest away
17 // 0 == not present
18 uint16_t channel0[MAX_DIMM_SOCKETS_PER_CHANNEL];
19 uint16_t channel1[MAX_DIMM_SOCKETS_PER_CHANNEL];
20};
21
Kyösti Mälkkid1141ab2020-01-07 11:16:35 +020022void sdram_initialize(void);
Kyösti Mälkki93b4ed92012-04-18 21:13:33 +030023
Stefan Reinauerb15975b2011-10-21 12:57:59 -070024#endif /* RAMINIT_H */