Home | History | Annotate | Line # | Download | only in bios
      1 /*	$NetBSD: i2c.h,v 1.3 2021/12/18 23:45:33 riastradh Exp $	*/
      2 
      3 /* SPDX-License-Identifier: MIT */
      4 #ifndef __NVBIOS_I2C_H__
      5 #define __NVBIOS_I2C_H__
      6 enum dcb_i2c_type {
      7 	/* matches bios type field prior to ccb 4.1 */
      8 	DCB_I2C_NV04_BIT = 0x00,
      9 	DCB_I2C_NV4E_BIT = 0x04,
     10 	DCB_I2C_NVIO_BIT = 0x05,
     11 	DCB_I2C_NVIO_AUX = 0x06,
     12 	/* made up - mostly */
     13 	DCB_I2C_PMGR     = 0x80,
     14 	DCB_I2C_UNUSED   = 0xff
     15 };
     16 
     17 struct dcb_i2c_entry {
     18 	enum dcb_i2c_type type;
     19 	u8 drive;
     20 	u8 sense;
     21 	u8 share;
     22 	u8 auxch;
     23 };
     24 
     25 u16 dcb_i2c_table(struct nvkm_bios *, u8 *ver, u8 *hdr, u8 *cnt, u8 *len);
     26 u16 dcb_i2c_entry(struct nvkm_bios *, u8 index, u8 *ver, u8 *len);
     27 int dcb_i2c_parse(struct nvkm_bios *, u8 index, struct dcb_i2c_entry *);
     28 #endif
     29