[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <AM7PR04MB7157793C6395C200DF5646C98B7E0@AM7PR04MB7157.eurprd04.prod.outlook.com>
Date: Wed, 15 Jul 2020 00:51:49 +0000
From: Peter Chen <peter.chen@....com>
To: Philippe Schenker <philippe.schenker@...adex.com>,
Rob Herring <robh+dt@...nel.org>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
"linux-usb@...r.kernel.org" <linux-usb@...r.kernel.org>,
Shawn Guo <shawnguo@...nel.org>
CC: Fabio Estevam <festevam@...il.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
dl-linux-imx <linux-imx@....com>,
Pengutronix Kernel Team <kernel@...gutronix.de>,
Sascha Hauer <s.hauer@...gutronix.de>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH v2 2/3] usb: chipidea: imx: support disabling runtime-pm
> The Toradex Colibri iMX6ULL board has a special USB hardware design.
> With runtime-pm enabled USB reset itself continuously. Furthermore the OTG port
> is also not enumerating devices if the Chipidea IP is in runtime sleep mode and a
> device or host gets plugged in.
>
Hi Philippe,
You may describe the detail what's the special USB hardware design for your board,
and why it causes the problem, and why disable runtime pm could fix this issue, then,
the other users could know if it could apply to their platforms or not in future.
Peter
> This patch adds the opportunity to disable Runtime Power Management from
> devicetree
>
> Signed-off-by: Philippe Schenker <philippe.schenker@...adex.com>
>
> ---
>
> Changes in v2:
> - Change commit message to tell the use case for Colibri iMX6ULL
>
> drivers/usb/chipidea/ci_hdrc_imx.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/usb/chipidea/ci_hdrc_imx.c b/drivers/usb/chipidea/ci_hdrc_imx.c
> index 5ae16368a0c7..5078d0695eb7 100644
> --- a/drivers/usb/chipidea/ci_hdrc_imx.c
> +++ b/drivers/usb/chipidea/ci_hdrc_imx.c
> @@ -434,6 +434,9 @@ static int ci_hdrc_imx_probe(struct platform_device *pdev)
> usb_phy_init(pdata.usb_phy);
> }
>
> + if (of_property_read_bool(np, "disable-runtime-pm"))
> + pdata.flags &= ~CI_HDRC_SUPPORTS_RUNTIME_PM;
> +
> if (pdata.flags & CI_HDRC_SUPPORTS_RUNTIME_PM)
> data->supports_runtime_pm = true;
>
> --
> 2.27.0
Powered by blists - more mailing lists