linux/include/linux/usb/typec_dp.h

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

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

#define USB_TYPEC_DP_SID
/* USB IF has not assigned a Standard ID (SID) for VirtualLink,
 * so the manufacturers of VirtualLink adapters use their Vendor
 * IDs as the SVID.
 */
#define USB_TYPEC_NVIDIA_VLINK_SID
#define USB_TYPEC_DP_MODE

/*
 * Connector states matching the pin assignments in DisplayPort Alt Mode
 * Specification.
 *
 * These values are meant primarily to be used by the mux drivers, but they are
 * also used as the "value" part in the alternate mode notification chain, so
 * receivers of those notifications will always see them.
 *
 * Note. DisplayPort USB Type-C Alt Mode Specification version 1.0b deprecated
 * pin assignments A, B and F, but they are still defined here for legacy
 * purposes.
 */
enum {};

/*
 * struct typec_displayport_data - DisplayPort Alt Mode specific data
 * @status: Status Update command VDO content
 * @conf: Configure command VDO content
 *
 * This structure is delivered as the data part with the notifications. It
 * contains the VDOs from the two DisplayPort Type-C alternate mode specific
 * commands: Status Update and Configure.
 *
 * @status will show for example the status of the HPD signal.
 */
struct typec_displayport_data {};

enum {};

/* DisplayPort alt mode specific commands */
#define DP_CMD_STATUS_UPDATE
#define DP_CMD_CONFIGURE

/* DisplayPort Capabilities VDO bits (returned with Discover Modes) */
#define DP_CAP_CAPABILITY(_cap_)
#define DP_CAP_UFP_D
#define DP_CAP_DFP_D
#define DP_CAP_DFP_D_AND_UFP_D
#define DP_CAP_DP_SIGNALLING(_cap_)
#define DP_CAP_SIGNALLING_HBR3
#define DP_CAP_SIGNALLING_UHBR10
#define DP_CAP_SIGNALLING_UHBR20
#define DP_CAP_RECEPTACLE
#define DP_CAP_USB
#define DP_CAP_DFP_D_PIN_ASSIGN(_cap_)
#define DP_CAP_UFP_D_PIN_ASSIGN(_cap_)
/* Get pin assignment taking plug & receptacle into consideration */
#define DP_CAP_PIN_ASSIGN_UFP_D(_cap_)
#define DP_CAP_PIN_ASSIGN_DFP_D(_cap_)
#define DP_CAP_UHBR_13_5_SUPPORT
#define DP_CAP_CABLE_TYPE(_cap_)
#define DP_CAP_CABLE_TYPE_PASSIVE
#define DP_CAP_CABLE_TYPE_RE_TIMER
#define DP_CAP_CABLE_TYPE_RE_DRIVER
#define DP_CAP_CABLE_TYPE_OPTICAL
#define DP_CAP_DPAM_VERSION

/* DisplayPort Status Update VDO bits */
#define DP_STATUS_CONNECTION(_status_)
#define DP_STATUS_CON_DISABLED
#define DP_STATUS_CON_DFP_D
#define DP_STATUS_CON_UFP_D
#define DP_STATUS_CON_BOTH
#define DP_STATUS_POWER_LOW
#define DP_STATUS_ENABLED
#define DP_STATUS_PREFER_MULTI_FUNC
#define DP_STATUS_SWITCH_TO_USB
#define DP_STATUS_EXIT_DP_MODE
#define DP_STATUS_HPD_STATE
#define DP_STATUS_IRQ_HPD

/* DisplayPort Configurations VDO bits */
#define DP_CONF_CURRENTLY(_conf_)
#define DP_CONF_UFP_U_AS_DFP_D
#define DP_CONF_UFP_U_AS_UFP_D
#define DP_CONF_SIGNALLING_MASK
#define DP_CONF_SIGNALLING_SHIFT
#define DP_CONF_SIGNALLING_HBR3
#define DP_CONF_SIGNALLING_UHBR10
#define DP_CONF_SIGNALLING_UHBR20
#define DP_CONF_PIN_ASSIGNEMENT_SHIFT
#define DP_CONF_PIN_ASSIGNEMENT_MASK

/* Helper for setting/getting the pin assignment value to the configuration */
#define DP_CONF_SET_PIN_ASSIGN(_a_)
#define DP_CONF_GET_PIN_ASSIGN(_conf_)
#define DP_CONF_UHBR13_5_SUPPORT
#define DP_CONF_CABLE_TYPE_MASK
#define DP_CONF_CABLE_TYPE_SHIFT
#define DP_CONF_CABLE_TYPE_PASSIVE
#define DP_CONF_CABLE_TYPE_RE_TIMER
#define DP_CONF_CABLE_TYPE_RE_DRIVER
#define DP_CONF_CABLE_TYPE_OPTICAL
#define DP_CONF_DPAM_VERSION

#endif /* __USB_TYPEC_DP_H */