1  /* SPDX-License-Identifier: MIT */
2  #ifndef __NVBIOS_EXTDEV_H__
3  #define __NVBIOS_EXTDEV_H__
4  enum nvbios_extdev_type {
5  	NVBIOS_EXTDEV_LM89		= 0x02,
6  	NVBIOS_EXTDEV_VT1103M		= 0x40,
7  	NVBIOS_EXTDEV_PX3540		= 0x41,
8  	NVBIOS_EXTDEV_VT1105M		= 0x42, /* or close enough... */
9  	NVBIOS_EXTDEV_INA219		= 0x4c,
10  	NVBIOS_EXTDEV_INA209		= 0x4d,
11  	NVBIOS_EXTDEV_INA3221		= 0x4e,
12  	NVBIOS_EXTDEV_ADT7473		= 0x70, /* can also be a LM64 */
13  	NVBIOS_EXTDEV_HDCP_EEPROM	= 0x90,
14  	NVBIOS_EXTDEV_NONE		= 0xff,
15  };
16  
17  struct nvbios_extdev_func {
18  	u8 type;
19  	u8 addr;
20  	u8 bus;
21  };
22  
23  int
24  nvbios_extdev_parse(struct nvkm_bios *, int, struct nvbios_extdev_func *);
25  
26  int
27  nvbios_extdev_find(struct nvkm_bios *, enum nvbios_extdev_type,
28  		   struct nvbios_extdev_func *);
29  
30  bool nvbios_extdev_skip_probe(struct nvkm_bios *);
31  #endif
32