| commit | 5b4c455958683194e5f0db130fbd47ff276e7507 | [log] [tgz] |
|---|---|---|
| author | Abhishek Pandit-Subedi <abhishekpandit@google.com> | Thu Jan 25 21:29:07 2024 |
| committer | Abhishek Pandit-Subedi <abhishekpandit@google.com> | Fri Feb 02 17:44:42 2024 |
| tree | 1212216bdc452257683301b084dd2a026e719162 | |
| parent | 284505f59f2a0b138aedc91e70b27c9f14382d21 [diff] |
Move IRQ configuration to pd driver Move the LPM IRQ configuration and task to the pd driver to simplify interrupt management. BUG=b:322388156 TEST=Run um_ppm w/ Realtek EVB Change-Id: I5b76840389aa5649506067f1a471d65ecb68cfaf Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/usb/um_ppm/+/5252186 Tested-by: Abhishek Pandit-Subedi <abhishekpandit@google.com> Reviewed-by: Pavan Holla <pholla@google.com>
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.