I'm trying to using PCIe on mpc8308,and I have connectted 8308(works in RC mode ) to a PCIe device(FPGA implement a PCIe device works as EP mode).I configured PCIe configuration registers in cpu as the "MPC8308 Reference Manual 14.7.1 Initialization Sequence" said and the link is ok:PEX_LTSSM_STAT's status code is 16.(these code is mainly based on u-boot 's code under mpc8308rdb folder) But I failed when I try to use DMA descrptor send&receive data.Then I read the "PCI Express Slot Status Register",the bit PDS is 0 which means "slot empty".What's more,PEX_WDMA_STAT's value is 0x60 when I start write DMA .
Now I'm stumble here, have no idea to what to do .Can anybody give me a hand?
ps:I have read the code in linux kernel and uboot,but found nothing
Hello,
Please note that the descriptor uses little-endian byte ordering.
If the issue is still not resolved please create a Technical Service Request.
I've made descriptor in little-endian.
Now I may found the reason:mmu settings may have some errors,especially BATs.
I tried to compile a uboot with PCIe support.When I read the content of CSB address that mapped to PCIe address,it returns the value of the opposite PCIe core, while I read failed on my own application.The only different between uboot and my application is the BATs settings:uboot used 4 BATs while I used 7 BATs.
Please create a Technical Service Request for the new issue.
Hello,
Thank you for your post, however please consider moving it to the right community place (e.g. PowerQUICC Processors ) to get it visible for active members.
For details please see general advice Where to post a Discussion?
Thank you for using Freescale Community.