[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <DBBPR04MB7979925F193F7D5AE4454C328BDC0@DBBPR04MB7979.eurprd04.prod.outlook.com>
Date: Fri, 25 Dec 2020 00:16:48 +0000
From: Peter Chen <peter.chen@....com>
To: Pali Rohár <pali@...nel.org>
CC: Mathias Nyman <mathias.nyman@...el.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Gregory CLEMENT <gregory.clement@...tlin.com>,
Miquel Raynal <miquel.raynal@...tlin.com>,
Tomasz Maciej Nowak <tmn505@...il.com>,
"linux-usb@...r.kernel.org" <linux-usb@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH] usb: host: xhci: mvebu: make USB 3.0 PHY optional for
Armada 3720
> > >
> > > If not supported by ATF, then where to power on and off PHY since no other
> place calls PHY APIs? Is it always on?
> >
> > Yes, in this case (when -EOPNOTSUPP is returned) SMC API is not
> > supported by ATF, and PHY is always on.
>
> To make it clear, core/hcd.c function usb_add_hcd() when
> hcd->skip_phy_initialization is false is calling
> usb_phy_roothub_power_on() which calls phy_power_on(). If this call fails then
> error is propagated back to the usb_add_hcd() and this function fails too.
>
> But on boards with older ATF (which do not support PHY power on SMC API) is
> phy_power_on() returning error -EOPNOTSUPP and therefore whole USB
> 3.0 initialization fails.
>
> This patch is adding init hook to detect if ATF supports PHY power on/off
> functions and in case it does not support it, code sets XHCI_SKIP_PHY_INIT flag
> to instruct xhci-plat code to set
> hcd->skip_phy_initialization flag to instruct core/hcd.c to skip calling
> usb_phy_roothub_power_on() function as it is know that it would fail.
Thanks for clarity, clear now.
Peter
Powered by blists - more mailing lists