usb: dwc3: xilinx: Skip resets and USB3 register settings for USB2.0 mode
authorRobert Hancock <robert.hancock@calian.com>
Wed, 26 Jan 2022 00:02:50 +0000 (18:02 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 1 Feb 2022 16:27:04 +0000 (17:27 +0100)
commit72d338bc467f7687a9c49328bad3a90b0629cdbe
tree2820ff80e3e10bd8e4b8ce38d3cb71df11252494
parent897d462d4d15dd932313644a151cba76e8b98709
usb: dwc3: xilinx: Skip resets and USB3 register settings for USB2.0 mode

commit 9678f3361afc27a3124cd2824aec0227739986fb upstream.

It appears that the PIPE clock should not be selected when only USB 2.0
is being used in the design and no USB 3.0 reference clock is used.
Also, the core resets are not required if a USB3 PHY is not in use, and
will break things if USB3 is actually used but the PHY entry is not
listed in the device tree.

Skip core resets and register settings that are only required for
USB3 mode when no USB3 PHY is specified in the device tree.

Fixes: 84770f028fab ("usb: dwc3: Add driver for Xilinx platforms")
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Robert Hancock <robert.hancock@calian.com>
Link: https://lore.kernel.org/r/20220126000253.1586760-2-robert.hancock@calian.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/dwc3/dwc3-xilinx.c