description: >
    Implement to provide control of voltage regulator devices from dbus
    Control.VoltageRegulatorProfile.Supported is read only.  Implementation of
    the Supported property populates the list of supported modes.  In the case
    where the VR has a well defined default, implementations should place the
    default in index 0.
    Control.VoltageRegulatorProfile.Current is read/write and sets the
    implementation specific mode for the voltage regulator to run in.  The
    definitions of said enum are implementation defined, as systems likely will
    have a multitude of possible states.  Some examples of naming might be
    "HighPower" or "LowPower" in the case of bipolar power states, or might be
    something more complex like, "Profile 1", "Profile 2", "Profile 3" if the VR
    itself defines the interfaces.
    Implementations may implement this alongside to a VoltageRegulatorControl
    interface, and may react to the results of changes to the Control interface.

properties:
    - name: Supported
      type: array[string]
      flags:
          - readonly
      description: >
          An implementation specific list of supported modes that the voltage
          regulator control application can be configured to provide for a
          platform.
    - name: Selected
      type: string
      default: "Default"
      description: >
          The current mode the voltage regulator control application should
          use.  This can be read to verify the current mode, or written to
          change to a new mode.
