xref: /haiku/src/add-ons/accelerants/radeon_hd/connector.h (revision 3634f142352af2428aed187781fc9d75075e9140)
1 /*
2  * Copyright 2006-2011, Haiku, Inc. All Rights Reserved.
3  * Distributed under the terms of the MIT License.
4  *
5  * Authors:
6  *		Alexander von Gluck, kallisti5@unixzen.com
7  */
8 #ifndef RADEON_HD_CONNECTOR_H
9 #define RADEON_HD_CONNECTOR_H
10 
11 
12 #include <video_configuration.h>
13 
14 #include "accelerant.h"
15 
16 
17 // convert radeon connector to common connector type
18 const int kConnectorConvertLegacy[] = {
19 	VIDEO_CONNECTOR_UNKNOWN,
20 	VIDEO_CONNECTOR_VGA,
21 	VIDEO_CONNECTOR_DVII,
22 	VIDEO_CONNECTOR_DVID,
23 	VIDEO_CONNECTOR_DVIA,
24 	VIDEO_CONNECTOR_SVIDEO,
25 	VIDEO_CONNECTOR_COMPOSITE,
26 	VIDEO_CONNECTOR_LVDS,
27 	VIDEO_CONNECTOR_UNKNOWN, // DIGILink
28 	VIDEO_CONNECTOR_UNKNOWN, // SCART
29 	VIDEO_CONNECTOR_HDMIA,
30 	VIDEO_CONNECTOR_HDMIB,
31 	VIDEO_CONNECTOR_UNKNOWN,
32 	VIDEO_CONNECTOR_UNKNOWN,
33 	VIDEO_CONNECTOR_9DIN,    // CASE_1
34 	VIDEO_CONNECTOR_DP,
35 };
36 
37 // ObjectID.h CONNECTOR_OBJECT_ID_...
38 const int kConnectorConvert[] = {
39 	VIDEO_CONNECTOR_UNKNOWN,
40 	VIDEO_CONNECTOR_DVII,
41 	VIDEO_CONNECTOR_DVII,
42 	VIDEO_CONNECTOR_DVID,
43 	VIDEO_CONNECTOR_DVID,
44 	VIDEO_CONNECTOR_VGA,
45 	VIDEO_CONNECTOR_COMPOSITE,
46 	VIDEO_CONNECTOR_SVIDEO,
47 	VIDEO_CONNECTOR_UNKNOWN, // YPbPr
48 	VIDEO_CONNECTOR_UNKNOWN, // D_CONNECTOR
49 	VIDEO_CONNECTOR_9DIN,
50 	VIDEO_CONNECTOR_UNKNOWN, // SCART
51 	VIDEO_CONNECTOR_HDMIA,
52 	VIDEO_CONNECTOR_HDMIB,
53 	VIDEO_CONNECTOR_LVDS,
54 	VIDEO_CONNECTOR_9DIN,    // 7-pin din
55 	VIDEO_CONNECTOR_UNKNOWN, // PCIe?
56 	VIDEO_CONNECTOR_UNKNOWN, // Crossfire
57 	VIDEO_CONNECTOR_UNKNOWN, // HARDCODE_DVI
58 	VIDEO_CONNECTOR_DP,
59 	VIDEO_CONNECTOR_EDP,
60 	VIDEO_CONNECTOR_UNKNOWN, // MXM
61 	VIDEO_CONNECTOR_EDP,     // LVDS eDP
62 	VIDEO_CONNECTOR_USBC,
63 };
64 
65 
66 status_t gpio_populate();
67 bool connector_read_edid(uint32 connector, edid1_info* edid);
68 bool connector_read_mode_lvds(uint32 connectorIndex, display_mode* mode);
69 
70 status_t connector_probe();
71 status_t connector_probe_legacy();
72 bool connector_is_dp(uint32 connectorIndex);
73 void debug_connectors();
74 
75 uint16 connector_pick_atom_hpdid(uint32 connectorIndex);
76 
77 
78 #endif /* RADEON_HD_CONNECTOR_H */
79