mbox series

[v9,00/15] TCPM support for FRS and AutoDischarge Disconnect

Message ID 20200929024004.244992-1-badhri@google.com (mailing list archive)
Headers show
Series TCPM support for FRS and AutoDischarge Disconnect | expand

Message

Badhri Jagan Sridharan Sept. 29, 2020, 2:39 a.m. UTC
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