From 26ba0f5f9bb04e296c3a6320a855639c2f14e83c Mon Sep 17 00:00:00 2001 From: Greg Watson Date: Fri, 13 Jun 2003 17:21:10 +0000 Subject: Freebios2 git-svn-id: svn://svn.coreboot.org/coreboot/trunk@876 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- src/northbridge/motorola/mpc107/meminfo.c | 2 +- src/northbridge/motorola/mpc107/mpc107.c | 47 +++++++++++++++------------- src/northbridge/motorola/mpc107/mpc107_smp.c | 9 ++++-- 3 files changed, 33 insertions(+), 25 deletions(-) (limited to 'src/northbridge/motorola/mpc107') diff --git a/src/northbridge/motorola/mpc107/meminfo.c b/src/northbridge/motorola/mpc107/meminfo.c index 7245fc419d..935a5e0ac8 100644 --- a/src/northbridge/motorola/mpc107/meminfo.c +++ b/src/northbridge/motorola/mpc107/meminfo.c @@ -18,7 +18,7 @@ * MA 02111-1307 USA */ -#include +#include #include "mpc107.h" void diff --git a/src/northbridge/motorola/mpc107/mpc107.c b/src/northbridge/motorola/mpc107/mpc107.c index 76f368a9a5..ed02fb73d1 100644 --- a/src/northbridge/motorola/mpc107/mpc107.c +++ b/src/northbridge/motorola/mpc107/mpc107.c @@ -19,11 +19,12 @@ */ #include #include -#include +#include +#include #include #include #include -#include +#include #include #include "i2c.h" #include "mpc107.h" @@ -32,10 +33,8 @@ #define NUM_DIMMS 1 #define NUM_BANKS 2 -extern struct pci_ops pci_direct_ppc; - struct mem_range * -getmeminfo(void) +sizeram(void) { int i; sdram_dimm_info dimm[NUM_DIMMS]; @@ -99,6 +98,10 @@ hostbridge_config_memory(int no_banks, sdram_bank_info * bank, int for_real) u32 memend1, memend2; u32 extmemend1, extmemend2; u32 address; + struct device *dev; + + if ((dev = dev_find_slot(0, 0)) == NULL ) + return 0; /* Set up the ignore mask */ for(i = 0; i < no_banks; i++) @@ -146,9 +149,9 @@ hostbridge_config_memory(int no_banks, sdram_bank_info * bank, int for_real) } /* Read in configuration of port X */ - pci_direct_ppc.read_dword(0, 0, 0xf0, &mccr1); - pci_direct_ppc.read_dword(0, 0, 0xf4, &mccr2); - pci_direct_ppc.read_dword(0, 0, 0xfc, &mccr4); + mccr1 = pci_read_config32(dev, 0xf0); + mccr2 = pci_read_config32(dev, 0xf4); + mccr4 = pci_read_config32(dev, 0xfc); mccr1 &= 0xfff00000; mccr2 &= 0xffe00000; mccr3 = 0; @@ -265,20 +268,20 @@ hostbridge_config_memory(int no_banks, sdram_bank_info * bank, int for_real) if (for_real) { - pci_direct_ppc.write_byte(0, 0, 0xa0, bank_enable); - pci_direct_ppc.write_dword(0, 0, 0x80, memstart1); - pci_direct_ppc.write_dword(0, 0, 0x84, memstart2); - pci_direct_ppc.write_dword(0, 0, 0x88, extmemstart1); - pci_direct_ppc.write_dword(0, 0, 0x8c, extmemstart2); - pci_direct_ppc.write_dword(0, 0, 0x90, memend1); - pci_direct_ppc.write_dword(0, 0, 0x94, memend2); - pci_direct_ppc.write_dword(0, 0, 0x98, extmemend1); - pci_direct_ppc.write_dword(0, 0, 0x9c, extmemend2); - - pci_direct_ppc.write_dword(0, 0, 0xfc, mccr4); - pci_direct_ppc.write_dword(0, 0, 0xf8, mccr3); - pci_direct_ppc.write_dword(0, 0, 0xf4, mccr2); - pci_direct_ppc.write_dword(0, 0, 0xf0, mccr1); + pci_write_config8(dev, 0xa0, bank_enable); + pci_write_config32(dev, 0x80, memstart1); + pci_write_config32(dev, 0x84, memstart2); + pci_write_config32(dev, 0x88, extmemstart1); + pci_write_config32(dev, 0x8c, extmemstart2); + pci_write_config32(dev, 0x90, memend1); + pci_write_config32(dev, 0x94, memend2); + pci_write_config32(dev, 0x98, extmemend1); + pci_write_config32(dev, 0x9c, extmemend2); + + pci_write_config32(dev, 0xfc, mccr4); + pci_write_config32(dev, 0xf8, mccr3); + pci_write_config32(dev, 0xf4, mccr2); + pci_write_config32(dev, 0xf0, mccr1); } return address; diff --git a/src/northbridge/motorola/mpc107/mpc107_smp.c b/src/northbridge/motorola/mpc107/mpc107_smp.c index 408a87fddb..c23e686334 100644 --- a/src/northbridge/motorola/mpc107/mpc107_smp.c +++ b/src/northbridge/motorola/mpc107/mpc107_smp.c @@ -1,4 +1,5 @@ -#include +#include +#include #include "mpc107.h" void @@ -10,8 +11,12 @@ unsigned long this_processors_id(void) { u32 pic1; + struct device *dev; - pcibios_read_config_dword(0, 0, MPC107_PIC1, &pic1); + if ((dev = dev_find_slot(0, 0)) == NULL) + return 0; + + pic1 = pci_read_config32(dev, MPC107_PIC1); return (pic1 & MPC107_PIC1_CF_MP_ID) >> 14; } -- cgit v1.2.3