xref: /qemu/tests/qtest/libqos/i2c.h (revision 5141d4158cf0dbdc13e42f175d1718d40b789f75)
1 /*
2  * I2C libqos
3  *
4  * Copyright (c) 2012 Andreas Färber
5  *
6  * This work is licensed under the terms of the GNU GPL, version 2 or later.
7  * See the COPYING file in the top-level directory.
8  */
9 #ifndef LIBQOS_I2C_H
10 #define LIBQOS_I2C_H
11 
12 #include "libqtest.h"
13 
14 typedef struct I2CAdapter I2CAdapter;
15 struct I2CAdapter {
16     void (*send)(I2CAdapter *adapter, uint8_t addr,
17                  const uint8_t *buf, uint16_t len);
18     void (*recv)(I2CAdapter *adapter, uint8_t addr,
19                  uint8_t *buf, uint16_t len);
20 
21     QTestState *qts;
22 };
23 
24 #define OMAP2_I2C_1_BASE 0x48070000
25 
26 void i2c_send(I2CAdapter *i2c, uint8_t addr,
27               const uint8_t *buf, uint16_t len);
28 void i2c_recv(I2CAdapter *i2c, uint8_t addr,
29               uint8_t *buf, uint16_t len);
30 
31 /* libi2c-omap.c */
32 I2CAdapter *omap_i2c_create(QTestState *qts, uint64_t addr);
33 
34 /* libi2c-imx.c */
35 I2CAdapter *imx_i2c_create(QTestState *qts, uint64_t addr);
36 
37 #endif
38