<root>
  <!-- ******** Controls ******** -->
  <control>
    <name>ec_uart_capture</name>
    <doc>ec_uart_capture</doc>
    <params subtype="uart_capture" interface="10" drv="uart"
    map="onoff"></params>
  </control>
  <control>
    <name>ec_uart_cmd</name>
    <doc>Set to send command to EC UART. Get to obtain the matched
    results with the regular expression of ec_uart_regexp.</doc>
    <params subtype="uart_cmd" interface="10" drv="ec"
    input_type="str"></params>
  </control>
  <control>
    <name>ec_uart_multicmd</name>
    <doc>Set to send multiple commands to EC UART.</doc>
    <params subtype="uart_multicmd" interface="10" drv="ec"
    input_type="str" cmd="set"></params>
  </control>
  <control>
    <name>ec_uart_regexp</name>
    <doc>List of regular expressions which matches the response of
    ec_uart_cmd.</doc>
    <params subtype="uart_regexp" interface="10" drv="ec"
    input_type="str"></params>
  </control>
  <control>
    <name>ec_uart_stream</name>
    <doc>Ec uart stream collected while ec_uart_capture is set to 'on'</doc>
    <params cmd="get" subtype="uart_stream" interface="10" drv="uart"></params>
  </control>
  <control>
    <name>ec_uart_timeout</name>
    <doc>Timeout value for waiting EC UART response of issuing an
    EC command.</doc>
    <params subtype="uart_timeout" interface="10" drv="ec"
    input_type="float"></params>
  </control>
  <control>
    <name>kbd_en</name>
    <doc>Enable servo to assert certain keypresses via kbd_m1 and
    kbd_m2</doc>
    <params subtype="kbd_en" interface="10" drv="ec" map="onoff"
    clobber_ok=""></params>
  </control>
  <control>
    <name>kbd_m1_a0</name>
    <doc>kbd_m1_a0</doc>
    <params subtype="kbd_m1_a0" interface="10" drv="ec" map="onoff"
    clobber_ok=""></params>
  </control>
  <control>
    <name>kbd_m1_a1</name>
    <doc>kbd_m1_a1</doc>
    <params subtype="kbd_m1_a1" interface="10" drv="ec" map="onoff"
    clobber_ok=""></params>
  </control>
  <control>
    <name>kbd_m2_a0</name>
    <doc>kbd_m2_a0</doc>
    <params subtype="kbd_m2_a0" interface="10" drv="ec" map="onoff"
    clobber_ok=""></params>
  </control>
  <control>
    <name>kbd_m2_a1</name>
    <doc>kbd_m2_a1</doc>
    <params subtype="kbd_m2_a1" interface="10" drv="ec" map="onoff"
    clobber_ok=""></params>
  </control>
  <control>
    <name>ppvar_vbat_ma</name>
    <doc>milliamps being consumed (discharging/positive) or
    supplied (charging/negative) to the battery</doc>
    <params cmd="get" subtype="milliamps" interface="10" drv="ec">
    </params>
  </control>
  <control>
    <name>ppvar_vbat_mv</name>
    <doc>millivolts of the battery</doc>
    <params cmd="get" subtype="millivolts" interface="10" drv="ec">
    </params>
  </control>
  <control>
    <name>ppvar_vbat_mw</name>
    <doc>milliwatts being consumed (discharging) or supplied
    (charging) to the battery</doc>
    <params cmd="get" subtype="milliwatts" interface="10" drv="ec">
    </params>
  </control>
  <control>
    <name>pwr_button_hold</name>
    <doc>milliseconds to hold the power button</doc>
    <params cmd="set" subtype='pwr_button_hold' interface="10" drv="ec"
    input_type="int"/>
  </control>
  <control>
    <name>power_state</name>
    <doc>Used to turn the DUT off and on</doc>
    <params cmd="set" interface="servo" drv="cros_ec_power" input_type="str"
    reset_hold="0.1" reset_recovery="0.0" shutdown_ec_command="apshutdown"/>
  </control>
  <control>
    <name>ec_chip</name>
    <doc>EC chip name (read-only)</doc>
    <params cmd="get" subtype="chip" interface="servo" drv="cros_chip"
    chip="unknown"/>
  </control>
  <control>
    <name>usbpd_chip</name>
    <doc>USB PD chip name (read-only)</doc>
    <params cmd="get" subtype="chip" interface="servo" drv="cros_chip"
    chip="unknown"/>
  </control>
</root>
