devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Peter Chen <hzpeterchen-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Alan Stern <stern-nwvwT67g6+6dFdvTe/nMLpVzexx5G7lz@public.gmane.org>
Cc: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>,
	Peter Chen <peter.chen-KZfg59tc24xl57MIdRCFDg@public.gmane.org>,
	gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	pawel.moll-5wv7dgnIgG8@public.gmane.org,
	mark.rutland-5wv7dgnIgG8@public.gmane.org,
	linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	balbi-l0cyMroinI0@public.gmane.org,
	valentin.longchamp-SkAbAL50j+5BDgjK7y7TUQ@public.gmane.org,
	s.hauer-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org,
	stillcompiling-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
Subject: Re: [PATCH v3 1/1] USB: core: let USB device know device node
Date: Mon, 18 Jan 2016 16:15:10 +0800	[thread overview]
Message-ID: <20160118081510.GF8150@shlinux2> (raw)
In-Reply-To: <Pine.LNX.4.44L0.1601161115050.11338-100000-pYrvlCTfrz9XsRXLowluHWD2FQJk+8+b@public.gmane.org>

On Sat, Jan 16, 2016 at 11:40:32AM -0500, Alan Stern wrote:
> On Sat, 16 Jan 2016, Arnd Bergmann wrote:
> 
> > > This leaves the question of whether OF will always use the same node to
> > > represent the host controller and the root hub.  In other words, if a
> > > motherboard has a fixed device plugged into a fixed root-hub port, will
> > > the DT description make that device a child of the host controller?  
> > > Or will there be a node in between (to represent the root hub)?
> > 
> > Good question. I'm sure the answer is somewhere in this document
> > 
> > http://www.firmware.org/1275/bindings/usb/usb-1_0.ps
> > 
> > but unfortunately I don't understand USB addressing well enough
> > to answer this. I think the key sentence is the definition of the
> > "reg" property:
> > 
> > | prop-encoded-array: one integer, encoded as with encode-int.
> > | The "reg" property for a device node shall consist of the number of the
> > | USB hub port or the USB host controller port to which this USB device
> > | is attached. As specified in [2] section 11.11.2.1, port numbers range
> > | from 1 to 255.
> > 
> > Does the root hub have a port number relative to the host controller,
> > or is it identical to the host controller from the addressing
> > perspective?
> 
> The root hub does not have a port number relative to the host
> controller.  In a sense, the root hub is _part_ of the host controller;
> it represents the controller's connection to the USB bus (whereas the
> logical device we commonly associate with the host controller
> represents the controller's connection to the upstream PCI/whatever
> bus).
> 
> You can also ask whether port numbers relative to the root hub are
> the same as the port numbers relative to the controller.  Under normal
> circumstances they are the same.  However, it is possible that they
> will be different for USB-3 host controllers (!).
> 
> This is because USB-3 uses two buses per controller: the legacy
> Low-Speed/Full-Speed/High-Speed bus compatible with USB-1.1 and USB-2
> devices, and the new SuperSpeed bus compatible with USB-3 devices.  
> Even though there's only the one controller, each bus has its own root
> hub and the ports for each root hub are numbered starting from 1.  
> Thus, for example, an xHCI controller with 6 LS/FS/HS ports and 3 SS
> ports would have a USB-2 root hub with ports 1-6 and a USB-3 root hub
> with ports 1-3.  However, xHCI treats the controller as a single entity
> and numbers all the ports sequentially; thus the controller would have
> ports 1-9.  (Even though the three SS ports would be the same physical
> objects as three of the LS/FS/HS ports -- USB-3 ports literally contain
> two independent sets of signal wires.)

Sorry, I have not USB-3 platform now.
I have several questions:

- For USB-3, how many times hub_configure() will be called for root hub?
One or two?

- Which the value of hub->descriptor->bNbrPorts for root hub?

> 
> This isn't merely a convention in the specifications; the hardware
> actually uses both numbering schemes (although I don't know about USB-3
> controllers other than xHCI; they might be different).  Untangling this
> mess might be difficult.  I don't know how existing DT files handle it.
> 

-- 

Best Regards,
Peter Chen
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2016-01-18  8:15 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-15  9:17 [PATCH v3 1/1] USB: core: let USB device know device node Peter Chen
     [not found] ` <1452849447-25025-1-git-send-email-peter.chen-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2016-01-15 11:11   ` Arnd Bergmann
2016-01-15 15:11     ` Alan Stern
     [not found]       ` <Pine.LNX.4.44L0.1601151006330.1533-100000-IYeN2dnnYyZXsRXLowluHWD2FQJk+8+b@public.gmane.org>
2016-01-15 23:03         ` Arnd Bergmann
2016-01-16 16:40           ` Alan Stern
     [not found]             ` <Pine.LNX.4.44L0.1601161115050.11338-100000-pYrvlCTfrz9XsRXLowluHWD2FQJk+8+b@public.gmane.org>
2016-01-18  8:15               ` Peter Chen [this message]
2016-01-18 16:46                 ` Alan Stern
     [not found]                   ` <Pine.LNX.4.44L0.1601181139150.25155-100000-pYrvlCTfrz9XsRXLowluHWD2FQJk+8+b@public.gmane.org>
2016-01-19  3:08                     ` Peter Chen
2016-01-19 11:33                       ` Arnd Bergmann
2016-01-19 15:12                         ` Alan Stern
     [not found]                           ` <Pine.LNX.4.44L0.1601191009190.1727-100000-IYeN2dnnYyZXsRXLowluHWD2FQJk+8+b@public.gmane.org>
2016-01-20  3:48                             ` Peter Chen
2016-01-20  9:07                               ` Arnd Bergmann
2016-01-20 12:50                                 ` Peter Chen
2016-01-20 14:19                                   ` Arnd Bergmann
2016-01-21  3:15                                     ` Peter Chen
2016-01-21  8:41                                       ` Arnd Bergmann
2016-01-21  9:48                                         ` Peter Chen
2016-01-21 10:10                                           ` Arnd Bergmann
2016-01-21 15:21                                             ` Alan Stern
     [not found]                                               ` <Pine.LNX.4.44L0.1601211015010.2275-100000-IYeN2dnnYyZXsRXLowluHWD2FQJk+8+b@public.gmane.org>
2016-01-21 22:24                                                 ` Arnd Bergmann
2016-01-22  6:59                                                   ` Peter Chen
2016-01-22 10:18                                                     ` Arnd Bergmann
2016-01-22 15:55                                                       ` Alan Stern
     [not found]                                                         ` <Pine.LNX.4.44L0.1601221023350.1626-100000-IYeN2dnnYyZXsRXLowluHWD2FQJk+8+b@public.gmane.org>
2016-01-22 16:23                                                           ` Arnd Bergmann
2016-01-22 19:29                                                             ` Alan Stern
2016-01-25  1:55                                                           ` Peter Chen
2016-01-25  3:57                                                       ` Peter Chen
     [not found]                                                         ` <CAL411-qfzcynzc=YrepzcA6EmFuxy-Ri4xRQ+R-QVBDEPZXtZQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-01-25  8:50                                                           ` Arnd Bergmann
2016-01-25  9:31                                                             ` Peter Chen
2016-01-25 15:23                                                               ` Alan Stern
2016-01-18 10:24               ` Arnd Bergmann
2016-01-18  7:44         ` Peter Chen
2016-01-18  7:42     ` Peter Chen
2016-01-15 17:07   ` Philipp Zabel
     [not found]     ` <1452877630.6067.97.camel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2016-01-15 17:30       ` Alan Stern
     [not found]         ` <Pine.LNX.4.44L0.1601151220020.1533-100000-IYeN2dnnYyZXsRXLowluHWD2FQJk+8+b@public.gmane.org>
2016-01-18  7:13           ` Peter Chen
2016-01-18 16:39             ` Alan Stern
     [not found]               ` <Pine.LNX.4.44L0.1601181129340.25155-100000-pYrvlCTfrz9XsRXLowluHWD2FQJk+8+b@public.gmane.org>
2016-01-19  2:52                 ` Peter Chen
2016-01-18  7:10       ` Peter Chen

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=20160118081510.GF8150@shlinux2 \
    --to=hzpeterchen-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
    --cc=arnd-r2nGTMty4D4@public.gmane.org \
    --cc=balbi-l0cyMroinI0@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org \
    --cc=kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \
    --cc=pawel.moll-5wv7dgnIgG8@public.gmane.org \
    --cc=peter.chen-KZfg59tc24xl57MIdRCFDg@public.gmane.org \
    --cc=robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=s.hauer-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
    --cc=stern-nwvwT67g6+6dFdvTe/nMLpVzexx5G7lz@public.gmane.org \
    --cc=stillcompiling-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=valentin.longchamp-SkAbAL50j+5BDgjK7y7TUQ@public.gmane.org \
    /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;
as well as URLs for NNTP newsgroup(s).