hi, all:
The problem is now solved.
In the sbc8548.dts file, the resource that is allocated to pcie controller
is not
suitable for my card. Actually, I think it is a typo, the range that is
allocated to
pcie io is 0x0800, now I change it to 0x0080. Then my serial card
work OK!
Is this
00: PCICSRBAR @ 0xfff0
Is 0xe280 the iobase_phys of the PCI bridge?
So any suggestion is appreciated!
regards,
wolfking.
--
View this message in context:
http://linuxppc.10917.n7.nabble.com/can-t-access-PCIe-card-under-sbc8548-tp71775p71874.html
Sent from the linuxppc-dev mai
hi, tiejun:
When I don't compile my pcie card driver(in kernel or as a driver), the
kernel
auto allocate the resoures to my pcie card, here is the output:
root@generic-powerpc-e500v2:~# cat /proc/ioports
-007f : /pci@e0008000
-0fff : Legacy IO
1000-10ff : 000
hi, scott:
Thanks for replying!
> In what specific way does it not work?
when I use iowrite8 to write, things seem OK, the codes continue running,
when I use ioread8 to read, the console I use freezes. The console stops
responding.
> Why can't it succeed? Is there nothing mapped at 0xfc7fc
tiejun.chen wrote
> 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 :
>
tiejun.chen wrote
> On 05/30/2013 06:02 PM, wolfking wrote:
>> I tried several R/W functions: inb/outb and ioread8/iowrite8. The
>> inb/outb
>
> What about out_be32/in_be32?
>
> my PCIe card's internal register is only 8 bit. So I tried ioremap,
> out_8/in_8.
&
I tried several R/W functions: inb/outb and ioread8/iowrite8. The inb/outb
doesn't report any error while the ioread8 freeze. The load/storage sync
code that I have used include mb and something else.
--
View this message in context:
http://linuxppc.10917.n7.nabble.com/can-t-access-PCIe-card-
hi, tiejun.chen:
When I use ioremap, the card seems to work fine. That is, I can access
part of all register. My PCIe card is a rs232 expand card, it has some
standard UART register, for example the SCR(scratch register). My driver
can access the SCR(write and read) normally, but the other regis
(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);
}
in 8139t
hi, tiejun.chen:
Thanks for replying.
I tried to use ioremap too, but it doesn't work. The ioport_map method
succeeded
under mpc8641d which is also a ppc.
In fact, I also tried using pci_iomap by imitating rtl8139's codes. The
rtl8139's BAR0
is also a I/O mapped register and its code succeed
hi, all
I'm doing some developing on the windriver's sbc8548 board. The kernel I
use
is 3.6.10 and the u-boot version is 2012-10. I changed the board's
configuration:
the board now boot from the 64MB SODIMM Flash (not the default 8MB on-board
Flash
memory), and the PCI clock rate is changed to 33
11 matches
Mail list logo