linux/include/linux/usb/typec_tbt.h

/* SPDX-License-Identifier: GPL-2.0 */
#ifndef __USB_TYPEC_TBT_H
#define __USB_TYPEC_TBT_H

#include <linux/usb/typec_altmode.h>
#include <linux/bitfield.h>

#define USB_TYPEC_VENDOR_INTEL
/* Alias for convenience */
#define USB_TYPEC_TBT_SID

/* Connector state for Thunderbolt3 */
#define TYPEC_TBT_MODE

/**
 * struct typec_thunderbolt_data - Thundebolt3 Alt Mode specific data
 * @device_mode: Device Discover Mode VDO
 * @cable_mode: Cable Discover Mode VDO
 * @enter_vdo: Enter Mode VDO
 */
struct typec_thunderbolt_data {};

/* TBT3 Device Discover Mode VDO bits */
#define TBT_MODE
#define TBT_ADAPTER(_vdo_)
#define TBT_ADAPTER_LEGACY
#define TBT_ADAPTER_TBT3
#define TBT_INTEL_SPECIFIC_B0
#define TBT_VENDOR_SPECIFIC_B0
#define TBT_VENDOR_SPECIFIC_B1

#define TBT_SET_ADAPTER(a)

/* TBT3 Cable Discover Mode VDO bits */
#define TBT_CABLE_SPEED(_vdo_)
#define TBT_CABLE_USB3_GEN1
#define TBT_CABLE_USB3_PASSIVE
#define TBT_CABLE_10_AND_20GBPS
#define TBT_CABLE_ROUNDED_SUPPORT(_vdo_)

#define TBT_GEN3_NON_ROUNDED
#define TBT_GEN3_GEN4_ROUNDED_NON_ROUNDED
#define TBT_CABLE_OPTICAL
#define TBT_CABLE_RETIMER
#define TBT_CABLE_LINK_TRAINING
#define TBT_CABLE_ACTIVE_PASSIVE

#define TBT_SET_CABLE_SPEED(_s_)
#define TBT_SET_CABLE_ROUNDED(_g_)

/* TBT3 Device Enter Mode VDO bits */
#define TBT_ENTER_MODE_CABLE_SPEED(s)
#define TBT_ENTER_MODE_ACTIVE_CABLE

#endif /* __USB_TYPEC_TBT_H */