On 2021/2/28 0:27, Alan Stern Wrote: > On Sat, Feb 27, 2021 at 11:38:08AM +0800, liulongfang wrote: >> On 2021/2/27 0:30, Alan Stern wrote: >>> On Fri, Feb 26, 2021 at 04:21:37PM +0800, Longfang Liu wrote: >>>> Our current XHCI hardware controller has been customized to only >>>> support USB 2.0 ports. When using the current xhci driver, an xhci >>>> controller device and an ehci controller device will be created >>>> automatically. >>> >>> That sentence makes no sense at all. An EHCI controller device is a >>> piece of hardware. How can an xHCI driver, which is a piece of >>> software, create a piece of hardware? >>> >>> Alan Stern >>> . >>> >> The hardware device is a complete USB3.0 controller, >> but I hope to support a USB2.0-only mode through software configuration. > > Even if it only supports USB-2.0 connections, an xHCI controller is > still an xHCI controller. It doesn't magically transform into an EHCI > controller. > > You are not creating an EHCI controller device. Rather, you are trying > to restrict an xHCI controller device to make it handle only USB-2.0 > connections. If you run lsusb on a system that has an xHCI controller, > you'll see that the controller is bound to two USB buses: a USB-2 bus > and a USB-3 bus. But for both buses, the controller is xHCI -- not > EHCI. > > Your patch description is inaccurate. > > Alan Stern > . > Yes, you are right. when I run lsusb on a system that has this xHCI hardware, the system displays two USB buses: a USB-2 bus and a USB-3 bus. Both of these are xHCI host controllers, but USB-3 bus's roothub is zero. Thanks. Longfang Liu.