linux/drivers/phy/tegra
JC Kuo 2352fdb0d3 phy: tegra: xusb: Rearrange UPHY init on Tegra210
This commit is a preparation for enabling XUSB SC7 support.
It rearranges Tegra210 XUSB PADCTL UPHY initialization sequence,
for the following reasons:

1. PLLE hardware power sequencer has to be enabled only after both
   PEX UPHY PLL and SATA UPHY PLL are initialized.
   tegra210_uphy_init() -> tegra210_pex_uphy_enable()
                        -> tegra210_sata_uphy_enable()
                        -> tegra210_plle_hw_sequence_start()
                        -> tegra210_aux_mux_lp0_clamp_disable()

2. At cold boot and SC7 exit, the following bits must be cleared after
   PEX/SATA lanes are out of IDDQ (IDDQ_DISABLE=1).
   a. XUSB_PADCTL_ELPG_PROGRAM1_AUX_MUX_LP0_CLAMP_EN,
   b. XUSB_PADCTL_ELPG_PROGRAM1_AUX_MUX_LP0_CLAMP_EN_EARLY
   c. XUSB_PADCTL_ELPG_PROGRAM1_AUX_MUX_LP0_VCORE_DOWN

   tegra210_pex_uphy_enable() and tegra210_sata_uphy_enable() are in
   charge of bringing lanes out of IDDQ, and then AUX_MUX_LP0_* bits
   will be cleared by tegra210_aux_mux_lp0_clamp_disable().

3. Once UPHY PLL hardware power sequencer is enabled, do not assert
   reset to PEX/SATA PLLs, otherwise UPHY PLL operation will be broken.

Signed-off-by: JC Kuo <jckuo@nvidia.com>
Acked-By: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2021-06-03 14:49:33 +02:00
..
Kconfig phy: tegra: Select USB_COMMON for usb_get_maximum_speed() 2020-04-16 15:05:53 +02:00
Makefile phy: tegra: xusb: Add Tegra194 support 2020-03-19 13:59:46 +01:00
phy-tegra194-p2u.c phy: tegra: convert to devm_platform_ioremap_resource(_byname) 2020-11-16 12:47:48 +05:30
xusb-tegra124.c phy: tegra: Don't use device-managed API to allocate ports 2020-03-19 14:00:05 +01:00
xusb-tegra186.c phy: tegra: Don't use device-managed API to allocate ports 2020-03-19 14:00:05 +01:00
xusb-tegra210.c phy: tegra: xusb: Rearrange UPHY init on Tegra210 2021-06-03 14:49:33 +02:00
xusb.c phy: tegra: xusb: Move usb3 port init for Tegra210 2021-06-03 14:49:33 +02:00
xusb.h phy: tegra: xusb: Rearrange UPHY init on Tegra210 2021-06-03 14:49:33 +02:00