linux/drivers/phy
Vignesh R 0bc09f9cdc phy: phy-ti-pipe3: fix inconsistent enumeration of PCIe gen2 cards
Prior to DRA74x silicon rev 1.1, pcie_pcs register bits 8-15 and bits 16-23
were used to configure RC delay count for phy1 and phy2 respectively.
phyid was used as index to distinguish the phys and to configure the delay
values appropriately.

As of DRA74x silicon rev 1.1, pcie_pcs register definition has changed.
Bits 16-23 are used to configure delay values for *both* phy1 and phy2.

Hence phyid is no longer required.

So, drop id field from ti_pipe3 structure and its subsequent references
for configuring pcie_pcs register.

Also, pcie_pcs register now needs to be configured with delay value of 0x96
at bit positions 16-23. See register description of CTRL_CORE_PCIE_PCS in
ARM572x TRM, SPRUHZ6, October 2014, section 18.5.2.2, table 18-1804.

This is needed to ensure Gen2 cards are enumerated consistently.

DRA72x silicon behaves same way as DRA74x rev 1.1 as far as this functionality
is considered.

Test results on DRA74x and DRA72x EVMs:

Before patch
------------
DRA74x ES 1.0: Gen1 cards work, Gen2 cards do not work (expected result due to
silicon errata)
DRA74x ES 1.1: Gen1 cards work, Gen2 cards do not work sometimes due to incorrect
programming of register

DRA72x: Gen1 cards work, Gen2 cards do not work sometimes due to incorrect
programming of register

After patch
-----------
DRA74x ES 1.0: Gen1 cards work, Gen2 cards do not work (expected result due to
silicon errata)
DRA74x ES 1.1: Gen1 cards work, Gen2 cards work consistently.

DRA72x: Gen1 and Gen2 cards enumerate consistently.

Signed-off-by: Vignesh R <vigneshr@ti.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
2014-12-23 15:44:32 +05:30
..
Kconfig phy: add support for USB cluster on the Armada 375 SoC 2014-11-26 11:07:14 +05:30
Makefile phy: add support for USB cluster on the Armada 375 SoC 2014-11-26 11:07:14 +05:30
phy-armada375-usb2.c phy: add support for USB cluster on the Armada 375 SoC 2014-11-26 11:07:14 +05:30
phy-bcm-kona-usb2.c phy: remove the old lookup method 2014-11-22 13:58:39 +05:30
phy-berlin-sata.c phy: Use PTR_ERR_OR_ZERO to fix warning raised by coccinelle 2014-11-26 11:07:13 +05:30
phy-berlin-usb.c phy: remove the old lookup method 2014-11-22 13:58:39 +05:30
phy-core.c phy: remove the old lookup method 2014-11-22 13:58:39 +05:30
phy-exynos4x12-usb2.c drivers: phy: exynos-usb2: add support for Exynos 3250 2014-07-22 12:46:10 +05:30
phy-exynos5-usbdrd.c phy: exynos5-usbdrd: Add facility for VBUS-BOOST-5V supply 2014-11-22 14:08:09 +05:30
phy-exynos4210-usb2.c phy: Add new Exynos USB 2.0 PHY driver 2014-03-08 12:39:44 +05:30
phy-exynos5250-sata.c phy: remove the old lookup method 2014-11-22 13:58:39 +05:30
phy-exynos5250-usb2.c phy: phy-samsung-usb2: Change phy power on/power off sequence 2014-07-22 12:46:10 +05:30
phy-exynos-dp-video.c phy: remove the old lookup method 2014-11-22 13:58:39 +05:30
phy-exynos-mipi-video.c phy: remove the old lookup method 2014-11-22 13:58:39 +05:30
phy-hix5hd2-sata.c phy: Use PTR_ERR_OR_ZERO to fix warning raised by coccinelle 2014-11-26 11:07:13 +05:30
phy-miphy28lp.c phy: miphy28lp: unlock on error in miphy28lp_init() 2014-12-23 15:44:31 +05:30
phy-miphy365x.c phy: Use PTR_ERR_OR_ZERO to fix warning raised by coccinelle 2014-11-26 11:07:13 +05:30
phy-mvebu-sata.c phy: remove the old lookup method 2014-11-22 13:58:39 +05:30
phy-omap-control.c phy: phy-ti-pipe3: fix inconsistent enumeration of PCIe gen2 cards 2014-12-23 15:44:32 +05:30
phy-omap-usb2.c More ACPI and power management updates for 3.19-rc1 2014-12-18 20:28:33 -08:00
phy-qcom-apq8064-sata.c phy: remove the old lookup method 2014-11-22 13:58:39 +05:30
phy-qcom-ipq806x-sata.c phy: remove the old lookup method 2014-11-22 13:58:39 +05:30
phy-rcar-gen2.c phy: remove the old lookup method 2014-11-22 13:58:39 +05:30
phy-s5pv210-usb2.c phy: Add support for S5PV210 to the Exynos USB 2.0 PHY driver 2014-07-19 04:25:09 +09:00
phy-samsung-usb2.c phy: remove the old lookup method 2014-11-22 13:58:39 +05:30
phy-samsung-usb2.h ARM: SoC platform changes for 3.17 2014-08-08 11:14:29 -07:00
phy-spear1310-miphy.c phy: remove the old lookup method 2014-11-22 13:58:39 +05:30
phy-spear1340-miphy.c phy: remove the old lookup method 2014-11-22 13:58:39 +05:30
phy-stih41x-usb.c phy: Use PTR_ERR_OR_ZERO to fix warning raised by coccinelle 2014-11-26 11:07:13 +05:30
phy-stih407-usb.c phy: remove the old lookup method 2014-11-22 13:58:39 +05:30
phy-sun4i-usb.c phy-sun4i-usb: Change disconnect threshold value for sun6i 2014-12-23 15:44:31 +05:30
phy-ti-pipe3.c phy: phy-ti-pipe3: fix inconsistent enumeration of PCIe gen2 cards 2014-12-23 15:44:32 +05:30
phy-twl4030-usb.c Improvements in phy-core specifically on PHY core finds the PHY in the case 2014-11-27 08:25:20 -08:00
phy-xgene.c phy: remove the old lookup method 2014-11-22 13:58:39 +05:30