xref: /qemu/include/hw/display/dpcd.h (revision 4dad0a9aa818698e0735c8352bf7925a1660df6f)
1e27ed1bdSKONRAD Frederic /*
2e27ed1bdSKONRAD Frederic  * dpcd.h
3e27ed1bdSKONRAD Frederic  *
4e27ed1bdSKONRAD Frederic  *  Copyright (C)2015 : GreenSocs Ltd
5e27ed1bdSKONRAD Frederic  *      http://www.greensocs.com/ , email: info@greensocs.com
6e27ed1bdSKONRAD Frederic  *
7e27ed1bdSKONRAD Frederic  *  Developed by :
8e27ed1bdSKONRAD Frederic  *  Frederic Konrad   <fred.konrad@greensocs.com>
9e27ed1bdSKONRAD Frederic  *
10e27ed1bdSKONRAD Frederic  * This program is free software; you can redistribute it and/or modify
11e27ed1bdSKONRAD Frederic  * it under the terms of the GNU General Public License as published by
12e27ed1bdSKONRAD Frederic  * the Free Software Foundation, either version 2 of the License, or
13e27ed1bdSKONRAD Frederic  * (at your option)any later version.
14e27ed1bdSKONRAD Frederic  *
15e27ed1bdSKONRAD Frederic  * This program is distributed in the hope that it will be useful,
16e27ed1bdSKONRAD Frederic  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17e27ed1bdSKONRAD Frederic  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18e27ed1bdSKONRAD Frederic  * GNU General Public License for more details.
19e27ed1bdSKONRAD Frederic  *
20e27ed1bdSKONRAD Frederic  * You should have received a copy of the GNU General Public License along
21e27ed1bdSKONRAD Frederic  * with this program; if not, see <http://www.gnu.org/licenses/>.
22e27ed1bdSKONRAD Frederic  *
23e27ed1bdSKONRAD Frederic  */
24e27ed1bdSKONRAD Frederic 
25e27ed1bdSKONRAD Frederic #ifndef DPCD_H
26e27ed1bdSKONRAD Frederic #define DPCD_H
27db1015e9SEduardo Habkost #include "qom/object.h"
28e27ed1bdSKONRAD Frederic 
29e27ed1bdSKONRAD Frederic 
30e27ed1bdSKONRAD Frederic #define TYPE_DPCD "dpcd"
31*8063396bSEduardo Habkost OBJECT_DECLARE_SIMPLE_TYPE(DPCDState, DPCD)
32e27ed1bdSKONRAD Frederic 
33e27ed1bdSKONRAD Frederic /* DCPD Revision. */
34e27ed1bdSKONRAD Frederic #define DPCD_REVISION                           0x00
35e27ed1bdSKONRAD Frederic #define DPCD_REV_1_0                            0x10
36e27ed1bdSKONRAD Frederic #define DPCD_REV_1_1                            0x11
37e27ed1bdSKONRAD Frederic 
38e27ed1bdSKONRAD Frederic /* DCPD Max Link Rate. */
39e27ed1bdSKONRAD Frederic #define DPCD_MAX_LINK_RATE                      0x01
40e27ed1bdSKONRAD Frederic #define DPCD_1_62GBPS                           0x06
41e27ed1bdSKONRAD Frederic #define DPCD_2_7GBPS                            0x0A
42e27ed1bdSKONRAD Frederic #define DPCD_5_4GBPS                            0x14
43e27ed1bdSKONRAD Frederic 
44e27ed1bdSKONRAD Frederic #define DPCD_MAX_LANE_COUNT                     0x02
45e27ed1bdSKONRAD Frederic #define DPCD_ONE_LANE                           0x01
46e27ed1bdSKONRAD Frederic #define DPCD_TWO_LANES                          0x02
47e27ed1bdSKONRAD Frederic #define DPCD_FOUR_LANES                         0x04
48e27ed1bdSKONRAD Frederic 
49e27ed1bdSKONRAD Frederic /* DCPD Max down spread. */
50e27ed1bdSKONRAD Frederic #define DPCD_UP_TO_0_5                          0x01
51e27ed1bdSKONRAD Frederic #define DPCD_NO_AUX_HANDSHAKE_LINK_TRAINING     0x40
52e27ed1bdSKONRAD Frederic 
53e27ed1bdSKONRAD Frederic /* DCPD Downstream port type. */
54e27ed1bdSKONRAD Frederic #define DPCD_DISPLAY_PORT                       0x00
55e27ed1bdSKONRAD Frederic #define DPCD_ANALOG                             0x02
56e27ed1bdSKONRAD Frederic #define DPCD_DVI_HDMI                           0x04
57e27ed1bdSKONRAD Frederic #define DPCD_OTHER                              0x06
58e27ed1bdSKONRAD Frederic 
59e27ed1bdSKONRAD Frederic /* DPCD Format conversion. */
60e27ed1bdSKONRAD Frederic #define DPCD_FORMAT_CONVERSION                  0x08
61e27ed1bdSKONRAD Frederic 
62e27ed1bdSKONRAD Frederic /* Main link channel coding. */
63e27ed1bdSKONRAD Frederic #define DPCD_ANSI_8B_10B                        0x01
64e27ed1bdSKONRAD Frederic 
65e27ed1bdSKONRAD Frederic /* Down stream port count. */
66e27ed1bdSKONRAD Frederic #define DPCD_OUI_SUPPORTED                      0x80
67e27ed1bdSKONRAD Frederic 
68e27ed1bdSKONRAD Frederic /* Receiver port capability. */
69e27ed1bdSKONRAD Frederic #define DPCD_RECEIVE_PORT0_CAP_0                0x08
70e27ed1bdSKONRAD Frederic #define DPCD_RECEIVE_PORT0_CAP_1                0x09
71e27ed1bdSKONRAD Frederic #define DPCD_EDID_PRESENT                       0x02
72e27ed1bdSKONRAD Frederic #define DPCD_ASSOCIATED_TO_PRECEDING_PORT       0x04
73e27ed1bdSKONRAD Frederic 
74e27ed1bdSKONRAD Frederic /* Down stream port capability. */
75e27ed1bdSKONRAD Frederic #define DPCD_CAP_DISPLAY_PORT                   0x000
76e27ed1bdSKONRAD Frederic #define DPCD_CAP_ANALOG_VGA                     0x001
77e27ed1bdSKONRAD Frederic #define DPCD_CAP_DVI                            0x002
78e27ed1bdSKONRAD Frederic #define DPCD_CAP_HDMI                           0x003
79e27ed1bdSKONRAD Frederic #define DPCD_CAP_OTHER                          0x100
80e27ed1bdSKONRAD Frederic 
81e27ed1bdSKONRAD Frederic #define DPCD_LANE0_1_STATUS                     0x202
82e27ed1bdSKONRAD Frederic #define DPCD_LANE0_CR_DONE                      (1 << 0)
83e27ed1bdSKONRAD Frederic #define DPCD_LANE0_CHANNEL_EQ_DONE              (1 << 1)
84e27ed1bdSKONRAD Frederic #define DPCD_LANE0_SYMBOL_LOCKED                (1 << 2)
85e27ed1bdSKONRAD Frederic #define DPCD_LANE1_CR_DONE                      (1 << 4)
86e27ed1bdSKONRAD Frederic #define DPCD_LANE1_CHANNEL_EQ_DONE              (1 << 5)
87e27ed1bdSKONRAD Frederic #define DPCD_LANE1_SYMBOL_LOCKED                (1 << 6)
88e27ed1bdSKONRAD Frederic 
89e27ed1bdSKONRAD Frederic #define DPCD_LANE2_3_STATUS                     0x203
90e27ed1bdSKONRAD Frederic #define DPCD_LANE2_CR_DONE                      (1 << 0)
91e27ed1bdSKONRAD Frederic #define DPCD_LANE2_CHANNEL_EQ_DONE              (1 << 1)
92e27ed1bdSKONRAD Frederic #define DPCD_LANE2_SYMBOL_LOCKED                (1 << 2)
93e27ed1bdSKONRAD Frederic #define DPCD_LANE3_CR_DONE                      (1 << 4)
94e27ed1bdSKONRAD Frederic #define DPCD_LANE3_CHANNEL_EQ_DONE              (1 << 5)
95e27ed1bdSKONRAD Frederic #define DPCD_LANE3_SYMBOL_LOCKED                (1 << 6)
96e27ed1bdSKONRAD Frederic 
97e27ed1bdSKONRAD Frederic #define DPCD_LANE_ALIGN_STATUS_UPDATED          0x204
98e27ed1bdSKONRAD Frederic #define DPCD_INTERLANE_ALIGN_DONE               0x01
99e27ed1bdSKONRAD Frederic #define DPCD_DOWNSTREAM_PORT_STATUS_CHANGED     0x40
100e27ed1bdSKONRAD Frederic #define DPCD_LINK_STATUS_UPDATED                0x80
101e27ed1bdSKONRAD Frederic 
102e27ed1bdSKONRAD Frederic #define DPCD_SINK_STATUS                        0x205
103e27ed1bdSKONRAD Frederic #define DPCD_RECEIVE_PORT_0_STATUS              0x01
104e27ed1bdSKONRAD Frederic 
105175de524SMarkus Armbruster #endif /* DPCD_H */
106