From bd22c2b97514fbfb0e03bd9c72b3445e4dbd57e2 Mon Sep 17 00:00:00 2001 From: Jin Zhengxiong-R64188 Date: Tue, 27 Jun 2006 18:12:02 +0800 Subject: Fix bug for io_bar size during pci scan During the pci scan process, Some devices return bar_reponse with the highest bytes 0, such as the pci bridge in uli1575 return bar_response with 0xffffff, So the bar_size should be manually set under 64K. Signed-off-by: Jason Jin --- drivers/pci_auto.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'drivers') diff --git a/drivers/pci_auto.c b/drivers/pci_auto.c index 15f74328f0a..9e921b2148a 100644 --- a/drivers/pci_auto.c +++ b/drivers/pci_auto.c @@ -102,7 +102,8 @@ void pciauto_setup_device(struct pci_controller *hose, /* Check the BAR type and set our address mask */ if (bar_response & PCI_BASE_ADDRESS_SPACE) { - bar_size = ~(bar_response & PCI_BASE_ADDRESS_IO_MASK) + 1; + bar_size = ((~(bar_response & PCI_BASE_ADDRESS_IO_MASK)) + & 0xffff) + 1; bar_res = io; DEBUGF("PCI Autoconfig: BAR %d, I/O, size=0x%x, ", bar_nr, bar_size); -- cgit v1.3.1 From fcfb9a57947fc203b99fe81ab0578f7286261f9f Mon Sep 17 00:00:00 2001 From: Jin Zhengxiong-R64188 Date: Tue, 27 Jun 2006 18:12:23 +0800 Subject: Fix Tsec bug when no link When tftp a non-exist file from the tftp server, u-boot will check the link of all eth port. The original file will return wrong link state on the no link ports. signed-off-by: Jason Jin --- drivers/tsec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'drivers') diff --git a/drivers/tsec.c b/drivers/tsec.c index 18778c270a6..a8a2ba2f529 100644 --- a/drivers/tsec.c +++ b/drivers/tsec.c @@ -372,7 +372,7 @@ uint mii_parse_sr(uint mii_reg, struct tsec_private *priv) if (i > PHY_AUTONEGOTIATE_TIMEOUT) { puts (" TIMEOUT !\n"); priv->link = 0; - break; + return 0; } if ((i++ % 1000) == 0) { -- cgit v1.3.1 From bc09cf3c2bfb8d54c659cbb332f79d0950982fd0 Mon Sep 17 00:00:00 2001 From: Jin Zhengxiong-R64188 Date: Tue, 27 Jun 2006 18:12:10 +0800 Subject: Fix RTL8139 in big endian signed-off-by: Jason Jin signed-off-by: Wei Zhang --- drivers/rtl8139.c | 1 + include/configs/MPC8641HPCN.h | 1 + 2 files changed, 2 insertions(+) (limited to 'drivers') diff --git a/drivers/rtl8139.c b/drivers/rtl8139.c index a95f84e6258..848d1d177ae 100644 --- a/drivers/rtl8139.c +++ b/drivers/rtl8139.c @@ -196,6 +196,7 @@ static void rtl_disable(struct eth_device *dev); static struct pci_device_id supported[] = { {PCI_VENDOR_ID_REALTEK, PCI_DEVICE_ID_REALTEK_8139}, + {0x1186, 0x1300}, {} }; diff --git a/include/configs/MPC8641HPCN.h b/include/configs/MPC8641HPCN.h index 4453171d45a..b0897695a7c 100644 --- a/include/configs/MPC8641HPCN.h +++ b/include/configs/MPC8641HPCN.h @@ -304,6 +304,7 @@ #define CFG_PCI_MEMORY_SIZE 0x80000000 /* For RTL8139 */ +#define KSEG1ADDR(x) ({u32 _x=le32_to_cpu(*(u32 *)(x)); (&_x);}) #define _IO_BASE 0x00000000 #define CFG_PCI2_MEM_BASE 0xa0000000 -- cgit v1.3.1