1 /* SPDX-License-Identifier: MIT */
2 #ifndef __NVBIOS_CONN_H__
3 #define __NVBIOS_CONN_H__
4 enum dcb_connector_type {
5 	DCB_CONNECTOR_VGA = 0x00,
6 	DCB_CONNECTOR_TV_0 = 0x10,
7 	DCB_CONNECTOR_TV_1 = 0x11,
8 	DCB_CONNECTOR_TV_3 = 0x13,
9 	DCB_CONNECTOR_DVI_I = 0x30,
10 	DCB_CONNECTOR_DVI_D = 0x31,
11 	DCB_CONNECTOR_DMS59_0 = 0x38,
12 	DCB_CONNECTOR_DMS59_1 = 0x39,
13 	DCB_CONNECTOR_LVDS = 0x40,
14 	DCB_CONNECTOR_LVDS_SPWG = 0x41,
15 	DCB_CONNECTOR_DP = 0x46,
16 	DCB_CONNECTOR_eDP = 0x47,
17 	DCB_CONNECTOR_mDP = 0x48,
18 	DCB_CONNECTOR_HDMI_0 = 0x60,
19 	DCB_CONNECTOR_HDMI_1 = 0x61,
20 	DCB_CONNECTOR_HDMI_C = 0x63,
21 	DCB_CONNECTOR_DMS59_DP0 = 0x64,
22 	DCB_CONNECTOR_DMS59_DP1 = 0x65,
23 	DCB_CONNECTOR_WFD	= 0x70,
24 	DCB_CONNECTOR_USB_C = 0x71,
25 	DCB_CONNECTOR_NONE = 0xff
26 };
27 
28 struct nvbios_connT {
29 };
30 
31 u32 nvbios_connTe(struct nvkm_bios *bios, u8 *ver, u8 *hdr, u8 *cnt, u8 *len);
32 u32 nvbios_connTp(struct nvkm_bios *bios, u8 *ver, u8 *hdr, u8 *cnt, u8 *len,
33 		  struct nvbios_connT *info);
34 
35 struct nvbios_connE {
36 	u8 type;
37 	u8 location;
38 	u8 hpd;
39 	u8 dp;
40 	u8 di;
41 	u8 sr;
42 	u8 lcdid;
43 };
44 
45 u32 nvbios_connEe(struct nvkm_bios *bios, u8 idx, u8 *ver, u8 *hdr);
46 u32 nvbios_connEp(struct nvkm_bios *bios, u8 idx, u8 *ver, u8 *hdr,
47 		  struct nvbios_connE *info);
48 #endif
49