45 #ifndef __DEV_I2C_BUS_HH__
46 #define __DEV_I2C_BUS_HH__
51 #include "params/I2CBus.hh"
154 #endif // __DEV_I2C_BUS_HH__
std::map< uint8_t, I2CDevice * > devices
All the slave i2c devices that are connected to this bus.
enum I2CState state
State used by I2CBus::write to determine what stage of an i2c transmission it is currently in...
uint8_t i2cAddr
Key used to access a device in the slave devices map.
bool isClockSet(PacketPtr pkt) const
Clock set check.
static const int SB_CONTROLS
Read [and Set] serial control bits: Bit [0] is SCL Bit [1] is SDA.
uint8_t message
8-bit buffer used to send and receive messages bit by bit.
uint64_t Tick
Tick count type.
I2CBus(const I2CBusParams *p)
4KB - see e.g.
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.
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...
void unserialize(CheckpointIn &cp) override
Unserialize an object.
A Packet is used to encapsulate a transfer between two objects in the memory system (e...
int currBit
Order of the bit of the current message that is being sent or received (0 - 7).
bool isEnd(PacketPtr pkt) const
i2c end signal check
std::ostream CheckpointOut
static const int SB_CONTROLC
Clear control bits.
void serialize(CheckpointOut &cp) const override
Serialize an object.
uint8_t scl
I2C clock wire (0, 1).
bool isStart(PacketPtr pkt) const
i2c start signal check
uint8_t sda
I2C data wire (0, 1)