the Chromium logo

The Chromium Projects

USB-C / PD Low Power Boot

(Additional discussion on crbug.com/537269)

==Problem==:

Chrome OS devices may require more than 15W of power, even in firmware. For security reasons, our EC does not attempt to negotiate a PD power contract until it has jumped to RW, so we are limited to pulling 15W (3A @ 5V) from a USB-C / PD charger in RO. In addition, we have no knowledge of how much power a PD charger may be able to deliver while in EC RO. Therefore, in order to guarantee that a device is able to boot successfully into Chrome OS, the system must have a minimum battery level before booting, even when a PD charger is attached.

==Samus==:

The solution implemented on Samus is to wait for 1% battery charge level before allowing power-on. If a high-power PD charger is attached, we’ll negotiate a sufficient power contract once jumping to EC RW, and the system will be usable indefinitely. If a low-power charger is attached, the 1% battery level should be enough to allow us to boot Chrome OS, see a low-power shutdown message, and automatically power down cleanly.

image

Samus uses a flashing red lightbar to notify the user that the device is waiting for sufficient battery charge to allow boot. Future PD-powered devices may not have such a lightbar.

==Future Improvement==:

Ideally we’d like to handle the most common user case (high-powered charger attached) without needless delay. Here is a proposed method to do so:

This proposal can only be implemented if the device is able to power-on the AP through software sync completion while consuming < 15W. In order to meet this requirement, devices may have to limit power through various means, such as disabling USB ports, asserting PROCHOT, etc.

image

==Future Chromeboxes:==

Chromeboxes are a special case because they lack a battery. Such devices may never be able to boot a low-power charger. If we were to follow the method above, Chromeboxes would ==never== be able to boot into recovery mode. Thus, the following additional changes need to be made for batteryless devices:

We will assume that the charger attached for user-triggered recovery is trustable, and will provide instructions to users that they should use the OEM charger (power-cycled beforehand for extra paranoia) while booting in recovery mode for maximum security.

==Other Idea Considered (but rejected):==

==CLs:==

https://chromium-review.googlesource.com/#/c/306774/

https://chromium-review.googlesource.com/#/c/307885/

https://chromium-review.googlesource.com/#/c/307952/