lkml.org 
[lkml]   [2016]   [Jun]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC PATCHv2] usb: USB Type-C Connector Class
On Wed, Jun 22, 2016 at 12:08:57PM +0200, Oliver Neukum wrote:
> On Wed, 2016-06-22 at 12:31 +0300, Heikki Krogerus wrote:
>
> Hi,
>
> > > Now correct me, if I am misreading the spec. I am sure the system
> > > will boot unless it needs ridiculous amounts of power, but
> > > will we see anything on the screen? As far as I can tell the spec
> > > actually says that you cannot enter an alternate mode without having
> > > established a power contract.
> > > If we really leave entering modes up to user space, we have lost
> > > printk before getting into the initrd at the earliest.
> >
> > With these boards, you will not see anything on the screen that is
> > attached to a Type-C connector until the OS has booted to the point
> > where it has negotiated the power contract and entered a mode.
> >
> > If the system has BIOS/FW/EC capable of negotiating the power contract
> > and enter a mode, but where we still are expected to take over the
> > whole TCPM in OS, I think the connection will be reset.
>
> Think about a DP over type C display with a USB PD power brick on a
> daisy chain.
> If the host needs more than 15W or more than 5V, a reset is suicide.

If the host needs more then 15W from Type-C to bootup, which does not
have enough capacitance the manage the renegotiation, I think will
always have only the FW interface (most likely UCSI) to deal with the
Type-C ports, if even that. The Thunderbolt3 controllers for example
don't give any details about or control over the Type-C ports to OS.
Though I think their firmwares may be made to support UCSI in the
future with some of them.

> And losing earlyprintk hurts a lot.
> This means we need USB PD statically in the kernel. And a kernel
> based policy that brings up all displays.

Yep.

I'm guessing these points are probable one of the major reason why the
control of the Type-C ports was made a responsibility of a discrete
microcontroller or the FW in general.


Thanks,

--
heikki

\
 
 \ /
  Last update: 2016-06-22 14:01    [W:0.169 / U:0.240 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site