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