commit | e8e88f3b5c94c3d3a40a960fd07f3066bf2cc7e9 | [log] [tgz] |
---|---|---|
author | Abhishek Pandit-Subedi <abhishekpandit@google.com> | Thu Dec 21 00:29:11 2023 |
committer | George Engelbrecht <engeg@google.com> | Fri Jan 05 21:58:14 2024 |
tree | 3465473f8d17ce86c9c81f14006d4e38afd26936 | |
parent | d4d74870807750b2ece64cc8e046d1cdd171be6d [diff] |
Fixes to get kernel driver initialized Two major fixes: * The chardev notify loop should have been sending lpm_alert and not notifying the kernel. * PPM to OPM uses the message_in buffer and not message_out. BUG=b:303919041 Change-Id: Id445ce3742db39e8fdb29e94a3ff151d11c00ea6
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.