Go to the documentation of this file.
43 #ifndef __DEV_I2C_BUS_HH__
44 #define __DEV_I2C_BUS_HH__
49 #include "params/I2CBus.hh"
152 #endif // __DEV_I2C_BUS_HH__
void unserialize(CheckpointIn &cp) override
Unserialize an object.
uint8_t message
8-bit buffer used to send and receive messages bit by bit.
uint8_t i2cAddr
Key used to access a device in the slave devices map.
uint8_t scl
I2C clock wire (0, 1).
void updateSignals(PacketPtr pkt)
Update data (sda) and clock (scl) to match any transitions specified by pkt.
Tick read(PacketPtr pkt) override
Reads will always be to SB_CONTROLS.
uint8_t sda
I2C data wire (0, 1)
int currBit
Order of the bit of the current message that is being sent or received (0 - 7).
uint64_t Tick
Tick count type.
I2CBus(const I2CBusParams *p)
4KB - see e.g.
enum I2CState state
State used by I2CBus::write to determine what stage of an i2c transmission it is currently in.
bool isStart(PacketPtr pkt) const
i2c start signal check
void serialize(CheckpointOut &cp) const override
Serialize an object.
static const int SB_CONTROLS
Read [and Set] serial control bits: Bit [0] is SCL Bit [1] is SDA.
bool isEnd(PacketPtr pkt) const
i2c end signal check
Tick write(PacketPtr pkt) override
The default i2c bus driver used by the realview pbx board writes to this device one bit at a time.
static const int SB_CONTROLC
Clear control bits.
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
std::ostream CheckpointOut
std::map< uint8_t, I2CDevice * > devices
All the slave i2c devices that are connected to this bus.
bool isClockSet(PacketPtr pkt) const
Clock set check.
Generated on Wed Sep 30 2020 14:02:11 for gem5 by doxygen 1.8.17