From: Peter Chen <hzpeterchen@gmail.com>
To: Guenter Roeck <linux@roeck-us.net>
Cc: Peter Chen <peter.chen@nxp.com>,
Heikki Krogerus <heikki.krogerus@linux.intel.com>,
Greg KH <gregkh@linuxfoundation.org>,
Felipe Balbi <felipe.balbi@linux.intel.com>,
Oliver Neukum <oneukum@suse.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
Roger Quadros <rogerq@ti.com>, Jun Li <jun.li@nxp.com>
Subject: Re: [PATCH v17 2/3] usb: USB Type-C connector class
Date: Thu, 9 Mar 2017 10:00:31 +0800 [thread overview]
Message-ID: <20170309020031.GA4623@b29397-desktop> (raw)
In-Reply-To: <055d6289-c728-30bb-279e-65e08be5e538@roeck-us.net>
On Wed, Mar 08, 2017 at 06:44:47AM -0800, Guenter Roeck wrote:
> On 03/07/2017 10:50 PM, Peter Chen wrote:
> >
> >>>>You mean type-C trigger an ACPI event, and this ACPI event can notify
> >>>>related USB controller driver doing role switch?
> >>>
> >>>No (firmware programs the dual-role hw/registers), but never mind.
> >>>That could be the case.
> >>>
> >>>>If it is correct, there is a notifier between type-C and USB
> >>>>controller driver, how to define this notifier for non-ACPI platform?
> >>>
> >>>Once there is a platform with Type-C like that, the problem needs to
> >>>be solved. However..
> >>>
> >>>>>I'm not commenting on Roger's dual role patch series, but I don't
> >>>>>really think it should be mixed with Type-C. USB Type-C and USB
> >>>>>Power Delivery define their own ways of handling the roles, and they
> >>>>>are not limited to the data role only. Things like OTG for example
> >>>>>will, and actually can not be supported. With Type-C we will have
> >>>>>competing state machines compared to OTG. The dual-role framework
> >>>>>may be useful on systems that provide more traditional connectors,
> >>>>>which possibly have the ID-pin like micro-AB, and possibly also
> >>>>>support OTG. It can also be something that exist in parallel with the Type-C
> >>class, but there just can not be any dependencies between the two.
> >>>>>
> >>>>
> >>>>Yes, there are two independent things. But if the kernel doesn't have
> >>>>a notifier between type-C message sender (type-c class) and message
> >>>>receiver (like USB controller driver for role switch or other drivers
> >>>>for alternate mode message), we had to find some ways at userspace.
> >>>
> >>>..what ever the solution is, it really can't rely on user space.
> >>>
> >>
> >>... and, at least for our application, using extcon for the necessary notifications works
> >>just fine.
> >>
> >
> >I see, that means you have a hardware signal to notify role switch.
> >
>
> In our case the Type-C protocol manager (including alternate mode handling)
> is implemented in an EC. The EC signals the extcon-cros_ec driver, which
> in turn signals the phy driver as well as the DP driver. The Type-C class
> is orthogonal; extcon-cros_ec will also register with the Type-C class code
> once that is upstream.
>
> As mentioned earlier, using extcon for signaling was the most convenient means
> for us to pass events around. I am more than open to change it to a bus,
> if that can be made to work - we'd have to keep in mind though that this code
> already works without Type-C infrastructure and is for the most part already
> upstream (the rk3399 code it ties into is upstream, and extcon-cros_ec has been
> submitted as https://patchwork.kernel.org/patch/9583045/).
>
I am clear your implementation now, thank, Guenter.
> As for to how to handle alternate mode if the Type-C protocol manager
> (TCPM) is implemented in the kernel - I have not yet implemented it yet,
> but my thinking goes along the line described by Heikki in his last e-mail.
>
> Note that we also have a kernel driver for FUSB302 which ties into my tcpm
> driver. I'll have to check if that is public yet and if I or someone
> else can publish it if there is interest.
>
> Guenter
>
--
Best Regards,
Peter Chen
next prev parent reply other threads:[~2017-03-09 2:00 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-21 14:24 [PATCH v17 0/3] USB Type-C Connector class Heikki Krogerus
2017-02-21 14:24 ` [PATCH v17 1/3] lib/string: add sysfs_match_string helper Heikki Krogerus
2017-02-21 14:24 ` [PATCH v17 2/3] usb: USB Type-C connector class Heikki Krogerus
2017-03-02 15:22 ` Mats Karrman
2017-03-03 3:13 ` Guenter Roeck
2017-03-03 7:29 ` Mats Karrman
2017-03-03 9:48 ` Enric Balletbo Serra
2017-03-03 12:59 ` Heikki Krogerus
2017-03-03 14:49 ` Guenter Roeck
2017-03-03 19:27 ` Mats Karrman
2017-03-06 9:37 ` Oliver Neukum
2017-03-06 13:14 ` Heikki Krogerus
2017-03-07 22:30 ` Mats Karrman
2017-03-08 1:38 ` Guenter Roeck
2017-04-08 23:09 ` USB Type-C Port Manager API concern Mats Karrman
2017-04-09 15:16 ` Guenter Roeck
2017-04-09 21:05 ` Mats Karrman
2017-04-14 2:57 ` Guenter Roeck
2017-04-14 8:30 ` Mats Karrman
2017-03-08 13:58 ` [PATCH v17 2/3] usb: USB Type-C connector class Heikki Krogerus
2017-03-10 22:22 ` Mats Karrman
2017-03-10 23:41 ` Guenter Roeck
2017-04-18 18:52 ` Badhri Jagan Sridharan
2017-04-19 11:23 ` Heikki Krogerus
2017-04-19 14:45 ` Badhri Jagan Sridharan
2017-04-19 15:14 ` Guenter Roeck
2017-04-19 17:22 ` Badhri Jagan Sridharan
2017-04-19 19:29 ` Guenter Roeck
2017-04-20 12:24 ` Heikki Krogerus
2017-04-20 19:46 ` Badhri Jagan Sridharan
2017-04-21 12:12 ` Heikki Krogerus
2017-04-21 13:14 ` Guenter Roeck
2017-04-21 14:27 ` Rajaram R
2017-04-21 16:43 ` Guenter Roeck
2017-04-22 9:23 ` Rajaram R
2017-04-24 17:50 ` Badhri Jagan Sridharan
2017-04-25 8:26 ` Rajaram R
2017-04-25 14:10 ` Guenter Roeck
2017-04-27 6:20 ` Rajaram R
2017-04-27 18:10 ` Guenter Roeck
2017-04-28 10:52 ` Heikki Krogerus
2017-04-20 11:55 ` Heikki Krogerus
2017-03-03 14:41 ` Guenter Roeck
2017-03-03 3:35 ` Peter Chen
2017-03-03 4:29 ` Guenter Roeck
2017-03-03 4:52 ` Peter Chen
2017-03-03 14:36 ` Guenter Roeck
2017-03-06 1:24 ` Peter Chen
2017-03-03 14:31 ` Heikki Krogerus
2017-03-06 1:15 ` Peter Chen
2017-03-06 13:16 ` Heikki Krogerus
2017-03-07 1:36 ` Peter Chen
2017-03-07 8:57 ` Heikki Krogerus
2017-03-08 1:53 ` Guenter Roeck
2017-03-08 6:50 ` Peter Chen
2017-03-08 14:44 ` Guenter Roeck
2017-03-09 2:00 ` Peter Chen [this message]
2017-02-21 14:24 ` [PATCH v17 3/3] usb: typec: add driver for Intel Whiskey Cove PMIC USB Type-C PHY Heikki Krogerus
2017-02-21 15:42 ` [PATCH v17 0/3] USB Type-C Connector class Felipe Balbi
2017-03-21 11:14 ` Heikki Krogerus
2017-03-21 10:23 ` Greg KH
2017-03-21 10:37 ` Heikki Krogerus
2017-03-22 21:15 ` Mats Karrman
2017-03-23 8:16 ` Heikki Krogerus
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=20170309020031.GA4623@b29397-desktop \
--to=hzpeterchen@gmail.com \
--cc=felipe.balbi@linux.intel.com \
--cc=gregkh@linuxfoundation.org \
--cc=heikki.krogerus@linux.intel.com \
--cc=jun.li@nxp.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=linux@roeck-us.net \
--cc=oneukum@suse.com \
--cc=peter.chen@nxp.com \
--cc=rogerq@ti.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.