Re: [RFC PATCHv2] usb: USB Type-C Connector Class

From: Heikki Krogerus
Date: Wed Jun 22 2016 - 05:40:49 EST


Hi Oliver,

On Tue, Jun 21, 2016 at 10:43:05PM +0200, Oliver Neukum wrote:
> On Tue, 2016-06-21 at 16:58 +0300, Heikki Krogerus wrote:
> > On Tue, Jun 21, 2016 at 03:08:52PM +0200, Oliver Neukum wrote:
> >
> > > The firmware will surely want to display something. So it is possible
> > > that we start the OS will a valid power contract. How do we deal
> > > with that? Renegotiate?
> >
> > Systems where the firmware has to negotiate PD will likely provide
> > firmware interface like UCSI, and where the OS has no direct
> > interaction with the USB PD transceiver. In these case there is no
> > need to renegotiate as we are just reporting in OS the initial state
> > after bootup.
>
> How certain is that? I was under the impression that on many systems
> the OS would speak to the TCPM directly.

I think we gonna see systems where the OS has access to TCPC and
where the TCPM is expected to be implemented in the OS, but we
will have quite a few systems where the TCPC/PD controller/non TCPC
compliant Type-C PHY is attached to a microcontroller like EC, and
where that microcontroller will implement TCPM and the OS is exposed
just a separate interface, most likely UCSI.

> > We do have a system where the typec port is used to power the board.
> > On these systems the firmware does not communicate PD (so we will
> > never have the firmware displaying anything over Type-C on those
> > systems), but the USB PD chargers for example are detected as 3.0A
> > Type-C power supplies before any USB PD negotiation takes place, just
> > like the spec says, and that is more then enough to power these boards.
>
> 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.


Thanks,

--
heikki