class FifosReg
Defined at line 1198 of file ../../src/devices/power/drivers/fusb302/registers.h
FIFOS (Transmit and Receive FIFOs)
This "register" is an I2C FIFO-based interface to the BMC PHY's internal
Tx (transmit) and Rx (receive) buffers, which are conceptually equivalent to
ring buffers.
Writing to this register enqueues data into the 48-byte transmit buffer.
Writing multiple bytes must be done without address auto-increment. The
driver is responsible for not issuing more writes when the buffer is full.
Reading from this register dequeues data from the 80-byte receive buffer.
Reading must be done without address auto-increment.
The Rev 5 datasheet is unclear as to whether it's possible to queue up
multiple messages (such as a GoodCRC and a control / data message) in the
transmit buffer. Experiments with a FUSB302BMPX indicate that this
optimization is not supported, and the chip may either silently drop one of
the two messages, or take a long time to carry out the I2C writes.
Rev 5 datasheet: Table 40 page 28
Public Members
field_tx_rx_token_1202
Public Methods
template <, >
SelfType & set_tx_rx_token (typename SelfType::ValueType val)
Rev 5 datasheet: Table 41 "Tokens used in FIFOs" ("FIFOs" should probably
be "TxFIFO") and Table 42 "Tokens used in RxFIFO", both on page 29.
Defined at line 1202 of file ../../src/devices/power/drivers/fusb302/registers.h
template <, >
typename SelfType::ValueType tx_rx_token ()
Rev 5 datasheet: Table 41 "Tokens used in FIFOs" ("FIFOs" should probably
be "TxFIFO") and Table 42 "Tokens used in RxFIFO", both on page 29.
Defined at line 1202 of file ../../src/devices/power/drivers/fusb302/registers.h
hwreg::I2cRegisterAddr<FifosReg> Get ()
Defined at line 1204 of file ../../src/devices/power/drivers/fusb302/registers.h
ReceiveTokenType AsReceiveTokenType (uint8_t rx_token)
Interprets a FIFO byte as a Rx (receiver) token.
This is not meaningful for bytes that represent message data.
Defined at line 1433 of file ../../src/devices/power/drivers/fusb302/registers.h