diff options
author | Philippe Schenker <philippe.schenker@toradex.com> | 2022-11-02 16:58:01 +0100 |
---|---|---|
committer | Max Krummenacher <max.krummenacher@toradex.com> | 2022-12-09 14:16:35 +0100 |
commit | 465ee7cac66246893d66e4042b53b9d94c9cf97b (patch) | |
tree | f10fd4e2ba4bae633cce3b1b2883699f4e68a3cd /recipes-kernel | |
parent | 706a6f65b6dfc01f18fca1161498467cafa47822 (diff) |
linux-toradex-mainline: Support usb otg on colibri-imx6ull
This commit adds two patches to our upstream kernel that solves the
reset loop and the OTG device-host dual-role switching
Related-to: ELB-4790, ELB-4610
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
(cherry picked from commit a9d1419f9cca3f3d86590cfca49db5be990b3b81)
Drop 0001-ARM-dts-colibri-imx6ull-Enable-dual-role-switching.patch as
that one will come in through mainlining.
Thus only ELB-4610 is addressed.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Diffstat (limited to 'recipes-kernel')
-rw-r--r-- | recipes-kernel/linux/linux-toradex-mainline-git/0002-drivers-chipidea-disable-runtime-pm-for-imx6ul.patch | 39 | ||||
-rw-r--r-- | recipes-kernel/linux/linux-toradex-mainline_git.bb | 1 |
2 files changed, 40 insertions, 0 deletions
diff --git a/recipes-kernel/linux/linux-toradex-mainline-git/0002-drivers-chipidea-disable-runtime-pm-for-imx6ul.patch b/recipes-kernel/linux/linux-toradex-mainline-git/0002-drivers-chipidea-disable-runtime-pm-for-imx6ul.patch new file mode 100644 index 0000000..9286c47 --- /dev/null +++ b/recipes-kernel/linux/linux-toradex-mainline-git/0002-drivers-chipidea-disable-runtime-pm-for-imx6ul.patch @@ -0,0 +1,39 @@ +From 4fe56e7be311f93b67411ae092754af908c57d73 Mon Sep 17 00:00:00 2001 +From: Philippe Schenker <philippe.schenker@toradex.com> +Date: Wed, 2 Nov 2022 14:25:56 +0100 +Subject: [PATCH 2/2] drivers: chipidea: disable runtime-pm for imx6ul + +Colibri iMX6ULL does not properly work with runtime-pm enabled. We see +two issues with that enabled: + +1. Runtime PM disconnects the line as it thinks there is no VBUS - + because this signal is not hooked up in hardware. The driver gets a + wakeup signal from the attached hub after about 2s which leads to a + reset loop. +2. In Dual-Role switching mode usb-device is not detected when plugged + in. The reason was never fully understood. + +Upstream-Status: Inappropriate [Configuration for colibri-imx6ull] + +Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com> +--- + drivers/usb/chipidea/ci_hdrc_imx.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/drivers/usb/chipidea/ci_hdrc_imx.c b/drivers/usb/chipidea/ci_hdrc_imx.c +index 9ffcecd3058c..de6de10dbd1b 100644 +--- a/drivers/usb/chipidea/ci_hdrc_imx.c ++++ b/drivers/usb/chipidea/ci_hdrc_imx.c +@@ -56,8 +56,7 @@ static const struct ci_hdrc_imx_platform_flag imx6sx_usb_data = { + }; + + static const struct ci_hdrc_imx_platform_flag imx6ul_usb_data = { +- .flags = CI_HDRC_SUPPORTS_RUNTIME_PM | +- CI_HDRC_TURN_VBUS_EARLY_ON | ++ .flags = CI_HDRC_TURN_VBUS_EARLY_ON | + CI_HDRC_DISABLE_DEVICE_STREAMING, + }; + +-- +2.38.0 + diff --git a/recipes-kernel/linux/linux-toradex-mainline_git.bb b/recipes-kernel/linux/linux-toradex-mainline_git.bb index aad9131..766839f 100644 --- a/recipes-kernel/linux/linux-toradex-mainline_git.bb +++ b/recipes-kernel/linux/linux-toradex-mainline_git.bb @@ -34,6 +34,7 @@ SRC_URI:append = " \ file://0003-arm-dts-colibri-imx6-specify-usbh_pen-gpio-being-act.patch \ file://0001-arm-dts-colibri-imx6ull-keep-peripherals-disabled.patch \ file://0002-arm-dts-colibri-imx6ull-enable-default-peripherals.patch \ + file://0002-drivers-chipidea-disable-runtime-pm-for-imx6ul.patch \ " LINUX_VERSION ?= "6.1-rc" |