Regulator API design notes

This document provides a brief, partially structured, overview of someof the design considerations which impact the regulator API design.

Safety

  • Errors in regulator configuration can have very serious consequencesfor the system, potentially including lasting hardware damage.
  • It is not possible to automatically determine the power configurationof the system - software-equivalent variants of the same chip mayhave different power requirements, and not all components with powerrequirements are visible to software.

Note

The API should make no changes to the hardware state unless it hasspecific knowledge that these changes are safe to perform on thisparticular system.

Consumer use cases

  • The overwhelming majority of devices in a system will have norequirement to do any runtime configuration of their power beyondbeing able to turn it on or off.
  • Many of the power supplies in the system will be shared between manydifferent consumers.

Note

The consumer API should be structured so that these use cases arevery easy to handle and so that consumers will work with sharedsupplies without any additional effort.