summaryrefslogtreecommitdiff
path: root/tools/src/i2c.h
blob: cbfc119b62dc7c1affe31f059607067074cebe81 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/* SPDX-License-Identifier: MIT */

#ifndef I2C_H
#define I2C_H

#include "types.h"

typedef struct i2c_dev i2c_dev_t;

i2c_dev_t *i2c_init(const char *adt_node);
void i2c_shutdown(i2c_dev_t *dev);

int i2c_smbus_read(i2c_dev_t *dev, u8 addr, u8 reg, u8 *bfr, size_t len);
int i2c_smbus_write(i2c_dev_t *dev, u8 addr, u8 reg, const u8 *bfr, size_t len);

int i2c_smbus_read32(i2c_dev_t *dev, u8 addr, u8 reg, u32 *val);
int i2c_smbus_write32(i2c_dev_t *dev, u8 addr, u8 reg, u32 val);

int i2c_smbus_read16(i2c_dev_t *dev, u8 addr, u8 reg, u16 *val);
int i2c_smbus_read8(i2c_dev_t *dev, u8 addr, u8 reg, u8 *val);

#endif