xref: /netbsd-src/sys/external/bsd/drm2/dist/drm/nouveau/include/nvkm/subdev/bios/extdev.h (revision 41ec02673d281bbb3d38e6c78504ce6e30c228c1)
1 /*	$NetBSD: extdev.h,v 1.3 2021/12/18 23:45:33 riastradh Exp $	*/
2 
3 /* SPDX-License-Identifier: MIT */
4 #ifndef __NVBIOS_EXTDEV_H__
5 #define __NVBIOS_EXTDEV_H__
6 enum nvbios_extdev_type {
7 	NVBIOS_EXTDEV_LM89		= 0x02,
8 	NVBIOS_EXTDEV_VT1103M		= 0x40,
9 	NVBIOS_EXTDEV_PX3540		= 0x41,
10 	NVBIOS_EXTDEV_VT1105M		= 0x42, /* or close enough... */
11 	NVBIOS_EXTDEV_INA219		= 0x4c,
12 	NVBIOS_EXTDEV_INA209		= 0x4d,
13 	NVBIOS_EXTDEV_INA3221		= 0x4e,
14 	NVBIOS_EXTDEV_ADT7473		= 0x70, /* can also be a LM64 */
15 	NVBIOS_EXTDEV_HDCP_EEPROM	= 0x90,
16 	NVBIOS_EXTDEV_NONE		= 0xff,
17 };
18 
19 struct nvbios_extdev_func {
20 	u8 type;
21 	u8 addr;
22 	u8 bus;
23 };
24 
25 int
26 nvbios_extdev_parse(struct nvkm_bios *, int, struct nvbios_extdev_func *);
27 
28 int
29 nvbios_extdev_find(struct nvkm_bios *, enum nvbios_extdev_type,
30 		   struct nvbios_extdev_func *);
31 
32 bool nvbios_extdev_skip_probe(struct nvkm_bios *);
33 #endif
34