summaryrefslogtreecommitdiff
path: root/drivers/net
diff options
context:
space:
mode:
authorRoy Zang <tie-fei.zang@freescale.com>2009-08-22 03:49:52 +0800
committerTom Rix <Tom.Rix@windriver.com>2009-10-03 09:04:11 -0500
commit3fbde1876c746b74107fb34e2e530e920ae9d77c (patch)
tree6e5b297622100c8ab78c0ada81c5962e9d2f2285 /drivers/net
parent06d0e8309e9a8eccb20a56052589557e63509fb8 (diff)
downloadu-boot-imx-3fbde1876c746b74107fb34e2e530e920ae9d77c.zip
u-boot-imx-3fbde1876c746b74107fb34e2e530e920ae9d77c.tar.gz
u-boot-imx-3fbde1876c746b74107fb34e2e530e920ae9d77c.tar.bz2
Use different PBA value for E1000 PCI and PCIe cards
Signed-off-by: Roy Zang <tie-fei.zang@freescale.com> Acked-by: André Schwarz <andre.schwarz@matrix-vision.de>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/e1000.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/net/e1000.c b/drivers/net/e1000.c
index b8dd9f2..7f9f783 100644
--- a/drivers/net/e1000.c
+++ b/drivers/net/e1000.c
@@ -50,7 +50,8 @@ tested on both gig copper and gig fiber boards
#define bus_to_phys(devno, a) pci_mem_to_phys(devno, a)
#define mdelay(n) udelay((n)*1000)
-#define E1000_DEFAULT_PBA 0x000a0026
+#define E1000_DEFAULT_PCI_PBA 0x00000030
+#define E1000_DEFAULT_PCIE_PBA 0x000a0026
/* NIC specific static variables go here */
@@ -1349,9 +1350,16 @@ e1000_reset_hw(struct e1000_hw *hw)
uint32_t ctrl_ext;
uint32_t icr;
uint32_t manc;
+ uint32_t pba = 0;
DEBUGFUNC();
+ /* get the correct pba value for both PCI and PCIe*/
+ if (hw->mac_type < e1000_82571)
+ pba = E1000_DEFAULT_PCI_PBA;
+ else
+ pba = E1000_DEFAULT_PCIE_PBA;
+
/* For 82542 (rev 2.0), disable MWI before issuing a device reset */
if (hw->mac_type == e1000_82542_rev2_0) {
DEBUGOUT("Disabling MWI on 82542 rev 2.0\n");
@@ -1419,7 +1427,7 @@ e1000_reset_hw(struct e1000_hw *hw)
if (hw->mac_type == e1000_82542_rev2_0) {
pci_write_config_word(hw->pdev, PCI_COMMAND, hw->pci_cmd_word);
}
- E1000_WRITE_REG(hw, PBA, E1000_DEFAULT_PBA);
+ E1000_WRITE_REG(hw, PBA, pba);
}
/******************************************************************************