linux-usb.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Hans de Goede <hdegoede@redhat.com>
To: John Stultz <john.stultz@linaro.org>
Cc: lkml <linux-kernel@vger.kernel.org>,
	Yu Chen <chenyu56@huawei.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Rob Herring <robh+dt@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Heikki Krogerus <heikki.krogerus@linux.intel.com>,
	Suzuki K Poulose <suzuki.poulose@arm.com>,
	Chunfeng Yun <chunfeng.yun@mediatek.com>,
	Felipe Balbi <balbi@kernel.org>,
	Andy Shevchenko <andy.shevchenko@gmail.com>,
	Jun Li <lijun.kernel@gmail.com>,
	Valentin Schneider <valentin.schneider@arm.com>,
	Linux USB List <linux-usb@vger.kernel.org>,
	"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" 
	<devicetree@vger.kernel.org>
Subject: Re: [RFC][PATCH 2/3] usb: roles: Add usb role switch notifier.
Date: Fri, 18 Oct 2019 21:30:49 +0200	[thread overview]
Message-ID: <7877d69b-b17c-d4a4-9806-3dca98fc9e26@redhat.com> (raw)
In-Reply-To: <CALAqxLWHbhst5KXAGCswKVp7ztzFHxdb6nskfze+Jk+xWo2Ssw@mail.gmail.com>

Hi,

On 18-10-2019 20:39, John Stultz wrote:
> On Fri, Oct 18, 2019 at 1:06 AM Hans de Goede <hdegoede@redhat.com> wrote:
>> On 18-10-2019 07:55, John Stultz wrote:
>>> On Wed, Oct 16, 2019 at 12:27 AM Hans de Goede <hdegoede@redhat.com> wrote:
>>>> Look at the tcpm_set_vbus implementation in drivers/usb/typec/tcpm/fusb302.c
>>>> you need to do something similar in your Type-C controller driver and
>>>> export the GPIO as as a gpio-controlled regulator and tie the regulator to
>>>> the connector.
>>>
>>> Thanks for the suggestion, I really appreciate it! One more question
>>> though, since I'm using the tcpci_rt1711h driver, which re-uses the
>>> somewhat sparse tcpci.c implementation, would you recommend trying to
>>> add generic regulator support to the tcpci code or trying to extend
>>> the implementation somehow allow the tcpci_rt1711h driver replace just
>>> the set_vbus function?
>>
>> I have the feeling that this is more of a question for Heikki.
>>
>> My first instinct is: if you are using tcpci can't you put all
>> the hacks you need for the usb connection shared between hub
>> and type-c in your firmware ?
> 
> I appreciate the suggestion, but I'm not aware of any USB firmware for
> the board, nor do I think I have any such source.  :(

My bad, I was under the impression that tcpci was a firmware interface,
but it is not (I was confusing it with ucsi).

Looking at drivers/usb/typec/tcpm/tcpci.c: tcpci_set_vconn I see that
there is a data struct with vendor specific callbacks and that the
drivers/usb/typec/tcpm/tcpci_rt1711h.c implements that.

So you may want something similar here. But things are tricky here,
because when nothing is connected you want to provide Vbus for
the USB-A ports, which means that if someone then connects a
USB-A to C cable to connect the board to a PC (switching the port
to device mode) there will be a time when both sides are supplying
5V if I remember the schedule correctly.

I think that the original hack might not be that bad, the whole hw
design seems so, erm, broken, that you probably cannot do proper
roleswapping anyways.  So just tying Vbus to host mode might be
fine, the question then becomes again how can some other piece
of code listen to the role-switch events...

Regards,

Hans


  reply	other threads:[~2019-10-18 19:30 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-02 23:16 [RFC][PATCH 0/3] dwc3 role-switch handling for HiKey960 John Stultz
2019-10-02 23:16 ` [RFC][PATCH 1/3] dt-bindings: usb: generic: Add role-switch-default-host binding John Stultz
2019-10-02 23:16 ` [RFC][PATCH 2/3] usb: roles: Add usb role switch notifier John Stultz
2019-10-03  9:25   ` Hans de Goede
2019-10-03 20:37     ` John Stultz
2019-10-03 20:51       ` Hans de Goede
2019-10-04  8:12         ` Heikki Krogerus
2019-10-15  5:39         ` John Stultz
2019-10-16  7:27           ` Hans de Goede
2019-10-18  5:55             ` John Stultz
2019-10-18  8:06               ` Hans de Goede
2019-10-18 18:39                 ` John Stultz
2019-10-18 19:30                   ` Hans de Goede [this message]
2019-10-18 19:53                     ` John Stultz
2019-10-18 19:59                       ` Hans de Goede
2019-10-18 20:12                         ` John Stultz
2019-10-18 20:21                           ` Hans de Goede
2019-10-18 20:37                             ` John Stultz
2019-10-18 21:05                               ` Hans de Goede
2019-10-22  5:58                                 ` John Stultz
2019-11-14 10:11                                   ` Hans de Goede
2019-11-15  0:23                                     ` John Stultz
2019-10-16  9:10           ` Hans de Goede
2019-10-03 11:26   ` Greg Kroah-Hartman
2019-10-03 20:45     ` John Stultz
2019-10-03 20:56       ` Hans de Goede
2019-10-03 21:33         ` John Stultz
2019-10-06 15:22           ` Hans de Goede
2019-10-15  7:03             ` John Stultz
2019-10-04  8:00         ` Heikki Krogerus
2019-10-02 23:16 ` [RFC][PATCH 3/3] usb: dwc3: Registering a role switch in the DRD code John Stultz
2019-10-15  8:25   ` Roger Quadros
2019-10-15 19:10     ` John Stultz
2019-10-16  9:24       ` 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=7877d69b-b17c-d4a4-9806-3dca98fc9e26@redhat.com \
    --to=hdegoede@redhat.com \
    --cc=andy.shevchenko@gmail.com \
    --cc=balbi@kernel.org \
    --cc=chenyu56@huawei.com \
    --cc=chunfeng.yun@mediatek.com \
    --cc=devicetree@vger.kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=heikki.krogerus@linux.intel.com \
    --cc=john.stultz@linaro.org \
    --cc=lijun.kernel@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=robh+dt@kernel.org \
    --cc=suzuki.poulose@arm.com \
    --cc=valentin.schneider@arm.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;
as well as URLs for NNTP newsgroup(s).