public inbox for linux-usb@vger.kernel.org
 help / color / mirror / Atom feed
From: Mathias Nyman <mathias.nyman@linux.intel.com>
To: Jan Henrik Weinstock <jan@mwa.re>,
	mathias.nyman@intel.com, gregkh@linuxfoundation.org,
	linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: "Lukas Jünger" <lukas@mwa.re>
Subject: Re: XHCI without USB2 ports
Date: Tue, 13 Feb 2024 17:42:44 +0200	[thread overview]
Message-ID: <a715f138-079c-0d45-6bba-ab88097ae678@linux.intel.com> (raw)
In-Reply-To: <CANi1PHhY67HZxivA9mCoNXfM4YUOjm=tCZsnhrrcu4E6dqDYUQ@mail.gmail.com>

> Is it so unusual to have an XHCI that has only USB3 ports?

Yes, this is the first one I've heard of.

> 
> My understanding was that a port can either be USB3 or USB2 (assigned
> via the Supported Protocol Capability).

Each USB3 host connector has both a USB3 and USB2 port in the Supported
Protocol Capability.
See xHCI specification 7.2.2.1 "USB Protocols" note:

"Note: To support USB3 device certification requirements for USB2 user attached
  devices, USB 2.0 and USB 3.x Supported Protocol Capabilities shall be declared
  if any USB3 connectors are associated with xHCI Root Hub ports that enable user
  attached devices. Refer to sections 11.1 and 11.3 in the USB3 spec"
> 
> This would mean that in order to work correctly with Linux, all XHCIs
> right now would have to support at least one USB2 port in addition to
> their USB3 ports.

Yes, that is currently the case.
But normally each USB3 connector has a matching USB3 and USB2 port pair.

USB 3.2 specification section 11.1 dictates that:

11.1 USB 3.2 Host Support for USB 2.0
"USB 3.2-capable ports on hosts shall also support USB 2.0 operation in order
  to enable backward compatibility with USB 2.0 devices. It should be noted,
  however, that USB 3.2-capable hosts are not required to support Enhanced
  SuperSpeed operation on all of the ports available on the host, i.e.,
  some USB 3.2-capable hosts may have a mix of USB 2.0-only and USB 3.2-capable
  ports."

(Similar statement exists in older USB 3.0 specification)

xHC with just one USB3 port could maybe be possible in some built in SSIC device
case without user attachable ports, or some setup with several host controllers
where one handles the USB3 traffic and the other the USB2 traffic of the same USB3
connector.

Thanks
Mathias


      reply	other threads:[~2024-02-13 15:41 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-12 18:39 XHCI without USB2 ports Jan Henrik Weinstock
2024-02-13  9:59 ` Mathias Nyman
2024-02-13 14:50   ` Jan Henrik Weinstock
2024-02-13 15:42     ` Mathias Nyman [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=a715f138-079c-0d45-6bba-ab88097ae678@linux.intel.com \
    --to=mathias.nyman@linux.intel.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=jan@mwa.re \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=lukas@mwa.re \
    --cc=mathias.nyman@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox