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