Lines Matching full:i2c
2 * QTest i.MX I2C driver
21 #include "i2c.h"
26 #include "hw/i2c/imx_i2c.h"
40 static void imx_i2c_send(I2CAdapter *i2c, uint8_t addr, in imx_i2c_send() argument
43 IMXI2C *s = container_of(i2c, IMXI2C, parent); in imx_i2c_send()
59 qtest_writeb(i2c->qts, s->addr + I2CR_ADDR, data); in imx_i2c_send()
60 status = qtest_readb(i2c->qts, s->addr + I2SR_ADDR); in imx_i2c_send()
65 status = qtest_readb(i2c->qts, s->addr + I2SR_ADDR); in imx_i2c_send()
70 qtest_writeb(i2c->qts, s->addr + I2SR_ADDR, 0); in imx_i2c_send()
71 status = qtest_readb(i2c->qts, s->addr + I2SR_ADDR); in imx_i2c_send()
76 status = qtest_readb(i2c->qts, s->addr + I2SR_ADDR); in imx_i2c_send()
80 qtest_writeb(i2c->qts, s->addr + I2DR_ADDR, buf[size]); in imx_i2c_send()
81 status = qtest_readb(i2c->qts, s->addr + I2SR_ADDR); in imx_i2c_send()
86 qtest_writeb(i2c->qts, s->addr + I2SR_ADDR, 0); in imx_i2c_send()
87 status = qtest_readb(i2c->qts, s->addr + I2SR_ADDR); in imx_i2c_send()
95 qtest_writeb(i2c->qts, s->addr + I2CR_ADDR, data); in imx_i2c_send()
96 status = qtest_readb(i2c->qts, s->addr + I2SR_ADDR); in imx_i2c_send()
100 static void imx_i2c_recv(I2CAdapter *i2c, uint8_t addr, in imx_i2c_recv() argument
103 IMXI2C *s = container_of(i2c, IMXI2C, parent); in imx_i2c_recv()
119 qtest_writeb(i2c->qts, s->addr + I2CR_ADDR, data); in imx_i2c_recv()
120 status = qtest_readb(i2c->qts, s->addr + I2SR_ADDR); in imx_i2c_recv()
125 status = qtest_readb(i2c->qts, s->addr + I2SR_ADDR); in imx_i2c_recv()
130 qtest_writeb(i2c->qts, s->addr + I2SR_ADDR, 0); in imx_i2c_recv()
131 status = qtest_readb(i2c->qts, s->addr + I2SR_ADDR); in imx_i2c_recv()
140 qtest_writeb(i2c->qts, s->addr + I2CR_ADDR, data); in imx_i2c_recv()
141 status = qtest_readb(i2c->qts, s->addr + I2SR_ADDR); in imx_i2c_recv()
145 qtest_readb(i2c->qts, s->addr + I2DR_ADDR); in imx_i2c_recv()
146 status = qtest_readb(i2c->qts, s->addr + I2SR_ADDR); in imx_i2c_recv()
150 qtest_writeb(i2c->qts, s->addr + I2SR_ADDR, 0); in imx_i2c_recv()
151 status = qtest_readb(i2c->qts, s->addr + I2SR_ADDR); in imx_i2c_recv()
156 status = qtest_readb(i2c->qts, s->addr + I2SR_ADDR); in imx_i2c_recv()
166 qtest_writeb(i2c->qts, s->addr + I2CR_ADDR, data); in imx_i2c_recv()
169 buf[size] = qtest_readb(i2c->qts, s->addr + I2DR_ADDR); in imx_i2c_recv()
172 status = qtest_readb(i2c->qts, s->addr + I2SR_ADDR); in imx_i2c_recv()
176 qtest_writeb(i2c->qts, s->addr + I2SR_ADDR, 0); in imx_i2c_recv()
179 status = qtest_readb(i2c->qts, s->addr + I2SR_ADDR); in imx_i2c_recv()
185 status = qtest_readb(i2c->qts, s->addr + I2SR_ADDR); in imx_i2c_recv()
192 if (!g_strcmp0(interface, "i2c-bus")) { in imx_i2c_get_driver()
195 fprintf(stderr, "%s not present in imx-i2c\n", interface); in imx_i2c_get_driver()
213 qos_node_produces(TYPE_IMX_I2C, "i2c-bus"); in imx_i2c_register_nodes()