From 6cbb4c5088073d3cefc623edaa571e2277055edd Mon Sep 17 00:00:00 2001 From: William Wu Date: Fri, 23 Dec 2022 14:26:56 +0800 Subject: [PATCH] ARM: dts: rockchip: rv1126: 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 difficult to cover all USB Disks. So it's better to disable the USB2 LPM for xHCI on rv1126 platforms. Change-Id: Ideafe2ecf91fe3013825a064631509eecdad0254 Signed-off-by: William Wu --- arch/arm/boot/dts/rv1126.dtsi | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm/boot/dts/rv1126.dtsi b/arch/arm/boot/dts/rv1126.dtsi index 85f3e52a6c58..4705beded656 100644 --- a/arch/arm/boot/dts/rv1126.dtsi +++ b/arch/arm/boot/dts/rv1126.dtsi @@ -2548,6 +2548,7 @@ snps,tx-ipgap-linecheck-dis-quirk; snps,tx-fifo-resize; snps,xhci-trb-ent-quirk; + snps,usb2-lpm-disable; status = "disabled"; }; };