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 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html