From: RD Babiera <rdbabiera@google.com>
To: rdbabiera@google.com, heikki.krogerus@linux.intel.com,
linux@roeck-us.net, gregkh@linuxfoundation.org,
linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org
Cc: badhri@google.com, bryan.odonoghue@linaro.org, agross@kernel.org,
andersson@kernel.org, konrad.dybcio@linaro.org
Subject: [PATCH v2 00/12] usb: typec: add SOP' support to the tcpm and alt mode drivers
Date: Thu, 14 Dec 2023 23:08:44 +0000 [thread overview]
Message-ID: <20231214230850.379863-14-rdbabiera@google.com> (raw)
Extend the TCPM's functionality to include support for SOP' messages.
This feature is opt-in: TCPCI chip drivers opt into sending and receiving
SOP' messages. TCPCI drivers will also be expected to take the SOP frame
type in order to process SOP' messages within the TCPM. Specifically,
the exisiting API tcpm_pd_receive now takes tcpm_transmit_type as input.
The Maxim TCPCI implements this in Patch 4.
Discover Identity, Discover SVIDs, Discover Modes, and Alt Mode SVDM
support are included within the patchset. Because the port is expected to
be the Vconn source in order to communicate with the cable, TCPCI chip
drivers opt into performing a Vconn swap after Discover Identity on SOP
before performing Discover Identity on SOP'.
typec_cable_ops are defined to facilitate communication between the alt
mode drivers and the cable plugs. 2 new apis allow the alt mode drivers
to enter and exit mode on active cable plugs. A third is used by alt mode
drivers to send VDMs to the cable plugs or by the TCPM to return the
resulting VDM from the cable plug to the alt mode drivers.
---
Changes since v1:
* Add typec_cable_ops as replacement for changing typec_altmode_ops
interface. Displayport driver patch now reflects this
* Separate patch for cable SVDM versioning.
* Separate patch for tcpm_pd_receive() api changes and cable_comm_capable
addition to tcpci.
* Separate patches for Discover SVIDs/Discover Modes and Alt Mode
operations on SOP'.
RD Babiera (12):
usb: typec: altmodes: add typec_cable_ops to typec_altmode
usb: typec: altmodes: add svdm version info for typec cables
usb: typec: tcpci: add cable_comm_capable attribute
usb: typec: tcpci: add tcpm_transmit_type to tcpm_pd_receive
usb: typec: tcpm: process receive and transmission of sop' messages
usb: typec: tcpm: add control message support to sop'
usb: typec: tcpci: add attempt_vconn_swap_discovery callback
usb: typec: tcpm: add discover identity support for SOP'
usb: typec: tcpm: add state machine support for
SRC_VDM_IDENTITY_REQUEST
usb: typec: tcpm: add discover svids and discover modes support for
sop'
usb: typec: tcpm: add alt mode enter/exit/vdm support for sop'
usb: typec: altmodes/displayport: add SOP' support
drivers/usb/typec/altmodes/displayport.c | 161 ++-
drivers/usb/typec/bus.c | 102 ++
drivers/usb/typec/class.c | 59 +
drivers/usb/typec/class.h | 1 +
drivers/usb/typec/tcpm/fusb302.c | 2 +-
.../typec/tcpm/qcom/qcom_pmic_typec_pdphy.c | 2 +-
drivers/usb/typec/tcpm/tcpci.c | 26 +-
drivers/usb/typec/tcpm/tcpci_maxim.h | 1 +
drivers/usb/typec/tcpm/tcpci_maxim_core.c | 38 +-
drivers/usb/typec/tcpm/tcpm.c | 1043 ++++++++++++++---
drivers/usb/typec/tcpm/wcove.c | 2 +-
include/linux/usb/pd.h | 1 +
include/linux/usb/pd_vdo.h | 8 +-
include/linux/usb/tcpci.h | 13 +
include/linux/usb/tcpm.h | 16 +-
include/linux/usb/typec.h | 7 +
include/linux/usb/typec_altmode.h | 30 +
17 files changed, 1346 insertions(+), 166 deletions(-)
--
2.43.0.472.g3155946c3a-goog
next reply other threads:[~2023-12-14 23:08 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-14 23:08 RD Babiera [this message]
2023-12-14 23:08 ` [PATCH v2 01/12] usb: typec: altmodes: add typec_cable_ops to typec_altmode RD Babiera
2023-12-16 2:21 ` kernel test robot
2023-12-17 15:11 ` kernel test robot
2023-12-14 23:08 ` [PATCH v2 02/12] usb: typec: altmodes: add svdm version info for typec cables RD Babiera
2023-12-19 13:54 ` Heikki Krogerus
2023-12-14 23:08 ` [PATCH v2 03/12] usb: typec: tcpci: add cable_comm_capable attribute RD Babiera
2023-12-19 13:55 ` Heikki Krogerus
2023-12-14 23:08 ` [PATCH v2 04/12] usb: typec: tcpci: add tcpm_transmit_type to tcpm_pd_receive RD Babiera
2023-12-19 13:59 ` Heikki Krogerus
2023-12-14 23:08 ` [PATCH v2 05/12] usb: typec: tcpm: process receive and transmission of sop' messages RD Babiera
2023-12-19 14:07 ` Heikki Krogerus
2024-01-08 19:13 ` RD Babiera
2023-12-14 23:08 ` [PATCH v2 06/12] usb: typec: tcpm: add control message support to sop' RD Babiera
2023-12-19 14:12 ` Heikki Krogerus
2023-12-14 23:08 ` [PATCH v2 07/12] usb: typec: tcpci: add attempt_vconn_swap_discovery callback RD Babiera
2023-12-19 14:17 ` Heikki Krogerus
2023-12-14 23:08 ` [PATCH v2 08/12] usb: typec: tcpm: add discover identity support for SOP' RD Babiera
2023-12-19 14:26 ` Heikki Krogerus
2023-12-14 23:08 ` [PATCH v2 09/12] usb: typec: tcpm: add state machine support for SRC_VDM_IDENTITY_REQUEST RD Babiera
2023-12-19 14:26 ` Heikki Krogerus
2023-12-14 23:08 ` [PATCH v2 10/12] usb: typec: tcpm: add discover svids and discover modes support for sop' RD Babiera
2023-12-19 14:32 ` Heikki Krogerus
2024-01-08 19:02 ` RD Babiera
2023-12-14 23:08 ` [PATCH v2 11/12] usb: typec: tcpm: add alt mode enter/exit/vdm " RD Babiera
2023-12-14 23:08 ` [PATCH v2 12/12] usb: typec: altmodes/displayport: add SOP' support RD Babiera
2024-01-02 14:02 ` Dan Carpenter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20231214230850.379863-14-rdbabiera@google.com \
--to=rdbabiera@google.com \
--cc=agross@kernel.org \
--cc=andersson@kernel.org \
--cc=badhri@google.com \
--cc=bryan.odonoghue@linaro.org \
--cc=gregkh@linuxfoundation.org \
--cc=heikki.krogerus@linux.intel.com \
--cc=konrad.dybcio@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=linux@roeck-us.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox