[PATCH v4 0/2] usb: typec: ucsi: Add ITE IT8851/IT8853 support
From: Amber Kao
Date: Fri Jul 17 2026 - 06:09:21 EST
This series adds Device Tree bindings and minimal UCSI driver support
for the ITE IT8851/IT8853 USB Type-C Power Delivery controller over I2C.
Changes in v4:
- Use separate tx/rx buffers in itepd_read_reg() for DMA safety
- Rate-limit error prints in the I2C accessors
- Refactor IRQ and poll_cci() into a common itepd_process_event()
helper serialized by event_lock; poll_cci() now acks events
- Clear cached CCI on PPM_RESET
- Drain pending events in probe instead of a manual interrupt-clear
- Keep ucsi_unregister() before free_irq() in remove(): the IRQ
handler is the only event consumer/acker on this device, so
freeing the IRQ first stalls in-flight commands until timeout and
leaves the PPM with an unacked event. ucsi_unregister() disables
notifications before freeing connectors, closing the reported UAF
window in practice. Matches other UCSI I2C drivers.
- Use device-specific compatibles "ite,it8851"/"ite,it8853"
- Move version changelog below the "---" line (Krzysztof)
- Trim MAINTAINERS reviewer list (Krzysztof)
Link to v3: https://lore.kernel.org/all/20260710-ucsi-itepd-feature-v3-0-8523e1e1c47a@xxxxxxxxxx/
Link to v2: https://lore.kernel.org/all/20260710-ucsi-itepd-feature-v2-0-41943fd5df38@xxxxxxxxxx/
Link to v1: https://lore.kernel.org/all/20260615-ucsi-itepd-feature-v1-0-a826cfd0df6a@xxxxxxxxxx/
Signed-off-by: Amber Kao <amber.kao@xxxxxxxxxx>
---
Amber Kao (2):
dt-bindings: usb: Add ITE IT8851/IT8853 Type-C PD controllers
usb: typec: ucsi: Add ITE IT8851/IT8853 Type-C PD controller driver
.../devicetree/bindings/usb/ite,it8851.yaml | 142 ++++++++
MAINTAINERS | 9 +
drivers/usb/typec/ucsi/Kconfig | 10 +
drivers/usb/typec/ucsi/Makefile | 1 +
drivers/usb/typec/ucsi/ucsi_itepd.c | 381 +++++++++++++++++++++
5 files changed, 543 insertions(+)
---
base-commit: 8fde5d1d47f69db6082dfa34500c27f8485389a5
change-id: 20260717-ucsi-itepd-4e943e1382f0
Best regards,
--
Amber Kao <amber.kao@xxxxxxxxxx>