twx-linux/include/linux/usb
RD Babiera fb7ff25ae4 usb: typec: tcpm: add discover identity support for SOP'
Add data message handling and Discover Identity SVDM over SOP'

This patch contains the following changes:
    1. pd_vdo
Add VDO indices for active and passive cables, documentation to reflect
expected number of objects depending on PD Revision, and macro to indicate
port parter is data host capable.
    2. tcpm
Add typec_cable and typec_plug to tcpm_port to maintain cable and plug
information. tcpm_port also adds send_discover_prime to indicate that
Discover Identity should be sent out of the ready state.

tcpm_queue_vdm and tcpm_send_vdm now take the SOP* type when transmitting
messages. tcpm_handle_vdm_request and tcpm_pd_svdm also use the SOP* type.
tcpm_pd_svdm handles Discover Identity messages for SOP and SOP'. In the
SOP case, the port uses tcpm_attempt_vconn_swap_discovery to determine if
a Vconn swap is needed for cable communication. Otherwise, the port will
send Discover Identity on SOP' if it can, or default to Discover SVIDs.

svdm_consume_identity_sop_prime consumes the result of Discover Identity
on SOP'. It fills out cable identity and description, and it registers
the cable. The SOP' plug is registered as well.

The VDM state machine is adjusted to construct messages based on the SOP*
type. If a transmission error occurs after the max number of retries for
Discover Identity over SOP', then the port will send Discover SVIDs over
SOP.

Signed-off-by: RD Babiera <rdbabiera@google.com>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Link: https://lore.kernel.org/r/20240108191620.987785-22-rdbabiera@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-01-27 17:38:25 -08:00
..
audio-v2.h usb: audio-v2: Correct comments for struct uac_clock_selector_descriptor 2024-01-27 16:53:38 -08:00
audio-v3.h
audio.h
c67x00.h
ccid.h
cdc_ncm.h
cdc-wdm.h
cdc.h
ch9.h
chipidea.h usb: chipidea: add CI_HDRC_FORCE_VBUS_ACTIVE_ALWAYS flag 2023-10-21 12:45:45 +02:00
composite.h usb: gadget: clarify usage of USB_GADGET_DELAYED_STATUS 2023-10-02 16:43:04 +02:00
ehci_def.h
ehci_pdriver.h
ehci-dbgp.h
ezusb.h
functionfs.h
g_hid.h
gadget_configfs.h
gadget.h usb: dwc3: Support EBC feature of DWC_usb31 2024-01-04 16:00:41 +01:00
hcd.h usb: xhci: Add timeout argument in address_device USB HCD callback 2023-11-23 12:32:44 +00:00
input.h
iowarrior.h
irda.h
isp116x.h
isp1301.h
isp1362.h
ljca.h usb: Add support for Intel LJCA device 2023-10-11 11:33:37 +02:00
m66592.h
midi-v2.h
musb-ux500.h
musb.h
net2280.h
of.h
ohci_pdriver.h
onboard_hub.h
otg-fsm.h
otg.h
pd_ado.h
pd_bdo.h
pd_ext_sdb.h
pd_vdo.h usb: typec: tcpm: add discover identity support for SOP' 2024-01-27 17:38:25 -08:00
pd.h usb: typec: tcpm: add control message support to sop' 2024-01-27 17:38:25 -08:00
phy_companion.h
phy.h Revert "usb: phy: add usb phy notify port status API" 2023-11-06 14:47:36 +01:00
quirks.h usb: new quirk to reduce the SET_ADDRESS request timeout 2023-11-23 12:32:44 +00:00
r8a66597.h
r8152.h r8152: add vendor/device ID pair for ASUS USB-C2500 2023-12-06 10:38:38 +01:00
renesas_usbhs.h usb: renesas_usbhs: remove boilerplate from header file 2023-10-02 13:57:07 +02:00
rndis_host.h
role.h
rzv2m_usb3drd.h
serial.h
sl811.h
storage.h
tcpci.h usb: typec: tcpci: add attempt_vconn_swap_discovery callback 2024-01-27 17:38:25 -08:00
tcpm.h usb: typec: tcpci: add attempt_vconn_swap_discovery callback 2024-01-27 17:38:25 -08:00
tegra_usb_phy.h
typec_altmode.h usb: typec: altmodes: add svdm version info for typec cables 2024-01-27 17:38:25 -08:00
typec_dp.h usb: typec: Add Displayport Alternate Mode 2.1 Support 2023-10-02 13:58:58 +02:00
typec_mux.h
typec_retimer.h
typec_tbt.h usb: typec: Add Active or Passive cable defination to cable discover mode VDO 2023-10-02 13:58:59 +02:00
typec.h usb: typec: altmodes: add svdm version info for typec cables 2024-01-27 17:38:25 -08:00
uas.h
ulpi.h
usb338x.h
usb_phy_generic.h
usbnet.h
uvc.h
webusb.h
xhci-dbgp.h