Lines Matching full:i3c

2  * Mock I3C Device
6 * The mock I3C device can be thought of as a simple EEPROM. It has a buffer,
7 * and the pointer in the buffer is reset to 0 on an I3C STOP.
16 * It also supports a handful of CCCs that are typically used when probing I3C
33 #include "hw/i3c/i3c.h"
34 #include "hw/i3c/mock-target.h"
53 static uint32_t mock_target_rx(I3CTarget *i3c, uint8_t *data, in mock_target_rx() argument
56 MockTargetState *s = MOCK_TARGET(i3c); in mock_target_rx()
83 static int mock_target_tx(I3CTarget *i3c, const uint8_t *data, in mock_target_tx() argument
86 MockTargetState *s = MOCK_TARGET(i3c); in mock_target_tx()
111 static int mock_target_event(I3CTarget *i3c, enum I3CEvent event) in mock_target_event() argument
113 MockTargetState *s = MOCK_TARGET(i3c); in mock_target_event()
126 static int mock_target_handle_ccc_read(I3CTarget *i3c, uint8_t *data, in mock_target_handle_ccc_read() argument
129 MockTargetState *s = MOCK_TARGET(i3c); in mock_target_handle_ccc_read()
133 /* Default data rate for I3C. */ in mock_target_handle_ccc_read()
144 /* Support I3C version 1.1.x, no other features. */ in mock_target_handle_ccc_read()
187 static int mock_target_handle_ccc_write(I3CTarget *i3c, const uint8_t *data, in mock_target_handle_ccc_write() argument
191 MockTargetState *s = MOCK_TARGET(i3c); in mock_target_handle_ccc_write()
236 trace_mock_target_do_ibi(s->i3c.address, true); in mock_target_do_ibi()
237 int nack = i3c_target_send_ibi(&s->i3c, s->i3c.address, /*is_recv=*/true); in mock_target_do_ibi()
251 static void mock_target_reset(I3CTarget *i3c) in mock_target_reset() argument
253 MockTargetState *s = MOCK_TARGET(i3c); in mock_target_reset()
261 mock_target_reset(&s->i3c); in mock_target_realize()