PCIe switch detection problem in I.MX6Q

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

PCIe switch detection problem in I.MX6Q

4,304 Views
balashanmugam
Contributor III

Hi,
  We are currrently using seco Q-7 processor module based on iMX6q. In our carrier card pericom pci switch PI7C9X2G404SL.


1.PCie Root is I.mX6q PROCESSOR
2.PCIe switch pericom (PI7C9X2G404SL).
3. Our linux version is 3.0.35

ad we have found the following observation during testing,

1.Intially PCIe not detecting (PCIe link down), due to reset asserted before clock getting stable,we have managed to give manual reset.
2.Now the PCIe root is up we can able to read I.MX6 PCIe device ID using lspci command.
3.But we are not able to detect the PCIe switch.

Canyou please help us to solve the issue.

Note:
  If you have any patch for detecting PCIe switch, please provide us.


Regards,
Bala

Labels (3)
0 Kudos
9 Replies

1,488 Views
balashanmugam
Contributor III

Hi,

  sorry for the late responce. We are using SECO's Processor card where the linux 3.0.35 is ported already, so we are not able to use the latest one, do you have any patch files for PCIe switch support.

Regards,

Bala.D

0 Kudos

1,487 Views
balashanmugam
Contributor III

Hi igor,

   I have read the links, i am not clear i'm currently using the given pci.c file,

If it is INTx or iATU related problem where i should look.

As of now my host I.MX6 link is up and i can able to print the device ID, Vendor ID of I.MX6 but i cant able to enumerate or detect the switch.

can you please give the code for linux 3.0.35 version patch.

0 Kudos

1,488 Views
fabio_estevam
NXP Employee
NXP Employee

I would suggest you to use kernel 3.18-rc2. We have several bug fixes in the pci driver recently.

Also, you can also try U-boot 2014.10 that has support for PCI on mx6 and you can try to see if it detects your switch.

0 Kudos

1,488 Views
balashanmugam
Contributor III

Hi FAbio,

     Thank you for your response, can you pls provide the kernel source link of 3.18.rc2 as well as u-boot 2014


0 Kudos

1,488 Views
fabio_estevam
NXP Employee
NXP Employee

You can get the sources from the official repositories.

For the kernel: https://www.kernel.org/

For U-boot: git.denx.de Git - u-boot.git/summary

0 Kudos

1,488 Views
igorpadykov
NXP Employee
NXP Employee

Hi bala

I think you can check below

MX6 and PCIE implementation question?

PCIe with PCIe Switch PI7C9X2G303EL or PLX8603 with 3.10.17_1.0.0_ga

To fix the  initial issue with the PLX switch not talking some customers

patched imx_pcie_pltfm_probe() function:

--- patched-linux-3.0.35-imx/arch/arm/mach-mx6/pcie.c   2013-07-30

14:58:14.000000000 -0700

+++ linux-3.0.35-imx/arch/arm/mach-mx6/pcie.c   2013-09-17

10:20:41.369546454 -0700

@@ -830,11 +862,14 @@ static int __devinit imx_pcie_pltfm_prob

        usleep_range(3000, 4000);

        imx_pcie_regions_setup(dbi_base);

        usleep_range(3000, 4000);

+        /* force gen1 only */

+        tmp =3D readl(dbi_base + LNK_CAP) & ~0x0F;

+        writel(tmp | 0x01, dbi_base + LNK_CAP);

    /* start link up */

        imx_pcie_clrset(IOMUXC_GPR12_APP_LTSSM_ENABLE, 1 << 10,

            IOMUXC_GPR12);

Seems this allows it to be detected at initial power-up reliably.

Best regards

igor

1,488 Views
balashanmugam
Contributor III

Hi igor,

     Sorry for the late reply, We are using the same pcie.c file, I think it includes a sleep option to fix reset isuue.

We are using the same bt we are not able to detect the switch.

Regards,

Bala.D

0 Kudos

1,488 Views
balashanmugam
Contributor III

Hi,

  Thank you for your reply we have already checked the below link. I couldn't able to find the patch.

0 Kudos