WSL2-Linux-Kernel/drivers/clk
JC Kuo 0d34dfbf30 clk: tegra210: fix PLLU and PLLU_OUT1
Full-speed and low-speed USB devices do not work with Tegra210
platforms because of incorrect PLLU/PLLU_OUT1 clock settings.

When full-speed device is connected:
[   14.059886] usb 1-3: new full-speed USB device number 2 using tegra-xusb
[   14.196295] usb 1-3: device descriptor read/64, error -71
[   14.436311] usb 1-3: device descriptor read/64, error -71
[   14.675749] usb 1-3: new full-speed USB device number 3 using tegra-xusb
[   14.812335] usb 1-3: device descriptor read/64, error -71
[   15.052316] usb 1-3: device descriptor read/64, error -71
[   15.164799] usb usb1-port3: attempt power cycle

When low-speed device is connected:
[   37.610949] usb usb1-port3: Cannot enable. Maybe the USB cable is bad?
[   38.557376] usb usb1-port3: Cannot enable. Maybe the USB cable is bad?
[   38.564977] usb usb1-port3: attempt power cycle

This commit fixes the issue by:
 1. initializing PLLU_OUT1 before initializing XUSB_FS_SRC clock
    because PLLU_OUT1 is parent of XUSB_FS_SRC.
 2. changing PLLU post-divider to /2 (DIVP=1) according to Technical
    Reference Manual.

Fixes: e745f992cf ("clk: tegra: Rework pll_u")
Signed-off-by: JC Kuo <jckuo@nvidia.com>
Acked-By: Peter De Schrijver <pdeschrijver@nvidia.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
2019-06-25 16:08:23 -07:00
..
actions clk: actions: Use the correct style for SPDX License Identifier 2019-05-01 13:01:07 -07:00
analogbits clk: analogbits: add Wide-Range PLL library 2019-05-03 09:20:48 -07:00
at91 Merge branches 'clk-stm32f4', 'clk-tegra', 'clk-at91', 'clk-sifive-fu540' and 'clk-spdx' into clk-next 2019-05-07 11:45:29 -07:00
axis
axs10x clk: Remove io.h from clk-provider.h 2019-05-15 13:21:37 -07:00
bcm clk: Remove io.h from clk-provider.h 2019-05-15 13:21:37 -07:00
berlin clk: Remove io.h from clk-provider.h 2019-05-15 13:21:37 -07:00
davinci clk: Remove io.h from clk-provider.h 2019-05-15 13:21:37 -07:00
h8300 clk: Remove io.h from clk-provider.h 2019-05-15 13:21:37 -07:00
hisilicon clk: Remove io.h from clk-provider.h 2019-05-15 13:21:37 -07:00
imgtec
imx clk: Remove io.h from clk-provider.h 2019-05-15 13:21:37 -07:00
ingenic clk: Remove io.h from clk-provider.h 2019-05-15 13:21:37 -07:00
keystone
loongson1 clk: Remove io.h from clk-provider.h 2019-05-15 13:21:37 -07:00
mediatek Merge branches 'clk-renesas', 'clk-qcom', 'clk-mtk', 'clk-milbeaut' and 'clk-imx' into clk-next 2019-05-07 11:44:21 -07:00
meson Merge branches 'clk-doc', 'clk-more-critical', 'clk-meson' and 'clk-basic-be' into clk-next 2019-05-07 11:44:42 -07:00
microchip clk: Remove io.h from clk-provider.h 2019-05-15 13:21:37 -07:00
mmp clk: Remove CLK_IS_BASIC clk flag 2019-04-26 10:40:49 -07:00
mvebu clk: Remove io.h from clk-provider.h 2019-05-15 13:21:37 -07:00
mxs
nxp clk: Remove io.h from clk-provider.h 2019-05-15 13:21:37 -07:00
pistachio
pxa clk: Remove io.h from clk-provider.h 2019-05-15 13:21:37 -07:00
qcom Merge branches 'clk-stm32f4', 'clk-tegra', 'clk-at91', 'clk-sifive-fu540' and 'clk-spdx' into clk-next 2019-05-07 11:45:29 -07:00
renesas clk: Remove io.h from clk-provider.h 2019-05-15 13:21:37 -07:00
rockchip clk: Remove io.h from clk-provider.h 2019-05-15 13:21:37 -07:00
samsung clk: Remove io.h from clk-provider.h 2019-05-15 13:21:37 -07:00
sifive clk: Remove io.h from clk-provider.h 2019-05-15 13:21:37 -07:00
sirf
socfpga clk: Remove io.h from clk-provider.h 2019-05-15 13:21:37 -07:00
spear
sprd clk: sprd: Use the correct style for SPDX License Identifier 2019-05-01 13:01:23 -07:00
st clk: Remove io.h from clk-provider.h 2019-05-15 13:21:37 -07:00
sunxi clk: Remove io.h from clk-provider.h 2019-05-15 13:21:37 -07:00
sunxi-ng clk: Remove io.h from clk-provider.h 2019-05-15 13:21:37 -07:00
tegra clk: tegra210: fix PLLU and PLLU_OUT1 2019-06-25 16:08:23 -07:00
ti clk: Remove io.h from clk-provider.h 2019-05-15 13:21:37 -07:00
uniphier clk: uniphier: Fix update register for CPU-gear 2019-02-21 13:50:23 -08:00
ux500 clk: ux500: add range to usleep_range 2019-04-11 11:47:50 -07:00
versatile clk: Remove io.h from clk-provider.h 2019-05-15 13:21:37 -07:00
x86 clk: Remove io.h from clk-provider.h 2019-05-15 13:21:37 -07:00
zte
zynq clk: core: replace clk_{readl,writel} with {readl,writel} 2019-04-23 10:57:49 -07:00
zynqmp ARM: SoC-related driver updates 2019-05-16 09:19:14 -07:00
Kconfig Merge branches 'clk-stm32f4', 'clk-tegra', 'clk-at91', 'clk-sifive-fu540' and 'clk-spdx' into clk-next 2019-05-07 11:45:29 -07:00
Makefile Merge branches 'clk-stm32f4', 'clk-tegra', 'clk-at91', 'clk-sifive-fu540' and 'clk-spdx' into clk-next 2019-05-07 11:45:29 -07:00
clk-asm9260.c
clk-aspeed.c clk: Aspeed: Setup video engine clocking 2019-04-18 14:56:19 -07:00
clk-axi-clkgen.c
clk-axm5516.c
clk-bd718x7.c
clk-bulk.c
clk-cdce706.c
clk-cdce925.c
clk-clps711x.c clk: clps711x: Remove board support 2019-01-09 12:50:21 -08:00
clk-composite.c clk: Remove CLK_IS_BASIC clk flag 2019-04-26 10:40:49 -07:00
clk-conf.c
clk-cs2000-cp.c
clk-devres.c clk: Add (devm_)clk_get_optional() functions 2019-02-06 10:33:10 -08:00
clk-divider.c Merge branch 'clk-ti' into clk-next 2019-05-07 11:46:02 -07:00
clk-efm32gg.c
clk-fixed-factor.c Merge branch 'clk-parent-rewrite-1' into clk-next 2019-05-07 11:46:13 -07:00
clk-fixed-mmio.c clk: Remove io.h from clk-provider.h 2019-05-15 13:21:37 -07:00
clk-fixed-rate.c clk: Remove CLK_IS_BASIC clk flag 2019-04-26 10:40:49 -07:00
clk-fractional-divider.c clk: Remove io.h from clk-provider.h 2019-05-15 13:21:37 -07:00
clk-gate.c Merge branch 'clk-ti' into clk-next 2019-05-07 11:46:02 -07:00
clk-gemini.c
clk-gpio.c clk: Remove CLK_IS_BASIC clk flag 2019-04-26 10:40:49 -07:00
clk-hi655x.c
clk-highbank.c Merge branches 'clk-doc', 'clk-more-critical', 'clk-meson' and 'clk-basic-be' into clk-next 2019-05-07 11:44:42 -07:00
clk-hsdk-pll.c clk: Remove io.h from clk-provider.h 2019-05-15 13:21:37 -07:00
clk-lochnagar.c clk: lochnagar: Add support for the Cirrus Logic Lochnagar 2019-04-23 14:59:38 -07:00
clk-max9485.c
clk-max77686.c clk: clk-max77686: Clean clkdev lookup leak and use devm 2019-02-06 10:35:03 -08:00
clk-milbeaut.c clock: milbeaut: Add Milbeaut M10V clock controller 2019-04-25 16:43:37 -07:00
clk-moxart.c
clk-multiplier.c clk: Remove io.h from clk-provider.h 2019-05-15 13:21:37 -07:00
clk-mux.c Merge branch 'clk-ti' into clk-next 2019-05-07 11:46:02 -07:00
clk-nomadik.c
clk-npcm7xx.c
clk-nspire.c
clk-oxnas.c
clk-palmas.c
clk-pwm.c clk: Remove CLK_IS_BASIC clk flag 2019-04-26 10:40:49 -07:00
clk-qoriq.c clk: qoriq: increase array size of cmux_to_group 2019-04-25 11:41:18 -07:00
clk-rk808.c
clk-s2mps11.c
clk-scmi.c
clk-scpi.c
clk-si514.c
clk-si544.c
clk-si570.c
clk-si5351.c
clk-si5351.h
clk-stm32f4.c clk: stm32: Introduce clocks of STM32F769 board 2019-04-25 11:46:36 -07:00
clk-stm32h7.c
clk-stm32mp1.c clk: stm32mp1: Add ddrperfm clock 2019-04-29 11:13:23 -07:00
clk-tango4.c
clk-twl6040.c clk: clk-twl6040: Fix imprecise external abort for pdmclk 2019-02-21 14:11:23 -08:00
clk-u300.c
clk-versaclock5.c clk: vc5: Abort clock configuration without upstream clock 2019-01-09 10:53:58 -08:00
clk-vt8500.c
clk-wm831x.c
clk-xgene.c clk: core: replace clk_{readl,writel} with {readl,writel} 2019-04-23 10:57:49 -07:00
clk.c Merge branch 'clk-parent-rewrite-1' into clk-next 2019-05-07 11:46:13 -07:00
clk.h clk: Look for parents with clkdev based clk_lookups 2019-04-19 14:53:00 -07:00
clkdev.c clk: Look for parents with clkdev based clk_lookups 2019-04-19 14:53:00 -07:00