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