From: Li Jun <b47624-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
To: Roger Quadros <rogerq-l0cyMroinI0@public.gmane.org>
Cc: kgene-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org,
Li Jun <jun.li-KZfg59tc24xl57MIdRCFDg@public.gmane.org>,
gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org,
balbi-l0cyMroinI0@public.gmane.org,
peter.chen-KZfg59tc24xl57MIdRCFDg@public.gmane.org,
robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
pawel.moll-5wv7dgnIgG8@public.gmane.org,
mark.rutland-5wv7dgnIgG8@public.gmane.org,
macpaul-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
Subject: Re: [PATCH v6] usb: common: add API to set usb otg capabilities by device tree
Date: Tue, 23 Jun 2015 20:47:49 +0800 [thread overview]
Message-ID: <20150623124748.GE25349@shlinux2> (raw)
In-Reply-To: <20150623145606.f3f617586c9253036c4d6022-l0cyMroinI0@public.gmane.org>
On Tue, Jun 23, 2015 at 02:56:06PM +0300, Roger Quadros wrote:
> + Kukjin, Stephen,
>
> for board specific USB question.
>
> On Tue, 23 Jun 2015 16:35:49 +0800
> Li Jun <b47624-KZfg59tc24xl57MIdRCFDg@public.gmane.org> wrote:
>
> > On Tue, Jun 23, 2015 at 10:43:28AM +0300, Roger Quadros wrote:
> > > > >
> > > > > If the dr_mode was "otg" for such case and we want OTG disabled then it is really the DT fault.
> > > >
> > > > It's ID pin detect for dual role switch as many current OTG controllers have.
> > > > not DT fault, its dt only has a dr_mode = "otg".
> > > >
> > > > > We don't need to tackle this case. Just fix up the DT to dr_mode = "peripheral" if
> > > > > OTG behaviour is not needed.
> > > > >
> > > > OTG behaviour is not needed, so we need disable HNP/SRP/ADP. but dr_mode =
> > > > "otg" as it already works fine with ID pin detect.
> > >
> > > Do you know which platform has plain non-otg dual-role working as of today
> > > with dr_mode set to "otg"?
> >
> > I don't know.
> > The dt property dr_mode is already there, and currently there are some platforms
> > as its user, so I assume those platforms either are non-otg dual-role, or real OTG
> > with HNP supported, I guess most are the former cases; chipidea is the later case.
> >
> > > For TI platforms none of them have it working currently.
> > >
> > So for Ti platforms, some enables non-otg dual-role function but do not use
> > dr_mode = "otg"?
>
> for TI we have only musb based and dwc3 based platforms. MUSB based are OTG.
> dwc3 doesn't support dual-role or OTG yet so we use either "peripheral" or "Host"
>
> >
> > For those only have non-otg dual-role platforms, no matter using dr_mode or not,
> > we need keep it's real OTG disabled for legacy users after it's controller
> > driver adds real OTG later.
>
> I wouldn't even bother about platforms expecting dual-role behaviour
> with dr_mode not set to "otg". That is just plain wrong and can't be supported.
>
Some platforms may not pass dr_mode in it DT, and treat that means
otg controller will work at otg mode by default, at least I know
current chipidea platforms do so. Therefore we may not list all otg
controller drivers just by grep "dr_mode = "otg"" in its dts files.
> These are the dts files having dr_mode == "otg".
> I've sorted them as per Soc vendor and USB controller
>
> Freescale:
> ----------
> powerpc/boot/dts/mpc5121.dtsi: dr_mode = "otg";
> compatible = "fsl,mpc5121-usb2-dr";
> powerpc/boot/dts/asp834x-redboot.dts: dr_mode = "otg";
> compatible = "fsl-usb2-dr"
> powerpc/boot/dts/mpc834x_mds.dts: dr_mode = "otg";
> compatible = "fsl-usb2-dr";
> powerpc/boot/dts/mpc8349emitxgp.dts: dr_mode = "otg";
> compatible = "fsl-usb2-dr";
>
> arm/boot/dts/imx25-pdk.dts: dr_mode = "otg";
> compatible = "fsl,imx25-usb", "fsl,imx27-usb";
> arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard.dts: dr_mode = "otg";
> compatible = "fsl,imx25-usb", "fsl,imx27-usb";
> arm/boot/dts/imx27-eukrea-cpuimx27.dtsi: dr_mode = "otg";
> compatible = "fsl,imx27-usb";
> arm/boot/dts/imx27-phytec-phycore-som.dtsi: dr_mode = "otg";
> compatible = "fsl,imx27-usb";
> arm/boot/dts/imx27-pdk.dts: dr_mode = "otg";
> compatible = "fsl,imx27-usb";
> arm/boot/dts/imx35-eukrea-mbimxsd35-baseboard.dts: dr_mode = "otg";
> compatible = "fsl,imx35-usb", "fsl,imx27-usb";
> arm/boot/dts/imx51-eukrea-mbimxsd51-baseboard.dts: dr_mode = "otg";
> compatible = "fsl,imx51-usb", "fsl,imx27-usb";
> arm/boot/dts/imx51-babbage.dts: dr_mode = "otg";
> compatible = "fsl,imx51-usb", "fsl,imx27-usb";
> arm/boot/dts/imx51-digi-connectcore-jsk.dts: dr_mode = "otg";
> compatible = "fsl,imx51-usb", "fsl,imx27-usb";
> arm/boot/dts/imx6dl-riotboard.dts: dr_mode = "otg";
> compatible = "fsl,imx6q-usb", "fsl,imx27-usb";
>
> Li, can you please comment on all the above Freesacle platforms?
>
AFAIK, those FSL platforms are legacy OTG.
Li Jun
> STE:
> ---
> arm/boot/dts/ste-dbx5x0.dtsi: dr_mode = "otg";
> compatible = "stericsson,db8500-musb";
>
> MUSB so legacy OTG.
>
> TI:
> ---
> arm/boot/dts/am33xx.dtsi: dr_mode = "otg";
> compatible = "ti,musb-am33xx";
>
> MUSB so legacy OTG.
>
> arm/boot/dts/dra7.dtsi: dr_mode = "otg";
> compatible = "snps,dwc3"; /* board dts overrides to dr_mode = "peripheral" or "host" */
> arm/boot/dts/dra74x.dtsi: dr_mode = "otg";
> compatible = "snps,dwc3"; /* board dts overrides to dr_mode = "peripheral" or "host" */
> arm/boot/dts/am4372.dtsi: dr_mode = "otg";
> compatible = "snps,dwc3"; /* board dts overrides to dr_mode = "peripheral" or "host" */
> arm/boot/dts/am4372.dtsi: dr_mode = "otg";
> compatible = "snps,dwc3"; /* board dts overrides to dr_mode = "peripheral" or "host" */
>
> All these will eventually use dr_mode = "otg" with all 3 disable flags for simple dual-role operation.
>
> Samsung
> -------
> arm/boot/dts/exynos5422-odroidxu3.dts: dr_mode = "otg";
> compatible = "snps,dwc3";
>
> I think that this board expects dual-role only behaviour. But that is not functional for DWC3.
> Kukjin/Felipe, any comment?
>
> Nvidia
> ------
> arm/boot/dts/tegra20-seaboard.dts: dr_mode = "otg";
> compatible = "nvidia,tegra20-ehci", "usb-ehci";
> arm/boot/dts/tegra30-colibri-eval-v3.dts: dr_mode = "otg";
> compatible = "nvidia,tegra30-ehci", "usb-ehci";
>
> I couldn't find gadget side implementation for this.
> Stephen, any comments on whether this board supports true OTG operation or just dual-role operation?
>
> Cambridge Silicon
> -----------------
> arm/boot/dts/atlas7.dtsi: dr_mode = "otg";
> compatible = "sirf,atlas7-usb";
>
> I couldn't find the USB controller driver for this.
>
> cheers,
> -roger
--
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:[~2015-06-23 12:47 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-18 1:18 [PATCH v6] usb: common: add API to set usb otg capabilities by device tree Li Jun
[not found] ` <1434590302-18066-1-git-send-email-jun.li-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2015-06-18 7:36 ` Roger Quadros
[not found] ` <20150618103650.7c3d1b8ceb134388b0d8b093-l0cyMroinI0@public.gmane.org>
2015-06-18 7:55 ` Li Jun
2015-06-18 12:18 ` Roger Quadros
[not found] ` <20150618151824.64f6932cebd9e518f4b87e43-l0cyMroinI0@public.gmane.org>
2015-06-18 14:44 ` Li Jun
2015-06-18 8:47 ` Li Jun
2015-06-18 12:07 ` Roger Quadros
[not found] ` <20150618150748.db2217278ae71f01df625ff2-l0cyMroinI0@public.gmane.org>
2015-06-18 13:37 ` Li Jun
2015-06-22 9:41 ` Roger Quadros
[not found] ` <20150622124122.a3155a04430083b24d775aa4-l0cyMroinI0@public.gmane.org>
2015-06-22 10:45 ` Li Jun
2015-06-22 13:32 ` Roger Quadros
[not found] ` <20150622163256.418a1b05d9848a7342669fe4-l0cyMroinI0@public.gmane.org>
2015-06-22 14:36 ` Li Jun
2015-06-23 7:43 ` Roger Quadros
[not found] ` <20150623104328.5aac8e83bc23050c7541aee8-l0cyMroinI0@public.gmane.org>
2015-06-23 8:35 ` Li Jun
2015-06-23 11:56 ` Roger Quadros
[not found] ` <20150623145606.f3f617586c9253036c4d6022-l0cyMroinI0@public.gmane.org>
2015-06-23 12:47 ` Li Jun [this message]
2015-07-08 20:05 ` Stephen Warren
2015-06-22 9:43 ` Roger Quadros
[not found] ` <20150622124337.bf42b82956e2431cd7e32900-l0cyMroinI0@public.gmane.org>
2015-06-22 10:56 ` Li Jun
2015-06-22 13:36 ` Roger Quadros
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=20150623124748.GE25349@shlinux2 \
--to=b47624-kzfg59tc24xl57midrcfdg@public.gmane.org \
--cc=balbi-l0cyMroinI0@public.gmane.org \
--cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org \
--cc=jun.li-KZfg59tc24xl57MIdRCFDg@public.gmane.org \
--cc=kgene-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=macpaul-Re5JQEeQqe8AvxtiuMwx3w@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=rogerq-l0cyMroinI0@public.gmane.org \
--cc=swarren-3lzwWm7+Weoh9ZMKESR00Q@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).