Hi,
I'm trying to repeat the EP/RC Validation System on an i.MX6DL setup, basically imx6dlsabresd EP <-> RC imx6dlsabresd.
i.MX6Q PCIe EP/RC Validation System
1. I got 2 boards imx6dlsabresd
2. I'm using L3.0.35_4.1.0_130816 built for imx6q with board imx6dlsabresd ( I must choose iMX6Q (iMXQ6S don't) to enable to be able to select imx6dlsabresd)
- One image configured as EP, CONFIG_IMX_PCIE_EP_MODE_IN_EP_RC_SYS=y
- One image configured as RC, CONFIG_IMX_PCIE_RC_MODE_IN_EP_RC_SYS=y
When I start the EP it hangs/crashes when waiting for "link up..."
1. I modified the link up do/while to print what happens.
pr_info("PCIe EP: waiting for link up...\n");
/* link is debug bit 36 debug 1 start in bit 32 */
pcie.c
snippet...
pr_info("PCIe EP: waiting for link up...\n");
/* link is debug bit 36 debug 1 start in bit 32 */
do {
usleep_range(10, 20);
pr_info("PCIe EP: waiting for link up, iteration # %d\n",dbr1_cnt++);
dbr1 = readl(dbi_base + DB_R1);
pr_info("PCIe EP: DB_R1 0x%x\n",dbr1); <--------------- Never printed
} while ((dbr1 & 0x10) == 0);
2. This code produce the following prints showing that we hang/crash when trying to read DB_R1. Does any have a clue why?
PM driver module loaded
iMX6 PCIe PCIe EP mode imx_pcie_pltfm_probe entering.
PCIE: imx_pcie_pltfm_probe start link up.
PCIe EP: waiting for link up...
PCIe EP: waiting for link up, iteration # 0
<No more prints>
Regards
Andreas