[PATCH v3 0/2] Add support for TPS25750

From: Abdel Alkuor
Date: Sun Aug 20 2023 - 02:25:42 EST


From: Abdel Alkuor <abdelalkuor@xxxxxxxxxx>

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

--
2.34.1