• Nick Crews's avatar
    platform/chrome: wilco_ec: Add telemetry char device interface · 1210d1e6
    Nick Crews authored
    The Wilco Embedded Controller is able to send telemetry data
    which is useful for enterprise applications. A daemon running on
    the OS sends a command to the EC via a write() to a char device,
    and can read the response with a read(). The write() request is
    verified by the driver to ensure that it is performing only one
    of the whitelisted commands, and that no extraneous data is
    being transmitted to the EC. The response is passed directly
    back to the reader with no modification.
    
    The character device will appear as /dev/wilco_telemN, where N
    is some small non-negative integer, starting with 0. Only one
    process may have the file descriptor open at a time. The calling
    userspace program needs to keep the device file descriptor open
    between the calls to write() and read() in order to preserve the
    response. Up to 32 bytes will be available for reading.
    
    For testing purposes, try requesting the EC's firmware build
    date, by sending the WILCO_EC_TELEM_GET_VERSION command with
    argument index=3. i.e. write [0x38, 0x00, 0x03]
    to the device node. An ASCII string of the build date is
    returned.
    Signed-off-by: default avatarNick Crews <ncrews@chromium.org>
    Signed-off-by: default avatarEnric Balletbo i Serra <enric.balletbo@collabora.com>
    1210d1e6
telemetry.c 12.2 KB