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