commit | d4d74870807750b2ece64cc8e046d1cdd171be6d | [log] [tgz] |
---|---|---|
author | Abhishek Pandit-Subedi <abhishekpandit@google.com> | Wed Dec 13 01:49:03 2023 |
committer | George Engelbrecht <engeg@google.com> | Fri Jan 05 21:58:13 2024 |
tree | b79313d80f8a7a5572c91333fe5703b67a3c2458 | |
parent | 6dad6fa36663abb1c730405ac96e10d917b100be [diff] |
Wire ppm to kernel driver Add support for wiring um_ppm to the ucsi_um_test kernel driver. This has been tested to properly communicate with the kernel driver but is still not fully functional (verified up to Set Notifications Enable and partial Ack_CC_CI). BUG=b:303919041 Change-Id: Ia36b06bb84a075199a9047ff2367e2bcba87f7a2
Usermode UCSI PPM implementation for evaluation and testing usage. Try using this with the ucsi_um_test
kernel driver.
For usermode implementations, we use libi2c and libgpiod to provide an smbus implementation. You will need the right libraries to build:
sudo apt-get install libi2c-dev libgpiod-dev
┌─────────┐ │OPM │ │kernel or│ │cli │ └────┬────┘ │ │ ▼ ┌───────────┐ ┌────────┐ │ PD Driver │ │ ├────►│ │ │ PPM │ ├───────────┤ │ │ │ │ └────────┘ │ I2C Driver│ └───────────┘
The usermode ppm implementation consists of the PPM task, the PD driver and the I2C driver backing it. The OPM will either be a CLI (for locally triggering some functionality) or the ucsi_um_test
kernel module.