mbox series

[v3,0/2] Add support for TPS25750

Message ID cover.1692507038.git.abdelalkuor@geotab.com (mailing list archive)
Headers show
Series Add support for TPS25750 | expand

Message

Abdel Alkuor Aug. 20, 2023, 5:23 a.m. UTC
From: Abdel Alkuor <abdelalkuor@geotab.com>

TPS25750 is USB Type-C and PD controller. The device is
highly configurable using App Customization online Tool 
developed by TI to generate loadable binary.

TPS25750 supports three modes; PTCH, APP, and BOOT. A configuration
can only be applied when the controller is on PTCH mode.

The controller attempts to load a configuration from EEPROM on
I2Cm bus. If no EEPROM is detected, then the driver tries to load
a configuration on I2Cs bus using a firmware file defined
in DT.

The driver implements the binary loading sequence which 
can be found on pg.53 in TPS25750 Host Interface Technical
Reference Manual (Rev. A) https://tinyurl.com/y9rkhu8a

The driver only supports resume pm callback as power management is
automatically controlled by the device. See pg.47 in TPS25750
datasheet https://tinyurl.com/3vfd2k43

v3:
 - PATCH 1: Fix node name
 - PATCH 2: Upload tps25750 driver patch
v2:
 - PATCH 1: General properties clean up

Abdel Alkuor (2):
  dt-bindings: usb: Add ti,tps25750
  USB: typec: Add TI TPS25750 USB Type-C controller

 .../devicetree/bindings/usb/ti,tps25750.yaml  |   81 ++
 drivers/usb/typec/Kconfig                     |   13 +
 drivers/usb/typec/Makefile                    |    1 +
 drivers/usb/typec/tps25750.c                  | 1065 +++++++++++++++++
 drivers/usb/typec/tps25750.h                  |  162 +++
 5 files changed, 1322 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/usb/ti,tps25750.yaml
 create mode 100644 drivers/usb/typec/tps25750.c
 create mode 100644 drivers/usb/typec/tps25750.h