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: Wed, 20 Jan 2016 11:48:39 +0800 [thread overview]
Message-ID: <20160120034839.GA16222@shlinux2> (raw)
In-Reply-To: <Pine.LNX.4.44L0.1601191009190.1727-100000-IYeN2dnnYyZXsRXLowluHWD2FQJk+8+b@public.gmane.org>
On Tue, Jan 19, 2016 at 10:12:56AM -0500, Alan Stern wrote:
> On Tue, 19 Jan 2016, Arnd Bergmann wrote:
>
> > On Tuesday 19 January 2016 11:08:59 Peter Chen wrote:
> > >
> > > I am afraid I have no USB 3.0 PC running Linux.
> > >
> > > > > - Which the value of hub->descriptor->bNbrPorts for root hub?
> > > >
> > > > In the example above, the legacy root hub would have bNbrPorts set to 6
> > > > and the SS root hub would have bNbrPorts set to 3.
> > > >
> > >
> > > Ok, so the maximum physical port number is 6 as well as bNbrports value.
> > > The "reg" value at dts should be from 1 to 6. "reg" stands for physical
> > > port number for individual physical port, eg if "reg" equals to 1, it
> > > stands for the device connects at port 1, no matter the device is HS or
> > > SS, it can use the node whose "reg" is 1.
> >
> > As I understand it, you could have two devices that are both
> > connected to port '1', when one is using HS and the other is using
> > SS. This means that we can't use the same 'reg' value for both, and
> > we have to define a particular way to disambiguate them.
> >
> > As Alan says, there is an established ordering that just sorts the
> > ports form 1 to 9 in the example, and that would be the most
> > straightforward to use here.
>
> There is even a documented callback (find_raw_port_number) in the
> hc_driver structure for converting between the numbering schemes. I
> don't know if all the existing USB-3 host controller drivers implement
> that callback, but they should.
>
> > Alternatively, you could use one of the high bits of the 'reg' value
> > to indicate which root hub is used. I'm sure that would work as
> > well, but be less obvious.
>
> It's probably best to stick with the same numbering that the hardware
> uses.
Seems we are talking about root hub, not the device in the
root hub. So for multiple ports controller, we have to own node for
root hub. Assume your example, there is a genesys HUB at physical
port 1, I suggest a dts node description like below, please correct
me if anything wrong.
&usb1 {
roothub_1: nxp@1 {
compatible = "usb15a2,007d";
reg = <0x01>;
hub: genesys@1 {
compatible = "usb05e3,0608";
reg = <0x01>;
};
};
roothub_2: nxp@2 {
compatible = "usb15a2,007d";
reg = <0x02>;
};
...
roothub_7: nxp@7 {
compatible = "usb15a2,007d";
reg = <0x07>;
hub: genesys@1 {
compatible = "usb05e3,0608";
reg = <0x01>;
};
};
...
roothub_9: nxp@9 {
compatible = "usb15a2,007d";
reg = <0x09>;
};
};
--
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
next prev parent reply other threads:[~2016-01-20 3:48 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
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 [this message]
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=20160120034839.GA16222@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).