From 28e0999bee049d9942e9fafffc65f9d2cdc60e20 Mon Sep 17 00:00:00 2001 From: William Wu Date: Sun, 31 Jul 2022 15:46:54 +0800 Subject: [PATCH] ARM: dts: rockchip: rv1106: disable usb2 lpm for xhci The xHCI specification 1.1 does not require xHCI-compliant controllers to always enable hardware USB2 LPM. However, the current xHCI driver always enable it when seeing HLC=1. On rv1106 platforms, the xHCI USB2 LPM is enabled by default. And we found that a lot of USB Disks have USB2 HW LPM broken issue when connected to rv1106 USB2 OTG interface. Here are a part of special USB Disks with USB2 HW LPM broken: 1. idVendor=325d, idProduct=6410, Manufacturer: aigo 2. idVendor=21c4, idProduct=0cd1, Manufacturer: Lexar 3. idVendor=0951, idProduct=1666, Manufacturer: Kingston When use dd command to write to these USB Disks, it may fail with the following log: [ 2844.700148] usb 7-1: reset high-speed USB device number 4 using xhci-hcd [ 2889.072272] usb 7-1: reset high-speed USB device number 4 using xhci-hcd [ 2921.498045] usb 7-1: reset high-speed USB device number 4 using xhci-hcd ...... [ 2953.923773] usb 7-1: reset high-speed USB device number 4 using xhci-hcd Theoretically, we can add USB_QUIRK_NO_LPM individually for these special USB Disks, however, it's diffcult to cover all USB Disks. So it's better to disable the USB2 LPM for xHCI on rv1106 platforms. Change-Id: Ie058b65b963ce9a8aa72ae1a55a38f0c78d3a095 Signed-off-by: William Wu --- arch/arm/boot/dts/rv1106.dtsi | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm/boot/dts/rv1106.dtsi b/arch/arm/boot/dts/rv1106.dtsi index b2667060d24e..e663afaefa0a 100644 --- a/arch/arm/boot/dts/rv1106.dtsi +++ b/arch/arm/boot/dts/rv1106.dtsi @@ -1358,6 +1358,7 @@ snps,dis-del-phy-power-chg-quirk; snps,dis-tx-ipgap-linecheck-quirk; snps,usb2-gadget-lpm-disable; + snps,usb2-lpm-disable; status = "disabled"; }; };