pci: Do not skip legacy IDE device configuration

The legacy IDE device has a BAR4 (Bus Master Interface BAR) which
needs to be configured.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Acked-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Bin Meng 2015-05-16 09:33:15 +08:00 committed by Simon Glass
parent 1b73b1c7fb
commit 04e3c4eb93
1 changed files with 0 additions and 14 deletions

View File

@ -20,8 +20,6 @@
#define DEBUGF(x...) #define DEBUGF(x...)
#endif /* DEBUG */ #endif /* DEBUG */
#define PCIAUTO_IDE_MODE_MASK 0x05
/* the user can define CONFIG_SYS_PCI_CACHE_LINE_SIZE to avoid problems */ /* the user can define CONFIG_SYS_PCI_CACHE_LINE_SIZE to avoid problems */
#ifndef CONFIG_SYS_PCI_CACHE_LINE_SIZE #ifndef CONFIG_SYS_PCI_CACHE_LINE_SIZE
#define CONFIG_SYS_PCI_CACHE_LINE_SIZE 8 #define CONFIG_SYS_PCI_CACHE_LINE_SIZE 8
@ -424,7 +422,6 @@ int pciauto_config_device(struct pci_controller *hose, pci_dev_t dev)
{ {
unsigned int sub_bus = PCI_BUS(dev); unsigned int sub_bus = PCI_BUS(dev);
unsigned short class; unsigned short class;
unsigned char prg_iface;
int n; int n;
pci_hose_read_config_word(hose, dev, PCI_CLASS_DEVICE, &class); pci_hose_read_config_word(hose, dev, PCI_CLASS_DEVICE, &class);
@ -460,17 +457,6 @@ int pciauto_config_device(struct pci_controller *hose, pci_dev_t dev)
#endif #endif
break; break;
case PCI_CLASS_STORAGE_IDE:
pci_hose_read_config_byte(hose, dev, PCI_CLASS_PROG, &prg_iface);
if (!(prg_iface & PCIAUTO_IDE_MODE_MASK)) {
DEBUGF("PCI Autoconfig: Skipping legacy mode IDE controller\n");
return sub_bus;
}
pciauto_setup_device(hose, dev, 6, hose->pci_mem,
hose->pci_prefetch, hose->pci_io);
break;
case PCI_CLASS_BRIDGE_CARDBUS: case PCI_CLASS_BRIDGE_CARDBUS:
/* /*
* just do a minimal setup of the bridge, * just do a minimal setup of the bridge,