can't access PCIe card under sbc8548

tiejun.chen tiejun.chen at windriver.com
Thu May 30 20:42:12 EST 2013


On 05/30/2013 03:32 PM, wolfking wrote:
> (continued)
>    I traced the 8139too.c when it uses pci_iomap, the pci_iomap called the
> ioport_map. The difference between 8139 and my PCIe card lies in the
> "port" value :
> void __iomem *ioport_map(unsigned long port, unsigned int len)
> {
> 	return (void __iomem *) (port + _IO_BASE);

_IO_BASE is equal to isa_io_base. So if this is not zero, I think there's a isa 
bridge in your platform. So you can access these I/O ports based on that isa 
bridge/bus with ioreadx/iowritex.

> }
>    in 8139too.c, the "port" value is 0x1000; for my PCIe card, the "port"
> value
> is 0xfefff000. And the value is got from pci_resource_start. So you see, the

But this means the port is as memory-mapped so ioremap() should be workable in 
this case. Then out_bex/in_bex should be fine.

Tiejun



More information about the Linuxppc-dev mailing list