2019-06-20 00:13:43 +00:00
|
|
|
/* SPDX-License-Identifier: MIT */
|
2012-07-10 04:36:38 +00:00
|
|
|
#ifndef __NVBIOS_I2C_H__
|
|
|
|
#define __NVBIOS_I2C_H__
|
|
|
|
enum dcb_i2c_type {
|
2014-08-18 22:20:26 +00:00
|
|
|
/* matches bios type field prior to ccb 4.1 */
|
|
|
|
DCB_I2C_NV04_BIT = 0x00,
|
|
|
|
DCB_I2C_NV4E_BIT = 0x04,
|
|
|
|
DCB_I2C_NVIO_BIT = 0x05,
|
|
|
|
DCB_I2C_NVIO_AUX = 0x06,
|
|
|
|
/* made up - mostly */
|
|
|
|
DCB_I2C_PMGR = 0x80,
|
|
|
|
DCB_I2C_UNUSED = 0xff
|
2012-07-10 04:36:38 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
struct dcb_i2c_entry {
|
|
|
|
enum dcb_i2c_type type;
|
|
|
|
u8 drive;
|
|
|
|
u8 sense;
|
2013-02-16 05:21:58 +00:00
|
|
|
u8 share;
|
2014-08-18 22:14:08 +00:00
|
|
|
u8 auxch;
|
2012-07-10 04:36:38 +00:00
|
|
|
};
|
|
|
|
|
2015-01-14 04:40:03 +00:00
|
|
|
u16 dcb_i2c_table(struct nvkm_bios *, u8 *ver, u8 *hdr, u8 *cnt, u8 *len);
|
|
|
|
u16 dcb_i2c_entry(struct nvkm_bios *, u8 index, u8 *ver, u8 *len);
|
|
|
|
int dcb_i2c_parse(struct nvkm_bios *, u8 index, struct dcb_i2c_entry *);
|
2012-07-10 04:36:38 +00:00
|
|
|
#endif
|