Path: blob/master/drivers/gpu/drm/amd/display/include/dpcd_defs.h
26535 views
/*1* Copyright 2012-15 Advanced Micro Devices, Inc.2*3* Permission is hereby granted, free of charge, to any person obtaining a4* copy of this software and associated documentation files (the "Software"),5* to deal in the Software without restriction, including without limitation6* the rights to use, copy, modify, merge, publish, distribute, sublicense,7* and/or sell copies of the Software, and to permit persons to whom the8* Software is furnished to do so, subject to the following conditions:9*10* The above copyright notice and this permission notice shall be included in11* all copies or substantial portions of the Software.12*13* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR14* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,15* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL16* THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR17* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,18* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR19* OTHER DEALINGS IN THE SOFTWARE.20*21* Authors: AMD22*23*/2425#ifndef __DAL_DPCD_DEFS_H__26#define __DAL_DPCD_DEFS_H__2728#include <drm/display/drm_dp_helper.h>29#ifndef DP_SINK_HW_REVISION_START // can remove this once the define gets into linux drm_dp_helper.h30#define DP_SINK_HW_REVISION_START 0x40931#endif3233enum dpcd_revision {34DPCD_REV_10 = 0x10,35DPCD_REV_11 = 0x11,36DPCD_REV_12 = 0x12,37DPCD_REV_13 = 0x13,38DPCD_REV_14 = 0x1439};4041/* these are the types stored at DOWNSTREAMPORT_PRESENT */42enum dpcd_downstream_port_type {43DOWNSTREAM_DP = 0,44DOWNSTREAM_VGA,45DOWNSTREAM_DVI_HDMI_DP_PLUS_PLUS,/* DVI, HDMI, DP++ */46DOWNSTREAM_NONDDC /* has no EDID (TV,CV) */47};4849enum dpcd_link_test_patterns {50LINK_TEST_PATTERN_NONE = 0,51LINK_TEST_PATTERN_COLOR_RAMP,52LINK_TEST_PATTERN_VERTICAL_BARS,53LINK_TEST_PATTERN_COLOR_SQUARES54};5556enum dpcd_test_color_format {57TEST_COLOR_FORMAT_RGB = 0,58TEST_COLOR_FORMAT_YCBCR422,59TEST_COLOR_FORMAT_YCBCR44460};6162enum dpcd_test_bit_depth {63TEST_BIT_DEPTH_6 = 0,64TEST_BIT_DEPTH_8,65TEST_BIT_DEPTH_10,66TEST_BIT_DEPTH_12,67TEST_BIT_DEPTH_1668};6970/* PHY (encoder) test patterns71The order of test patterns follows DPCD register PHY_TEST_PATTERN (0x248)72*/73enum dpcd_phy_test_patterns {74PHY_TEST_PATTERN_NONE = 0,75PHY_TEST_PATTERN_D10_2,76PHY_TEST_PATTERN_SYMBOL_ERROR,77PHY_TEST_PATTERN_PRBS7,78PHY_TEST_PATTERN_80BIT_CUSTOM,/* For DP1.2 only */79PHY_TEST_PATTERN_CP2520_1,80PHY_TEST_PATTERN_CP2520_2,81PHY_TEST_PATTERN_CP2520_3, /* same as TPS4 */82PHY_TEST_PATTERN_128b_132b_TPS1 = 0x8,83PHY_TEST_PATTERN_128b_132b_TPS2 = 0x10,84PHY_TEST_PATTERN_PRBS9 = 0x18,85PHY_TEST_PATTERN_PRBS11 = 0x20,86PHY_TEST_PATTERN_PRBS15 = 0x28,87PHY_TEST_PATTERN_PRBS23 = 0x30,88PHY_TEST_PATTERN_PRBS31 = 0x38,89PHY_TEST_PATTERN_264BIT_CUSTOM = 0x40,90PHY_TEST_PATTERN_SQUARE = 0x48,91PHY_TEST_PATTERN_SQUARE_PRESHOOT_DISABLED = 0x49,92PHY_TEST_PATTERN_SQUARE_DEEMPHASIS_DISABLED = 0x4A,93PHY_TEST_PATTERN_SQUARE_PRESHOOT_DEEMPHASIS_DISABLED = 0x4B,94};9596enum dpcd_test_dyn_range {97TEST_DYN_RANGE_VESA = 0,98TEST_DYN_RANGE_CEA99};100101enum dpcd_audio_test_pattern {102AUDIO_TEST_PATTERN_OPERATOR_DEFINED = 0,/* direct HW translation */103AUDIO_TEST_PATTERN_SAWTOOTH104};105106enum dpcd_audio_sampling_rate {107AUDIO_SAMPLING_RATE_32KHZ = 0,/* direct HW translation */108AUDIO_SAMPLING_RATE_44_1KHZ,109AUDIO_SAMPLING_RATE_48KHZ,110AUDIO_SAMPLING_RATE_88_2KHZ,111AUDIO_SAMPLING_RATE_96KHZ,112AUDIO_SAMPLING_RATE_176_4KHZ,113AUDIO_SAMPLING_RATE_192KHZ114};115116enum dpcd_audio_channels {117AUDIO_CHANNELS_1 = 0,/* direct HW translation */118AUDIO_CHANNELS_2,119AUDIO_CHANNELS_3,120AUDIO_CHANNELS_4,121AUDIO_CHANNELS_5,122AUDIO_CHANNELS_6,123AUDIO_CHANNELS_7,124AUDIO_CHANNELS_8,125126AUDIO_CHANNELS_COUNT127};128129enum dpcd_audio_test_pattern_periods {130DPCD_AUDIO_TEST_PATTERN_PERIOD_NOTUSED = 0,/* direct HW translation */131DPCD_AUDIO_TEST_PATTERN_PERIOD_3,132DPCD_AUDIO_TEST_PATTERN_PERIOD_6,133DPCD_AUDIO_TEST_PATTERN_PERIOD_12,134DPCD_AUDIO_TEST_PATTERN_PERIOD_24,135DPCD_AUDIO_TEST_PATTERN_PERIOD_48,136DPCD_AUDIO_TEST_PATTERN_PERIOD_96,137DPCD_AUDIO_TEST_PATTERN_PERIOD_192,138DPCD_AUDIO_TEST_PATTERN_PERIOD_384,139DPCD_AUDIO_TEST_PATTERN_PERIOD_768,140DPCD_AUDIO_TEST_PATTERN_PERIOD_1536141};142143/* This enum is for programming DPCD TRAINING_PATTERN_SET */144enum dpcd_training_patterns {145DPCD_TRAINING_PATTERN_VIDEOIDLE = 0,/* direct HW translation! */146DPCD_TRAINING_PATTERN_1,147DPCD_TRAINING_PATTERN_2,148DPCD_TRAINING_PATTERN_3,149DPCD_TRAINING_PATTERN_4 = 7,150DPCD_128b_132b_TPS1 = 1,151DPCD_128b_132b_TPS2 = 2,152DPCD_128b_132b_TPS2_CDS = 3,153};154155/* This enum is for use with PsrSinkPsrStatus.bits.sinkSelfRefreshStatus156It defines the possible PSR states. */157enum dpcd_psr_sink_states {158PSR_SINK_STATE_INACTIVE = 0,159PSR_SINK_STATE_ACTIVE_CAPTURE_DISPLAY_ON_SOURCE_TIMING = 1,160PSR_SINK_STATE_ACTIVE_DISPLAY_FROM_SINK_RFB = 2,161PSR_SINK_STATE_ACTIVE_CAPTURE_DISPLAY_ON_SINK_TIMING = 3,162PSR_SINK_STATE_ACTIVE_CAPTURE_TIMING_RESYNC = 4,163PSR_SINK_STATE_SINK_INTERNAL_ERROR = 7,164};165166#define DP_SOURCE_SEQUENCE 0x30C167#define DP_SOURCE_TABLE_REVISION 0x310168#define DP_SOURCE_PAYLOAD_SIZE 0x311169#define DP_SOURCE_SINK_CAP 0x317170#define DP_SOURCE_BACKLIGHT_LEVEL 0x320171#define DP_SOURCE_BACKLIGHT_CURRENT_PEAK 0x326172#define DP_SOURCE_BACKLIGHT_CONTROL 0x32E173#define DP_SOURCE_BACKLIGHT_ENABLE 0x32F174#define DP_SOURCE_MINIMUM_HBLANK_SUPPORTED 0x340175#define DP_SINK_PR_REPLAY_STATUS 0x378176#define DP_SINK_PR_PIXEL_DEVIATION_PER_LINE 0x379177#define DP_SINK_PR_MAX_NUMBER_OF_DEVIATION_LINE 0x37A178#define DP_SINK_EMISSION_RATE 0x37E179180/* Remove once drm_dp_helper.h is updated upstream */181#ifndef DP_TOTAL_LTTPR_CNT182#define DP_TOTAL_LTTPR_CNT 0xF000A /* 2.1 */183#endif184185#endif /* __DAL_DPCD_DEFS_H__ */186187188