This is a tracker bug for an effort to rewrite the logic used inside
servo_interfaces.py and how interfaces inside servod are handled in general.
The main pointers are:
- interfaces should be a dictionary not a list, with meaningful names
- configurations, for legacy reasons can still be written with interface="10" for example for the EC uart, but also with interface="ec_uart" pointing to the same interface
- keyboard handlers should also be interfaces
- the overwriting of interfaces for v2 currently done in the servo_interfaces file should be handled in the servo overlays for a specific board, and not in a master file. To this end, a new tag, <interface> is introduced to allow for interface overwriting from servo overlays.
A more detailed design will be added to this bug shortly. This effort is blocked until the notion of multiple devices from go/servoarch is implemented.
Comment 1 by coconutruben@chromium.org
, Aug 16