summaryrefslogtreecommitdiff
path: root/src/northbridge/intel/i3100/raminit_ep80579.c
diff options
context:
space:
mode:
authorDustin Harrison <dustin.harrison@sutus.com>2011-05-12 18:30:23 +0200
committerNoe Rubinstein <nrubinstein@proformatique.com>2011-06-23 10:38:59 +0200
commit19676f30ac7b838c4e8a7b93f6299f5375848452 (patch)
tree2815ee1485c2b68e60744b00c684d8a82639a49f /src/northbridge/intel/i3100/raminit_ep80579.c
parent07186a9f5375ec026350a97d9df35391b8120228 (diff)
Convert to CAR and make i3100/{early_smbus.c,smbus.c} compile with host gcc
This patch aims to convert the Truxton dev board to CAR which required the following changes: - Remove unused variables (to satisfy no warnings flag) - Change .c includes to use headers (raminit_ep80579, early_smbus, smbus) - Remove early_mtrr_init because CAR takes care of this - Remove cache_lbmem (raminit_ep80579.c) as CAR takes care of this - Remove debug code (for now, coming soon) One side effect is that the mtarvon and eagleheights (which are already CAR) romstage now use the new headers. These two boards have been build tested. The truxton platform was boot tested and a full memtest was run. Signed-off-by: Dustin Harrison <dustin.harrison@sutus.com> ---
Diffstat (limited to 'src/northbridge/intel/i3100/raminit_ep80579.c')
-rw-r--r--src/northbridge/intel/i3100/raminit_ep80579.c39
1 files changed, 22 insertions, 17 deletions
diff --git a/src/northbridge/intel/i3100/raminit_ep80579.c b/src/northbridge/intel/i3100/raminit_ep80579.c
index 8967594b5..d3ee447ff 100644
--- a/src/northbridge/intel/i3100/raminit_ep80579.c
+++ b/src/northbridge/intel/i3100/raminit_ep80579.c
@@ -18,14 +18,26 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include <cpu/x86/mtrr.h>
-#include <cpu/x86/cache.h>
+#include <console/console.h>
+#include <delay.h>
+#include <arch/io.h>
+#include <arch/romcc_io.h>
+#include <stdlib.h>
+#include <spd.h>
+#include <cpu/x86/msr.h>
+#include <device/pci_def.h>
+#include "southbridge/intel/i3100/early_smbus.h"
#include "raminit_ep80579.h"
#include "ep80579.h"
+int spd_read_byte(unsigned device, unsigned address)
+{
+ return smbus_read_byte(device, address);
+}
+
#define BAR 0x90000000
-static void sdram_set_registers(const struct mem_controller *ctrl)
+void sdram_set_registers(const struct mem_controller *ctrl)
{
static const u32 register_values[] = {
PCI_ADDR(0, 0x00, 0, CKDIS), 0xffff0000, 0x0000ffff,
@@ -36,7 +48,6 @@ static void sdram_set_registers(const struct mem_controller *ctrl)
PCI_ADDR(0, 0x00, 0, SMRBASE), 0x00000fff, BAR | 0,
};
int i;
- int max;
for (i = 0; i < ARRAY_SIZE(register_values); i += 3) {
device_t dev;
@@ -60,7 +71,7 @@ static struct dimm_size spd_get_dimm_size(u16 device)
{
/* Calculate the log base 2 size of a DIMM in bits */
struct dimm_size sz;
- int value, low, ddr2;
+ int value, low;
sz.side1 = 0;
sz.side2 = 0;
@@ -485,10 +496,9 @@ static int spd_set_dram_controller_mode(const struct mem_controller *ctrl,
return drc;
}
-static void sdram_set_spd_registers(const struct mem_controller *ctrl)
+void sdram_set_spd_registers(const struct mem_controller *ctrl)
{
u8 dimm_mask;
- int i;
/* Test if we can read the SPD */
dimm_mask = spd_detect_dimms(ctrl);
@@ -502,9 +512,8 @@ static void sdram_set_spd_registers(const struct mem_controller *ctrl)
static void set_on_dimm_termination_enable(const struct mem_controller *ctrl)
{
u8 c1,c2;
- u32 dimm,i;
- u32 data32;
- u32 t4;
+ u32 data32;
+ int i;
/* Set up northbridge values */
/* ODT enable */
@@ -541,7 +550,7 @@ static void set_on_dimm_termination_enable(const struct mem_controller *ctrl)
}
-static void dump_dcal_regs(void)
+void dump_dcal_regs(void)
{
int i;
for (i = 0x0; i < 0x2a0; i += 4) {
@@ -557,7 +566,7 @@ static void dump_dcal_regs(void)
}
-static void sdram_enable(int controllers, const struct mem_controller *ctrl)
+void sdram_enable(int controllers, const struct mem_controller *ctrl)
{
int i;
int cs;
@@ -565,8 +574,6 @@ static void sdram_enable(int controllers, const struct mem_controller *ctrl)
u32 drc;
u32 data32;
u32 mode_reg;
- msr_t msr;
- u16 data16;
mask = spd_detect_dimms(ctrl);
print_debug("Starting SDRAM Enable\n");
@@ -783,11 +790,9 @@ static void sdram_enable(int controllers, const struct mem_controller *ctrl)
/* Set the ECC mode */
pci_write_config32(ctrl->f0, DRC, drc);
- /* The memory is now set up--use it */
- cache_lbmem(MTRR_TYPE_WRBACK);
}
-static inline int memory_initialized(void)
+inline int memory_initialized(void)
{
return pci_read_config32(PCI_DEV(0, 0x00, 0), DRC) & (1 << 29);
}