1#ifndef __NV50_I2C_H__ 2#define __NV50_I2C_H__ 3#include "priv.h" 4 5struct nv50_i2c_priv { 6 struct nvkm_i2c base; 7}; 8 9struct nv50_i2c_port { 10 struct nvkm_i2c_port base; 11 u32 addr; 12 u32 state; 13}; 14 15extern const u32 nv50_i2c_addr[]; 16extern const int nv50_i2c_addr_nr; 17int nv50_i2c_port_init(struct nvkm_object *); 18int nv50_i2c_sense_scl(struct nvkm_i2c_port *); 19int nv50_i2c_sense_sda(struct nvkm_i2c_port *); 20void nv50_i2c_drive_scl(struct nvkm_i2c_port *, int state); 21void nv50_i2c_drive_sda(struct nvkm_i2c_port *, int state); 22 23int g94_aux_port_ctor(struct nvkm_object *, struct nvkm_object *, 24 struct nvkm_oclass *, void *, u32, 25 struct nvkm_object **); 26void g94_i2c_acquire(struct nvkm_i2c_port *); 27void g94_i2c_release(struct nvkm_i2c_port *); 28 29int gf110_i2c_port_ctor(struct nvkm_object *, struct nvkm_object *, 30 struct nvkm_oclass *, void *, u32, 31 struct nvkm_object **); 32#endif 33