NVIDIA DriveOS Linux NSR SDK API Reference

7.0.3.0 Release
devblk_cdi_i2c.h File Reference

Go to the source code of this file.

Data Structures

struct  DevBlkCDII2CReg
 Defines the I2C address/data pair and an optional delay. More...
 
struct  DevBlkCDII2CRegList
 Defines the I2C register table to write to the device. More...
 
struct  DevBlkCDII2CRegListWritable
 Defines the I2C register table to read from the device. More...
 
struct  DevBlkCDII2CPgmrVerifyMaskList
 Defines the list of register verify masks. More...
 
struct  DevBlkCDII2CPgmrGoldenValue
 Defines mask and value pair for comparing readback data. More...
 
struct  DevBlkCDII2CPgmrGoldenValueList
 Defines the list of DevBlkCDII2CPgmrGoldenValue. More...
 
struct  DevBlkCDII2CPgmrPollingData
 Defines the structure to contain information related to polling read operation. More...
 

Macros

#define I2C_ARRAY_SIZE(x)   (uint32_t)(sizeof(x) / sizeof((x)[0]))
 Macro for determining the number of address/data pairs in a register table. More...
 
#define CDI_I2C_MAX_BATCH_SIZE   16U
 The maximum number of i2c commands for performing an I2C bulk read/write. More...
 
#define CDI_I2C_MASKED_VERIFY_MAX_ARRAY_SIZE   240U
 The maximum array size for register list, verify masks, and golden value arrays used in I2C Masked Verification APIs. More...
 

Typedefs

typedef voidDevBlkCDII2CPgmr
 An opaque handle for an I2C programmer object. More...
 
typedef NvMediaStatus(* DevBlkCDII2CWriteCb) (DevBlkCDIDevice const *const handle, uint8_t const *data, uint32_t len)
 i2c WRITE transactions callback function. More...
 
typedef NvMediaStatus(* DevBlkCDII2CReadCb) (DevBlkCDIDevice const *const handle, uint16_t address, uint8_t const *data, uint32_t len)
 i2c READ transactions callback function. More...
 
typedef NvMediaStatus(* DevBlkCDII2CSleepCb) (DevBlkCDIDevice const *const handle)
 Pre-sleep notification callback function. More...
 

Functions

DevBlkCDII2CPgmr DevBlkCDII2CPgmrCreate (DevBlkCDIDevice *handle, const uint8_t addrLength, const uint8_t dataLength)
 Creates an I2C Programmer to read/write I2C registers of a device. More...
 
void DevBlkCDII2CPgmrDestroy (DevBlkCDII2CPgmr i2cProgrammer)
 Destroys an I2C Programmer. More...
 
NvMediaStatus DevBlkCDII2CPgmrListenerReg (DevBlkCDII2CPgmr const i2cPrgmHandle, DevBlkCDIDevice const *const handle, DevBlkCDII2CWriteCb wrCallback, DevBlkCDII2CReadCb rdCallback, DevBlkCDII2CSleepCb sleepCallback)
 Register an i2c transactions listener. More...
 
NvMediaStatus DevBlkCDII2CPgmrWriteUint8 (DevBlkCDII2CPgmr i2cProgrammer, const uint16_t address, const uint8_t data)
 Writes 8-bit data to an I2C register. More...
 
NvMediaStatus DevBlkCDII2CPgmrWriteUint8Verify (DevBlkCDII2CPgmr i2cProgrammer, const uint16_t address, const uint8_t data)
 Writes 8-bit data to an I2C register along with I2C Readback Verification. More...
 
NvMediaStatus DevBlkCDII2CPgmrWriteUint8MaskedVerify (DevBlkCDII2CPgmr i2cProgrammer, uint16_t const address, uint8_t const data, uint8_t const verifyMask)
 Writes 8-bit data to an I2C register along with I2C Readback Masked Verification. More...
 
NvMediaStatus DevBlkCDII2CPgmrWriteUint16 (DevBlkCDII2CPgmr i2cProgrammer, const uint16_t address, const uint16_t data)
 Writes 16-bit data to an I2C register. More...
 
NvMediaStatus DevBlkCDII2CPgmrWriteBlock (DevBlkCDII2CPgmr const i2cProgrammer, uint16_t const address, uint8_t const *const data, uint16_t const dataLen)
 Writes an array to i2c device starting from a register. More...
 
NvMediaStatus DevBlkCDII2CPgmrWriteBlockVerify (DevBlkCDII2CPgmr const i2cProgrammer, uint16_t const address, uint8_t const *const data, uint16_t const dataLen)
 Writes a block of data to i2c device starting from a register along with I2C Readback Verification. More...
 
NvMediaStatus DevBlkCDII2CPgmrWriteUint16Verify (DevBlkCDII2CPgmr i2cProgrammer, const uint16_t address, const uint16_t data)
 Writes 16-bit data to an I2C register along with I2C Readback Verification. More...
 
NvMediaStatus DevBlkCDII2CPgmrReadUint8 (DevBlkCDII2CPgmr i2cProgrammer, const uint16_t address, uint8_t *data)
 Reads 8-bit data from an I2C register. More...
 
NvMediaStatus DevBlkCDII2CPgmrReadUint8WithGoldenValue (DevBlkCDII2CPgmr i2cProgrammer, uint16_t const address, uint8_t *data, DevBlkCDII2CPgmrGoldenValue const *const goldenValue)
 Reads 8-bit data from an I2C register and compares it with golden value. More...
 
NvMediaStatus DevBlkCDII2CPgmrReadUint8Verify (DevBlkCDII2CPgmr i2cProgrammer, const uint16_t address, uint8_t *data)
 Reads 8-bit data from an I2C register along with I2C Readback Verification. More...
 
NvMediaStatus DevBlkCDII2CPgmrReadUint8VerifyWithGoldenValue (DevBlkCDII2CPgmr i2cProgrammer, uint16_t const address, uint8_t *data, DevBlkCDII2CPgmrGoldenValue const *const goldenValue)
 Reads 8-bit data from an I2C register along with I2C Readback Verification, and also compares the data with golden value. More...
 
NvMediaStatus DevBlkCDII2CPgmrReadUint8MaskedVerify (DevBlkCDII2CPgmr i2cProgrammer, uint16_t const address, uint8_t *data, uint8_t const verifyMask)
 Reads 8-bit data from an I2C register along with I2C Readback Masked Verification. More...
 
NvMediaStatus DevBlkCDII2CPgmrReadUint8MaskedVerifyWithGoldenValue (DevBlkCDII2CPgmr i2cProgrammer, uint16_t const address, uint8_t *data, uint8_t const verifyMask, DevBlkCDII2CPgmrGoldenValue const *const goldenValue)
 Reads 8-bit data from an I2C register along with I2C Readback Masked Verification, and also compares the data with golden value. More...
 
NvMediaStatus DevBlkCDII2CPgmrPollReadUint8 (DevBlkCDII2CPgmr i2cProgrammer, const uint16_t address, uint8_t *data, DevBlkCDII2CPgmrPollingData const *const polling)
 Repeatedly reads 8-bit data from an I2C register until the data matches with exepected value or timeout. More...
 
NvMediaStatus DevBlkCDII2CPgmrReadUint16 (DevBlkCDII2CPgmr i2cProgrammer, const uint16_t address, uint16_t *data)
 Reads 16-bit data from an I2C register. More...
 
NvMediaStatus DevBlkCDII2CPgmrReadUint16WithGoldenValue (DevBlkCDII2CPgmr i2cProgrammer, uint16_t const address, uint16_t *data, DevBlkCDII2CPgmrGoldenValue const *const goldenValue)
 Reads 16-bit data from an I2C register and compares it with golden value. More...
 
NvMediaStatus DevBlkCDII2CPgmrReadUint16Verify (const DevBlkCDII2CPgmr i2cProgrammer, const uint16_t address, uint16_t *data)
 Reads 16-bit data to an I2C register along with I2C Readback Verification. More...
 
NvMediaStatus DevBlkCDII2CPgmrWriteArray (DevBlkCDII2CPgmr i2cProgrammer, const DevBlkCDII2CRegList *regList)
 Performs write operation for a register table. More...
 
NvMediaStatus DevBlkCDII2CPgmrWriteArrayVerify (DevBlkCDII2CPgmr i2cProgrammer, const DevBlkCDII2CRegList *regList)
 Performs write operation for a register table. More...
 
NvMediaStatus DevBlkCDII2CPgmrWriteArrayMaskedVerify (DevBlkCDII2CPgmr i2cProgrammer, DevBlkCDII2CRegList const *regList, DevBlkCDII2CPgmrVerifyMaskList const *const verifyMaskList)
 Performs write operation for a register table along with I2C Readback Masked Verification. More...
 
NvMediaStatus DevBlkCDII2CPgmrReadArray (DevBlkCDII2CPgmr i2cProgrammer, const DevBlkCDII2CRegListWritable *regList)
 Performs read operation for a register table. More...
 
NvMediaStatus DevBlkCDII2CPgmrReadArrayWithGoldenValue (DevBlkCDII2CPgmr i2cProgrammer, DevBlkCDII2CRegListWritable const *regList, DevBlkCDII2CPgmrGoldenValueList const *const goldenValueList)
 Performs read operation for a register table, and compares readback data with corresponding golden value. More...
 
NvMediaStatus DevBlkCDII2CPgmrReadArrayVerify (DevBlkCDII2CPgmr i2cProgrammer, const DevBlkCDII2CRegListWritable *regList)
 Performs read operation for a register table. More...
 
NvMediaStatus DevBlkCDII2CPgmrReadArrayVerifyWithGoldenValue (DevBlkCDII2CPgmr i2cProgrammer, DevBlkCDII2CRegListWritable const *regList, DevBlkCDII2CPgmrGoldenValueList const *const goldenValueList)
 Performs read operation for a register table along with I2C Readback Verification and comparing readback data with golden value. More...
 
NvMediaStatus DevBlkCDII2CPgmrReadArrayMaskedVerify (DevBlkCDII2CPgmr i2cProgrammer, DevBlkCDII2CRegListWritable const *regList, DevBlkCDII2CPgmrVerifyMaskList const *const verifyMaskList)
 Performs read operation for a register table along with I2C Readback Masked Verification. More...
 
NvMediaStatus DevBlkCDII2CPgmrReadArrayMaskedVerifyWithGoldenValue (DevBlkCDII2CPgmr i2cProgrammer, DevBlkCDII2CRegListWritable const *regList, DevBlkCDII2CPgmrVerifyMaskList const *const verifyMaskList, DevBlkCDII2CPgmrGoldenValueList const *const goldenValueList)
 Performs read operation for a register table along with I2C Readback Masked Verification and comparing the readback data with golden value. More...
 
NvMediaStatus DevBlkCDII2CPgmrReadBlock (DevBlkCDII2CPgmr i2cProgrammer, const uint16_t address, const uint16_t dataLength, uint8_t *dataBuff)
 Reads a block of data from I2C device. More...
 
NvMediaStatus DevBlkCDII2CPgmrReadBlockVerify (DevBlkCDII2CPgmr i2cProgrammer, const uint16_t address, const uint16_t dataLength, uint8_t *dataBuff)
 Reads a block of data from I2C device starting at a register along with I2C Readback Verification. More...
 
NvMediaStatus DevBlkCDII2CPgmrDumpArray (DevBlkCDII2CPgmr i2cProgrammer, const DevBlkCDII2CRegList *regList)
 Dumps the values for all registers in the register table. More...
 
NvMediaStatus DevBlkCDII2CPgmrDebugLogControl (DevBlkCDII2CPgmr i2cProgrammer, NvMediaBool enable)
 Enables debug logs for I2C Programmer. More...