Hi, Addressed three comments from v8: 1. Fixed the make dt_binding_check that Rob Herring pointed out in "dt-bindings: usb: Maxim type-c controller device tree binding document" https://lkml.org/lkml/2020/9/22/720 2. Moved to string based enums for new-source-frs-typec-current to address comments from Rob herring for: "dt-bindings: connector: Add property to set initial current cap for FRS". As a result, introduced another patch: "usb: typec: tcpm: Parse frs type-c current from device tree" to refactor tcpm code to read new-source-frs-typec-current from device tree. Previously this is was a uint32. https://lkml.org/lkml/2020/9/22/729 3. To address Heikki's comment on Auto discharge disconnect threshold https://lkml.org/lkml/2020/9/21/1857 a. Removed the call to tcpm_set_auto_vbus_discharge_threshold from source attach path. b. Moved logic of setting TCPC_VBUS_SINK_DISCONNECT_THRESH_MAX to tcpci.c as the tcpci_maxim was actually setting the default values. Removed the get_auto_vbus_discharge_threshold callback from tcpci_data for now. Can be added later if needed. 4. Added additional patches to address an isssue where vbus was being left post disconnect after Fast Role Swap operation is executed. a. usb: typec: tcpm: frs sourcing vbus callback b. usb: typec: tcpci: frs sourcing vbus callback c. usb: typec: tcpci_max77759: Fix vbus stuck on upon diconnecting sink Thanks, Badhri. Badhri Jagan Sridharan (15): usb: typec: tcpci: Add a getter method to retrieve tcpm_port reference usb: typec: tcpci: Add set_vbus tcpci callback dt-bindings: usb: Maxim type-c controller device tree binding document usb: typec: tcpci_maxim: Chip level TCPC driver dt-bindings: connector: Add property to set initial current cap for FRS usb: typec: tcpm: Add support for Sink Fast Role SWAP(FRS) usb: typec: tcpci: Implement callbacks for FRS usb: typec: tcpci_maxim: Add support for Sink FRS usb: typec: tcpm: frs sourcing vbus callback usb: typec: tcpci: frs sourcing vbus callback usb: typec: tcpci_max77759: Fix vbus stuck on upon diconnecting sink usb: typec: tcpm: Parse frs type-c current from device tree usb: typec: tcpm: Implement enabling Auto Discharge disconnect support usb: typec: tcpci: Implement Auto discharge disconnect callbacks usb: typec: tcpci_maxim: Enable auto discharge disconnect .../bindings/connector/usb-connector.yaml | 26 + .../devicetree/bindings/usb/maxim,tcpci.yaml | 68 +++ drivers/usb/typec/tcpm/Kconfig | 6 + drivers/usb/typec/tcpm/Makefile | 15 +- drivers/usb/typec/tcpm/tcpci.c | 102 +++- drivers/usb/typec/tcpm/tcpci.h | 30 +- drivers/usb/typec/tcpm/tcpci_maxim.c | 504 ++++++++++++++++++ drivers/usb/typec/tcpm/tcpm.c | 299 ++++++++++- include/dt-bindings/usb/pd.h | 10 + include/linux/usb/pd.h | 19 +- include/linux/usb/tcpm.h | 27 +- include/linux/usb/typec.h | 12 + 12 files changed, 1093 insertions(+), 25 deletions(-) create mode 100644 Documentation/devicetree/bindings/usb/maxim,tcpci.yaml create mode 100644 drivers/usb/typec/tcpm/tcpci_maxim.c -- 2.28.0.709.gb0816b6eb0-goog