xref: /linux/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/i2c.h (revision 2ba9268dd603d23e17643437b2246acb6844953b)
1 #ifndef __NVBIOS_I2C_H__
2 #define __NVBIOS_I2C_H__
3 enum dcb_i2c_type {
4 	/* matches bios type field prior to ccb 4.1 */
5 	DCB_I2C_NV04_BIT = 0x00,
6 	DCB_I2C_NV4E_BIT = 0x04,
7 	DCB_I2C_NVIO_BIT = 0x05,
8 	DCB_I2C_NVIO_AUX = 0x06,
9 	/* made up - mostly */
10 	DCB_I2C_PMGR     = 0x80,
11 	DCB_I2C_UNUSED   = 0xff
12 };
13 
14 struct dcb_i2c_entry {
15 	enum dcb_i2c_type type;
16 	u8 drive;
17 	u8 sense;
18 	u8 share;
19 	u8 auxch;
20 };
21 
22 u16 dcb_i2c_table(struct nvkm_bios *, u8 *ver, u8 *hdr, u8 *cnt, u8 *len);
23 u16 dcb_i2c_entry(struct nvkm_bios *, u8 index, u8 *ver, u8 *len);
24 int dcb_i2c_parse(struct nvkm_bios *, u8 index, struct dcb_i2c_entry *);
25 #endif
26