summaryrefslogtreecommitdiff
path: root/recipes-kernel/linux/linux-toradex-mainline-4.14/0019-clk-tegra-Fix-pll_u-rate-configuration.patch
diff options
context:
space:
mode:
authorMarcel Ziswiler <marcel.ziswiler@toradex.com>2018-04-20 11:34:14 +0200
committerMarcel Ziswiler <marcel.ziswiler@toradex.com>2018-06-18 15:59:16 +0200
commit19d270b8a11457da3b2f8c049517d0ddf2bd7426 (patch)
tree2a4c67e6bc6b8d8cd97de594ec6e55054552185d /recipes-kernel/linux/linux-toradex-mainline-4.14/0019-clk-tegra-Fix-pll_u-rate-configuration.patch
parentd777e812beda3c6e42bf440f5561ed2d8786e74e (diff)
linux-toradex-mainline: more patches also for apalis t30
Move the USB device aka gadget fix from Tezi to here. Add patches to force fixed IDs for SDMMC controllers. Add patch to fix for PLL_U rate configuration (T30). Add Apalis T30 specific patch for PCIe fix hacks. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Stefan Agner <stefan.agner@toradex.com> (cherry picked from commit 7da6da579b7d90b7ca6560c880bd3f58ecb73df2)
Diffstat (limited to 'recipes-kernel/linux/linux-toradex-mainline-4.14/0019-clk-tegra-Fix-pll_u-rate-configuration.patch')
-rw-r--r--recipes-kernel/linux/linux-toradex-mainline-4.14/0019-clk-tegra-Fix-pll_u-rate-configuration.patch60
1 files changed, 60 insertions, 0 deletions
diff --git a/recipes-kernel/linux/linux-toradex-mainline-4.14/0019-clk-tegra-Fix-pll_u-rate-configuration.patch b/recipes-kernel/linux/linux-toradex-mainline-4.14/0019-clk-tegra-Fix-pll_u-rate-configuration.patch
new file mode 100644
index 0000000..9c846b2
--- /dev/null
+++ b/recipes-kernel/linux/linux-toradex-mainline-4.14/0019-clk-tegra-Fix-pll_u-rate-configuration.patch
@@ -0,0 +1,60 @@
+From 03f99b544b9e6e1e79bb73c9e35d3ea7047e706c Mon Sep 17 00:00:00 2001
+Message-Id: <03f99b544b9e6e1e79bb73c9e35d3ea7047e706c.1529072479.git.marcel.ziswiler@toradex.com>
+In-Reply-To: <fb4764e8eb658d35e8fc62ae79c77e1f6e2b0ef3.1529072479.git.marcel.ziswiler@toradex.com>
+References: <fb4764e8eb658d35e8fc62ae79c77e1f6e2b0ef3.1529072479.git.marcel.ziswiler@toradex.com>
+From: Marcel Ziswiler <marcel@ziswiler.com>
+Date: Fri, 23 Feb 2018 00:04:51 +0100
+Subject: [PATCH 19/27] clk: tegra: Fix pll_u rate configuration
+
+Turns out latest upstream U-Boot does not configure/enable pll_u which
+leaves it at some default rate of 500 kHz:
+
+root@apalis-t30:~# cat /sys/kernel/debug/clk/clk_summary | grep pll_u
+ pll_u 3 3 0 500000 0
+
+Of course this won't quite work leading to the following messages:
+
+[ 6.559593] usb 2-1: new full-speed USB device number 2 using tegra-
+ehci
+[ 11.759173] usb 2-1: device descriptor read/64, error -110
+[ 27.119453] usb 2-1: device descriptor read/64, error -110
+[ 27.389217] usb 2-1: new full-speed USB device number 3 using tegra-
+ehci
+[ 32.559454] usb 2-1: device descriptor read/64, error -110
+[ 47.929777] usb 2-1: device descriptor read/64, error -110
+[ 48.049658] usb usb2-port1: attempt power cycle
+[ 48.759475] usb 2-1: new full-speed USB device number 4 using tegra-
+ehci
+[ 59.349457] usb 2-1: device not accepting address 4, error -110
+[ 59.509449] usb 2-1: new full-speed USB device number 5 using tegra-
+ehci
+[ 70.069457] usb 2-1: device not accepting address 5, error -110
+[ 70.079721] usb usb2-port1: unable to enumerate USB device
+
+Fix this by actually allowing the rate also being set from within
+the Linux kernel.
+
+Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
+Tested-by: Jon Hunter <jonathanh@nvidia.com>
+Signed-off-by: Thierry Reding <treding@nvidia.com>
+(cherry picked from commit c35b518f9ba06c9de79fb3ff62eed7462d804995)
+---
+ drivers/clk/tegra/clk-pll.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/drivers/clk/tegra/clk-pll.c b/drivers/clk/tegra/clk-pll.c
+index 7c369e21c91c..830d1c87fa7c 100644
+--- a/drivers/clk/tegra/clk-pll.c
++++ b/drivers/clk/tegra/clk-pll.c
+@@ -1151,6 +1151,8 @@ static const struct clk_ops tegra_clk_pllu_ops = {
+ .enable = clk_pllu_enable,
+ .disable = clk_pll_disable,
+ .recalc_rate = clk_pll_recalc_rate,
++ .round_rate = clk_pll_round_rate,
++ .set_rate = clk_pll_set_rate,
+ };
+
+ static int _pll_fixed_mdiv(struct tegra_clk_pll_params *pll_params,
+--
+2.14.4
+