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

Records