Author: rminnich
Date: 2008-08-05 04:48:54 +0200 (Tue, 05 Aug 2008)
New Revision: 722

Modified:
   coreboot-v3/arch/x86/amd/k8/stage1.c
   coreboot-v3/arch/x86/resourcemap.c
   coreboot-v3/include/arch/x86/amd/k8/k8.h
   coreboot-v3/include/arch/x86/amd/k8/raminit.h
   coreboot-v3/include/arch/x86/cpu.h
   coreboot-v3/mainboard/gigabyte/Kconfig
   coreboot-v3/northbridge/amd/k8/raminit.c
   coreboot-v3/southbridge/nvidia/mcp55/stage1.c
Log:
State of the tree for K8
Signed-off-by: Ronald G. Minnich <[EMAIL PROTECTED]>
Acked-by: Peter Stuge <[EMAIL PROTECTED]>



Modified: coreboot-v3/arch/x86/amd/k8/stage1.c
===================================================================
--- coreboot-v3/arch/x86/amd/k8/stage1.c        2008-08-05 01:24:38 UTC (rev 
721)
+++ coreboot-v3/arch/x86/amd/k8/stage1.c        2008-08-05 02:48:54 UTC (rev 
722)
@@ -23,6 +23,7 @@
 #include <console.h>
 #include <msr.h>
 #include <macros.h>
+#include <cpu.h>
 #include <amd/k8/k8.h>
 
 /**

Modified: coreboot-v3/arch/x86/resourcemap.c
===================================================================
--- coreboot-v3/arch/x86/resourcemap.c  2008-08-05 01:24:38 UTC (rev 721)
+++ coreboot-v3/arch/x86/resourcemap.c  2008-08-05 02:48:54 UTC (rev 722)
@@ -29,10 +29,8 @@
  *
  * @param rm The resource map
  * @param max The map size
- * @param offset_dev pci device offset. This can be useful on e.g. k8
- *        we have a number of similar devices which need the same setups
- *        we can use one map for more than one device. NOTE: 
- *        offset_dev IS NOT ASSUMED TO BE OFFSET BY FN (i.e. it is not << 3)
+ * @param offset_bdf pci device offset. Note this is a u32 in 
+ *                     busdevfn format. See PCI_BDF macro if you are not sure 
what that is. 
  * @param offset_pciio added to the OR value for setting up PCI IO
  * @param offset_io offset from the io base in the resource map
  */
@@ -40,11 +38,11 @@
 /* NOTE: By doing the config write in this manner we guarantee that this
  * will work in stage1 or stage2.
  */
-#define pci_config_read32(bus, dev, where) pci_cf8_conf1.read32(NULL, 
r->pcm.bus, dev, where)
-#define pci_config_write32(bus, dev, where, what) pci_cf8_conf1.write32(NULL, 
r->pcm.bus, dev, where, what)
+#define pci_read_config32(bus, dev, where) pci_cf8_conf1.read32(NULL, 
r->pcm.bus, dev, where)
+#define pci_write_config32(bus, dev, where, what) pci_cf8_conf1.write32(NULL, 
r->pcm.bus, dev, where, what)
 
 void setup_resource_map_x_offset(const rmap *rm, u32 max,
-                                 u32 offset_dev, u32 offset_pciio, 
+                                 u32 offset_bdf, u32 offset_pciio, 
                                  u32 offset_io)
 {
        u32 i;
@@ -53,26 +51,30 @@
 
        for(i = 0; i < max; i++, rm++) {
           switch (rm->type){
-               case PCIRM: 
+               case TPCIRM: 
                        {
                           u32 dev;
                           unsigned where;
                           unsigned long reg;
-                         printk(BIOS_DEBUG, "(%x,%x+%x,%x,%x) & %08x | 
%08x+%08x\n", rm->pcm.bus,rm->pcm.dev+offset_dev,
-                                 rm->pcm.fn,rm->pcm.reg,
+                       u8 offset_devfn = offset_bdf;
+#warning make sure offset_bus is right for extended PCI addressing
+                       u32 offset_bus = offset_bdf >> 8;
+                         printk(BIOS_DEBUG, "(%x+%x,%x+%x,%x+%x,%x) & %08x | 
%08x+%08x\n", rm->pcm.bus,
+                               offset_bus, rm->pcm.dev+offset_devfn>>3,
+                                 rm->pcm.fn, offset_devfn&3, rm->pcm.reg,
                                 rm->pcm.and,rm->pcm.or, offset_pciio);
                           dev = rm->pcm.dev;
-                          dev += offset_dev;
-                          where = rm->pcm.reg;
+                        where = rm->pcm.reg;
                           dev <<= 3;
                           dev |= rm->pcm.fn;
-                          reg = pci_config_read32(rm->pcm.bus, dev, where);
+                            dev += offset_devfn;
+                          reg = pci_read_config32(rm->pcm.bus + offset_bus, 
dev, where);
                           reg &= rm->pcm.and;
                           reg |= rm->pcm.or + offset_pciio; 
-                          pci_config_write32(rm->pcm.bus, dev, where, reg);
+                          pci_write_config32(rm->pcm.bus, dev, where, reg);
                        }
                        break;
-               case IO8:
+               case TIO8:
                        {
                           u32 where;
                           u8 reg;
@@ -84,7 +86,7 @@
                           outb(reg, where);
                        }
                        break;
-               case IO32:
+               case TIO32:
                        {
                           u32 where;
                           u32 reg;

Modified: coreboot-v3/include/arch/x86/amd/k8/k8.h
===================================================================
--- coreboot-v3/include/arch/x86/amd/k8/k8.h    2008-08-05 01:24:38 UTC (rev 
721)
+++ coreboot-v3/include/arch/x86/amd/k8/k8.h    2008-08-05 02:48:54 UTC (rev 
722)
@@ -17,6 +17,12 @@
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
  */
+
+/* Until we resolve a better way to do this, work around it with a value "too 
large to fail" */
+#warning clean up setting of DIMM_SOCKETS and NODE_NUMS
+#define DIMM_SOCKETS 4
+#define NODE_NUMS 16
+
 #define ROM_CODE_SEG           0x08
 #define ROM_DATA_SEG           0x10
 
@@ -347,6 +353,7 @@
 
 struct dimm_size {
         u8 per_rank; // it is rows + col + bank_lines + data lines */
+       u8 side1, side2;
         u8 rows;
         u8 col;
         u8 bank; //1, 2, 3 mean 2, 4, 8
@@ -370,11 +377,18 @@
        u8 rsv[3];
 } __attribute__((packed));
 
+struct mem_controller {
+       unsigned node_id;
+       u32 f0, f1, f2, f3;
+       u32 channel0[DIMM_SOCKETS];
+       u32 channel1[DIMM_SOCKETS];
+};
+
 struct link_pair_st {
-        struct device * udev;
+  u32 udev;
         u32 upos;
         u32 uoffs;
-        struct device * dev;
+        u32 dev;
         u32 pos;
         u32 offs;
 

Modified: coreboot-v3/include/arch/x86/amd/k8/raminit.h
===================================================================
--- coreboot-v3/include/arch/x86/amd/k8/raminit.h       2008-08-05 01:24:38 UTC 
(rev 721)
+++ coreboot-v3/include/arch/x86/amd/k8/raminit.h       2008-08-05 02:48:54 UTC 
(rev 722)
@@ -8,7 +8,7 @@
 #define DIMM_SOCKETS 4
 struct mem_controller {
        unsigned node_id;
-       struct device *f0, *f1, *f2, *f3;
+       u32 f0, f1, f2, f3;
        u16 channel0[DIMM_SOCKETS];
        u16 channel1[DIMM_SOCKETS];
 };

Modified: coreboot-v3/include/arch/x86/cpu.h
===================================================================
--- coreboot-v3/include/arch/x86/cpu.h  2008-08-05 01:24:38 UTC (rev 721)
+++ coreboot-v3/include/arch/x86/cpu.h  2008-08-05 02:48:54 UTC (rev 722)
@@ -211,9 +211,9 @@
  * there are tables that are combinations of all three (or the code supports 
it anyway)
  */
 /* types of resource maps */
-#define PCIRM  'p'
-#define IO8    '8'
-#define IO32   'I'
+#define TPCIRM 'p'
+#define TIO8   '8'
+#define TIO32  'I'
 
 /* pci config map */
 struct pcm {
@@ -234,9 +234,9 @@
 
 
 /* convenience initializer */
-#define PCM(abus,adev,afn,areg,aand,aor) {.type = PCIRM, {.pcm 
={.bus=abus,.dev=adev,.fn=afn,.reg=areg,.and=aand,.or=aor}}}
-#define EIO8(aport, aand, aor) {.type=IO8, {.io8 = {.port = aport, .and = 
aand, .or = aor}}}
-#define EIO32(aport, aand, aaor) {.type = IO32, {.io32 = {.port = aport, .and 
= aand, .or = aor}}}
+#define PCM(abus,adev,afn,areg,aand,aor) {.type = TPCIRM, {.pcm 
={.bus=abus,.dev=adev,.fn=afn,.reg=areg,.and=aand,.or=aor}}}
+#define IO8(aport, aand, aor) {.type=TIO8, {.io8 = {.port = aport, .and = 
aand, .or = aor}}}
+#define IO32(aport, aand, aor) {.type = TIO32, {.io32 = {.port = aport, .and = 
aand, .or = aor}}}
 struct rmap {
        int type;
        union {

Modified: coreboot-v3/mainboard/gigabyte/Kconfig
===================================================================
--- coreboot-v3/mainboard/gigabyte/Kconfig      2008-08-05 01:24:38 UTC (rev 
721)
+++ coreboot-v3/mainboard/gigabyte/Kconfig      2008-08-05 02:48:54 UTC (rev 
722)
@@ -29,7 +29,7 @@
        select OPTION_TABLE
        select CPU_AMD_K8
        select NORTHBRIDGE_AMD_K8
-#      select SOUTHBRIDGE_NVIDIA_MCP55
+       select SOUTHBRIDGE_NVIDIA_MCP55
        select SUPERIO_ITE_IT8716F
        help
          Gigabyte M57SLI

Modified: coreboot-v3/northbridge/amd/k8/raminit.c
===================================================================
--- coreboot-v3/northbridge/amd/k8/raminit.c    2008-08-05 01:24:38 UTC (rev 
721)
+++ coreboot-v3/northbridge/amd/k8/raminit.c    2008-08-05 02:48:54 UTC (rev 
722)
@@ -36,7 +36,6 @@
 #include <spd.h>
 #include <cpu.h>
 #include <msr.h>
-#include <amd/k8/raminit.h>
 #include <amd/k8/k8.h>
 #include <amd/k8/sysconf.h>
 #include <device/pci.h>
@@ -56,13 +55,13 @@
 extern const struct pci_bus_operations pci_cf8_conf1;
 static void hard_reset(void);
 
-#define pci_config_read32(bus, dev, where) pci_cf8_conf1.read32(NULL,  bus, 
dev, where)
-#define pci_config_write32(bus, dev, where, what) pci_cf8_conf1.write32(NULL, 
bus, dev, where, what)
+#define pci_read_config32(bus, dev, where) pci_cf8_conf1.read32(NULL,  bus, 
dev, where)
+#define pci_write_config32(bus, dev, where, what) pci_cf8_conf1.write32(NULL, 
bus, dev, where, what)
 
 
 static int controller_present(const struct mem_controller *ctrl)
 {
-        return pci_config_read32(0, ctrl->f0, 0) == 0x11001022;
+        return pci_read_config32(0, ctrl->f0, 0) == 0x11001022;
 }
 
 static void sdram_set_registers(const struct mem_controller *ctrl)
@@ -551,8 +550,8 @@
 static void hw_enable_ecc(const struct mem_controller *ctrl)
 {
        u32 dcl, nbcap, opt = 1;
-       nbcap = pci_config_read32(0, ctrl->f3, NORTHBRIDGE_CAP);
-       dcl = pci_config_read32(0, ctrl->f2, DRAM_CONFIG_LOW);
+       nbcap = pci_read_config32(0, ctrl->f3, NORTHBRIDGE_CAP);
+       dcl = pci_read_config32(0, ctrl->f2, DRAM_CONFIG_LOW);
        dcl &= ~DCL_DimmEccEn;
        if (nbcap & NBCAP_ECC) {
                dcl |= DCL_DimmEccEn;
@@ -560,14 +559,14 @@
        if (get_option(&opt, "ECC_memory") || opt) {
                dcl &= ~DCL_DimmEccEn;
        }
-       pci_config_write32(0, ctrl->f2, DRAM_CONFIG_LOW, dcl);
+       pci_write_config32(0, ctrl->f2, DRAM_CONFIG_LOW, dcl);
        
 }
 
 static int is_dual_channel(const struct mem_controller *ctrl)
 {
        u32 dcl;
-       dcl = pci_config_read32(0, ctrl->f2, DRAM_CONFIG_LOW);
+       dcl = pci_read_config32(0, ctrl->f2, DRAM_CONFIG_LOW);
        return dcl & DCL_128BitEn;
 }
 
@@ -579,7 +578,7 @@
         */
 #warning "FIXME: Implement a better test for Opterons"
        u32 nbcap;
-       nbcap = pci_config_read32(0, ctrl->f3, NORTHBRIDGE_CAP);
+       nbcap = pci_read_config32(0, ctrl->f3, NORTHBRIDGE_CAP);
        return !!(nbcap & NBCAP_128Bit);
 }
 
@@ -590,7 +589,7 @@
         * This function must be called after spd_handle_unbuffered_dimms.
         */
        u32 dcl;
-       dcl = pci_config_read32(0, ctrl->f2, DRAM_CONFIG_LOW);
+       dcl = pci_read_config32(0, ctrl->f2, DRAM_CONFIG_LOW);
        return !(dcl & DCL_UnBufDimm);
 }
 
@@ -722,25 +721,25 @@
        base1 &= ~0x001ffffe;
 
        /* Set the appropriate DIMM base address register */
-       pci_config_write32(0, ctrl->f2, DRAM_CSBASE + (((index << 1)+0)<<2), 
base0);
-       pci_config_write32(0, ctrl->f2, DRAM_CSBASE + (((index << 1)+1)<<2), 
base1);
+       pci_write_config32(0, ctrl->f2, DRAM_CSBASE + (((index << 1)+0)<<2), 
base0);
+       pci_write_config32(0, ctrl->f2, DRAM_CSBASE + (((index << 1)+1)<<2), 
base1);
 #if QRANK_DIMM_SUPPORT == 1
        if(sz.rank == 4) {
-               pci_config_write32(0, ctrl->f2, DRAM_CSBASE + (((index << 
1)+4)<<2), base0);
-               pci_config_write32(0, ctrl->f2, DRAM_CSBASE + (((index << 
1)+5)<<2), base1);
+               pci_write_config32(0, ctrl->f2, DRAM_CSBASE + (((index << 
1)+4)<<2), base0);
+               pci_write_config32(0, ctrl->f2, DRAM_CSBASE + (((index << 
1)+5)<<2), base1);
        }
 #endif
 
        /* Enable the memory clocks for this DIMM */
        if (base0) {
-               dch = pci_config_read32(0, ctrl->f2, DRAM_CONFIG_HIGH);
+               dch = pci_read_config32(0, ctrl->f2, DRAM_CONFIG_HIGH);
                dch |= DCH_MEMCLK_EN0 << index;
 #if QRANK_DIMM_SUPPORT == 1
                if(sz.rank == 4) {
                        dch |= DCH_MEMCLK_EN0 << (index + 2);
                }
 #endif
-               pci_config_write32(0, ctrl->f2, DRAM_CONFIG_HIGH, dch);
+               pci_write_config32(0, ctrl->f2, DRAM_CONFIG_HIGH, dch);
        }
 }
 
@@ -756,7 +755,7 @@
        u32 map;
        u32 dch;
 
-       map = pci_config_read32(0, ctrl->f2, DRAM_BANK_ADDR_MAP);
+       map = pci_read_config32(0, ctrl->f2, DRAM_BANK_ADDR_MAP);
        map &= ~(0xf << (index * 4));
 #if QRANK_DIMM_SUPPORT == 1
         if(sz.rank == 4) {
@@ -785,7 +784,7 @@
                }
        }
 
-       pci_config_write32(0, ctrl->f2, DRAM_BANK_ADDR_MAP, map);
+       pci_write_config32(0, ctrl->f2, DRAM_BANK_ADDR_MAP, map);
        
 }
 
@@ -832,8 +831,8 @@
        limit_reg = 0x44 + index;
        base_reg = 0x40 + index;
        for(device = PCI_BDF(0, 0x18, 1); device <= PCI_BDF(0, 0x1f, 1); device 
+= PCI_BDF(0, 1, 0)) {
-               pci_config_write32(0, device, limit_reg, limit);
-               pci_config_write32(0, device, base_reg, base);
+               pci_write_config32(0, device, limit_reg, limit);
+               pci_write_config32(0, device, base_reg, base);
        }
 }
 
@@ -918,7 +917,7 @@
                unsigned cs_mode;
                u32 value;
                
-               value = pci_config_read32(0, ctrl->f2, DRAM_CSBASE + (index << 
2));
+               value = pci_read_config32(0, ctrl->f2, DRAM_CSBASE + (index << 
2));
                
                /* Is it enabled? */
                if (!(value & 1)) {
@@ -934,7 +933,7 @@
                        return 0;
                }
 
-               value = pci_config_read32(0, ctrl->f2, DRAM_BANK_ADDR_MAP);
+               value = pci_read_config32(0, ctrl->f2, DRAM_BANK_ADDR_MAP);
                 cs_mode =( value >> ((index>>1)*4)) & 0xf;
                 if(cs_mode == 0 ) continue;
                 if(common_cs_mode == 0) {
@@ -987,13 +986,13 @@
        for(index = 0; index < 8; index++) {
                u32 value;
 
-               value = pci_config_read32(0, ctrl->f2, DRAM_CSBASE + (index << 
2));
+               value = pci_read_config32(0, ctrl->f2, DRAM_CSBASE + (index << 
2));
                /* Is it enabled? */
                if (!(value & 1)) {
                        continue;
                }
-               pci_config_write32(0, ctrl->f2, DRAM_CSBASE + (index << 2), 
csbase);
-               pci_config_write32(0, ctrl->f2, DRAM_CSMASK + (index << 2), 
csmask);
+               pci_write_config32(0, ctrl->f2, DRAM_CSBASE + (index << 2), 
csbase);
+               pci_write_config32(0, ctrl->f2, DRAM_CSMASK + (index << 2), 
csmask);
                csbase += csbase_inc;
        }
        
@@ -1018,7 +1017,7 @@
                candidate = 0;
                for(index = 0; index < 8; index++) {
                        u32 value;
-                       value = pci_config_read32(0, ctrl->f2, DRAM_CSBASE + 
(index << 2));
+                       value = pci_read_config32(0, ctrl->f2, DRAM_CSBASE + 
(index << 2));
 
                        /* Is it enabled? */
                        if (!(value & 1)) {
@@ -1060,9 +1059,9 @@
                csmask |= 0xfe00;               /* For now don't optimize */
 
                /* Write the new base register */
-               pci_config_write32(0, ctrl->f2, DRAM_CSBASE + (candidate << 2), 
csbase);
+               pci_write_config32(0, ctrl->f2, DRAM_CSBASE + (candidate << 2), 
csbase);
                /* Write the new mask register */
-               pci_config_write32(0, ctrl->f2, DRAM_CSMASK + (candidate << 2), 
csmask);
+               pci_write_config32(0, ctrl->f2, DRAM_CSMASK + (candidate << 2), 
csmask);
                
        }
        /* Return the memory size in K */
@@ -1079,10 +1078,10 @@
                u32 limit, base;
                unsigned index;
                index = node_id << 3;
-               base = pci_config_read32(0, ctrl->f1, 0x40 + index);
+               base = pci_read_config32(0, ctrl->f1, 0x40 + index);
                /* Only look at the limit if the base is enabled */
                if ((base & 3) == 3) {
-                       limit = pci_config_read32(0, ctrl->f1, 0x44 + index);
+                       limit = pci_read_config32(0, ctrl->f1, 0x44 + index);
                        end_k = ((limit + 0x00010000) & 0xffff0000) >> 2;
                }
        }
@@ -1113,8 +1112,8 @@
 static long disable_dimm(const struct mem_controller *ctrl, unsigned index, 
long dimm_mask)
 {
        printk(BIOS_DEBUG, "disabling dimm 0x%x\n", index); 
-       pci_config_write32(0, ctrl->f2, DRAM_CSBASE + (((index << 1)+0)<<2), 0);
-       pci_config_write32(0, ctrl->f2, DRAM_CSBASE + (((index << 1)+1)<<2), 0);
+       pci_write_config32(0, ctrl->f2, DRAM_CSBASE + (((index << 1)+0)<<2), 0);
+       pci_write_config32(0, ctrl->f2, DRAM_CSBASE + (((index << 1)+1)<<2), 0);
        dimm_mask &= ~(1 << index);
        return dimm_mask;
 }
@@ -1150,7 +1149,7 @@
                die("Mixed buffered and registered dimms not supported");
        }
 
-       dcl = pci_config_read32(0, ctrl->f2, DRAM_CONFIG_LOW);
+       dcl = pci_read_config32(0, ctrl->f2, DRAM_CONFIG_LOW);
        dcl &= ~DCL_UnBufDimm;
        if (unbuffered) {
                if ((has_dualch) && (!is_cpu_pre_d0())) {
@@ -1166,7 +1165,7 @@
                        dcl |= DCL_UnBufDimm;
                }
        }
-       pci_config_write32(0, ctrl->f2, DRAM_CONFIG_LOW, dcl);
+       pci_write_config32(0, ctrl->f2, DRAM_CONFIG_LOW, dcl);
        if (is_registered(ctrl)) {
                printk(BIOS_DEBUG, "Registered\n");
        } else {
@@ -1234,7 +1233,7 @@
                goto single_channel;
        }
        /* If the cpu is not capable of doing dual channels don't do dual 
channels */
-       nbcap = pci_config_read32(0, ctrl->f3, NORTHBRIDGE_CAP);
+       nbcap = pci_read_config32(0, ctrl->f3, NORTHBRIDGE_CAP);
        if (!(nbcap & NBCAP_128Bit)) {
                goto single_channel;
        }
@@ -1266,10 +1265,10 @@
        }
        printk(BIOS_SPEW, "Enabling dual channel memory\n");
        u32 dcl;
-       dcl = pci_config_read32(0, ctrl->f2, DRAM_CONFIG_LOW);
+       dcl = pci_read_config32(0, ctrl->f2, DRAM_CONFIG_LOW);
        dcl &= ~DCL_32ByteEn;
        dcl |= DCL_128BitEn;
-       pci_config_write32(0, ctrl->f2, DRAM_CONFIG_LOW, dcl);
+       pci_write_config32(0, ctrl->f2, DRAM_CONFIG_LOW, dcl);
        return dimm_mask;
  single_channel:
        dimm_mask &= ~((1 << (DIMM_SOCKETS *2)) - (1 << DIMM_SOCKETS));
@@ -1390,7 +1389,7 @@
                [NBCAP_MEMCLK_100MHZ] = 0xa0, /* 10ns */
        };
 
-       value = pci_config_read32(0, ctrl->f3, NORTHBRIDGE_CAP);
+       value = pci_read_config32(0, ctrl->f3, NORTHBRIDGE_CAP);
 
        min_cycle_time = min_cycle_times[(value >> NBCAP_MEMCLK_SHIFT) & 
NBCAP_MEMCLK_MASK];
 
@@ -1541,7 +1540,7 @@
        result.param = get_mem_param(min_cycle_time);
 
        /* Update DRAM Config High with our selected memory speed */
-       value = pci_config_read32(0, ctrl->f2, DRAM_CONFIG_HIGH);
+       value = pci_read_config32(0, ctrl->f2, DRAM_CONFIG_HIGH);
        value &= ~(DCH_MEMCLK_MASK << DCH_MEMCLK_SHIFT);
 #if 0
        /* Improves DQS centering by correcting for case when core speed 
multiplier and MEMCLK speed 
@@ -1555,14 +1554,14 @@
 #endif
 
        value |= result.param->dch_memclk;
-       pci_config_write32(0, ctrl->f2, DRAM_CONFIG_HIGH, value);
+       pci_write_config32(0, ctrl->f2, DRAM_CONFIG_HIGH, value);
 
        static const unsigned latencies[] = { DTL_CL_2, DTL_CL_2_5, DTL_CL_3 };
        /* Update DRAM Timing Low with our selected cas latency */
-       value = pci_config_read32(0, ctrl->f2, DRAM_TIMING_LOW);
+       value = pci_read_config32(0, ctrl->f2, DRAM_TIMING_LOW);
        value &= ~(DTL_TCL_MASK << DTL_TCL_SHIFT);
        value |= latencies[min_latency - 2] << DTL_TCL_SHIFT;
-       pci_config_write32(0, ctrl->f2, DRAM_TIMING_LOW, value);
+       pci_write_config32(0, ctrl->f2, DRAM_TIMING_LOW, value);
        
        result.dimm_mask = dimm_mask;
        return result;
@@ -1591,14 +1590,14 @@
                return 0;
        }
 
-       dtl = pci_config_read32(0, ctrl->f2, DRAM_TIMING_LOW);
+       dtl = pci_read_config32(0, ctrl->f2, DRAM_TIMING_LOW);
        old_clocks = ((dtl >> DTL_TRC_SHIFT) & DTL_TRC_MASK) + DTL_TRC_BASE;
        if (old_clocks > clocks) {
                clocks = old_clocks;
        }
        dtl &= ~(DTL_TRC_MASK << DTL_TRC_SHIFT);
        dtl |=  ((clocks - DTL_TRC_BASE) << DTL_TRC_SHIFT);
-       pci_config_write32(0, ctrl->f2, DRAM_TIMING_LOW, dtl);
+       pci_write_config32(0, ctrl->f2, DRAM_TIMING_LOW, dtl);
        return 1;
 }
 
@@ -1619,14 +1618,14 @@
        if (clocks > DTL_TRFC_MAX) {
                return 0;
        }
-       dtl = pci_config_read32(0, ctrl->f2, DRAM_TIMING_LOW);
+       dtl = pci_read_config32(0, ctrl->f2, DRAM_TIMING_LOW);
        old_clocks = ((dtl >> DTL_TRFC_SHIFT) & DTL_TRFC_MASK) + DTL_TRFC_BASE;
        if (old_clocks > clocks) {
                clocks = old_clocks;
        }
        dtl &= ~(DTL_TRFC_MASK << DTL_TRFC_SHIFT);
        dtl |= ((clocks - DTL_TRFC_BASE) << DTL_TRFC_SHIFT);
-       pci_config_write32(0, ctrl->f2, DRAM_TIMING_LOW, dtl);
+       pci_write_config32(0, ctrl->f2, DRAM_TIMING_LOW, dtl);
        return 1;
 }
 
@@ -1645,14 +1644,14 @@
        if (clocks > DTL_TRCD_MAX) {
                return 0;
        }
-       dtl = pci_config_read32(0, ctrl->f2, DRAM_TIMING_LOW);
+       dtl = pci_read_config32(0, ctrl->f2, DRAM_TIMING_LOW);
        old_clocks = ((dtl >> DTL_TRCD_SHIFT) & DTL_TRCD_MASK) + DTL_TRCD_BASE;
        if (old_clocks > clocks) {
                clocks = old_clocks;
        }
        dtl &= ~(DTL_TRCD_MASK << DTL_TRCD_SHIFT);
        dtl |= ((clocks - DTL_TRCD_BASE) << DTL_TRCD_SHIFT);
-       pci_config_write32(0, ctrl->f2, DRAM_TIMING_LOW, dtl);
+       pci_write_config32(0, ctrl->f2, DRAM_TIMING_LOW, dtl);
        return 1;
 }
 
@@ -1670,14 +1669,14 @@
        if (clocks > DTL_TRRD_MAX) {
                return 0;
        }
-       dtl = pci_config_read32(0, ctrl->f2, DRAM_TIMING_LOW);
+       dtl = pci_read_config32(0, ctrl->f2, DRAM_TIMING_LOW);
        old_clocks = ((dtl >> DTL_TRRD_SHIFT) & DTL_TRRD_MASK) + DTL_TRRD_BASE;
        if (old_clocks > clocks) {
                clocks = old_clocks;
        }
        dtl &= ~(DTL_TRRD_MASK << DTL_TRRD_SHIFT);
        dtl |= ((clocks - DTL_TRRD_BASE) << DTL_TRRD_SHIFT);
-       pci_config_write32(0, ctrl->f2, DRAM_TIMING_LOW, dtl);
+       pci_write_config32(0, ctrl->f2, DRAM_TIMING_LOW, dtl);
        return 1;
 }
 
@@ -1695,14 +1694,14 @@
        if (clocks > DTL_TRAS_MAX) {
                return 0;
        }
-       dtl = pci_config_read32(0, ctrl->f2, DRAM_TIMING_LOW);
+       dtl = pci_read_config32(0, ctrl->f2, DRAM_TIMING_LOW);
        old_clocks = ((dtl >> DTL_TRAS_SHIFT) & DTL_TRAS_MASK) + DTL_TRAS_BASE;
        if (old_clocks > clocks) {
                clocks = old_clocks;
        }
        dtl &= ~(DTL_TRAS_MASK << DTL_TRAS_SHIFT);
        dtl |= ((clocks - DTL_TRAS_BASE) << DTL_TRAS_SHIFT);
-       pci_config_write32(0, ctrl->f2, DRAM_TIMING_LOW, dtl);
+       pci_write_config32(0, ctrl->f2, DRAM_TIMING_LOW, dtl);
        return 1;
 }
 
@@ -1720,34 +1719,34 @@
        if (clocks > DTL_TRP_MAX) {
                return 0;
        }
-       dtl = pci_config_read32(0, ctrl->f2, DRAM_TIMING_LOW);
+       dtl = pci_read_config32(0, ctrl->f2, DRAM_TIMING_LOW);
        old_clocks = ((dtl >> DTL_TRP_SHIFT) & DTL_TRP_MASK) + DTL_TRP_BASE;
        if (old_clocks > clocks) {
                clocks = old_clocks;
        }
        dtl &= ~(DTL_TRP_MASK << DTL_TRP_SHIFT);
        dtl |= ((clocks - DTL_TRP_BASE) << DTL_TRP_SHIFT);
-       pci_config_write32(0, ctrl->f2, DRAM_TIMING_LOW, dtl);
+       pci_write_config32(0, ctrl->f2, DRAM_TIMING_LOW, dtl);
        return 1;
 }
 
 static void set_Twr(const struct mem_controller *ctrl, const struct mem_param 
*param)
 {
        u32 dtl;
-       dtl = pci_config_read32(0, ctrl->f2, DRAM_TIMING_LOW);
+       dtl = pci_read_config32(0, ctrl->f2, DRAM_TIMING_LOW);
        dtl &= ~(DTL_TWR_MASK << DTL_TWR_SHIFT);
        dtl |= (param->dtl_twr - DTL_TWR_BASE) << DTL_TWR_SHIFT;
-       pci_config_write32(0, ctrl->f2, DRAM_TIMING_LOW, dtl);
+       pci_write_config32(0, ctrl->f2, DRAM_TIMING_LOW, dtl);
 }
 
 
 static void init_Tref(const struct mem_controller *ctrl, const struct 
mem_param *param)
 {
        u32 dth;
-       dth = pci_config_read32(0, ctrl->f2, DRAM_TIMING_HIGH);
+       dth = pci_read_config32(0, ctrl->f2, DRAM_TIMING_HIGH);
        dth &= ~(DTH_TREF_MASK << DTH_TREF_SHIFT);
        dth |= (param->dch_tref4k << DTH_TREF_SHIFT);
-       pci_config_write32(0, ctrl->f2, DRAM_TIMING_HIGH, dth);
+       pci_write_config32(0, ctrl->f2, DRAM_TIMING_HIGH, dth);
 }
 
 static int update_dimm_Tref(const struct mem_controller *ctrl, const struct 
mem_param *param, int i)
@@ -1764,7 +1763,7 @@
                tref = param->dch_tref4k;
        }
 
-       dth = pci_config_read32(0, ctrl->f2, DRAM_TIMING_HIGH);
+       dth = pci_read_config32(0, ctrl->f2, DRAM_TIMING_HIGH);
        old_tref = (dth >> DTH_TREF_SHIFT) & DTH_TREF_MASK;
        if ((value == 12) && (old_tref == param->dch_tref4k)) {
                tref = param->dch_tref4k;
@@ -1773,7 +1772,7 @@
        }
        dth &= ~(DTH_TREF_MASK << DTH_TREF_SHIFT);
        dth |= (tref << DTH_TREF_SHIFT);
-       pci_config_write32(0, ctrl->f2, DRAM_TIMING_HIGH, dth);
+       pci_write_config32(0, ctrl->f2, DRAM_TIMING_HIGH, dth);
        return 1;
 }
 
@@ -1804,12 +1803,12 @@
                dimm |= 1<<(DCL_x4DIMM_SHIFT+i+2);
        }
 #endif
-       dcl = pci_config_read32(0, ctrl->f2, DRAM_CONFIG_LOW);
+       dcl = pci_read_config32(0, ctrl->f2, DRAM_CONFIG_LOW);
        dcl &= ~dimm;
        if (value == 4) {
                dcl |= dimm;
        }
-       pci_config_write32(0, ctrl->f2, DRAM_CONFIG_LOW, dcl);
+       pci_write_config32(0, ctrl->f2, DRAM_CONFIG_LOW, dcl);
        return 1;
 }
 
@@ -1822,9 +1821,9 @@
                return -1;
        }
        if (value != 2) {
-               dcl = pci_config_read32(0, ctrl->f2, DRAM_CONFIG_LOW);
+               dcl = pci_read_config32(0, ctrl->f2, DRAM_CONFIG_LOW);
                dcl &= ~DCL_DimmEccEn;
-               pci_config_write32(0, ctrl->f2, DRAM_CONFIG_LOW, dcl);
+               pci_write_config32(0, ctrl->f2, DRAM_CONFIG_LOW, dcl);
        }
        return 1;
 }
@@ -1836,7 +1835,7 @@
        dimms = 0;
        for(index = 0; index < 8; index += 2) {
                u32 csbase;
-               csbase = pci_config_read32(0, ctrl->f2, (DRAM_CSBASE + (index 
<< 2)));
+               csbase = pci_read_config32(0, ctrl->f2, (DRAM_CSBASE + (index 
<< 2)));
                if (csbase & 1) {
                        dimms += 1;
                }
@@ -1848,10 +1847,10 @@
 {
        u32 dth;
 
-       dth = pci_config_read32(0, ctrl->f2, DRAM_TIMING_HIGH);
+       dth = pci_read_config32(0, ctrl->f2, DRAM_TIMING_HIGH);
        dth &= ~(DTH_TWTR_MASK << DTH_TWTR_SHIFT);
        dth |= ((param->dtl_twtr - DTH_TWTR_BASE) << DTH_TWTR_SHIFT);
-       pci_config_write32(0, ctrl->f2, DRAM_TIMING_HIGH, dth);
+       pci_write_config32(0, ctrl->f2, DRAM_TIMING_HIGH, dth);
 }
 
 static void set_Trwt(const struct mem_controller *ctrl, const struct mem_param 
*param)
@@ -1862,7 +1861,7 @@
        int lat, mtype;
 
        clocks = 0;
-       dtl = pci_config_read32(0, ctrl->f2, DRAM_TIMING_LOW);
+       dtl = pci_read_config32(0, ctrl->f2, DRAM_TIMING_LOW);
        latency = (dtl >> DTL_TCL_SHIFT) & DTL_TCL_MASK;
 
        if (is_opteron(ctrl)) {
@@ -1892,10 +1891,10 @@
                die("Unknown Trwt\n");
        }
        
-       dth = pci_config_read32(0, ctrl->f2, DRAM_TIMING_HIGH);
+       dth = pci_read_config32(0, ctrl->f2, DRAM_TIMING_HIGH);
        dth &= ~(DTH_TRWT_MASK << DTH_TRWT_SHIFT);
        dth |= ((clocks - DTH_TRWT_BASE) << DTH_TRWT_SHIFT);
-       pci_config_write32(0, ctrl->f2, DRAM_TIMING_HIGH, dth);
+       pci_write_config32(0, ctrl->f2, DRAM_TIMING_HIGH, dth);
        return;
 }
 
@@ -1909,10 +1908,10 @@
        } else {
                clocks = 1;
        }
-       dth = pci_config_read32(0, ctrl->f2, DRAM_TIMING_HIGH);
+       dth = pci_read_config32(0, ctrl->f2, DRAM_TIMING_HIGH);
        dth &= ~(DTH_TWCL_MASK << DTH_TWCL_SHIFT);
        dth |= ((clocks - DTH_TWCL_BASE) << DTH_TWCL_SHIFT);
-       pci_config_write32(0, ctrl->f2, DRAM_TIMING_HIGH, dth);
+       pci_write_config32(0, ctrl->f2, DRAM_TIMING_HIGH, dth);
 }
 
 
@@ -1943,7 +1942,7 @@
                die("Unknown rdpreamble for this nr of slots");
        }
 
-       dch = pci_config_read32(0, ctrl->f2, DRAM_CONFIG_HIGH);
+       dch = pci_read_config32(0, ctrl->f2, DRAM_CONFIG_HIGH);
        dch &= ~(DCH_RDPREAMBLE_MASK << DCH_RDPREAMBLE_SHIFT);
        rdpreamble = param->rdpreamble[i];
 
@@ -1952,7 +1951,7 @@
        }
 
        dch |= (rdpreamble - DCH_RDPREAMBLE_BASE) << DCH_RDPREAMBLE_SHIFT;
-       pci_config_write32(0, ctrl->f2, DRAM_CONFIG_HIGH, dch);
+       pci_write_config32(0, ctrl->f2, DRAM_CONFIG_HIGH, dch);
 }
 
 static void set_max_async_latency(const struct mem_controller *ctrl, const 
struct mem_param *param)
@@ -1963,7 +1962,7 @@
 
        dimms = count_dimms(ctrl);
 
-       dch = pci_config_read32(0, ctrl->f2, DRAM_CONFIG_HIGH);
+       dch = pci_read_config32(0, ctrl->f2, DRAM_CONFIG_HIGH);
        dch &= ~(DCH_ASYNC_LAT_MASK << DCH_ASYNC_LAT_SHIFT);
        async_lat = 0;
        if (is_registered(ctrl)) {
@@ -1990,18 +1989,18 @@
                }
        }
        dch |= ((async_lat - DCH_ASYNC_LAT_BASE) << DCH_ASYNC_LAT_SHIFT);
-       pci_config_write32(0, ctrl->f2, DRAM_CONFIG_HIGH, dch);
+       pci_write_config32(0, ctrl->f2, DRAM_CONFIG_HIGH, dch);
 }
 
 static void set_idle_cycle_limit(const struct mem_controller *ctrl, const 
struct mem_param *param)
 {
        u32 dch;
        /* AMD says to Hardcode this */
-       dch = pci_config_read32(0, ctrl->f2, DRAM_CONFIG_HIGH);
+       dch = pci_read_config32(0, ctrl->f2, DRAM_CONFIG_HIGH);
        dch &= ~(DCH_IDLE_LIMIT_MASK << DCH_IDLE_LIMIT_SHIFT);
        dch |= DCH_IDLE_LIMIT_16 << DCH_IDLE_LIMIT_SHIFT;
        dch |= DCH_DYN_IDLE_CTR_EN;
-       pci_config_write32(0, ctrl->f2, DRAM_CONFIG_HIGH, dch);
+       pci_write_config32(0, ctrl->f2, DRAM_CONFIG_HIGH, dch);
 }
 
 static long spd_set_dram_timing(const struct mem_controller *ctrl, const 
struct mem_param *param, long dimm_mask)
@@ -2107,22 +2106,22 @@
         carry_over = (4*1024*1024) - hole_startk;
 
         for(ii=controllers - 1;ii>i;ii--) {
-                base  = pci_config_read32(0, ctrl[0].f1, 0x40 + (ii << 3));
+                base  = pci_read_config32(0, ctrl[0].f1, 0x40 + (ii << 3));
                 if ((base & ((1<<1)|(1<<0))) != ((1<<1)|(1<<0))) {
                         continue;
                 }
-               limit = pci_config_read32(0, ctrl[0].f1, 0x44 + (ii << 3));
+               limit = pci_read_config32(0, ctrl[0].f1, 0x44 + (ii << 3));
                 for(j = 0; j < controllers; j++) {
-                        pci_config_write32(0, ctrl[j].f1, 0x44 + (ii << 3), 
limit + (carry_over << 2));
-                        pci_config_write32(0, ctrl[j].f1, 0x40 + (ii << 3), 
base + (carry_over << 2));
+                        pci_write_config32(0, ctrl[j].f1, 0x44 + (ii << 3), 
limit + (carry_over << 2));
+                        pci_write_config32(0, ctrl[j].f1, 0x40 + (ii << 3), 
base + (carry_over << 2));
                 }
         }
-        limit = pci_config_read32(0, ctrl[0].f1, 0x44 + (i << 3));
+        limit = pci_read_config32(0, ctrl[0].f1, 0x44 + (i << 3));
         for(j = 0; j < controllers; j++) {
-                pci_config_write32(0, ctrl[j].f1, 0x44 + (i << 3), limit + 
(carry_over << 2));
+                pci_write_config32(0, ctrl[j].f1, 0x44 + (i << 3), limit + 
(carry_over << 2));
         }
         dev = ctrl[i].f1;
-        base  = pci_config_read32(0, dev, 0x40 + (i << 3));
+        base  = pci_read_config32(0, dev, 0x40 + (i << 3));
         basek  = (base & 0xffff0000) >> 2;
         if(basek == hole_startk) {
                 //don't need set memhole here, because hole off set will be 0, 
overflow
@@ -2130,7 +2129,7 @@
                 base &= 0x0000ffff;
                 base |= (4*1024*1024)<<2;
                 for(j = 0; j < controllers; j++) {
-                        pci_config_write32(0, ctrl[j].f1, 0x40 + (i<<3), base);
+                        pci_write_config32(0, ctrl[j].f1, 0x40 + (i<<3), base);
                 }
         }
        else {
@@ -2140,7 +2139,7 @@
                        (((basek + carry_over) >> 6) & 0x0000ff00) +
                        /* enable */
                        1;
-               pci_config_write32(0, dev, 0xf0, hoist);
+               pci_write_config32(0, dev, 0xf0, hoist);
        }
 
         return carry_over;
@@ -2164,7 +2163,7 @@
         for(i=0; i<controllers; i++) {
                         u32 base;
                         unsigned base_k;
-                        base  = pci_config_read32(0, ctrl[0].f1, 0x40 + (i << 
3));
+                        base  = pci_read_config32(0, ctrl[0].f1, 0x40 + (i << 
3));
                         if ((base & ((1<<1)|(1<<0))) != ((1<<1)|(1<<0))) {
                                 continue;
                         }
@@ -2184,11 +2183,11 @@
         for(i=0; i<controllers; i++) {
                         u32 base, limit;
                         unsigned base_k, limit_k;
-                        base  = pci_config_read32(0, ctrl[0].f1, 0x40 + (i << 
3));
+                        base  = pci_read_config32(0, ctrl[0].f1, 0x40 + (i << 
3));
                         if ((base & ((1<<1)|(1<<0))) != ((1<<1)|(1<<0))) {
                                 continue;
                         }
-                        limit = pci_config_read32(0, ctrl[0].f1, 0x44 + (i << 
3));
+                        limit = pci_read_config32(0, ctrl[0].f1, 0x44 + (i << 
3));
                         base_k = (base & 0xffff0000) >> 2;
                         limit_k = ((limit + 0x00010000) & 0xffff0000) >> 2;
                        if ((base_k <= hole_startk) && (limit_k > hole_startk)) 
{
@@ -2219,17 +2218,17 @@
                u32 dch;
                if (!controller_present(ctrl + i))
                        continue;
-               dch = pci_config_read32(0, ctrl[i].f2, DRAM_CONFIG_HIGH);
+               dch = pci_read_config32(0, ctrl[i].f2, DRAM_CONFIG_HIGH);
                if (dch & 
(DCH_MEMCLK_EN0|DCH_MEMCLK_EN1|DCH_MEMCLK_EN2|DCH_MEMCLK_EN3)) {
                        dch |= DCH_MEMCLK_VALID;
-                       pci_config_write32(0, ctrl[i].f2, DRAM_CONFIG_HIGH, 
dch);
+                       pci_write_config32(0, ctrl[i].f2, DRAM_CONFIG_HIGH, 
dch);
                }
                else {
                        /* Disable dram receivers */
                        u32 dcl;
-                       dcl = pci_config_read32(0, ctrl[i].f2, DRAM_CONFIG_LOW);
+                       dcl = pci_read_config32(0, ctrl[i].f2, DRAM_CONFIG_LOW);
                        dcl |= DCL_DisInRcvrs;
-                       pci_config_write32(0, ctrl[i].f2, DRAM_CONFIG_LOW, dcl);
+                       pci_write_config32(0, ctrl[i].f2, DRAM_CONFIG_LOW, dcl);
                }
        }
 
@@ -2243,31 +2242,31 @@
                if (!controller_present(ctrl + i))
                        continue;
                /* Skip everything if I don't have any memory on this 
controller */
-               dch = pci_config_read32(0, ctrl[i].f2, DRAM_CONFIG_HIGH);
+               dch = pci_read_config32(0, ctrl[i].f2, DRAM_CONFIG_HIGH);
                if (!(dch & DCH_MEMCLK_VALID)) {
                        continue;
                }
 
                /* Toggle DisDqsHys to get it working */
-               dcl = pci_config_read32(0, ctrl[i].f2, DRAM_CONFIG_LOW);
+               dcl = pci_read_config32(0, ctrl[i].f2, DRAM_CONFIG_LOW);
                if (dcl & DCL_DimmEccEn) {
                        u32 mnc;
                        printk(BIOS_SPEW, "ECC enabled\n");
-                       mnc = pci_config_read32(0, ctrl[i].f3, MCA_NB_CONFIG);
+                       mnc = pci_read_config32(0, ctrl[i].f3, MCA_NB_CONFIG);
                        mnc |= MNC_ECC_EN;
                        if (dcl & DCL_128BitEn) {
                                mnc |= MNC_CHIPKILL_EN;
                        }
-                       pci_config_write32(0, ctrl[i].f3, MCA_NB_CONFIG, mnc);
+                       pci_write_config32(0, ctrl[i].f3, MCA_NB_CONFIG, mnc);
                }
                dcl |= DCL_DisDqsHys;
-               pci_config_write32(0, ctrl[i].f2, DRAM_CONFIG_LOW, dcl);
+               pci_write_config32(0, ctrl[i].f2, DRAM_CONFIG_LOW, dcl);
                dcl &= ~DCL_DisDqsHys;
                dcl &= ~DCL_DLL_Disable;
                dcl &= ~DCL_D_DRV;
                dcl &= ~DCL_QFC_EN;
                dcl |= DCL_DramInit;
-               pci_config_write32(0, ctrl[i].f2, DRAM_CONFIG_LOW, dcl);
+               pci_write_config32(0, ctrl[i].f2, DRAM_CONFIG_LOW, dcl);
 
        }
        for(i = 0; i < controllers; i++) {
@@ -2275,7 +2274,7 @@
                if (!controller_present(ctrl + i))
                        continue;
                /* Skip everything if I don't have any memory on this 
controller */
-               dch = pci_config_read32(0, ctrl[i].f2, DRAM_CONFIG_HIGH);
+               dch = pci_read_config32(0, ctrl[i].f2, DRAM_CONFIG_HIGH);
                if (!(dch & DCH_MEMCLK_VALID)) {
                        continue;
                }
@@ -2284,7 +2283,7 @@
 
                int loops = 0;
                do {
-                       dcl = pci_config_read32(0, ctrl[i].f2, DRAM_CONFIG_LOW);
+                       dcl = pci_read_config32(0, ctrl[i].f2, DRAM_CONFIG_LOW);
                        loops += 1;
                        if ((loops & 1023) == 0) {
                                printk(BIOS_DEBUG, ".");
@@ -2298,9 +2297,9 @@
                if (!is_cpu_pre_c0()) {
                        /* Wait until it is safe to touch memory */
                        dcl &= ~(DCL_MemClrStatus | DCL_DramEnable);
-                       pci_config_write32(0, ctrl[i].f2, DRAM_CONFIG_LOW, dcl);
+                       pci_write_config32(0, ctrl[i].f2, DRAM_CONFIG_LOW, dcl);
                        do {
-                               dcl = pci_config_read32(0, ctrl[i].f2, 
DRAM_CONFIG_LOW);
+                               dcl = pci_read_config32(0, ctrl[i].f2, 
DRAM_CONFIG_LOW);
                        } while(((dcl & DCL_MemClrStatus) == 0) || ((dcl & 
DCL_DramEnable) == 0) );
                }
 

Modified: coreboot-v3/southbridge/nvidia/mcp55/stage1.c
===================================================================
--- coreboot-v3/southbridge/nvidia/mcp55/stage1.c       2008-08-05 01:24:38 UTC 
(rev 721)
+++ coreboot-v3/southbridge/nvidia/mcp55/stage1.c       2008-08-05 02:48:54 UTC 
(rev 722)
@@ -23,10 +23,11 @@
 #include <io.h>
 #include <device/device.h>
 #include <device/pci.h>
-#include <device/pci_ids.h>
-#include <device/pci_ops.h>
+#include <cpu.h>
 #include <amd/k8/k8.h>
 #include "mcp55.h"
+#define pci_read_config32(bus, dev, where) pci_cf8_conf1.read32(NULL, bus, 
dev, where)
+#define pci_write_config32(bus, dev, where, what) pci_cf8_conf1.write32(NULL, 
bus, dev, where, what)
 
 #warning fix disgusting define of MCP55_NUM it is mainboard dependent
 #define MCP55_NUM 1
@@ -107,35 +108,33 @@
 
 static void mcp55_early_set_port(unsigned mcp55_num, unsigned *busn, unsigned 
*devn, unsigned *io_base)
 {
-
-       static const unsigned int ctrl_devport_conf[] = {
-               PCI_ADDR(0, 1, 1, ANACTRL_REG_POS), ~(0x0000ff00), 
ANACTRL_IO_BASE,
-               PCI_ADDR(0, 1, 1, SYSCTRL_REG_POS), ~(0x0000ff00), 
SYSCTRL_IO_BASE,
-               PCI_ADDR(0, 1, 1, ACPICTRL_REG_POS), ~(0x0000ff00), 
ACPICTRL_IO_BASE,
+       static const struct rmap ctrl_devport_conf[] = {
+       PCM(0, 1, 1, ANACTRL_REG_POS, ~0x0000ff00, ANACTRL_IO_BASE),
+       PCM(0, 1, 1, SYSCTRL_REG_POS, ~0x0000ff00, SYSCTRL_IO_BASE),
+       PCM(0, 1, 1, ACPICTRL_REG_POS, ~0x0000ff00, ACPICTRL_IO_BASE),
        };
 
        int j;
        for(j = 0; j < mcp55_num; j++ ) {
-               setup_resource_map_offset(ctrl_devport_conf,
+               setup_resource_map_x_offset(ctrl_devport_conf,
                        sizeof(ctrl_devport_conf)/sizeof(ctrl_devport_conf[0]),
-                       PCI_BDF(busn[j], devn[j], 0) , io_base[j]);
+                       PCI_BDF(busn[j], devn[j], 0) , io_base[j], 0);
        }
 }
-
 static void mcp55_early_clear_port(unsigned mcp55_num, unsigned *busn, 
unsigned *devn, unsigned *io_base)
 {
 
-       static const unsigned int ctrl_devport_conf_clear[] = {
-               PCI_ADDR(0, 1, 1, ANACTRL_REG_POS), ~(0x0000ff00), 0,
-               PCI_ADDR(0, 1, 1, SYSCTRL_REG_POS), ~(0x0000ff00), 0,
-               PCI_ADDR(0, 1, 1, ACPICTRL_REG_POS), ~(0x0000ff00), 0,
+       static const struct rmap ctrl_devport_conf_clear[] = {
+       PCM(0, 1, 1, ANACTRL_REG_POS, ~0x0000ff00, 0),
+       PCM(0, 1, 1, SYSCTRL_REG_POS, ~0x0000ff00, 0),
+       PCM(0, 1, 1, ACPICTRL_REG_POS, ~0x0000ff00, 0),
        };
 
        int j;
        for(j = 0; j < mcp55_num; j++ ) {
-               setup_resource_map_offset(ctrl_devport_conf_clear,
+               setup_resource_map_x_offset(ctrl_devport_conf_clear,
                        
sizeof(ctrl_devport_conf_clear)/sizeof(ctrl_devport_conf_clear[0]),
-                       PCI_BDF(busn[j], devn[j], 0) , io_base[j]);
+                       PCI_BDF(busn[j], devn[j], 0) , io_base[j], 0);
        }
 
 
@@ -155,13 +154,11 @@
        u32 pll_ctrl;
        u32 dword;
        int i;
-       //struct device dev;
-       struct device *dev;
-#error dev is not set up
+       u32 dev;
        //      dev = PCI_BDF(busnx, devnx+1, 1);
-       dword = pci_read_config32(dev, 0xe4);
+       dword = pci_read_config32(busnx, (devnx+1)<<3 | 1, 0xe4);
        dword |= 0x3f0; // disable it at first
-       pci_write_config32(dev, 0xe4, dword);
+       pci_write_config32(busnx,  (devnx+1)<<3 | 1, 0xe4, dword);
 
        for(i=0; i<3; i++) {
                tgio_ctrl = inl(anactrl_io_base + 0xcc);
@@ -183,9 +180,9 @@
 //     wait 100us
        delayx(1);
 
-       dword = pci_read_config32(dev, 0xe4);
+       dword = pci_read_config32(busnx,  (devnx+1)<<3 | 1, 0xe4);
        dword &= ~(0x3f0); // enable
-       pci_write_config32(dev, 0xe4, dword);
+       pci_write_config32(busnx,  (devnx+1)<<3 | 1, 0xe4, dword);
 
 //     need to wait 100ms
        delayx(1000);
@@ -194,102 +191,100 @@
 static void mcp55_early_setup(unsigned mcp55_num, unsigned *busn, unsigned 
*devn, unsigned *io_base, unsigned *pci_e_x)
 {
 
-    static const unsigned int ctrl_conf_1[] = {
-       RES_PORT_IO_32, ACPICTRL_IO_BASE + 0x10, 0x0007ffff, 0xff78000,
-       RES_PORT_IO_32, ACPICTRL_IO_BASE + 0xa4, 0xffedffff, 0x0012000,
-       RES_PORT_IO_32, ACPICTRL_IO_BASE + 0xac, 0xfffffdff, 0x0000200,
-       RES_PORT_IO_32, ACPICTRL_IO_BASE + 0xb4, 0xfffffffd, 0x0000002,
+    static const struct rmap ctrl_conf_1[] = {
+       IO32(ACPICTRL_IO_BASE + 0x10, 0x0007ffff, 0xff78000),
+       IO32(ACPICTRL_IO_BASE + 0xa4, 0xffedffff, 0x0012000),
+       IO32(ACPICTRL_IO_BASE + 0xac, 0xfffffdff, 0x0000200),
+       IO32(ACPICTRL_IO_BASE + 0xb4, 0xfffffffd, 0x0000002),
 
-       RES_PORT_IO_32, ANACTRL_IO_BASE + 0x24, 0xc0f0f08f, 0x26020230,
-       RES_PORT_IO_32, ANACTRL_IO_BASE + 0x34, 0x00000000, 0x22222222,
-       RES_PORT_IO_32, ANACTRL_IO_BASE + 0x08, 0x7FFFFFFF, 0x00000000,
-       RES_PORT_IO_32, ANACTRL_IO_BASE + 0x2C, 0x7FFFFFFF, 0x80000000,
-       RES_PORT_IO_32, ANACTRL_IO_BASE + 0xCC, 0xFFFFF9FF, 0x00000000,
-       RES_PORT_IO_32, ANACTRL_IO_BASE + 0x30, 0x8FFFFFFF, 0x40000000,
-       RES_PORT_IO_32, ANACTRL_IO_BASE + 0xCC, 0xFFFFF9FF, 0x00000200,
-       RES_PORT_IO_32, ANACTRL_IO_BASE + 0x30, 0x8FFFFFFF, 0x40000000,
-       RES_PORT_IO_32, ANACTRL_IO_BASE + 0xCC, 0xFFFFF9FF, 0x00000400,
-       RES_PORT_IO_32, ANACTRL_IO_BASE + 0x30, 0x8FFFFFFF, 0x40000000,
-       RES_PORT_IO_32, ANACTRL_IO_BASE + 0x74, 0xFFFF0FF5, 0x0000F000,
-       RES_PORT_IO_32, ANACTRL_IO_BASE + 0x78, 0xFF00FF00, 0x00100010,
-       RES_PORT_IO_32, ANACTRL_IO_BASE + 0x7C, 0xFF0FF0FF, 0x00500500,
-       RES_PORT_IO_32, ANACTRL_IO_BASE + 0x80, 0xFFFFFFE7, 0x00000000,
-       RES_PORT_IO_32, ANACTRL_IO_BASE + 0x60, 0xFFCFFFFF, 0x00300000,
-       RES_PORT_IO_32, ANACTRL_IO_BASE + 0x90, 0xFFFF00FF, 0x0000FF00,
-       RES_PORT_IO_32, ANACTRL_IO_BASE + 0x9C, 0xFF00FFFF, 0x00070000,
+       IO32(ANACTRL_IO_BASE + 0x24, 0xc0f0f08f, 0x26020230),
+       IO32(ANACTRL_IO_BASE + 0x34, 0x00000000, 0x22222222),
+       IO32(ANACTRL_IO_BASE + 0x08, 0x7FFFFFFF, 0x00000000),
+       IO32(ANACTRL_IO_BASE + 0x2C, 0x7FFFFFFF, 0x80000000),
+       IO32(ANACTRL_IO_BASE + 0xCC, 0xFFFFF9FF, 0x00000000),
+       IO32(ANACTRL_IO_BASE + 0x30, 0x8FFFFFFF, 0x40000000),
+       IO32(ANACTRL_IO_BASE + 0xCC, 0xFFFFF9FF, 0x00000200),
+       IO32(ANACTRL_IO_BASE + 0x30, 0x8FFFFFFF, 0x40000000),
+       IO32(ANACTRL_IO_BASE + 0xCC, 0xFFFFF9FF, 0x00000400),
+       IO32(ANACTRL_IO_BASE + 0x30, 0x8FFFFFFF, 0x40000000),
+       IO32(ANACTRL_IO_BASE + 0x74, 0xFFFF0FF5, 0x0000F000),
+       IO32(ANACTRL_IO_BASE + 0x78, 0xFF00FF00, 0x00100010),
+       IO32(ANACTRL_IO_BASE + 0x7C, 0xFF0FF0FF, 0x00500500),
+       IO32(ANACTRL_IO_BASE + 0x80, 0xFFFFFFE7, 0x00000000),
+       IO32(ANACTRL_IO_BASE + 0x60, 0xFFCFFFFF, 0x00300000),
+       IO32(ANACTRL_IO_BASE + 0x90, 0xFFFF00FF, 0x0000FF00),
+       IO32(ANACTRL_IO_BASE + 0x9C, 0xFF00FFFF, 0x00070000),
 
-       RES_PCI_IO, PCI_ADDR(0, 0, 0, 0x40), 0x00000000, 0xCB8410DE,
-       RES_PCI_IO, PCI_ADDR(0, 0, 0, 0x48), 0xFFFFDCED, 0x00002002,
-       RES_PCI_IO, PCI_ADDR(0, 0, 0, 0x78), 0xFFFFFF8E, 0x00000011,
-       RES_PCI_IO, PCI_ADDR(0, 0, 0, 0x80), 0xFFFF0000, 0x00009923,
-       RES_PCI_IO, PCI_ADDR(0, 0, 0, 0x88), 0xFFFFFFFE, 0x00000000,
-       RES_PCI_IO, PCI_ADDR(0, 0, 0, 0x8C), 0xFFFF0000, 0x0000007F,
-       RES_PCI_IO, PCI_ADDR(0, 0, 0, 0xDC), 0xFFFEFFFF, 0x00010000,
+       PCM(0, 0, 0, 0x40, 0x00000000, 0xCB8410DE), 
+       PCM(0, 0, 0, 0x48, 0xFFFFDCED, 0x00002002), 
+       PCM(0, 0, 0, 0x78, 0xFFFFFF8E, 0x00000011), 
+       PCM(0, 0, 0, 0x80, 0xFFFF0000, 0x00009923), 
+       PCM(0, 0, 0, 0x88, 0xFFFFFFFE, 0x00000000), 
+       PCM(0, 0, 0, 0x8C, 0xFFFF0000, 0x0000007F), 
+       PCM(0, 0, 0, 0xDC, 0xFFFEFFFF, 0x00010000), 
 
-       RES_PCI_IO, PCI_ADDR(0, 1, 0, 0x40), 0x00000000, 0xCB8410DE,
-       RES_PCI_IO, PCI_ADDR(0, 1, 0, 0x74), 0xFFFFFF7B, 0x00000084,
-       RES_PCI_IO, PCI_ADDR(0, 1, 0, 0xF8), 0xFFFFFFCF, 0x00000010,
+       PCM(0, 1, 0, 0x40, 0x00000000, 0xCB8410DE), 
+       PCM(0, 1, 0, 0x74, 0xFFFFFF7B, 0x00000084), 
+       PCM(0, 1, 0, 0xF8, 0xFFFFFFCF, 0x00000010), 
 
-       RES_PCI_IO, PCI_ADDR(0, 1, 1, 0xC4), 0xFFFFFFFE, 0x00000001,
-       RES_PCI_IO, PCI_ADDR(0, 1, 1, 0xF0), 0x7FFFFFFD, 0x00000002,
-       RES_PCI_IO, PCI_ADDR(0, 1, 1, 0xF8), 0xFFFFFFCF, 0x00000010,
+       PCM(0, 1, 1, 0xC4, 0xFFFFFFFE, 0x00000001), 
+       PCM(0, 1, 1, 0xF0, 0x7FFFFFFD, 0x00000002), 
+       PCM(0, 1, 1, 0xF8, 0xFFFFFFCF, 0x00000010), 
 
-       RES_PCI_IO, PCI_ADDR(0, 8, 0, 0x40), 0x00000000, 0xCB8410DE,
-       RES_PCI_IO, PCI_ADDR(0, 8, 0, 0x68), 0xFFFFFF00, 0x000000FF,
-       RES_PCI_IO, PCI_ADDR(0, 8, 0, 0xF8), 0xFFFFFFBF, 0x00000040,//Enable 
bridge mode
+       PCM(0, 8, 0, 0x40, 0x00000000, 0xCB8410DE), 
+       PCM(0, 8, 0, 0x68, 0xFFFFFF00, 0x000000FF), 
+       PCM(0, 8, 0, 0xF8, 0xFFFFFFBF, 0x00000040), //Enable bridge mode
 
-       RES_PCI_IO, PCI_ADDR(0, 9, 0, 0x40), 0x00000000, 0xCB8410DE,
-       RES_PCI_IO, PCI_ADDR(0, 9, 0, 0x68), 0xFFFFFF00, 0x000000FF,
-       RES_PCI_IO, PCI_ADDR(0, 9, 0, 0xF8), 0xFFFFFFBF, 0x00000040,//Enable 
bridge mode
+       PCM(0, 9, 0, 0x40, 0x00000000, 0xCB8410DE), 
+       PCM(0, 9, 0, 0x68, 0xFFFFFF00, 0x000000FF), 
+       PCM(0, 9, 0, 0xF8, 0xFFFFFFBF, 0x00000040), //Enable bridge mode
     };
 
-    static const unsigned int ctrl_conf_1_1[] = {
-       RES_PCI_IO, PCI_ADDR(0, 5, 0, 0x40), 0x00000000, 0xCB8410DE,
-       RES_PCI_IO, PCI_ADDR(0, 5, 0, 0x50), 0xFFFFFFFC, 0x00000003,
-       RES_PCI_IO, PCI_ADDR(0, 5, 0, 0x64), 0xFFFFFFFE, 0x00000001,
-       RES_PCI_IO, PCI_ADDR(0, 5, 0, 0x70), 0xFFF0FFFF, 0x00040000,
-       RES_PCI_IO, PCI_ADDR(0, 5, 0, 0xAC), 0xFFFFF0FF, 0x00000100,
-       RES_PCI_IO, PCI_ADDR(0, 5, 0, 0x7C), 0xFFFFFFEF, 0x00000000,
-       RES_PCI_IO, PCI_ADDR(0, 5, 0, 0xC8), 0xFF00FF00, 0x000A000A,
-       RES_PCI_IO, PCI_ADDR(0, 5, 0, 0xD0), 0xF0FFFFFF, 0x03000000,
-       RES_PCI_IO, PCI_ADDR(0, 5, 0, 0xE0), 0xF0FFFFFF, 0x03000000,
+    static const struct rmap ctrl_conf_1_1[] = {
+       PCM(0, 5, 0, 0x40, 0x00000000, 0xCB8410DE), 
+       PCM(0, 5, 0, 0x50, 0xFFFFFFFC, 0x00000003), 
+       PCM(0, 5, 0, 0x64, 0xFFFFFFFE, 0x00000001), 
+       PCM(0, 5, 0, 0x70, 0xFFF0FFFF, 0x00040000), 
+       PCM(0, 5, 0, 0xAC, 0xFFFFF0FF, 0x00000100), 
+       PCM(0, 5, 0, 0x7C, 0xFFFFFFEF, 0x00000000), 
+       PCM(0, 5, 0, 0xC8, 0xFF00FF00, 0x000A000A), 
+       PCM(0, 5, 0, 0xD0, 0xF0FFFFFF, 0x03000000), 
+       PCM(0, 5, 0, 0xE0, 0xF0FFFFFF, 0x03000000), 
     };
 
+    static const struct rmap ctrl_conf_mcp55_only[] = {
+       PCM(0, 1, 1, 0x40, 0x00000000, 0xCB8410DE), 
+       PCM(0, 1, 1, 0xE0, 0xFFFFFEFF, 0x00000000), 
+       PCM(0, 1, 1, 0xE4, 0xFFFFFFFB, 0x00000000), 
+       PCM(0, 1, 1, 0xE8, 0xFFA9C8FF, 0x00003000), 
 
-    static const unsigned int ctrl_conf_mcp55_only[] = {
-       RES_PCI_IO, PCI_ADDR(0, 1, 1, 0x40), 0x00000000, 0xCB8410DE,
-       RES_PCI_IO, PCI_ADDR(0, 1, 1, 0xE0), 0xFFFFFEFF, 0x00000000,
-       RES_PCI_IO, PCI_ADDR(0, 1, 1, 0xE4), 0xFFFFFFFB, 0x00000000,
-       RES_PCI_IO, PCI_ADDR(0, 1, 1, 0xE8), 0xFFA9C8FF, 0x00003000,
+       PCM(0, 4, 0, 0x40, 0x00000000, 0xCB8410DE), 
+       PCM(0, 4, 0, 0xF8, 0xFFFFFFCF, 0x00000010), 
 
-       RES_PCI_IO, PCI_ADDR(0, 4, 0, 0x40), 0x00000000, 0xCB8410DE,
-       RES_PCI_IO, PCI_ADDR(0, 4, 0, 0xF8), 0xFFFFFFCF, 0x00000010,
+       PCM(0, 2, 0, 0x40, 0x00000000, 0xCB8410DE), 
 
-       RES_PCI_IO, PCI_ADDR(0, 2, 0, 0x40), 0x00000000, 0xCB8410DE,
+       PCM(0, 2, 1, 0x40, 0x00000000, 0xCB8410DE), 
+       PCM(0, 2, 1, 0x64, 0xF87FFFFF, 0x05000000), 
+       PCM(0, 2, 1, 0x78, 0xFFC07FFF, 0x00360000), 
+       PCM(0, 2, 1, 0x68, 0xFE00D03F, 0x013F2C00), 
+       PCM(0, 2, 1, 0x70, 0xFFF7FFFF, 0x00080000), 
+       PCM(0, 2, 1, 0x7C, 0xFFFFF00F, 0x00000570), 
+       PCM(0, 2, 1, 0xF8, 0xFFFFFFCF, 0x00000010), 
 
-       RES_PCI_IO, PCI_ADDR(0, 2, 1, 0x40), 0x00000000, 0xCB8410DE,
-       RES_PCI_IO, PCI_ADDR(0, 2, 1, 0x64), 0xF87FFFFF, 0x05000000,
-       RES_PCI_IO, PCI_ADDR(0, 2, 1, 0x78), 0xFFC07FFF, 0x00360000,
-       RES_PCI_IO, PCI_ADDR(0, 2, 1, 0x68), 0xFE00D03F, 0x013F2C00,
-       RES_PCI_IO, PCI_ADDR(0, 2, 1, 0x70), 0xFFF7FFFF, 0x00080000,
-       RES_PCI_IO, PCI_ADDR(0, 2, 1, 0x7C), 0xFFFFF00F, 0x00000570,
-       RES_PCI_IO, PCI_ADDR(0, 2, 1, 0xF8), 0xFFFFFFCF, 0x00000010,
+       PCM(0, 6, 0, 0x04, 0xFFFFFEFB, 0x00000104), 
+       PCM(0, 6, 0, 0x3C, 0xF5FFFFFF, 0x0A000000), 
+       PCM(0, 6, 0, 0x40, 0x00C8FFFF, 0x07330000), 
+       PCM(0, 6, 0, 0x48, 0xFFFFFFF8, 0x00000005), 
+       PCM(0, 6, 0, 0x4C, 0xFE02FFFF, 0x004C0000), 
+       PCM(0, 6, 0, 0x74, 0xFFFFFFC0, 0x00000000), 
+       PCM(0, 6, 0, 0xC0, 0x00000000, 0xCB8410DE), 
+       PCM(0, 6, 0, 0xC4, 0xFFFFFFF8, 0x00000007), 
 
-       RES_PCI_IO, PCI_ADDR(0, 6, 0, 0x04), 0xFFFFFEFB, 0x00000104,
-       RES_PCI_IO, PCI_ADDR(0, 6, 0, 0x3C), 0xF5FFFFFF, 0x0A000000,
-       RES_PCI_IO, PCI_ADDR(0, 6, 0, 0x40), 0x00C8FFFF, 0x07330000,
-       RES_PCI_IO, PCI_ADDR(0, 6, 0, 0x48), 0xFFFFFFF8, 0x00000005,
-       RES_PCI_IO, PCI_ADDR(0, 6, 0, 0x4C), 0xFE02FFFF, 0x004C0000,
-       RES_PCI_IO, PCI_ADDR(0, 6, 0, 0x74), 0xFFFFFFC0, 0x00000000,
-       RES_PCI_IO, PCI_ADDR(0, 6, 0, 0xC0), 0x00000000, 0xCB8410DE,
-       RES_PCI_IO, PCI_ADDR(0, 6, 0, 0xC4), 0xFFFFFFF8, 0x00000007,
-
-       RES_PCI_IO, PCI_ADDR(0, 1, 0, 0x78), 0xC0FFFFFF, 0x19000000,
-
+       PCM(0, 1, 0, 0x78, 0xC0FFFFFF, 0x19000000), 
 #if MCP55_USE_AZA == 1
-       RES_PCI_IO, PCI_ADDR(0, 6, 1, 0x40), 0x00000000, 0xCB8410DE,
+       PCM(0, 6, 1, 0x40, 0x00000000, 0xCB8410DE), 
 
-//     RES_PCI_IO, PCI_ADDR(0, 1, 1, 0xE4), ~(1<<14), 1<<14,
+//     PCM(0, 1, 1, 0xE4), ~(1<<14, 1<<14)),
 #endif
 // play a while with GPIO in MCP55
 #ifdef MCP55_MB_SETUP
@@ -297,39 +292,39 @@
 #endif
 
 #if MCP55_USE_AZA == 1
-       RES_PORT_IO_8, SYSCTRL_IO_BASE + 0xc0+ 21, ~(3<<2), (2<<2),
-       RES_PORT_IO_8, SYSCTRL_IO_BASE + 0xc0+ 22, ~(3<<2), (2<<2),
-       RES_PORT_IO_8, SYSCTRL_IO_BASE + 0xc0+ 46, ~(3<<2), (2<<2),
+       IO8(SYSCTRL_IO_BASE + 0xc0+ 21, ~(3<<2), (2<<2)),
+       IO8(SYSCTRL_IO_BASE + 0xc0+ 22, ~(3<<2), (2<<2)),
+       IO8(SYSCTRL_IO_BASE + 0xc0+ 46, ~(3<<2), (2<<2)),
 #endif
 
 
     };
 
-    static const unsigned int ctrl_conf_master_only[] = {
+    static const struct rmap ctrl_conf_master_only[] = {
 
-       RES_PORT_IO_32, ACPICTRL_IO_BASE + 0x80, 0xEFFFFFF, 0x01000000,
+       IO32(ACPICTRL_IO_BASE + 0x80, 0xEFFFFFF, 0x01000000),
 
        //Master MCP55 ????YHLU
-       RES_PORT_IO_8, SYSCTRL_IO_BASE + 0xc0+ 0, ~(3<<2), (0<<2),
+       IO8( SYSCTRL_IO_BASE + 0xc0+ 0, ~(3<<2), (0<<2)),
 
     };
 
-    static const unsigned int ctrl_conf_2[] = {
+    static const struct rmap ctrl_conf_2[] = {
        /* I didn't put pcie related stuff here */
 
-       RES_PCI_IO, PCI_ADDR(0, 0, 0, 0x74), 0xFFFFF00F, 0x000009D0,
-       RES_PCI_IO, PCI_ADDR(0, 1, 0, 0x74), 0xFFFF7FFF, 0x00008000,
+       PCM(0, 0, 0, 0x74, 0xFFFFF00F, 0x000009D0),
+       PCM(0, 1, 0, 0x74, 0xFFFF7FFF, 0x00008000),
 
-       RES_PORT_IO_32, SYSCTRL_IO_BASE + 0x48, 0xFFFEFFFF, 0x00010000,
+       IO32(SYSCTRL_IO_BASE + 0x48, 0xFFFEFFFF, 0x00010000),
 
-       RES_PORT_IO_32, ANACTRL_IO_BASE + 0x60, 0xFFFFFF00, 0x00000012,
+       IO32(ANACTRL_IO_BASE + 0x60, 0xFFFFFF00, 0x00000012),
 
 
 #if MCP55_USE_NIC == 1
-       RES_PCI_IO, PCI_ADDR(0, 1, 1, 0xe4), ~((1<<22)|(1<<20)), 
(1<<22)|(1<<20),
+       PCM(0, 1, 1, 0xe4, ~((1<<22)|(1<<20)), (1<<22)|(1<<20)),
 
-       RES_PORT_IO_8, SYSCTRL_IO_BASE + 0xc0+ 4, ~(0xff),  
((0<<4)|(1<<2)|(0<<0)),
-       RES_PORT_IO_8, SYSCTRL_IO_BASE + 0xc0+ 4, ~(0xff),  
((0<<4)|(1<<2)|(1<<0)),
+       IO8(SYSCTRL_IO_BASE + 0xc0+ 4, ~(0xff),  ((0<<4)|(1<<2)|(0<<0))),
+       IO8(SYSCTRL_IO_BASE + 0xc0+ 4, ~(0xff),  ((0<<4)|(1<<2)|(1<<0))),
 #endif
 
     };
@@ -341,23 +336,23 @@
                mcp55_early_pcie_setup(busn[j], devn[j], io_base[j] + 
ANACTRL_IO_BASE, pci_e_x[j]);
 
                setup_resource_map_x_offset(ctrl_conf_1, 
sizeof(ctrl_conf_1)/sizeof(ctrl_conf_1[0]),
-                               PCI_BDF(busn[j], devn[j], 0), io_base[j]);
+                               PCI_BDF(busn[j], devn[j], 0), io_base[j], 0);
                for(i=0; i<3; i++) { // three SATA
                        setup_resource_map_x_offset(ctrl_conf_1_1, 
sizeof(ctrl_conf_1_1)/sizeof(ctrl_conf_1_1[0]),
-                               PCI_BDF(busn[j], devn[j], i), io_base[j]);
+                               PCI_BDF(busn[j], devn[j], i), io_base[j], 0);
                }
                if(busn[j] == 0) {
                        setup_resource_map_x_offset(ctrl_conf_mcp55_only, 
sizeof(ctrl_conf_mcp55_only)/sizeof(ctrl_conf_mcp55_only[0]),
-                               PCI_BDF(busn[j], devn[j], 0), io_base[j]);
+                               PCI_BDF(busn[j], devn[j], 0), io_base[j], 0);
                }
 
                if( (busn[j] == 0) && (mcp55_num>1) ) {
                        setup_resource_map_x_offset(ctrl_conf_master_only, 
sizeof(ctrl_conf_master_only)/sizeof(ctrl_conf_master_only[0]),
-                               PCI_BDF(busn[j], devn[j], 0), io_base[j]);
+                               PCI_BDF(busn[j], devn[j], 0), io_base[j], 0);
                }
 
                setup_resource_map_x_offset(ctrl_conf_2, 
sizeof(ctrl_conf_2)/sizeof(ctrl_conf_2[0]),
-                               PCI_BDF(busn[j], devn[j], 0), io_base[j]);
+                               PCI_BDF(busn[j], devn[j], 0), io_base[j], 0);
 
        }
 
@@ -408,10 +403,8 @@
                busnx = ht_c_index * HT_CHAIN_BUSN_D;
                for(devnx=0;devnx<0x20;devnx++) {
                        u32 id;
-                       struct device *dev;
-#error dev is not set up
                        //                      dev = PCI_BDF(busnx, devnx, 0);
-                       id = pci_read_config32(dev, PCI_VENDOR_ID);
+                       id = pci_read_config32(busnx, devnx<<3, PCI_VENDOR_ID);
                        if(id == 0x036910de) {
                                busn[mcp55_num] = busnx;
                                devn[mcp55_num] = devnx;


--
coreboot mailing list
[email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to