IMX6SX SDB PCIe Fails in U-Boot

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

IMX6SX SDB PCIe Fails in U-Boot

Jump to solution
1,298 Views
eliasradi
Contributor I

Hello,
  We've been trying to get PCIe working in u-boot on a Freescale IMX6SX SDB rev C and all we get is:

PCI: pcie phy link never came up
.....
Hit any key to stop autoboot: 0
=> pci
pci_bus_to_hose() failed

we've tested the following:
- u-boot from fsl-yocto-L4.1.15_2.0.0-ga and enabled "#define CONFIG_CMD_PCI"
- u-boot from uboot-imx_v2015.04_3.14.52_1.1.0_ga and enabled "#define CONFIG_CMD_PCI"
- even got u-boot.imx binary from someone with Freescale IMX6SX SDB revA board that has PCIe working. That same binary fails PCIe on a rev C board.

Anything changed on SPF-27962 from A to C that requires some changes in code? We even backtracked the changes in SPF-27962 to make the board like a rev A w.r.t. to PCIe changes and still "pci" fails.

Initially thought it is a hardware issue, but we've tested and gotten same failed results on another custom IMX6SX board.

Anyone with any ideas? Anyone with a rev C IMX6SC SDB PCIe working in u-boot?

Thanks

Labels (1)
0 Kudos
1 Solution
999 Views
igorpadykov
NXP Employee
NXP Employee

Hi eliasradi

reason may be pci 1v5 power setting, some pcie devices need this power,
one can try attached patch.

Also if pci works in linux and not in uboot, one can check IOMUXC_GPR_GPR8

settings and set the same in uboot.

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

View solution in original post

0 Kudos
2 Replies
1,000 Views
igorpadykov
NXP Employee
NXP Employee

Hi eliasradi

reason may be pci 1v5 power setting, some pcie devices need this power,
one can try attached patch.

Also if pci works in linux and not in uboot, one can check IOMUXC_GPR_GPR8

settings and set the same in uboot.

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos
999 Views
eliasradi
Contributor I

Yes, 1.5v was missing and needed for this card. In U-Boot board init we added: 


/* Enable power of VGEN2 1V5, needed for PCIe */
pmic_reg_read(pfuze, PFUZE100_VGEN2VOL, &reg);
reg &= ~LDO_VOL_MASK;
reg |= (LDOA_1_50V | (1 << LDO_EN));
pmic_reg_write(pfuze, PFUZE100_VGEN2VOL, reg);

Thanks Igor

0 Kudos