[U-Boot] Problem with transparent PCI-PCI bridge on Canyonlands

java33 at inwind.it java33 at inwind.it
Thu Dec 24 13:08:33 CET 2009


Hello,

I've encountered the same problem and found a solution.
In 
drivers/pci/pci_indirect.c, add the following code block at line 79:

#elif 
defined(CONFIG_460EX)
#define INDIRECT_PCI_OP(rw, size, type, op, mask)			 \

static int								 \
indirect_##rw##_config_##size(struct pci_controller *hose,	
	 \
			      pci_dev_t dev, int offset, type val)	 \
{									 \
	u32 b, d,f;		
					 \
	b = PCI_BUS(dev); d = PCI_DEV(dev); f = PCI_FUNC(dev);		 \
	b = b - 
hose->first_busno;					 \
	dev = PCI_BDF(b, d, f);						 \
	if (PCI_BUS(dev) > 
0)                                            \
		out_le32(hose->cfg_addr, dev 
| (offset & 0xfc) | 0x00000001); \
	
else                                                             \
		out_le32
(hose->cfg_addr, dev | (offset & 0xfc) | 0x00000000); \
	cfg_##rw(val, hose-
>cfg_data + (offset & mask), type, op);	 \
	return 0;							 \
}
#else

Hope 
this helps

Ciao

Max Tretene, ACube Systems Srl


More information about the U-Boot mailing list