Contents

doI2CRequest

Carry out an I2C request.

Declaration

virtual IOReturn doI2CRequest(
 UInt32 bus,
 struct IOI2CBusTiming *timing,
 struct IOI2CRequest *request );

Parameters

  • request:

    An IOI2CRequest structure. The request should be carried out synchronously if the completion routine is NULL, otherwise it may optionally be carried out asynchronously. The completion routine should be called if supplied.

Return Value

an IOReturn code. If kIOReturnSuccces, the result of the transaction is returned in the requests result field.

Overview

IOFramebuffer subclasses may optionally implement this method to perform I2C bus requests on one of the buses they support. Alternatively they may implement the setDDCClock(), setDDCData(), readDDCClock(), readDDCData() methods and respond from getAttributeForConnection() to the kConnectionSupportsLLDDCSense attribute with success, in which case IOFramebuffer::doI2CRequest() will carry out a software implementation of I2C using the low level routines and conforming to the timing constraints passed in the timing parameter. Subclasses may pass timing parameters tuned for the specific bus, otherwise VESA DDC defaults will apply. @timing event Subclasses may pass timing parameters tuned for the specific bus, otherwise if NULL, VESA DDC defaults will apply.

See Also

Miscellaneous