AnsweredAssumed Answered

Have anyone successfully reproduced i.MX6Q PCIe EP/RC Validation System on an i.MX6DL setup

Question asked by andreas karlsson on Sep 11, 2014
Latest reply on May 20, 2016 by Andrey Ko

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

Outcomes