| /* SPDX-License-Identifier: GPL-2.0 */ | |
| /* | |
| * Copyright (C) 2019 Cadence Design Systems Inc. | |
| */ | |
| #ifndef __PHY_DP_H_ | |
| #define __PHY_DP_H_ | |
| #include <linux/types.h> | |
| /** | |
| * struct phy_configure_opts_dp - DisplayPort PHY configuration set | |
| * | |
| * This structure is used to represent the configuration state of a | |
| * DisplayPort phy. | |
| */ | |
| struct phy_configure_opts_dp { | |
| /** | |
| * @link_rate: | |
| * | |
| * Link Rate, in Mb/s, of the main link. | |
| * | |
| * Allowed values: 1620, 2160, 2430, 2700, 3240, 4320, 5400, 8100 Mb/s | |
| */ | |
| unsigned int link_rate; | |
| /** | |
| * @lanes: | |
| * | |
| * Number of active, consecutive, data lanes, starting from | |
| * lane 0, used for the transmissions on main link. | |
| * | |
| * Allowed values: 1, 2, 4 | |
| */ | |
| unsigned int lanes; | |
| /** | |
| * @voltage: | |
| * | |
| * Voltage swing levels, as specified by DisplayPort specification, | |
| * to be used by particular lanes. One value per lane. | |
| * voltage[0] is for lane 0, voltage[1] is for lane 1, etc. | |
| * | |
| * Maximum value: 3 | |
| */ | |
| unsigned int voltage[4]; | |
| /** | |
| * @pre: | |
| * | |
| * Pre-emphasis levels, as specified by DisplayPort specification, to be | |
| * used by particular lanes. One value per lane. | |
| * | |
| * Maximum value: 3 | |
| */ | |
| unsigned int pre[4]; | |
| /** | |
| * @ssc: | |
| * | |
| * Flag indicating, whether or not to enable spread-spectrum clocking. | |
| * | |
| */ | |
| u8 ssc : 1; | |
| /** | |
| * @set_rate: | |
| * | |
| * Flag indicating, whether or not reconfigure link rate and SSC to | |
| * requested values. | |
| * | |
| */ | |
| u8 set_rate : 1; | |
| /** | |
| * @set_lanes: | |
| * | |
| * Flag indicating, whether or not reconfigure lane count to | |
| * requested value. | |
| * | |
| */ | |
| u8 set_lanes : 1; | |
| /** | |
| * @set_voltages: | |
| * | |
| * Flag indicating, whether or not reconfigure voltage swing | |
| * and pre-emphasis to requested values. Only lanes specified | |
| * by "lanes" parameter will be affected. | |
| * | |
| */ | |
| u8 set_voltages : 1; | |
| }; | |
| #endif /* __PHY_DP_H_ */ |