| Regulator API design notes |
| ========================== |
| |
| This document provides a brief, partially structured, overview of some |
| of the design considerations which impact the regulator API design. |
| |
| Safety |
| ------ |
| |
| - Errors in regulator configuration can have very serious consequences |
| for the system, potentially including lasting hardware damage. |
| - It is not possible to automatically determine the power confugration |
| of the system - software-equivalent variants of the same chip may |
| have different power requirments, and not all components with power |
| requirements are visible to software. |
| |
| => The API should make no changes to the hardware state unless it has |
| specific knowledge that these changes are safe to do perform on |
| this particular system. |
| |
| Consumer use cases |
| ------------------ |
| |
| - The overwhelming majority of devices in a system will have no |
| requirement to do any runtime configuration of their power beyond |
| being able to turn it on or off. |
| |
| - Many of the power supplies in the system will be shared between many |
| different consumers. |
| |
| => The consumer API should be structured so that these use cases are |
| very easy to handle and so that consumers will work with shared |
| supplies without any additional effort. |